Abstract :
This paper introduces main concerns when it comes to composite Web service development. Firstly, it introduces a concept of service granularity. One of the most frequent questions, most enterprise architects often address, is how big a service should be. Granularity is a measure addressing this question. It can be defined as the overall quantity of functionality encapsulated by a service, where the level of service granularity is set by the service´s functional context. Further, paper describes a relationship between two service categories when it comes to granularity: fine-grained versus coarse-grained services. Granularity is not the only measurement when talking about services. Categorization between atomic and composed ones represents another measure. Atomic services are being composed by an enterprise architect in order to create new complex services, although service consumer observes any service as one entity. Definitions and rules, concerning atomic versus compose services, are introduced in the paper. Approaches to designing composite services are also introduced: top-down versus bottom-up approach. Culmination of the paper is a discussion about choreography and orchestration - two concepts used for development of extremely complex composite services supporting business processes. Comparative analysis of those concepts and their underlying protocols are introduced in detail.