This page last changed on Apr 29, 2008 by scytacki.
There is another page OTrunk Introduction which covers similar concepts. This particular page is more targeted at developers.
OTrunk is library or framework that tries to make it easy to author, run, and analyze rich content applications.
Rich Content Application
A rich content application is one where an end user can explore the application by changing parts of it, and these changes are saved. The opposite of a rich content application is a static web page. Something in between is a web page with an applet on it which the user can interact with. Typically the applet does not save user data, but at least the user can change how the applet looks by interacting with it.
OTrunk is built on a few key concepts:
- as much as possible should be configurable without programming.
- the above concept translates into: everything should be a plugin or component.
- authoring, running, and reporting can all be built from the same components.
- the saved format of the content of an application should be as easy to read as html.
- the same content should be viewable in multiple forms with various levels of functionality: java appliction, html, pdf, stripped down handheld version
- a serialization/marshalling mechanism for saving objects
- a deserialization/unmarshalling mechanism for loading objects
- one or more contexts with service contexts so it can more easily be used as a "Inversion of Control container" (IoC container).
- 2 model-vew-controller systems for separating models from views.
- a COW (copy on write) mode that saves just the changes made by a user in a particular context.
- a data modeling approach so it is easy create and update the data model.
This concept of loading in objects, modifying them, and saving them again is similar to EMF and modello. XMLEncoder can do this but it is not good at it.
OTrunk has Multiple change sets can be loaded in at the same time. This results in multiple contexts. Then a reporting aware view can display each of the changes.
- . In this respect it is similar to XMLEncoder, JAXB, or EMF.
- Spring has an IoC container