International Journal of Computer Science & Information Technology (IJCSIT) Vol 6, No 4, August 2014 DOI:10.5121/ijcsit.2014.6403 31 SOFTWARE ARCHITECTURAL PATTERNS FOR SERVICE COMPOSITION Ghadeer Ghazal 1 , Amjad. Hudaib 2 , Waffa Maitah 3 1,2 Department of Computer Information Systems, Faculty of King Abdullah II, The University of Jordan, Jordan 3 Department of Computer Science, Faculty of Information Technology, Al al-Bayt University, Jordan ABSTRACT Service-oriented computing is meant to support loose relationships between organizations; Service- oriented architectures often have the goal to integrate various distributed services of one or more organizations in a flexible way to be able to quickly react on business changes. Distributed services provided a new way of distributed computing that achieve the interoperability between heterogonous application through platform and language independent interfaces. The creation of value added services by composition of existing ones is gaining a significant momentum. Distributed service composition is meant to support loose relationships between implemented services in order to provide new functions. A composite service is the one resulting from the integration, coordination and synchronization of different service components. In this paper, we generated A Services Composition Model (SCM) that provides a general solution for the services composition problem by realizing the requirements of a new service using the requirements of the already existing service. We explained in details all the steps of the composition process; services registration, services discovery, services selection, services invoking, and services integration. Although the SCM is not bounded to one particular algorithm to compose services, we generated an application as an example to test our Service Composition Model. We also generated the Services Composition Language (SCL) as a simple text-based language which allows the user to express the requirements of his request, the inserted request will then be analyzed using our Parsing Algorithm to determine the name of the requested services, after that our Service Composition Algorithm will execute all the steps of the composition process and return the result of the composition to the user. KEYWORDS Services, Services Composition, Architectural Pattern, Services Composition Model (SCM). 1. INTRODUCTION Services offered online are defined as a loosely coupled, reusable software component that encapsulates discrete functionality. One essential characteristic of such services is the ability to be described, published, discovered and invoked dynamically in a distributed computing environment. These services can range from simple calculations and data retrievals to complex business applications (Sommerville, 2007), (Agarwl, et al., 2008).