To utilize SOA, e.g. a system split into many modules. You need some “glue” for bind all the modules together. iSeries2web is that ”glue”.
A part of iSeries2web is the function manager (or the Business process Manager) its purpose is to execute the modules. E.g. programs don’t call each other anymore, they ask iSeries2web BPM to execute the functionality.
This means that each program don’t know what came before and don’t know what comes after. This is the essential difference in SOA design in comparison to traditional programming. This also have some effect in the way a program should be constructed. Hereunder is a list of properties for SOO programs (modules)
- No business parameters are in the “call” to a program.
- The program test the retrieved variables for integrity
- The program can be “called” at anytime, in the program flow (business process).
- The program finishes its function, e.g. the program must complete the task, as there is no guarantee that the program will be called again.
- The programs are ”state-less”. Meaning that a program starts and finishes, without the variables from the last “call”. (Initialized every time).
- The demand for readability and NO complexity precedes technical solutions and performance.
- Changes to a program, cannot have any effect on another program - e.g. number of variables send etc. The only change that is allowed in other programs is the “call” to the SOA module.
- Programs should use a template for easy development and readability.
A program called a ”Business Process Manager” (BPM) is used to execute the SOA modules in the desired sequence. A BPM program can execute other BPM’s to combine functionality. The “XML cloud” that stores all the variables, are used by all that modules to store common variables and send parameters to each other, can be copied, manipulated and created during the ”run”. This means that a new XML cloud, can be created in-flight and the SOA module that is executed, can’t see that it is reading from a different cloud that all the other modules, this give iSeries2web a superior flexibility.