12 | | === DeepaMehta Webclient === |
13 | | * is the name of the standard DeepaMehta webclient - mainly developed by Jörg Richter (jri) |
| 23 | DeepaMehta Application Framework:: a set of rules and guidelines that governs DeepaMehta plugin development. Defines a set of [[Hooks]] that allow plugins to react on server-side events. |
| 24 | |
| 25 | DeepaMehta Core:: the heart of DeepaMehta. |
| 26 | 1. An ''Inversion of Control'' container for running [[DeepaMehta plugins]]. |
| 27 | 2. Defines the [[DeepaMehta Core Service]]. |
| 28 | 3. Controlls the persistence layer. |
| 29 | 4. Provides a migration facility to keep the database model in-sync with the applications. |
| 30 | |
| 31 | Implemented in the `deepamehta-core` module. Embeddable in any Java application. |
| 32 | |
| 33 | DeepaMehta Core Service:: an API consisting mainly of CRUD operations for [[Topics]], [[Associations]], [[Topic Types]], and [[Association Types]]. Accessible by DeepaMehta (Java) Plugins and by external Applications (via HTTP/REST API). |
| 34 | |
| 35 | DeepaMehta Plugin:: a module that extends DeepaMehta functionality. A plugin |
| 36 | 1. Provide type definitions and build on type definitions provided by other plugins, |
| 37 | 2. Take part of the core's control flow (Java application logic), |
| 38 | 3. Consumes services provided by other plugins and provides services to other plugins (via OSGi) and external applications (via HTTP/REST), |
| 39 | 4. Provide client-specific extensions (e.g. JavaScript application logic and CSS stylesheets). |
| 40 | |
| 41 | Every DeepaMehta Plugin is an [[OSGi]] bundle. |
| 42 | |
| 43 | DeepaMehta Server:: actually the webserver that provides the [[DeepaMehta Core Service]] via HTTP/REST. In the [[DeepaMehta Standard Distribution]] this is a Jetty running on port 8080 by default. |
| 44 | |
| 45 | DeepaMehta Standard Distribution:: a downloadable software distribution aimed for end users. It packages together: |
| 46 | 1. "Main modules": [[DeepaMehta Core]], [[DeepaMehta Webservice]], [[DeepaMehta Webclient]], |
| 47 | 2. A set of useful plugins: [[Notes Plugin]], [[Contacts Plugin]], [[Workspaces Plugin]], [[Topicmaps Plugin]], [[Type Editor Plugin]] |
| 48 | 3. 3rd-party software Packages: [[Apache Felix]], [[Mortbay Jetty]], [[Neo4j]] |
| 49 | 4. Doubleclickable starterscripts. |
| 50 | |
| 51 | DeepaMehta Webclient:: provides the typical DeepaMehta user interface with a [[topic map]] on the left side and the [[page panel]] on the right side. A web frontend developed with [[HTML5]], [[Canvas]], [[JavaScript]], [[XHR]] (AJAX), [[jQuery]], [[jQuery UI]], and [[TinyMCE]]. Packaged with the [[DeepaMehta Standard Distribution]]. User interface for end users. Implemented in the `deepamehta-webclient` module. |
| 52 | |
| 53 | DeepaMehta Webservice:: publishes the [[DeepaMehta Core Service]] as a HTTP/REST endpoint. Implemented in the `deepamehta-webservice` module. |