A -Driven Web Creation Methodology Mikio Aoyama Dep. of Information and Telecommunication Engineering Nanzan University 27 Seirei, Seto, 489-0863, Japan mikio.aoyama@nifty.com Abstract This article proposes a framework of the methodology for creating Web services. The core idea is business-driven model formed by separating concerns into three layers of business, service and computing, and classifying the three layers with architecture and semantic domain. The business-driven model provides a mechanism for mapping from the business systems to service systems, then to computing systems with a consistent process and common representation method. Keywords Web service, business model, software architecture, development methodology, XML, semantic Web, and software pattern. 1. Introduction Web services are emerging technology to reuse the software components as services over the Internet [1, 2, 4]. As the foundation of the Web services, a set of technologies has been developed for last a few years. SOAP (Simple Object Access Protocol) [3], WSDL (Web s Description Language) [5] and UDDI (Universal Description, Discovery, and Integration) [8] are just a few names of them. Although these technologies are rapidly evolving, little Architecture System Domain Space System Search Profile Negotiation Authorization Cataloguing Space Computing System Computing Space (Components, etc) Figure 1 --Computing Model discussions are devoted on the methodology for creating Web services. This article proposes a framework of the creation methodology of Web services. 2. --Computing Model To discuss Web service creation, we propose a conceptual model with three layers of spaces, named BSC (- -Computing) model as illustrated in Figure 1. Each space consists of a set of instances called systems. For example, a system in the business space is either a business model or a composition of business models. We view service as a middleware between business and computing spaces. space encapsulates the underlying computing space such as computing models, interface models and implementation technologies so that service systems can work together across the enterprises on different computing platforms. On the other hand, service systems can be reused by multiple business systems so that the creation and evolution of complex business systems can cost-effective and agile. Based on the BSC Model, we can define the following two sets of mappings between the spaces. (1) Mapping between and spaces Mapping from business space to service space indicates that a business system can be decomposed into a set of services and the collaboration among them. Mapping from the service space to business space indicates that the service is reused by multiple business systems. (2) Mapping between and Computing spaces Mapping from service space to computing space indicates that a service is implemented and executed by a set of computing systems. Mapping from computing space to service space is that the computing system is used by the service system. The goal of Web services is to effectively support business systems. Thus, in this article, we discuss how to create two mappings between the three layers in the BSC model. 1
Current Web service technologies focus on the mapping between service and computing spaces by wrapping the computing space with XML and XML based languages. However, to successfully meet the business requirements, the mapping between business and service spaces is necessary. Furthermore, such mapping needs to deal with the decentralized nature of service creation across the enterprises. That is there is no universal system in the model spaces but multiple system models collaborating dynamically. This article proposes a framework of the mapping between business and service spaces. 3. Exploring the BSC Model To identifying the mapping between the BSC spaces depicted in Figure 1, we explore the spaces in two dimensions of architecture and domain as indicated in Figure 1. The architecture and domain respectively reflects the notion of syntax and semantics of languages explaining each model. 3.1 Architecture Classification of the BSC Spaces Requester 1 Requester 2 Requester n x y Figure 2 Architecture Provider 1 Provider 2 Provider m Forward Auction Reverse Auction Exchange a b (3)Selection c Forward Aggregator [MRO Hub/Catalogue Hub] (3)Selection a b c Reverse Aggregator [MRO Hub/Catalogue Hub] Figure 3 Architecture Patterns of Systems The notion of software architecture defines the global structure of the systems in terms of components and their connectors [7]. (1) Architecture of Computing Space The architecture of computing space is two folds, that is physical architecture and logical architecture. The physical architecture represents the underlying computing elements and the relationship among them. And, the logical architecture represents the usage patterns of the computing elements. As we named Web, the physical architecture of computing space is hyper network, where computers are mutually connected on the Internet. The logical architecture of computing space is how to connect the elements on the hyper network. Client/server has been widely used physical and logical architecture of computing space for the last decade. However, Web services and peer services (P2P) indicate that client/server is too rigid and centralized. So, the broker architecture, illustrated in Figure 2, is proposed as an alternative architecture in the computing space. The broker architecture consists of requesters (clients), broker, and providers (servers). The broker intermediates between requesters and providers. Unlike client/server, the broker decouples the interactions between requesters and providers, which is appropriate to the open and decentralized nature of the Web. (2) Architecture of Space The architecture of service space is called -Oriented Architecture (SOA), an architecture pattern for Web services. The SOA is based on the broker architecture illustrated in Figure 2 since the Web service is provided on the Web. (3) Architecture of Space There are number of so-called business models proposed for last several years. These models represent logical structure of a business unit. Although the entire business system is highly complicated, in this article, we assume the business systems can (Double Auction) be composed by a number of the (3)Proposal a unit business systems; a system for (2)RFP specific business. b Like [6], we have analyzed a c number of business models in terms of the abstract structure of Supply Chain the model. As illustrated in Figure [SCM] 3, we found some business models share the same pattern of structure. We call this pattern as business architecture. 2
Among various business architectures, the business architectures in Figure 3 share the same pattern, that is broker, since brokerage is a fundamental unit for performing businesses. (4) Architecture We propose broker architecture as a common architecture across the layers of BSC model. 3.2 Domain Classification of the BSC Models Domain is a unit of area of similar businesses applications. Unlike conventional single domain model, we need to deal with multiple domain models as illustrated in Figure 4 since the collaboration across domain boundaries is essential nature of e-business on the Web. We define domain as a unit of semantic space, or a local business ontology, which shares the same business ontology as illustrated in Figure 4. Domain is even dynamic. For example, in Figure 4, A needs to collaborate with Y and Z for sales, while collaborating with X for manufacturing. So, the collaboration of A is dynamic and plays with multiple domains depending on the partners. A Systems Real World Modeling Implementation and Execution Domain P [Manufacturing] Domain Q [Sales] Figure 4 An Example of Multiple Domains Ontology Financing Sales Ontology Authorization Profile Requester Provider Execution Platform X Y Z Modeling Architecture Model Checking Architecture Model Checking Directory Figure 5 -Driven Creation Process 4. -Driven Web Creation Methodology We present a framework of business-driven Web service creation methodology with service creation process and representation methods. 4.1 -Driven Creation Process Figure 5 illustrates an overview of business-driven service creation process. Along with the three layers of BSC model, the creation process also consists of the following three stages of processes. (1) Modeling: A business system is created by analyzing business process in the enterprise or across the enterprises. The business ontology for a business domain should be created by classifying the vocabulary in the domain, such as information shared in the enterprise or exchanged across the enterprises. The business model needs to be verified [9]. (2) Modeling: Modeling of a service system can be two ways, that is, by the decomposition of business systems or by the abstraction of computing systems. In either way, the service system should be compliant with Web service standard so that service systems can be reused and composed over the Internet. To reuse the service systems, the service ontology should be created for a service domain corresponding to a set of business domains. Some basic service systems can be domain independent. The service systems should be verified. (3) Implementation and Execution: Implementing Web service is rather straightforward if the service system is compliant with Web service standard. The service interface can be described with WSDL and domain is mapped to a set of XML namespaces. However, the scripting WSDL is rather lengthy for even a simple Web service. It s necessary to provide a support for simplifying the description. 4.2 -Driven Representation (1) Representation Method Dynamics is the core nature of the business and service architectures, which service representation method should be able to deal with. Figure 6 illustrates the proposed representation method for modeling business systems. We view business system as a interaction of participants, named actors, in a business scene. In a business scene, a business scenario describes a set of interactions. 3
Role() a Scene Figure 6 Scenario-Based Modeling of System Table 1 summarizes the elements for representation business systems. Table 1 Elements for Representing Systems Element Meaning Unit of performing business; i.e. people, organization, and systems Scene Scope of actions and interactions of s Role Role played by an in a Scene Task performed by an with a Role Scenario Execution procedure of s by the s participating the Scene (2) An Example Figure 7 illustrates an example of representing a business system. The system consists of three scenes of s, t, and u. a purchases products through two different business scenarios. Scenario 1 uses MRO (Maintenance, Repair and Operation) model for steady business demand, while Scenario 2 uses Auction for punctual demand. However, these two scenarios share the same domain since the products for purchase are the same. In Scenario 3, b collaborates with f and g through SCM (Supply Chain Management) model to purchase, say, components for production. Thus, b deals with multiple domains of x and y. a Scene s Scenario 1 [MRO by Aggregation for Domain x] Role () Scenario 2 [Spot Procurement by Auction for Domain x] c Role() b b c Role() Scenario S Role() Auction for Domain A Scene u Scenario 3 [SCM for Domain y] d e Figure 7 An Example of System Role() Join Cataloguing d f g 5. Discussions The framework presented in this article is an extension of the conventional software development methodology such as object-oriented development methodology. Although the approach looks similar, but the goal of service-creation methodology is different from conventional methodologies in the sense that service creation methodology is intended to deal with multiple businesses and domains. The framework proposed here is rather abstract. Further research is underway. 6. Conclusions This article proposed a framework of business-driven methodology for creating Web services. We emphasized the modeling of dynamic business systems with business architecture and business ontology. Based on this framework, we are developing a complete methodology for creating Web services. Acknowledgements: The author would like to thank the members of the SSR (Strategic Software Research) Forum for their discussions during this research. References [1] M. Aoyama, Intelligent Software s over the Internet, E. Kawaguchi, et al. (eds.), Information Modeling and Knowledge Bases, IX, IOS Press, Feb. 2000, pp. 128-135. [2] M. Aoyama, et al (eds.), Software Technologies for Making e- Real, IPSJ Magazine, Vol. 42, No. 9, Sep. 2001, pp. 855-895 (In Japanese). [3] D. Box, et al., Simple Object Access Protocol (SOAP) 1.1, W3C, May 2000, http://www.w3.org/tr/soap/. [4] P. Brereton, et al., The Future of Software, CACM, Vol. 42, No. 21, Dec. 1999, pp. 78-84. [5] E. Christensen, et al., WSDL 1.1. Mar. 2001, http://www.w3.org/tr/wsdl. [6] S. Kaplan, et al., E-Hubs: The New B2B Marketplaces, Harvard Review, Vol 78, No. 3, May-Jun., 2000, pp. 97-103. [7] M. Shaw and D. Garlan, Software Architecture, Prentice Hall, 1996. [8] UDDI, UDDI V1 Technical White Paper, Sep. 2000, http://www.uddi.org. [9] W. Wang, et al., E-Process Design and Assurance Using Model Checking, IEEE Computer, Vol. 33, No. 10, Oct. 2000, pp. 48-53. 4
5