Besides the 3 MVC layers the communication approach is abstract and displayed as 4th layer here. Core of the backend is an application server. Applications are developed in the scope of the DeepaMehta application framework. The communication approach is transparent to the application developer. DeepaMehta Applications can operate on both, DeepaMehta's own corporate memory and external data sources. The actual storage systems are abstracted by the respective interfaces. The XML based ISO 13250 Topic Maps standard is used for import/export. XSL stylesheets are used for dynamic HTML, SVG and PDF creation.
A DeepaMehta application is written once and is served to many users via different communication channels:
A type is an abstract specification of a type according to the Topicmaps standard
-- an actual type is a topic type resp. an association type.
This is the first UML class diagram focused to the ActiveTopic Framework. For the time being just the class tree of DeepaMehta's 18 kernel active topics is shown. Additionally the 4 active topics of the Movies example application are shown. DeepaMehta applications are build upon this Framework, particularily every active topic is (directly or indirectly) derived from the ActiveTopic class.
This UML activition diagram shows the control flow of the server request REQUEST_SHOW_ASSOCIATIONS. This requests topics and associations based on a specified topic and a specified association type (this request is send by a client when the user selects an association type from the topic contexts "Show Associations" submenu). InteractionServerProxy asks the LiveCorporateMemory which returns the topics and associations as CorporateDirectives. The InteractionServerProxy sends this directives to the client and reqeusts updating of live corporate memory according to the directives.
If you ignore the gray marked area for the moment you'll see LiveCorporateMemory retrieves the topics and associations directly from corporate memory (StorageLayer). The default implementation of ActiveTopic.revealRelatedTopics() does nothing. The gray marked area shows the activity of the Active Topic DataConsumerTopic. At request time a data consumer retrieves data from a CorporateDataSource and replicates them into corporate memory in form of topics, associations and properties before the topics and associations are retrieved from corporate memory.
Resp. shorter spoken: "Active Topics can reveal topics and associations on-the-fly e.g. by quering corporate datasources".
| 24.6.2003, Jörg Richter | jri@freenet.de |