In this chapter the problem of interoperability of incompatible business processes consisting of semantically annotated Web services is addressed, proposing a (semi-) automated solution, called process mediation, that analyzes the potentially incompatible process models of service requesters and service providers, identifying all incompatibilities, and automatically synthesizing reconciliation plans that can be used at runtime for resolving the identified incompatibilities. Compared to the previous research, the main novelty of this work is its strong focus on dynamic scenarios common for process-based service-oriented systems operating in open or semi-open dynamic environments. The chapter covers techniques for automated incompatibilities detection and resolution, service discovery in the process mediation context, techniques for monitoring, and techniques for fault handling and recovery. Finally, it discusses the lessons learned and provides an outlook for future research directions.
TopIntroduction
Seamless interoperability of existing services and business process and, eventually, the ability of processes to adapt is crucial, especially with the advent of cloud computing, mobile computing, and the Software as a Service paradigm, where services, and Web services in particular, play the key integration role. As the application requirements, goals and needs change very rapidly in today business environments along with the rapidly changing operating environments, the need for automatic process adaptation, evolution and reconfiguration arises in all the mentioned areas.
Web services standards have a goal to enable and facilitate interoperability of heterogeneous applications and business processes. As such, the web services standards alone focus on facilitating interoperability in static sense, while the dynamic aspects of interoperability resulting for example from changes and evolutions of the existing processes, systems and their implementations are not in the center of attention. In situations when business needs and requirements change, business processes might need to get reconfigured, modified or completely replaced in order to meet the new needs and requirements. Subsequently, many existing business processes need to be updated as well only for the sake of maintaining interoperability with the reconfigured processes. Naturally, such changes are rather laborious and costly. Similarly, in more dynamic scenarios where the service requesters and providers can be dynamically discovered by employing service search engines (registries), such dynamically matched processes will not typically be completely compatible and thus will not be able to interoperate directly. The main novelty the work presented in this chapter is in the focus on dynamic scenarios common for service-oriented process-based systems operating in open or semi-open dynamic environments of current corporations and of the Internet.
To address interoperability in dynamic situations there is a need for solutions which will enable process interoperability in an automated or a semi-automated fashion. Natural requirements are that such solution should achieve interoperability without needing to modify the implementation and interfaces of the to-be-integrated process, and it should allow interoperability to be achieved dynamically even at runtime. A possible solution is to apply a process mediation component that serves as a “mediator” between service requesters and providers. Such process mediator needs to be able to identify and resolve possible incompatibilities (e.g., by generating appropriate mappings between the incompatible processes) while making minimal assumptions about implementation details of service providers and requesters.
Recently, interoperability of Web services (WS) and of Semantic Web services (SWS) (McIlraith et al., 2001) has gained attention primarily because the existing open WS standards provide a good shared integration basis, and the emerging SWS standards promote the explicit shared semantics necessary for achieving interoperability. Speaking of the WS standards, the two probably most prominent are the Web Services Description Language (WSDL (Christensen et al., 2001)), and the Business Process Execution Language (WS-BPEL (Alves et al., 2007)). WSDL allows to declaratively describe operations, the format of messages, and the data structures that are used to communicate with a Web service. WS-BPEL allows to combine several Web services within a formally defined process model and to define an interaction protocol and possible control flows. However, none of the current standards goes beyond the syntactic descriptions.
The Semantic Web services languages such as SAWSDL (Farrell and Lausen, 2007), OWL-S (Martin et al., 2004) and WSMO (Roman et al., 2005b) enrich syntactic specifications of the current WS standards with rich, machine processable semantic annotations to facilitate flexible dynamic discovery, composition and invocation (Sycara et al., 2004). Research in SWS has its origins in various fields of artificial intelligence, such as knowledge representation, description logics reasoning, and automated planning. The AI methods proved to be very promising with respect to achieving a higher level of automation in interoperability of Web services.