113 A Method and Tool for Business-IT Alignment in Enterprise Architecture Alain Wegmann, Pavel Balabko, Lam-Son Lê, Gil Regev, and Irina Rychkova École Polytechnique Fédérale de Lausanne (EPFL), School of Communication and Computer Science CH-1015 Lausanne, Switzerland { Alain.Wegmann, Pavel.Balabko, Gil.Regev, LamSon.Le, Irina.Rychkova}@epfl.ch Abstract. Enterprise architects seek to align enterprise processes and structure with their supporting IT systems so that enterprises can flour- ish in their environment. The enterprise architecture (EA) discipline has emerged from business best practices. EA frameworks are therefore mostly informal. As a result there is a lack of EA tools that can help enterprise architects to check this alignment. Most notably, current EA tools do not help enterprise architects to formalize the alignment of the multiple levels that constitute an enterprise model. In this paper we pro- pose an EA framework and an associated tool that provide alignment checking along the functional and organizational hierarchies. We illus- trate this approach with the Sun Microsystems industrial example of the Pet Store. 1 Introduction The design of business and IT system alignment is the domain of Enterprise Architecture (EA) [7]. Enterprise architects seek to align enterprise processes and structure with their supporting IT systems. Several EA frameworks have been defined in recent years [17]. EA frameworks are characterized by a modeling paradigm where the multi-disciplinary nature of the enterprise and its IT systems are modeled in multiple levels. Each level represents the reality as viewed by a different specialist, e.g. marketing, business process, and IT developers. An acute problem with this modeling paradigm is to verify the alignment and the traceability between the levels. In this document we represent a solution to this problem in the form of the SEAM EA framework [18] and its accompanying tool SeamCAD [11]. SEAM is grounded in General System Thinking (GST) [19], and Living Systems Theory [12] that explain how to interpret the enterprise reality. The need for reasoning about behavior and construction is a general systems thinking principle that recognizes that system behavior results in a certain construction (usually called structure) which in turn supports future behavior [19], [4]. The two main SEAM concepts used to express the behavior and construction are the functional and organizational levels. The functional levels represent the Proceedings of the CAiSE'05 Forum - O. Belo, J. Eder, J. Falcão e Cunha, O. Pastor (Eds.) © Faculdade de Engenharia da Universidade do Porto, Portugal 2005 - ISBN 972-752-078-2 114 Alain Wegmann, Pavel Balabko, Lam-Son Le, Gil Regev, Irina Rychkova behavioral hierarchy whereas the organizational levels represent the construc- tional hierarchy. SEAM is based on the terminology defined in the Reference Model for Open Distributed Processing (RM-ODP) and uses formal methods (e.g Alloy [13] and ASM [1]) to reason rigorously about the interpretation made of the reality. We illustrate our solution with the case study of the Pet store [2] released by Sun Microsystems as their first Java Blueprint application. We add to the original Sun Microsystems case study the business system and business process levels in order to demonstrate the alignment between business and IT. This paper has the following structure: Section 2 defines the concepts of organizational and functional levels; Section 3 illustrates our contribution with the Pet Store example; Section 4 describes the related work. Section 5 presents our conclusions and future work. 2 Organizational and Functional Levels In this section we describe the concepts of organizational and functional levels and formalize their alignment. Each organizational level is interpreted as being made up of computational objects that represent systems. To every computational object one can apply two viewpoints [15]: the information viewpoint (IV) and the computational viewpoint (CV). The information viewpoint describes the system seen as a whole (black box specification). The computational viewpoint defines the system seen as a composite (white box specification). In SEAM a computational object’s computational viewpoint (CV) is com- posed of several component computational objects. These components partici- pate in collaborations. A collaboration (also called joint action [6]) is an action that involves multiple participants. Refining a computational object’s CV re- sults in a hierarchy of CVs where each CV represents a model of the system at a specific organizational level. Mutatis mutandis, each functional level represents behavior at a given level of detail of a computational object. The computational object’s information viewpoint defines the behavior with information objects, localized actions, and relations between them. More detailed IV can be obtained by adding new infor- mation about system behavior. Refining of an information viewpoint results in a hierarchy of IV’s where each IV represents a model of the system at the specific functional level. The above concepts are formalized in [10], using Alloy 2.0. Alloy is a specifi- cation language based on set theory [13]. With this formalization, we were able to build a CAD tool called SeamCAD for modeling hierarchical systems [11]. The SEAM hierarchical model of a system can be considered as a set of partial models where each partial model represents the information viewpoint(s) of the relevant system (or collaboration of its subsystems) of interest at a particular organizational and functional level. The following definition of functional levels alignment is adapted from [8]: 115 At a given organizational level o, let IVs,o,f be a partial model representing system s at functional level f and IVs,o,f +1 is an extension of IVs,o,f on the functional level f+1. Partial model IVs,o,f +1 is said to be aligned with the partial model IVs,o,f if and only if all the behavior described by IVs,o,f is included in the behavior described by IVs,o,f +1 . This definition is based on the intuitive meaning of the functional refinement technique: model IVs,o,f +1 extends or implements the behavior of model IVs,o,f . It implies the essential property of behavioral substitutability[16]. In a similar manner we define the alignment for the organizational levels: For any functional levels f 1 ≤ f 2, let IVs,o,f 1 be a partial model represent- P system s at organizational level o and CVs,o+1,f 2 = IVcollaboration,o+1,f 2 + ing i IVssi ,o+1,f 2 is a partial model representing the collaboration of subsystems ssi of the system s on the next organizational level o+1. Partial model IVs,o,f 1 is said to be aligned with the partial model CVs,o+1,f 2 if and only if all the behav- ior described by IVs,o,f 1 is included in the behavior described by CVs,o+1,f 2 and mapping of vocabulary between organizational levels is defined and complete. Vocabulary mapping is needed to relate concepts between organizational lev- els. For example, the meaning of an Order information object can be different for the company itself, where Order represents a purchase, and for the sales depart- ment where Order is a collection of customer’s details and product specification. The alignment checking of the SEAM graphical models is based on The Ab- stract State Machine (ASM) paradigm and tools such as the AsmL language and the Asmlt test tool developed by Microsoft research group [1], [9]. This is performed by exporting the SEAM graphical model as XML and then transla- tion the XML file into the ASM specification (asml model). The resulting asml model can be simulated using the Asml environment, and tested using Asmlt. During conformance testing, Asmlt produces the trace of state transitions of the two models to compare, and reports errors. The errors show the behavioral nonequivalence between two models that means the violation of the behavioral substitutability property. 3 Modeling Example: The Sun Mycrosystem’s Java Pet Store In this section we illustrate the SEAM framework with the example of the Pet Store [2]. The Java Pet Store application is a realization of a distributed internet - shop, selling pets to its customers. Figure 1 represents four organizational levels. In some of these organizational levels, multiple functional levels are represented simultaneously. a) The Pet Store business system organizational level (Figure 1.a). This level represents the Pet Store Market, where the Pet Store Company (owner of the Pet Store Application) is shown in collaboration with other business en- tities, such as Bank, Pet Store Customer, and Supplier. The Pet Store Market is not defined in the original Java Pet Store model. However, in SEAM we con- 116 Alain Wegmann, Pavel Balabko, Lam-Son Le, Gil Regev, Irina Rychkova Pet Store Market a) Pet Store Business system 1 PS Company * Bank: Credit organizational level: Card service Pet Store Market CV * PS Customer Sell Verify representing the PS Company, Payment PS Customer, Bank, and Buy Supplier participating to the collaboration SellingPets. For * Supplier SellingPets each participant of the Deliver collaboration, its localized action is defined. Information objects are not shown 1 PS Company b) Pet Store business process organizational level: Pet Store Application IV and 1 Pet Store Application (IV) relations to the collaborating IT Systems. * Account 1 ProductCatalog * The alignment with the previous org. level is provided -owner -owner * Bank: Credit by the Sell collaboration * Order * Card service corresponding to the Sell * IT System localized action in PS * Product VerifyPayment Application in the figure a) ; 1 ShopingCart *The functional alignment is * PS Customer * Web browser <> visible between the sell loc * Supplier action and LogIn, … operations Buy Sell Manage IT System .. .. Manage Manage Order LogIn Shopping Order Deliver ManageOrder collaboration: Cart - collecting and checking user account information and product information; Sell - fulfilling the order in the order processing center (OPC). 1 Pet Store Application (CV) * Bank: focus: 1 PS Web site (IV) 1 PS OPC (IV) Credit Card c) Pet Store IT system ManageOrder -owner service integration organizational level: IT System Order Pet Store Application CV: PS Account Web site, Pet Store Order Processing Center (OPC) * MenageOrder: OPC Product participating in the PrepareOrder ManageOrder collaboration. *The alignment with previous * PS Customer * Supplier Web browser level is provided by the IT System MenageOrder: MenageOrder: Web site ManageOrder collaboration in customer GetUser GetProduct the figure b); Place ManageOrder Info Info Order 1 Pet Store Application focus: Manage 1 PS Web site “PS Web Tier” (CV) 1 PS OPC (CV) * Bank: Order Presentation Credit Card Request Intercepting <> <> service Filter customer.jsp order_completed.j OrderProce IT System sp ssing OrderProcess Coordinator * PS Customer <> EncodingServlet Web browser (CV) template.jsp Filter * Supplier PrepareOrder IT System “PS Client Tier” <> <> <> cart.jsp item.jsp PlaceOrder d) Pet IT components integration GetProductInfo organizational level PlaceOrder GetUserInfo PS Web site CV: J2EE “PS EIS Tier” components organized Data in tiers. Database *The alignment with “PS EJB Tier” “Oracle” <> Account Business Logic previous level is <> provided by the <
> Address 0..1 0..1 AsyncSender.ejb GetUserInfo and 0..* <> <> GetProductInfo <
> <
> ContactInfo CreditCart Account.ejb CreditCard.ejb collaborations in the figure c). <> ... ContactInfo.ejb <> Address.ejb Fig. 1. Pet Store SEAM hierarchical model. Organizational and functional alignment 117 sider it important to describe the business context in which the system of interest operates. b) The Pet Store business process organizational level (Figure 1.b). This level represents the Pet Store application with its information viewpoint in the context of the Pet Store Company. The Pet Store Market is hidden. Necessary information concepts were added to the model to reflect the Pet Store Applica- tion functionality on the particular abstraction level. Note that two functional levels are represented simultaneously in this model. The Pet Store Customer Web browser, Bank and Supplier IT Systems in this model represent business partners from the business organizational level. For simplicity their contexts were omitted as they are not our systems of interest. c) The Pet Store IT system integration organizational level (Figure 1.c). On this organizational level the Pet Store application can be observed within its computational viewpoint as a collaboration of the Pet Store Web Site and OPC (Order Processing Center). The IV of a system of interest defined in the previous organizational level makes explicit the system responsibilities. In the current organizational level we distribute these responsibilities between the relevant subsystems. In our example the Pet Store Application IV defined on the figure 1.b is distributed between Pet Store Web site and Pet Store OPC on the figure 1.c. This is the essence of the SEAM design process. Note that as in the previous organizational level, two functional levels are represented simultaneously in this model. d) The Pet Store IT components integration organizational level (Figure 1.d). This level describes the construction of the Pet Store applica- tion multi-tiered organization as defined in [2]. The model illustrates the Man- ageOrder part of the Pet Store behavior implemented with J2EE components. The Pet Store example highlights the key features of the SEAM framework: the explicit modeling of systems across organizational and functional levels; the unified graphical notation; explicit relations between models on different levels; functionality-to-organization mapping; model alignment within one and between different organizational levels. 4 Related Work Many ”empirical” EA methods exist, e.g. FEA, TOGAF. For an exhaustive list see [17]. In Information Systems, methods such as DEMO [3] and OPM [5] and in Requirements Engineering, methods such as TROPOS [14] have been proposed to design IT systems aligned with business requirements. All these methods provide traceability by top-down design. SEAM, on the other hand, makes the relations between what is represented in the organizational and functional levels explicit and defines the concept of organizational and functional alignment using the principle of behavioral substitutability. 118 Alain Wegmann, Pavel Balabko, Lam-Son Le, Gil Regev, Irina Rychkova 5 Conclusion In this paper we described the need for having functional and organizational levels in EA frameworks to reason about business and IT alignment. We proposed the concepts of organizational and functional alignment which is based on the behavioral substitutability principle. We represented the SEAM EA framework and its associated tool SeamCAD that provide both hierarchies and formalizes their alignment. We illustrated our method with the example of the Pet Store. References 1. Börger, E., Strk, R.: Abstract State Machines: A Method for High-Level System Design and Analysis. Springer-Verlag, 2003. 2. Designing Enterprise Applications with the J2EE Platform, Second Edition http://java.sun.com/blueprints/guidelines/ 3. Dietz, J. L. G.: DEMO: towards a discipline of Organisation Engineering. 1999. 4. Dietz, J.: Basic notions regarding business processes and supporting information systems, Proceedings of the 5th BPMDS Workshop, Riga, Latvia, June 2004. 5. Dori, D., Object-Process Methodology, A Holistic Systems Paradigm. 2002: Springer Verlag. 6. D’souza, F.D., Wills, C. A.: Object, Components and Frameworks with UML, The Catalysis Approach. 1999: Addison-Wesley. 7. Duffy, J. IT/Business Alignment: Delivering Results, CIO Magazine, 2001, re- trieved from http://www.cio.com/analyst/123101 idc.html on September 2004. 8. Edwards, S. H., Gibson, D. S., Weide, B. W., Zhupanov, S.: Software component relationships. In Proceedings of the Eighth Annual Workshop on Software Reuse, March, 1997 9. http://research.microsoft.com/fse/asml/ 10. Lê, L.S., Wegmann, A.: Definition of an Object-Oriented Modeling Language for Enterprise Architecture. System Sciences, 2005. HICSS ’05. Proceedings of the 38th Annual Hawaii International Conference on , 03-06 Jan. 2005 Pages:222a - 222a 11. Lê, L.S., Wegmann, A.: SeamCAD 1.x: User’s Guide, School of Computer and Communication Sciences, EPFL, Lausanne Switzerland, Report No. IC/2004/98, November 2004. 12. Miller, J.G.: Living Systems. University of Colorado Press, 1995. 13. MIT, The Alloy Constraint Analyzer, http://alloy.mit.edu/ 14. Mylopoulos, J., Kolp, M., and Castro, J. ”UML for Agent-Oriented Software De- velopment: The Tropos Proposal,” Proc. UML 2001. 15. OMG, ISO/IEC 10746-1, 2, 3, 4 — ITU-T Recommendation, X.901, X.902, X.903, X.904, Reference Model of Open Distributed Processing. 1995-1996. 16. Philippi, S.: Formally based modeling and inheritance of behaviour in object- oriented systems. Journal of Systems and Software, Feb 2004. 17. Schekkerman, J. How to Survive in the Jungle of Enterprise Architecture Frame- works: Creating or Choosing an Enterprise Architecture Framework, Trafford, Canada, 2003. 18. Wegmann, A.: On the systemic enterprise architecture methodology (SEAM). In: Proceedings International Conference on Enterprise Information Systems (ICEIS 2003), Angers, France. 19. Weinberg, G. M.: An Introduction to General Systems Thinking. New York: Wiley & Sons, 1975.