Towards a Service-Oriented Methodology: Business-Driven Guidelines for Service Identification Dieter Van Nuffel Department of Management Information Systems, University of Antwerp
[email protected]
Abstract. Service-Oriented Architectures (SOAs) are becoming the new paradigm for developing enterprise information systems. Most of the current research on SOA is focused on implementation issues. However the need of a complete SOA methodology is clearly defined within literature. This dissertation will contribute to the emerging SOA methodology by focusing on the analysis phase of a SOA project, and more specifically on the identification of services. Following a design science approach, guidelines will be created able to translate business processes into services. These guidelines will be based upon theoretical concepts derived from a number of existing theories and approaches, and will be evaluated through its application within SOA projects.
1
Introduction
Service-Oriented Architectures (SOAs) are becoming the new paradigm for developing enterprise information systems. SOAs are trying to provide a solution to the never or only partially realized promise of business/IT alignment. Because existing information systems are not flexible enough to be sufficiently adapted to the constantly changing business needs, information systems are described as inhibitors instead of enablers of the company’s business. To deal with this issue, SOA has recently emerged, promising to provide a flexible IT-architecture able to be quickly adapted to the changing business needs [1]. Thus SOA is an architectural philosophy in which business aligned services, being the building blocks of SOA, provide this flexible architecture. Furthermore services are designed to be reusable within other business processes or even within business processes across organizational borders. Applications will thus be composed of services. Based on these promises, it should not surprise that SOA is currently a hype. However, to become more than a hype, and to leverage a significant contribution to improve the relationship between business and IT, SOA has to be built upon a sound (scientific) foundation. Currently, research concerning SOA is relatively fragmented. At first, you have the diversity of people interested in, and publishing about it: diverse academics, consultants, researchers . . . Secondly SOA concepts are derived from a plethora of disciplines: software engineering, IT architecture, distributed computing, etc. Therefore a broad vision, or “holistic approach”, on the fundamental characteristics is needed. R. Meersman, Z. Tari, P. Herrero et al. (Eds.): OTM 2007 Ws, Part I, LNCS 4805, pp. 294–303, 2007. © Springer-Verlag Berlin Heidelberg 2007
Towards a Service-Oriented Methodology
2
295
Problem Statement
Like most emerging paradigms or concepts, theory about SOA is first developed concerning implementation issues, then regarding design and finally about analysis. Because currently most attention is directed towards the implementation and design phase, this dissertation will focus on the analysis phase of a SOA project. More specifically, it will contribute to the identification of services, being an important step within analysis [2]. 2.1
Definition Research Topic
Papazoglou [3] identifies the need of providing a sound, scientific foundation to the SOA paradigm, and has proposed a research roadmap in which several research challenges are situated. Four main areas are distinguished: – Service Foundations: service-oriented middleware backbone realizing the runtime SOA infrastructure. – Service Composition: aggregation of multiple services into a single composite service. – Service Management : the management of loosely coupled applications within a SOA. – Service Engineering: service-engineering methodology to effectively deploy and design services able to support flexible business processes. Within the Service Engineering area, Papazoglou [3, p.23] states that “In addition it should be examined how emerging business modelling notations such as BPMN can aid in capturing development activities [. . . ] ”. In fact it is suggested that there is a need of a methodology able to design services out of the modeled business. My research will address this research gap and can thus be situated within the Service Engineering area identified by [3]. Also Cherbakov [4, p.663] identifies similar research areas by claiming that: “We submit that bridging this gap [between business and IT] requires: [. . . ] rigorous method to translate this structured business view to the appropriate (service-oriented) IT layer [. . . ]”. Next to these SOA sources, also the Services Science literature indicates the research gap of a methodology able to translate business requirements into IT artifacts. Rai [5, p.330] describes the hiatus as “[...], what are the design principles for digitally enabled services, and how do they impact the capabilities to split, augment, substitute, exclude, port, and broker services? ”. It is also suggested that services should be derived from the modeled business processes of a company [2,6]. Thus based on these calls for research, the dissertation’s topic will be the construction of a methodology providing guidelines to translate the business requirements, modeled as business processes, into the enabling IT artifacts, namely services within a SOA. It should be mentioned that services do not equal Web Services: the latter are a specific technological implementation of the first. In this dissertation the proposed guidelines will be technology independent, and the resulting services will be described by their contract: i.e. the functionality provided by the service. An example of a SOA-methodology
296
D. Van Nuffel
is found in the PhD dissertation of Stojanovic [7]. A method was proposed to “support components and services during the whole system development lifecycle, from business requirements to implementation”. Although it provides useful directions, no guidelines could be identified that explicitly state how business requirements should be translated in services. 2.2
Research Questions
In order to achieve the promised benefits by SOA, and to respond to the call for research by the authors aforementioned, the following proposition will summarize the rationale and motive behind the PhD proposal: To develop guidelines, able to guide the translation of business requirements into services. The identified services will adhere to the SOA quality criteria, contain business relevance, and be aligned with relevant business functionality. This dissertation will provide rules on which service-oriented architectures can be modeled, regardless of the technology used to implement them. The key thesis research proposition results in a number of concrete research questions that have to be addressed: 1. What are the different guidelines translating business processes into services? 2. Which ontology or representation is suited to describe the identified guidelines? 3. Which Business Process Modeling (BPM) Language is best suited to act as a basis for the guidelines to be built? 4. Do business processes modeled in the chosen BPM language contain all the information needed by the guidelines? Or is there a need to incorporate additional techniques and/or artifacts? 5. What are sufficient and necessary criteria to define a service? How can these criteria be measured and formalized?
3 3.1
Research Approach Business Process Modeling
Business processes are suggested to be ideal candidates to represent the business requirements for a SOA project. However, business process descriptions encounter difficulties [8,9,10]: absence of formal semantics; limited potential of modeling approaches for verification purposes; too much message-oriented, and too little process-oriented; and multi-party collaborations can only be poorly modeled. As several different Business Process Modeling languages exist, the most appropriate one to be the starting point for a SOA should be chosen. By most appropriate, we mean: which BPM language is able to describe all (or most of) the required information needed as input for service identification? If not all the information can be represented, it will be investigated whether additional
Towards a Service-Oriented Methodology
297
artifacts are required. It is not our intent to adapt existing BPM languages, but rather to search for complementary existing artifacts that jointly represent the relevant information. Business processes are also modeled on different abstraction levels, ranging from high-level descriptions to executable technical processes like Business Process Execution Language (BPEL). Because the dissertation focuses on the analysis phase, we opt for a high-level description. Presently, two suitable candidates remain: Petri-nets and the Business Process Modeling Notation (BPMN). The first has the advantage of being highly formalized, whereas the latter is used more often in practice. 3.2
SOA and Services
Because the research area is an immature and relatively recent field, there currently exist a lot of discussion and confusion about the definition of several key terms like SOA, SOC, service . . . As the academic literature in the field is expanding, it is expected that a definition or at least a description of these key terms will emerge in the near future. Therefore we are currently working on a first chapter of the dissertation containing a (literature) overview of the different terms, keeping it updated through the PhD process. For now, SOA is defined as an architectural style, a way of thinking and modeling, to build IT architectures enabled by flexible, reusable, and loosely coupled services. Concerning the concept of service however, it is important to describe it in an unambiguous manner as early as possible, because it is the target of the translation. Thus we opt to describe a service through its underlying characteristics that will remain identical, independent from which definition will prevail. The following nonexhaustive list of characteristics can already be identified [11]: loose coupling, strong cohesion, semantic interface, technology independent, autonomous, and coarse grained. Because no formal measurements to assess these service quality criteria are available, we are presently working on service-oriented coupling and cohesion metrics. These are based on both the object-oriented metrics (e.g. [12]), and the existing SOA approaches discussed in paragraph 3.3. Another question is how the resulting services should be represented. An interesting candidate for this task is OWL-S, an ontology specifically developed to describe web services. 3.3
Guidelines
Considering the guidelines, input for their development can possibly be provided by existing approaches. A first one is the commercially applied SOMA methodology of IBM [13]. In essence, SOMA builds further on the software architecture principles provided by Object-Oriented Analysis and Design, Business Process Modeling and Enterprise Architecture. It is however complemented with aspects particular to services like services choreography, semantic brokering, etc. [13,6]. The SOMA methodology roughly consists of three steps: the identification, the specification and the realization of services, components and flows. Besides starting from business domain composition, SOMA also takes into account the existing information systems. Another industry initiative is the mapping of
298
D. Van Nuffel
BPMN to BPEL [14]. Although the mapping is oriented towards web services, the underlying rationale provides some interesting knowledge. Thirdly, methods used for identifying web services offer useful insights. Papazoglou and Yang [15] design web services out of modeled business processes. The designed services are based on two key software design principles: minimizing coupling and maximizing cohesion. As a result the modeled services will be modular, self-contained, and composable. Another method to extract web services out of business processes is described by Feuerlicht [16]. Although the further refinement of candidate services is also based on coupling and cohesion, a third aspect of service design is considered: the optimal granularity level. Rigorously applying coupling and cohesion will result in fine-grained services, and thus in a large number of runtime calls. Taking into account limited network capacity, coarse-grained services could be preferred. Besides the principles underlying object-orientation, existing object-oriented approaches can provide useful insights as well. The GrammarOriented Object Design (GOOD) method [17] for example, is proposed to create loosely coupled enterprise components out of business models. This method can actually be categorized within Component-Based Development (CBD). Therefore, it is also worthwhile more generally examining the CBD principles, especially because it appears to have strong relationships with SOA [7]. However, service-oriented development requires additional aspects to be considered and decided on [13]. Currently some directions for service identification have already been proposed. A service is identified as: a department [18], a use case [19], or a logical collection of operations [6]. Finally it should be decided how to represent the identified guidelines. As the aim is to formally describe them, an ontological representation is preferred above a plain text description.
4
Related Research
Although the dissertation will not include SOA enabling technologies, there are however very useful and valuable research initiatives in that area. The most researched and probably most applied technology are web services, being software based on the W3C and OASIS standards, like SOAP, WSDL, UDDI, and WS-*. Some interesting research topics regarding web services are deployment strategies (e.g. [20]), Web services methodologies (e.g. [15]), and interface design (e.g. [16]). Next to the literature about web services, other authors provide more general insights about services. Quartel et al. [21] for instance, define a conceptual framework in which the different characteristics (roles, composition, delivery . . . ) of services are discussed. One of the properties of a service is its semantic interface. Strongly related to the research of the Semantic Web, also semantically connectible services described by ontologies are investigated [22]. There are also different approaches towards the potential of realizing business/IT alignment through SOA. A number of authors examine a model-driven approach towards SOA [23], others are focusing a goal-driven approach [24]. Another important research area is the automated translation of business process models into executable languages like BPEL [25]. Furthermore there exist
Towards a Service-Oriented Methodology
299
complementary research efforts towards the identification of services, for instance a domain-specific approach initiating from domain reference models [26]. Finally, it is also important to notice the growing attention and research within the socalled Services Science. In developed countries most of the economical output is realized by the services industry, resulting in a shift to a services-based economy. Therefore, it is suggested that a new academic discipline has to be established focusing on the services industry [27].
5
Research Methodology and Procedure
Regarding the nature of the research, the choice for Design Science as the applied research methodology is relatively straightforward. In accordance with Simon [28], who makes a distinction between the Behavioral Science and the Design Science, building a (part of a) methodology is actually studying the artificial: “A natural science is a body of knowledge about some class of things - objects or phenomenon - in the world (nature or society) that describes and explains how they behave and interact with each other. A science of the artificial, on the other hand, is a body of knowledge about artificial (man made) objects and phenomena designed to meet certain desired goals.” Moreover the topic of my dissertation can easily be positioned within the design science classification scheme suggested by March and Smith [29]. As figure 1 illustrates, this dissertation will build and evaluate a method, being the artifact constructed by the research.
Fig. 1. Classification of dissertation topic within [29]
In addition, a method is defined as “These [methods] can range from formal, mathematical algorithms that explicitly define the search process to informal, textual descriptions of “best practice” approaches, or some combination.” [30, p.79]. Thus, the research questions mentioned above certainly adhere to the
300
D. Van Nuffel
definitions implied by the Design Science literature. Initially, also exploratory case studies [31] will be executed. The purpose of these case studies is to obtain useful information from practitioners regarding the research objectives of choosing a suitable BPM language, deriving service quality characteristics and measures, and identifying guidelines for service identification. Thus next to the answers available in literature, SOA practices will be incorporated as well. This results in theoretically grounded guidelines, extended by, and validated through industry insights. Moreover after this first phase of literature review and case studies, a decision will be made concerning the BPM language and the set of relevant service quality characteristics. Assessing the proposed research outcomes will occur by applying them on business processes within different domains. Except for the first evaluation iteration where the guidelines will be tested on a theoretical case, the evaluation will consist of applying the guidelines on business processes identified during SOA projects within the industry. Thus these projects are in fact case studies based on the action research methodology [32] because I will actively participate in the SOA projects. The application of the proposed guidelines will be the action executed. Evaluating the guidelines will be twofold: based upon the criteria of utility and value. The first refers to the question: does it work?, or rephrased into the dissertation’s terminology: Do the guidelines provide sufficient and necessary information to translate the business processes into services? The latter criterion will be met by demonstrating that the guidelines result in services adhering to the identified quality criteria. An important property of Design Science is its iterative character to which this research adheres by repeating the development and evaluation several times. As a result, the guidelines are built progressively: when being confronted with an inadequate or incomplete set of guidelines, further examination is necessary. This procedure is in fact the “Generate/Test cycle” suggested by [28]. However, as existing literature and industrial practices will most probably not be able to solve all encountered difficulties; there is a need to identify new guidelines on which the services can be modeled. By constructing these novel guidelines, this dissertation will add value, and contribute to the emerging SOA theory. A difficult aspect while building a design science artifact, is deciding when the artifact has reached validity. The approach that will be used in this dissertation is the so-called “proof-by-demonstration” [33, p.98] in which the validity is shown by successfully applying the proposed artifact. The disadvantage of using this procedure is the lack of benchmarking, and therefore it is a relative “weak” form of validation. However we will surpass this shortcoming both by establishing a sound theoretical basis through the predefined quality criteria to which the solution should adhere, and through the validation of the guidelines in industry SOA projects. Another approach is proving that the proposed guidelines are superior to existing methods. However, this technique may not be applicable to our research as currently competing guidelines do not exist, and may even not originate before the completion of this research. One can argue to compare the method with other approaches like OO, CBD . . . ; but as these approaches are
Towards a Service-Oriented Methodology
First version guidelines
- Existing theory - Exploratory case studies
Evaluation first version
- “Theoretical” case
Development guidelines
- Additional theory - Own insights
Evaluation guidelines
- Action research - Validation
Conclusions
301
- Final version guidelines - General conclusions PhD
Fig. 2. Research approach, based on [34]
not developed to identify services, they can not be considered as a legitimate candidate of comparison. Figure 2 summarizes the research approach.
6
Research Contributions and Conclusions
To emphasize the impacts of the research on both theory and practice, this paragraph briefly summarizes the main research contributions. The main contribution to theory, and to the emerging SOA methodology, is the solution to the first and second research question mentioned in paragraph 2.2: constructing and describing guidelines translating business processes into services. To our knowledge, this dissertation is one of the first attempts both to formally define the relationship between business processes and services on a conceptual level, and to describe these relationships by designing guidelines. Moreover, by focusing on the business during the guidelines’ identification, the resulting services will be aligned with business requirements. This business focus will also be realized by identifying the best suited BPM language to describe the business requirements, being the purpose of the third research question. In addition, the fourth question will examine whether the chosen BPM language is able to sufficiently model the requirements needed to build a SOA, or whether additional analysis artifacts are needed. If the latter is true, these complementary artifacts will be determined. However, our approach has some limitations: it is bounded to the chosen BPM language, and only takes into account the quality criteria of services defined by solving the fifth question. If some organizations opt to incorporate additional or other quality criteria, the proposed methodology can possibly not result into the optimal set of services. Nevertheless, the selected criteria will be described formally, being a contribution to a consistent SOA terminology. Moreover by empirically validating the methodology on real-life projects, and not solely on theoretical cases, the guidelines will not only possess a sound theoretical basis, but also a high relevance for use within SOA projects. Finally these guidelines can also be used to make students acquainted with service identification. As such the guidelines can be part of future systems analysis and design courses.
302
D. Van Nuffel
References 1. Bieberstein, N., Bose, S., Fiammante, M., Jones, K., Shah, R.: Service-Oriented Architecture (SOA) Compass: Business Value, Planning, and Enterprise Roadmap. The developerWorks Series. IBM Press, Indianapolis, USA (2005) 2. Endrei, M., Ang, J., Arsanjani, A., Chua, S., Comte, P., Krogdahl, P., Luo, M., Newling, T.: Patterns: Service-Oriented Architecture and Web Services. IBM Redbooks. IBM Press (2004) 3. Papazoglou, M.P., Traverso, P., Dustdar, S., Leymann, F., Kramer, B.J.: Serviceoriented computing research roadmap. In: Cubera, F., Kramer, B.J., Papazoglou, M.P. (eds.) Dagstuhl Seminar Proceedings. Internationales Begegnungsund Forschungszentrum fuer Informatik (IBFI), 05462 (April 2006) 4. Cherbakov, L., Galambos, G., Harishankar, R., Kalyana, S., Rackham, G.: Impact of service orientation at the business level. IBM Systems Journal 44(4), 653–668 (2005) 5. Rai, A., Sambamurthy, V.: Editorial notes - the growth of interest in services management: Opportunities for information systems scholars. Information Systems Research 17(4), 327–331 (2006) 6. Zimmermann, O., Krogdahl, P., Gee, C.: Elements of service-oriented analysis and design (June 2004), http://www128.ibm.com/developerworks/library/ws-soad1/ 7. Stojanovic, Z.: A Method for Component-Based and Service-Oriented Software Systems Engineering. PhD thesis, Technische Universiteit Delft (February 2005) 8. Dehnert, J., van der Aalst, W.P.M.: Bridging the gap between business models and workflow specifications. International Journal of Cooperative Information Systems 13(3), 289–332 (2004) 9. List, B., Korherr, B.: An evaluation of conceptual business process modelling languages. In: SAC 2006: Proceedings of the 2006 ACM symposium on Applied computing, pp. 1532–1539. ACM Press, New York (2006) 10. Recker, J., Indulska, M., Rosemann, M., Green, P.: How good is bpmn actually? insights from practice and theory. In: Ljungberg, J., Andersson, M. (eds.) Proceedings 14th European Conference on Information Systems, pp. 1582–1593 (June 2006) 11. Erl, T.: Service-Oriented Architecture: Concepts, Technology, and Design. Prentice Hall, Upper Saddle River, NJ, USA (2005) 12. Briand, L.C., Wust, J., Daly, J.W., Porter, D.V.: Exploring the relationships between design measures and software quality in object-oriented systems. The Journal of Systems and Software 51(3), 245–273 (2000) 13. Arsanjani, A.: Service-oriented modeling and architecture (November 2004), http: //www 128.ibm.com/developerworks/webservices/library/ws-soa-design1/ 14. Object Management Group: Business process modeling notation specification (February 2006), online available http://www.bpmn.org/ 15. Papazoglou, M.P., Yang, J.: Design methodology for web services and business processes. In: Buchmann, A.P., Casati, F., Fiege, L., Hsu, M.-C., Shan, M.-C. (eds.) TES 2002. LNCS, vol. 2444, pp. 54–64. Springer, Heidelberg (2002) 16. Feuerlicht, G.: Design of service interfaces for e-business applications using data normalization techniques. Information Systems and E-business management 3(4), 363–376 (2005) 17. Arsanjani, A.: A domain-language approach to designing dynamic enterprise component-based architectures to support business services. In: TOOLS 2001: Proceedings of the 39th International Conference and Exhibition on Technology of Object-Oriented Languages and Systems (TOOLS39), Washington DC, USA, July - August 2001, pp. 130–141. IEEE Computer Society Press, Los Alamitos (2001)
Towards a Service-Oriented Methodology
303
18. Jones, S.: Toward an acceptable definition of service. IEEE Software 22(3), 87–93 (2005) 19. Canfora, G., Fasolino, A.R., Frattolillo, G., Tramontana, P.: A wrapping approach for migrating legacy system interactive functionalities to service oriented architectures. The Journal of Systems and Software (forthcoming, 2007) 20. Baglietto, P., Maresca, M., Parodi, A., Zingirian, N.: Stepwise deployment methodology of a service oriented architecture for business communities. Information and Software Technology 47(6), 427–436 (2005) 21. Quartel, D., Steen, M.W.A., Pokraev, S., Van Sinderen, M.: A conceptual framework for service modelling. In: Proceedings Tenth IEEE International EDOC Enterprise Computing Conference (EDOC 2006), pp. 319–330. IEEE Computer Society Press, Los Alamitos (2006) 22. Pahl, C.: Semantic model-driven architecting of service-based software systems. Information and Software Technology 49(8), 838–850 (2007) 23. Shishkov, B., Van Sinderen, M., Quartel, D.: Soa-driven business-software alignment. In: Tsai, W., Chung, J., Younas, M. (eds.) Proceedings of the IEEE International Conference on e-Business Engineering, pp. 86–94. IEEE Computer Society Press, Los Alamitos (2006) 24. Kaabi, R.S., Souveyet, C., Rolland, C.: Eliciting service composition in a goal driven manner. In: Proceedings on International Conference on Service Oriented Computing, ACM, pp. 308–315. ACM Press, New York (2004) 25. Zhao, W., Jeng, J.-J., An, L., Cao, F., Bryant, B.R., Hauser, R., Tao, T.: Aligning business processes with enterprise service computing infrastructure. In: Qiu, R.G. (ed.) Enterprise Service Computing: From Concept to Deployment, pp. 25–57. Idea Group Publishing, Hershey, USA (2007) 26. Huysmans, P.: Towards systematic identification of services: a domain-specific approach (Forthcoming, 2007) 27. Chesbrough, H., Spohrer, J.: A research manifesto for services science. Communications of the ACM 49(7), 35–40 (2006) 28. Simon, H.A.: The Sciences of the Artificial, 3rd edn. MIT Press, Cambridge, MA, USA (1996) 29. March, S.T., Smith, G.F.: Design and natural science research on information technology. Decision Support Systems 15(4), 251–266 (1995) 30. Hevner, A.R., March, S.T., Park, J., Ram, S.: Design science in information systems research. MIS Quarterly 28(1), 75–105 (2004) 31. Yin, R.K.: Case Study Research: Design and Methods, 3rd edn. Applied Social Research Methods Series, vol. 5. Sage Publications, Thousand Oaks (2003) 32. Baskerville, R.L., Wood-Harper, A.T.: A critical perspective on action research as a method for information systems research. Journal of Information Technology 11(3), 235–246 (1996) 33. Nunamaker, J.F.J., Chen, M., Purdin, T.D.M.: Systems development in information systems research. Journal of Management Information Systems 7(3), 89–106 (1991) 34. Vaishnavi, V., Kuechler, B.: Design research in information systems (January 2006), Online available, http://www.isworld.org/Researchdesign/drisISworld.htm