Description of components
Aware IM Server
IM Server is at the heart of the Aware IM architecture. It fulfils all external configuration and operational requests – saves and retrieves configuration information, executes processes, evaluates business rules, saves and retrieves operational data.
In Aware IM the storage and retrieval of data (both configuration and operational – such as business spaces, business space versions, instances of business objects etc) is managed by a database management system.Aware IM can work with such popular SQL-compliant databases as MySQL, Microsoft SQL Server, Oracle and Cloudscape/Derby. The database management system is often deployed on a separate machine called the Data Server. The Aware IM Server communicates with the Data Server by sending data storage and retrieval requests via JDBC. It is also possible to deploy the Aware IM Server and the Data Server on the same machine or even embed the database management system into the Aware IM Server.
Web Server is a client of the Aware IM Server. It handles HTTP requests from clients in the Operation Mode. The requests are sent from browsers over the Internet. The Web Server re-directs the requests to the Aware IM Server and sends the replies back to the browser client in an HTML form. The Web Server runs within the servlets/JSP container such as Tomcat or Weblogic. The Web Server and the Aware IM Server can be deployed on a single machine or on separate machines.
The Configuration Tool is another client of the Aware IM Server. It offers a Graphical User Interface (based on Java Swing) that allows configuring Aware IM-based systems. Once a system has been configured the Configuration Tool sends the resulting configuration to the Aware IM Server, which stores it in the database. Just like the Web Server, the Configuration Tool and the Aware IM Server can be deployed on a single machine or on separate machines.
Channels connect the Aware IM Server with its clients. All requests to the Aware IM Server come through channels. There are a number of built-in channels that connect the Aware IM Server with some well-known clients. For example, the Configuration Tool and the Web Server are connected with the Aware IM Server through the built-in JMS (Java Messaging Service) channel. Other clients, such as external software systems or hardware devices can connect to the Aware IM Server via a built-in SOAP/Web services channel, that offers industry standard web services mechanism to communicate between systems. In addition, custom channels can be plugged into the Aware IM Server to connect with external software systems and hardware devices via non-standard mechanisms.
On the Aware IM Server side all channels plug into the Input/Output Interface, which provides the standard delivery mechanism of the external requests to the main engine of the server.
The following features characterize Aware IM architecture:
Use of robust modern technologies
Aware IM is based on the plethora of Java technologies such as J2EE application server, JDBC, JMS, JSP/servlets technology, web services etc. These are robust technologies that have been proven in the industry.
Aware IM is a client-server system. Clients of the Aware IM Server can be end users running Internet browsers, configurators running the Configuration Tool, other software systems or devices.
Aware IM is a multi-user system. There are no limitations on a number of users both in the Operation Mode and in the Configuration Mode. The Aware IM Server manages registered users and guests and handles every client request in a separate thread.
Aware IM architecture has been designed to be fully scalable. When a workload of the Aware IM Server increases additional machines running copies of the Aware IM Server can be deployed. The extra work can thus be offloaded to additional servers. It is also possible to cluster Web Servers and deploy one Web Server per machine.
Aware IM architecture has been designed to be very flexible. It offers a rich set of API that allows to easily plug-in new components, such as custom channels and processes.
The architectural features described above make Aware IM a very powerful platform that can be used to solve a broad spectrum of data management tasks.