Technical specification
The implementation of the integration platform is based on J2EE application server standard with SQL relational database as a back end. The platform has been tested for high performance in configuration BEA Weblogic combined with Oracle as well as low budget projects in configuration JBoss and MySQL. The high performance configuration emphasis on maximizing transmissivity, while the low budget configuration minimizes the price thanks to open source technologies. Nonetheless the transmissivity and stability of the system remains preserved in both configurations.
The main technical parameters:
- support for asynchronous multi state communication. Synchronous communication requires immediate response and therefore unavailability of the service can cause process failure. Contrary to that, the asynchronous communication allows waiting for the reply or even postponing the call. The platform supports asynchronous processes on target system as well as notification messages back to the initiator. The communication is not restricted to the request and response message, but it can also contain information about the state of the process. However, the platform also supports synchronous communication, if the environment requires immediate answer.
- automatic / semi-automatic control. The integration platform can be integrated directly into your environment using open application interface and web services. Another option is to control the process through an administrator console (web application), or combination of both.
- data entry at the beginning or in the middle of the process. Asynchronous communication allows to enter the data at the beginning of the process (create order), as well as later, when the order is being processed (fetch delivery address only if the process requires delivering a package)
- instant and batch communication. It is possible to choose, whether the orders for target system will be sent immediately without delay, or if they should be assembled into batches and sent all at once (for example: at 8 am next business day)
- more target systems for one process. It is possible to communicate in parallel or in sequence with more target system within one process. The final behavior (waiting, conditional run etc.) depends on the process definition.
- automatic resend in case of some errors. In some cases it is desirable to automatically resend failed requests. For example if the transport layer was temporarily down. The platform supports such functionality. It is possible to set, in which cases the request should be resent, and when the problem must be solved administratively (for example: bad data).
- communication output. The platform allows easy implementation of notification agents, which can proactively notify other systems about the state of the process.
- division of the process into tasks. Where it proves to be useful, it s possible to divide process into tasks. The tasks are something like milestones in the process, which make the process easier to track and administer.
- division of the process into sub processes. The process can define sub processes, which the main process can be dependent on. For example it is possible to provision a DSL line and send a DSL modem to a customer in parallel. The sub processes can interact with each other, for example, the line is considered installed, when the modem is delivered.
- support of multiple parallel processes on one account. As long as the surrounding systems allow it, the platform supports multiple parallel processes over one account. (Multiple processes over multiple accounts is matter of course). As an example we can present cancel request during order request, or two independent order requests and similar.
- reports of the process execution. The administrative console can contain simple reports, which allows an insight into states and tasks of each individual process
- both sides of the interface. The integration platform allows easy implementation of both sides of the interface, including the side of target systems. The feature is usually used during implementation and testing of new processes, when the system can send messages to it's loopback. The communication can be debug before the integration test starts.
- support for multiple users. The console supports parallel user access, each user having own account. The access rights can be restricted using user roles. As you might expect, the application posses full authorization - authentication - accounting for audit of each entered command