Openet is divided mainly into two parts: the semantic repository and the workflow execution engine.

Openet Architecture

Semantic Repository

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.

Openet web interface

ReST Web Services

The web services are based on the JSON language, a lightweight format for data exchange. This allows the system to separate itself from the graphical user interface (GUI) that allows end users to interact with it. Currently, a web user interface developed in HTML5, JavaScript and Ajax technology is used to access system functionalities. Furthermore, there is also an interface for Android tablets under development wich needs a lightweight service layer suitable for embedded devices.