Execution Infrastructure Developer's Guide
This page provides a guide on the procedures and the configuration details that a developer of the Envision Execution Infrastructure should follow. Considering that each of the comprising components i.e. Process Optimizer, SCS Engine and Orchestration Engine, is developed independently specific details may apply to each them. Nonetheless, Java serves as the common development environment of each of the comprising components.
Windows OS and JDK 1.6 constitute the main parts of the setup that has been mostly used for the development of infrastructure, but the minimum platform requirement can found at Development Environment Setup. A description of each comprising component is presented next.
Process Optimizer
Semantic Context Space Engine
To support the semantic insertion, search, and deletion of information, Semantic Context Space (SCS) Engine requires the knowledge about the semantics of the elements for insertion, search, and deletion respectively. These semantics are given through external sources, which in our case are ontologies described in RDFS or WSML. In order to extract information from these ontologies, we use a framework for RDFS files and a framework for WSML files, which will store (if necessary), parse, and query RDFS and respectively WSML data.
Sesame Repository: parser for RDFS data
Sesame is an open source Java framework for storage and querying of RDF data, consisting of a set of libraries. The framework is fully extensible and configurable with respect to storage mechanisms, inference engines, RDF file formats, query result formats and query languages. Sesame supports SPARQL and SeRQL querying, a memory-based and a disk-based RDF store and RDF Schema inference engines. The latest stable version of the Sesame Repository is 2.3.2 and it is available for download through http://sourceforge.net/projects/sesame/. This link provides a number of different files that a user can download, depending on his/hers requirements. The user should download the Sesame onejar library under the name “openrdf-sesame-2.3.2-onejar.jar”. This file contains all the relevant Sesame libraries and the user has only to add it into the classpath. Before using the Sesame libraries, one important configuration step needs to be taken: the initialization and configuration of a logging framework. Sesame uses the Simple Logging Facade for Java (SLF4J), which is a framework that abstracts the actual logging implementation. For the logging implementation we use Apache log4j v1.2 available through http://sourceforge.net/projects/sesame/. After downloading and unzipping the file “apache-log4j-1.2.16.tar.gz” or “apache-log4j-1.2.16.zip”, the user should include the appropriate SLF4J-bridge jar-file, namely log4j-1.2.16.jar, in the classpath.
Ontology Representation and Data Integration (ORDI): parser for WSML data
ORDI framework is an open-source ontology middleware based on Java. Among other things, ORDI provides support for integration of different structured data sources, backward compatibility with the existing RDF specifications and the SPARQL query language, efficient processing and storage of meta-data or context information, and easy management of data from several sources within one and the same repository. The latest stable version of the ORDI is 0.5 (released on 2009-02-23) available through http://logging.apache.org/log4j/. The user should download the file “ordi-0.5-complete.zip”. This zip includes the ORDI implementation files and all the required jar files. As in the case of Sesame Repository, the user only has to add all these jar files into the classpath. After this step, the ORDI framework is ready to use.
Finally, to support an efficient algorithm for the search of contextual information we use an embedded database based on HyperSQL (http://hsqldb.org/). The user only has to download “hsqldb-1.8.0.7.jar” file through http://mirrors.ibiblio.org/pub/mirrors/maven/hsqldb/jars/hsqldb-1.8.0.7.jar and add it into the classpath. Versions distributed later than 1.8, e.g. 2.0, are also acceptable.





