Environmental Engineering Reference
Message Service pattern was fundamental in the integration and the exchange
of information between the client and the server applications. It provides a
publish/subscribe infrastructure that allows client(s) and the server the exchange
messages in real time. There are two key components: a message service running
in the application server and a client-side API (Application Programming Interface,
a set of routines, data structures, object classes and/or protocols provided by
libraries and/or operating system services in order to support the building of
applications). The message service manages a set of destinations and handles the
asynchronous messaging to them. Unlike synchronous messaging this does not
rely on direct connections, the sender of the message does not have to wait for
a response from the recipient because it can rely on the middleware to ensure
delivery of the request and eventually the response. Representational State Transfer
(REST; the architectural style of e.g. HTTP) and web services are examples of
asynchronous messaging and a good strategy for integration of enterprise
applications. They promote a loosely coupled system of components and also
encourages design of components with high cohesion (local processing) and low
adhesion (remote work).
CRUD pattern (create, retrieve, update, delete) has been placed at the
base of our data persistence strategy. Almost all applications include some
form of persistence storage and have to perform CRUD operations on it
(Kilov 1990) .
SEAMLESS Server Technologies
As described, SEAMLESS-IF is based on a layered, client-server architecture.
The processing environment facilities, in particular the model chain executor,
are deployed on the SEAMLESS server. The current software stack for the
server configuration consists of a web application server (Tomcat 1 ), data
storage (PostgreSQL 2 ), a data access layer (Hibernate) and the SeamServer
software (Fig. 9.5 ).
The ontology is used to maintain the consistency across the different data
perspectives: it is used to generate the database structure, object-relational mapping
files for Hibernate and Java Beans to access the data.
The business logic, where the preparation and management of experiments to
be run by the processing environment happens, is based on the Spring Framework, 3
a Java 4 based solution delivering a full-stack Java/JEE application framework.