Changes between Version 23 and Version 24 of PluginDevelopmentGuide


Ignore:
Timestamp:
01.05.2013 01:33:09 (12 years ago)
Author:
jri
Comment:

Architecture overview

Legend:

Unmodified
Added
Removed
Modified
  • PluginDevelopmentGuide

    v23 v24  
    44 
    55DeepaMehta is made to be extensible by 3rd-party developers. Developers extend DeepaMehta by developing plugins (resp. "modules" resp. "applications" which is all synonymous). This guide teaches you how to develop DeepaMehta plugins. 
     6 
     7== Architecture overview == 
     8 
     9Plugins play a central role in the DeepaMehta architectural picture. The sole DeepaMehta Core is quite small and contains no domain-specific logic at all. The main responsibility of the DeepaMehta Core is a) to be a runtime environment for DeepaMehta plugins, and b) to coordinate the access to the DeepaMehta database. All domain-specific data models and application logic is contained in plugins. In the diagram below you can see that a DeepaMehta plugin (colored green) can have both, a server-side part and a client-side portion. 
     10 
     11[[Image(Architecture.png)]] 
     12 
     13A DeepaMehta plugin can have several parts: 
     14 
     15* **A data model**. The data model is a collection of domain-specific topic types and/or association types. 
     16 
     17* **Server-side logic**. Server-side logic comes in form of a) event handlers, and/or b) service methods. Server-side logic is written in Java. 
     18 
     19* **Client-side logic**. Client-side logic runs inside the DeepaMehta Webclient. Client-side logic comes in form of a) event handlers, b) custom renderers, and/or c) public API methods. Client-side logic is written in JavaScript. 
     20 
     21Each of these parts is optional. Which parts a plugin provides depends on its purpose. 
    622 
    723== Build DeepaMehta from source == 
     
    3551... 
    3652}}} 
    37  
    3853 
    3954== The plugin turn-around cycle ==