wiki:ArchitectureOverview

Version 2 (modified by jri, 8 years ago) (diff)

--

Architecture Overview

DeepaMehta features an OSGi-based modular architecture that shares features with an service-oriented architecture (SOA). Each module's service can be consumed as an OSGi service. At the same time DeepaMehta can publish a module's service as an RESTful web service without requiring the module author to do extra coding.

In a distributed (client-server) setup the OSGi container runs at the server-side. Clients access the server via HTTP.

DeepaMehta Architecture

DeepaMehta Core

  • Provides the DeepaMehta Core Service.
    • Offers transactional database access to handle DeepaMehta's basic entities: topics, associations, topic types, association types.
    • Supports creating/retrieving/updating/deleting composite topic structures by levereging the type definitions.
  • Mediates between the DeepaMehta plugins and the underlying OSGi environment. The plugin developer must not know about the OSGi intrinsics.
  • Defines a DB-agnostic service provider interface for the storage layer. By implementing this interface developers can adapt DeepaMehta to any database system. The DeepaMehta Standard Distribution comes with an Neo4j-based implementation.

Attachments