Although the benefits of using a service oriented architecture are clear for request/reply exchanges, additional capabilities are required to coordinate the services into a composite application. The missing but necessary elements relate to event (and exception) handling and process flow. It is these very issues that are the basis for event driven architectures (EDA). Typical SOA actions represent requests for future processing whereas in event EDA events are a result of past processing. What is needed for the reasoning framework is a combination of both SOA and EDA. An additional characteristic of a service based workflow solution that is needed for the framework but might not be required in other situations is that it must be dynamic and programmatically modifiable. This requirement is necessary in order to support system self modification.
Adding workflow capability to web services effectively bridges SOA and EDA for the needs of the framework and is a clear benefit and an obvious direction to pursue. However, it is a complex and difficult problem. Fortunately we can leverage ongoing workflow specifications such as Business Process Execution Language for Web Services (BPEL4WS) or Web Services Choreography Interface (WSCI) . Initiatives such as these are focused at enabling application integration as compositions of web services. Although the stereotypical business problems and applications these initiatives are targeted at are somewhat different from a component oriented reasoning framework, the capabilities they are designed to provide and the infrastructure problems they attack are exactly the same ones needing to be addressed by the reasoning framework.
The ability of BPEL4WS to model executable processes was the primary interest for this investigation (as opposed to modeling abstract business processes). The executable process model specifies the execution order between a number of activities constituting the process, the partners involved in the process, the messages exchanged between these partners, and the fault and exception handling to specify the behavior in cases of errors and exceptions.
W3C. Web service choreography interface (wsci) 1.0. Accessed November 2002 from www.w3.org/TR/wsci/, 2002.