|
Naumen Service Desk |
|
Relational database is used for data storage in the system. The database is made of a number of entities (linked tables) that have no elements of program logic, such as triggers, stored procedures, views. Naumen Service Desk requires the JDBC driver v.2 or later for the database server and is capable to use the database server that meets certain functional requirements, including transaction support, subselects, LOB data types, etc. The system is compatible with number of database servers, such as Oracle 9/10, Microsoft SQL Server 2000/2005, PostgreSQL 8.1, etc.
Naumen Service Desk application server is implemented as web-application that executes under any Java-enabled application server. The Java application server requires Java v.1.5 or later and it should have an implementation of Java Servlet standards v. 2.4 or later. The system is compatible with Java Servlet containers such as Apache Tomcat v. 5.0 or later, Resin 3 or later.
The application server has modular architecture: the system functionality is concentrated in several modules that interact through the common bus. These modules are created in accordance with OSGI R4 framework specification and by means of Equinox, freely distributed implementation of OSGi R4 specifications, which was created by Eclipse consortium. A full set of modules needed for establishing required system functionality mounts while installation of the system is in progress.
The database manipulation inside the application server is implemented by the Hibernate 3.0 library. This library is freely distributed implementation of the object-relationship mapping (ORM) concept. Hibernate provides both the tools for describing the database structure using the application’s object model and resources for automatically transforming the operations on application’s objects into the operations on relational structure. Additionally, Hibernate provides the transactional model on the level of operations with application’s objects as well as the independence of the code on the application’s level from the relational repository that was chosen.
The level of business logic includes a set of objects that can be saved into a database and a set of operations on those objects. In terms of the database operations, each object operation is a transaction, i.e. it fully completes, stores in a database or rolls back without any database changes. Only the operations that change data are presented in such a way.
Generally, a common hardware server for the database and the application server may be used, but allocating separate hardware server for the database provides system scalability.
The concept of “Enterprise Service Bus” (ESB or, in other notation, SOA) serves as a background for the system integration. The Web-services technologies (SOAP, WSDL, UDDI, BPEL4WS) implement the concept. Today ESB concept is main method of integrating the applications.
For an application, it is suggested to allow its connection to the common service bus that supports service registration and search, instead of making integration of applications one to one.