Architecture for automatic service composition in the engineering of business applications
Companies and organizations do business with each other by using different software applications that interact with each other. Their software applications can be implemented as business process, BP, applications. A BP application can be a standalone application, or it can interact with other BP applications and involves with many stakeholders. Those stakeholders might possess different roles and authorizations in a system. White, 2004 , defines two types of BP applications, collaborative (public) B2B processes and internal (private) BPs. The collaborative processes require higher management than internal processes, since a change in a BP application might affect the function of other BP applications. In this research study, BP applications are modeled by using the BPMN2.0 (Business Process Modeling Notation) [1, p. 0] notation. One of the task types in the BPMN2.0 is service task that can be implemented by using a Web service, WS. A WS here refers to both an atomic and composite service. A composite service is created by combining many services together. A company can have thousands of WSs and some of them might be able to respond to the new users’ requirements. In addition, developing new services cost time and money. Therefore, it is better to reuse existing WSs. In this case, efficient service selection and composition algorithms are needed for selecting the best WSs by using different criteria. Notice also that many WSs can provide the same functionalities. To the best of our knowledge, even those many service selection and composition algorithms have been proposed, but none of them consider the change of QoS values over different timestamps. In addition, researchers mostly use values of nonfunctional properties of WSs to rank the matched functionality services. For the existing network based service composition algorithms, not many authors consider the network properties in their algorithms. Some researchers use only minimum number of services as a criterion for composing WSs, while others try to mix many different criteria for improving the accuracy of service composition results. In addition, researchers mostly focus only on service selection or composition algorithms, rather than implementing a whole BP application. Implementing a BP application requires the integration of different technologies and solutions. Therefore, it is not an easy task to achieve. In this research work, a BPMNSemAuto system is proposed. It is a system that helps to accelerate the implementation of BP applications by using WSs. It takes a designed BP application with the specifications of service tasks as an input. It generates a corresponding implemented BP application as an output. Actually, what it does, it searches for WSs to implement service tasks of a BP application. Ontology is used for semantic representation of BP applications and for storing WSs. The BPMN2.0 ontology  defines specifications of the BPMN2.0 notation; relationships and constraints between elements are also defined. It is reused for representing BP applications. With the BPMN2.0 ontology, an ontology reasoner can be used to verify syntax construction of BP applications. The BPMNSemAuto system integrates a service selection and a service composition algorithm inside. The proposed service selection algorithm considers functional and non-functional properties of WSs, service’s context and changing of
QoS values over different timestamps. It ranks WSs based on a calculated score from the functional and non-functional service matching process. The main contribution of the proposed service selection algorithm compares to existing solutions is the consideration of the changing QoS values in different time gaps; and the ranking of WSS based on a using of scores calculated from the functional and non-functional service matching. In addition, a network based service composition algorithm is also proposed. It considers functional and non-functional properties of WSs, network properties (degree centrality) and changing QoS values. It performs an heuristic A* search algorithm to make sure the selected service at each step of building a composite path is the best one. It aims at choosing the best composite service with minimum numbers of services and best match for other considered composition criteria. Moreover, the proposed service composition algorithm runs on services from a matched service domain or from a matched community network. The BPMNSemAuto implements service tasks only and not others task types defined in the BPMN2.0 ontology. The proposed service selection and composition algorithms do not consider the security information of WSs to verify the accessing authorization of users; while users’ roles can be easily detected from BPMN diagrams. In addition, the service searching process is done based on historical information about services. It does not consider the current situation of services at runtime. Therefore, a runtime verification of using matched services is interesting in future research work.
KEYWORDS : Business process re-engineering, Complex network, Ontology, Service composition, Service selection, Semantic Web service, QoS