LULA system architecture

The architecture is based on Java 2 Enterprise Edition (J2EE). Widely used Open Source components are integrated. Where economically reasonable we used existing products like Crystal Enterprise for generating and distributing reports).


Sampling plan

Air quality check Berlin 

Comitatus Image

The system consists of different hierarchically used layers. A layer consists of separate objects (Enterprise Java Beans, EJB's), which are each functional as they are and combined with defined interfaces. This system structure enables a high flexibility, recyclability and a excellent scalability. Using Java Script as programming language for the server results in a main system which is largely platform independent and can be equally installed on Windows, Linux or UNIX operating systems.


All data is stored on one or several central SQL databases. Any relational database that supports saved procedure and triggers (e.g. Interbase, Oracle and Sybase) and is delivered with a JDBC-operator can be used. 


To access the data in the database a layer from Enterprise Entity Javabeans is used which checks access rights and the consistency of the data. All other components of the system use these access modules to manipulate the data stored in the database. The objects implemented in this layer can also be reused by various other systems. 


The business logic layer consists of Enterprise Session Javabeans, displaying the rules to edit the stored data. As a result the logic is deposited at a central point in the system and the system can react very flexible to rule changes. If rules change, all applications processing the data, don't need to be adjusted. A new rule will just be implemented in the business logic layer.


To connect online and mobile devices a web service interface is available. The standardized SOAP protocol  enables special applications to communicate with the system. E.g. a tablet application for a mobile sample management would be realisable.


Die Ansteuerung der Analysegeräte erfolgt über spezialisierte Treibermodule. Je nach Fähigkeit des Gerätes wird eine bidirektionale oder eine unidirektionale Kommunikation implementiert oder eine auf die Funktionsweise des jeweiligen Gerätes optimierte Eingabemaske erstellt. Kontinuierlich gelieferte Daten werden über Serverprozesse automatisch ins System übernommen. Standarddatenformate (z.B. B3H) werden, soweit sie von den Geräten unterstützt werden, verwendet.
Hardwareseitig werden die Geräte über Terminalserver an das System gekoppelt. Diese ermöglichen einen Zugriff auf RS232-Schnittstellen vom Zentralserver über das Netzwerk. Die Anbindung der Online-Geräte erfolgt – soweit vom jeweiligen Hersteller unterstützt – über standardisierte Schnittstellen (z.B. ASTM). Grundsätzlich wird eine intelligente Treiberstruktur verwendet, die eine einheitliche Schnittstelle zum LIMS bereitstellt und von den Geräten nicht unterstützte Funktionalitäten emuliert. Dadurch können neue Geräte leicht angeschlossen werden und es werden immer alle vom Gerät angebotenen Funktionen verwendet.