Skip to content

Package Structure

Borja Gorriz edited this page Oct 17, 2013 · 13 revisions

The di.me OS Framework consists of three release packages:

  1. dime-server on github: A server-side component, called the di.me private service platform, including a web-client for accessing it from the desktop.
  2. The di.me cloud package, containing services required for running one or several instances of the di.me private service platform
  3. A mobile client for android as reference implementation for a di.me user-interface.

Overview on Release Packages

The di.me-server project consists on the following subcomponents:

  • dime-common: Contains elements needed throughout the whole project. It consists of the DTO's, exceptions, utilities and notification messages that are used in the system.
  • dime-communications: It becomes the entry point to the whole system for all the requests coming from client devices. Because of its behaviour as entry point to the whole Personal Server system, the communications layer is packaged and deployed as a Web Application Archive (.war). This fact enables the application server to properly route the incoming calls to its related servlet through the Spring configuration assets. The two main responsabilities of this submodule are: - to expose the REST API to the Personal Server and to handle the incoming requests capturing the targeted resources, the linked query parameters and the potential incoming JSON messages. - to provide an unified and well-integrated mechanism for message serialization (for handling JSON request messages) and de-serialization (for composing JSON digital.me Collaborative Project (STREP) 257787 deliverable D06.01 Page 16 of 32 response messages)
  • dime-contextprocessor: Its main responsibility is to support all the context-related operations that require of a synchronous/asynchronous access to stored context data. To achieve this, the component provides an end-to-end functionality covering the storage of context data, its delivery to those components requiring the usage of processed context data and the management of subscriptions to context updates.
  • **dime-controllers:**It provides the single access channel to the the user’s semantic data model (known as InfoSphere) by giving support for all the requested Create-Read-Update-Delete operations. This single access point approach ensures a consistent handling of all the operations updating the user’s model. Also, the capability to provide asynchronous operations is one of the key requirements being met by the digital.me system architecture. Together with some specific calls coming from the UI, a relevant number of internal system events are intended to raise notifications to be pushed from the Personal Server to the user’s device. This submodule has the internal system component managing the notifications queue.
  • dime-datamining: The DataMining and Semantic Mapping engine provides the ongoing processing and semantic lifting of the personal data information crawled from external and non-semantic sources. Placed in between the ServiceGateway and the dime-controller, the engine is responsible for building a semantic representation of source data by using the Ontology Framework. The core part of this effort is provided by the Semantic Mapping Engine, targeting the integration of heterogeneous data from heterogeneous crawling sources.
  • dime-gateway: This submodule is in charge of enabling the interoperability between the digital.me Personal Server and the targeted external services (different Personal Servers, services provided by consortium partners and social computing services such as Linkedin). The central responsibility for the dime-gateway module is to provide a bidirectional abstract integration layer to be realized for several external services, specifically those targeted in the business and ad-hoc scenarios.
  • dime-semantic: This submodule is the one responsible of the core part of the digital.me data model, storing the information on the user’s InfoSphere that is semantically represented on the ontology framework.
  • dime-storage: Besides the central semantic model area, a small set of additional data structures have been deployed within the Personal Server architecture to provide support for specific storage requirements. So, this additional data model provides storage support for the following functional aspects:
    • for storing information on the service crawling schedule .
    • for storing context data.

Clone this wiki locally