Openet is divided mainly into two parts: the semantic repository and the workflow execution engine.
The main part of the semantic repository is an OWLIM Lite-based database encapsulated over the Sesame API. At first, this database contains the domain-independent ontology with wich the system works (Openet Base) and an ontology containing domain-dependent elements. Moreover, this database will store instances of the objects used in the system.
Access to this database is done in two ways, through raw SPARQL queries or through RDF2Go, which provides an automatic mapping between Java objects and database semantics, to make it easier to work with objects in the database .
All functionalities are exported through a ReST web service layer. This services layer allows SPARQL queries, and the ability to read, save and modify whole objects in the database.
Workflow execution engine
The workflow execution engine is responsible of implementing and mantaining the execution status of the workflows defined in the semantic database. To perform the execution work, workflows defined in the semantic database are translated into Hierarchical High Level Petri Nets (HHLPN). After the translation phase, the generated HHLPN is executed in a separated thread in the workflow execution engine. Operators asigned to workflow tasks are totally domain-dependent, since business logic changes depending on the scope of the system. Therefore, this domain-dependent code is included as an external library in the workflow execution engine. Thus, when an operator should be executed as part of the execution process of a workflow task, the component “Operator->Resource Adapter” is responsible of selecting the most appropriate operator implementation (since each operator can have more than one implementation) and invoke it.
The workflow execution engine is designed to scale and be run in a cloud computing environment, where each machine has a process with the workflow execution engine and every process has a thread for each workflow runnning in that machine.
Like the semantic repository, it exports its funcionalities as ReST web servicies.
ReST Web Services