RE... '97,» km”, 1": U" Ma, 2%... .. a...» .2 sang.» mfi. fiamtuuszui .2. ifffiuswubfiqet a; {.33 as. ...:.(Ioo:..1 1.6. 3 1'1 .Runxlqan .3 . 4. . u «flan. huh-3’1. ; . ‘11.. . 1. :A ‘3) . v lawn )\ . . “Val This is to certify that the dissertation entitled A SERVICE-ORIENTED APPROACH FOR COLLABORATIVE PROCESS MANAGEMENT presented by Woongsup Kim has been accepted towards fulfillment of the requirements for the Ph.D. degree in Computer Science ///7/~/:6Z% Maj rofessor’s Signature /z//7/06 / / Date MSU is an Affirmative Action/Equal Opportunity Institution LIBRARY Michigan State University -.oo-o-.-o-a-~--o-o-o-¢-o-o-n-l-a-o- PLACE IN RETURN Box to remove this checkout from your record. TO AVOID FINES return on or before date due. MAY BE RECALLED with earlier due date if requested. DATE DUE DATE DUE DATE DUE 2/05 p:/CIRC/DaleDue.indd-p.1 A SERVICE-ORIENTED APPROACH FOR COLLABORATIVE PROCESS MANAGEMENT By Woongsup Kim A DISSERTATION Submitted to Michigan State University In partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY Department of Computer Science and Engineering 2006 ABSTRACT A SERVICE-ORIENTED APPROACH FOR COLLABORATIVE PROCESS MANAGEMENT By Woongsup Kim Service-oriented computing provides organizations with methodologies and technologies that enable them to link multiple software systems using platform independent interfaces and contracts thereby creating a so-called Virtual Organization (VO). Unfortunately, as of today, there are challenges that can limit the implementation of a true service-oriented environment. One of the most noticeable challenges is the issue of “trust”. During service-oriented process integration, participants may face uncertainties due to the nature of Web Service technologies. These uncertainties arise from the limitations of current Web Service support that is required for collaboration between participants in the V0. As a result, resolution of such limitations of Web Services is both very necessary and highly desirable. In this thesis, we propose a new framework that we call the Web Service Collaborative Process Coordinator (WSCPC), which provides support for a reliable service-oriented collaborative environment. Using our proposed approach, partners can share their workspaces through Web Service semantics in heterogeneous processes. Behaviors in the V0 can be predicted, monitored, and analyzed so as to determine if a goal can be successfully achieved. Such behaviors can also be enacted on-the-fly by partners based on the needs. To this end, we first propose a trustworthiness model that can be used to predict performance and reliability of service behavior. The trustworthiness model employs a probabilistic method called probabilistic Latent Sematic Analysis (pLSA) that eliminates noise in the pool of service ratings. Using this methodology, service consumers can expect a particular degree of satisfaction and estimate percentage measure that predicts to what extent which they will be disappointed. Our trustworthiness model can also be integrated into system analysis methodologies such as stochastic Petri nets, and hence support run-time quantitative predictions. Moreover, we propose several service models including a service definition model, a service registry model, and a service interaction model. These service models are described using the Ontology Web Language (OWL), an XML knowledge representation based on Description Logic (DL). As a result, any peer’s capability and behavior can be logically inferred and enacted in a heterogeneous, collaborative software environment. Under these service models, collaborators in a V0 can share communicational behaviors and enact partners’ behavior in a flexible and platform neutral way. Copyright © 2006 By WOONGSUP KIM All Right Reserved To my wife Hyo-jeung, daughter Hyunwoo, father, and mother. ACKNOWLEDGEMENT I wish to thank the countless people—family, friends, colleagues, advisors, and instructors—who have made my years in East Lansing the most precious of my life. First and foremost I would like to thank my current and former advisors, Dr. Wayne Dyksen and Dr. Moon Jung Chung, whose guidance and tireless support have proven invaluable during my PhD studies throughout graduate school. I am very fortunate to have had the opportunity to work with them and to be the beneficiary of their vast knowledge and friendliness. I am of course grateful to my thesis committee, Drs. Abdol-Hossein Esfahanian, Charles Owen, Brian Pentland, and Wayne Dyksen. Others with whom I have had the pleasure of collaborating include Yuan Zhang, Hong- Suk Jung, Ravi Gopalan, Yonggang Qin, Un-Sang Park, Ming Wu, and the members of the Korean Buddhist Association at Michigan State University. Yuan, Ravi, Yonggang, and Hong-Suk worked with me in developing earlier versions of the WSCPC framework. Discussions with Ming and Un—Sang helped me to build the WSCPC trustworthiness model. Members of the Buddhist Association reinvigorated me whenever I felt tired. I am also indebted to visiting professors Sang-Cheol Kim, Youn-Mo Chung, and Young Keun Choi who gave me advice and motivation to further my research. Finally, I would like to thank my family including my wife Hyo-Jeung and my daughter Hyunwoo as well as my mother and father back in Seoul, Korea. They have provided an vi enormous amount of support and encouraged me to stick with my PhD studies as long as I could. I dedicate this thesis to them. My work had been supported in part by the National Science Foundation (NSF) Grant Number DMI-03 13 174. vii TABLE OF CONTENTS LIST OF TABLES ............................................................................................................ x LIST OF FIGURES ......................................................................................................... xi CHAPTER 1 INTRODUCTION .................................................................................... 1 CHAPTER 2 BACKGROUND ...................................................................................... 7 2.1 Virtual Organization ...................................................................................... 7 2.2 Trustworthiness Management ...................................................................... 10 2.2.1 Considerations ........................................................................................ 11 2.2.2 Potential Application of Concepts from Mobile Agent Systems ........... 11 2.3 Service-Oriented Computing ....................................................................... 13 2.3.1 What Are Web Services? ....................................................................... 13 2.3.2 Web Service Environments .................................................................... 15 2.3.3 Structural Layers in Web Services ......................................................... 17 2.4 Process Management Based on Web Services ............................................ 22 2.4.1 Using Meta Language ............................................................................ 23 2.4.2 Web Services on Grids ........................................................................... 27 2.4.3 Semantic Approaches ............................................................................. 31 2.5 Approaches Toward Trustworthy Service Oriented Computing ................. 32 2.5.1 Service Discovery .................................................................................. 32 2.5.2 Service Behavior Analysis ..................................................................... 35 2.5.3 Service Security ...................................................................................... 36 2.5.4 Service Reliablity ................................................................................... 38 CHAPTER 3 SEMANTICS FOR SERVICE-ORIENTED COLLABORATION ...... 41 3.1 Requirements for Service-Oriented Collaborative Process Management 41 3.2 A Grammar-Based Approach ...................................................................... 44 3.3 Web Service Semantics for Collaborative Process ...................................... 47 3.3.1 The Process Definition Model ................................................................ 48 3.3.2 The Process Enactment Mode] (PEM) ................................................... 56 3.3.3 The Process Monitor Model (PMM) ...................................................... 59 3.3.4 Service Registry Model .......................................................................... 64 3-4 Communication Behavior ............................................................................ 69 3.4.1 Support for Interoperability .................................................................... 69 viii 3.4.2 The Service Interaction Model ............................................................... 71 3.4.3 WSDL Support ....................................................................................... 75 CHAPTER 4 TRUSTWORTHY ENVIRONMENT FOR SERVICE-ORIENTED COLLABORATION ......................................................................................................... 78 4.1 Motivations for Trustworthiness in Service Oriented Environment ........... 78 4.2 Predicting Risks from Recommendations ................................................... 81 4.2.1 Models for Expected Service Ratings .................................................... 82 4.2.2 Expectation Maximization Algorithm .................................................... 84 4.2.3 Service Selection and Estimated Risks .................................................. 89 4.3 Analysis of Service Correctness .................................................................. 91 4.3.1 Quantitative Analysis for Non-Functional Behavior ............................. 92 4.3.2 A Net Based Method to Predict Non-Functional Behavior ................... 95 CHAPTER 5 IMPLEMENTATION .......................................................................... 100 5.1 The WSCPC General Architecture ............................................................ 100 5.2 WSCPC Execution Environment ............................................................... 105 5.3 Authoring Environment ............................................................................. 107 5.3.1 Defining a Process ................................................................................ 108 5.3.2 Deploying Web Service ....................................................................... 109 5.4 WSCPC Interactions in Collaboration ....................................................... 111 5.4.1 Frame Based Messaging ....................................................................... 111 5.4.2 Process Enactment ................................................................................ 115 5.4.3 Process Sharing .................................................................................... 119 CHAPTER 6 EVALUATION .................................................................................... 123 6.1 A Scenario ................................................................................................. 123 6.2 Prediction for Service Trustworthiness ..................................................... 130 CHAPTER 7 CONCLUSION .................................................................................... 136 BIBLIOGRAPHY ........................................................................................................... 138 ix LIST OF TABLES Table 1 Sample Data for Evaluation ............................................................................... 134 Table 2 Prediction of Service Execution ........................................................................ 135 Table 3 Accuracy of Prediction ...................................................................................... 135 LIST OF FIGURES Figure 1 Structural Layer of Web Services ....................................................................... 18 Figure 2 A SOAP Message ............................................................................................... 20 Figure 3 A WSDL Example .............................................................................................. 22 Figure 4 An Example of Production Rule ......................................................................... 46 Figure 5 Ontology for the Process Definition Model ....................................................... 49 Figure 6 An Example of Semantic Service Definition ..................................................... 54 Figure 7 An Example of Semantic Definition of ServiceComposite ................................ 56 Figure 8 Ontology for the Process Monitor Model ........................................................... 60 Figure 9 Definition of Design Requirements .................................................................... 63 Figure 10 An Example of Output Specification ............................................................... 64 Figure 11 Service Registry Model .................................................................................... 65 Figure 12 Entries in Service Registry ............................................................................... 67 Figure 13 Messages Based on Service Interaction Model ................................................ 73 Figure 14 A Message Example Exchanged During Service-Oriented Collaboration ....... 75 Figure 15 A WSDL Declaration for Interactive Communication ..................................... 77 Figure 16 Performance Comparisons (Average Prediction Errors) .................................. 90 Figure 17 Performance Comparisons (Root Square Prediction Errors) ............................ 91 Figure 18 Performance Comparison (Non-Acceptability Rate) ....................................... 92 Figure 19 Quantitative Parameters in Net Based Model .................................................. 96 Figure 20 Exponential Distribution .................................................................................. 98 Figure 21 Non-functional Behavior in a Composite Service ............................................ 99 Figure 22 WSCPC General Architecture ........................................................................ 101 >- Figure 23 Service Selection and Invocation ................................................................... 103 Figure 24 Web Service Module ...................................................................................... 106 xi Figure 25 Deploying Web Service .................................................................................. 110 Figure 26 A Message for Process Enactment ................................................................. 117 Figure 27 Service Enactment Using Service Interaction Model ..................................... 118 Figure 28 A Query Message for Execution Traces ......................................................... 120 Figure 29 Execution Trace Reporting ............................................................................. 121 Figure 30 Sharing Display for Concurrent and Consistent Collaboration ...................... 122 Figure 31 A Design and Manufacturing (D&M) Process Example ................................ 124 Figure 32 Design Requirements Written in OWL. ......................................................... 125 Figure 33 Output Specification ....................................................................................... 126 Figure 34 Dynamic Net Model ....................................................................................... 133 xii CHAPTER 1 INTRODUCTION Information technology is transforming every aspect of our world. In particular, businesses are challenged to compete in rapidly changing environments. A significant aspect of that challenge is the management of the change itself. One approach is that of the agile enterprise. A Virtual Organization (V0) is a temporary alliance of enterprises that come together to share resources in order to respond to rapidly changing technologies and increasingly complex market competition [1-4]. Organizations within a V0 focus on their core strengths, while, turning to partners for supplemental areas of expertise thereby enabling them to read market changes and to react to them quickly. VO’s must share processes in order to develop and deliver new products on demand. To this end, VO’s are generally managed by software systems running on widely distributed, heterogeneous computing environments. As a result, VO’s require a new paradigm that allows applications to access and share resources across distributed networks. Besides making them more competitive, companies are realizing that VO’s can save development and maintenance costs by outsourcing these components to various service providers. This trend has increased the importance of developing distributed applications and the integration of heterogeneous systems. Service—oriented computing was introduced to deliver methods and technologies to help organizations link their software in order to support business partnerships [5-10]. A Service-Oriented Architecture (SOA) is a component model that interrelates an application’s different functional units—the services—through well-defined interfaces and contracts between these services. The interface is defined in a neutral manner; that is, ideally independent of the hardware platform, operating system, and programming language in which the service is implemented. This allows services that are built on a variety of such systems to interact with each other in a uniform and universal manner. In a service-oriented architecture, the concept of a service that is not strongly tied to a particular implementation is known as loose coupling. Loosely-coupled systems can provide business applications with agility based upon the needs of the business to adapt to its changing environment such as changing policies, business strengths, business focus, partnerships, industry standing, and other business-related factors that influence the very nature of the business. Such systems are agile because internal implementations represented as services are used to build up the whole application. Tight-coupling, on the other hand, implies that the interfaces between the different components of an application are tightly interrelated in function and form, thus making them brittle when any change is required to parts of or to the whole application. As expected, there are challenges that can inhibit the implementation of collaboration software based on a service-oriented paradigm. One of the most noticeable challenges is the issue of “trustworthiness”. Trustworthiness is an integrative concept, which encompasses the following attributes: availability (readiness of a service), reliability (correctness of a service), safety (absence of catastrophic consequence from using a service), integrity (absence of improper system state alterations), and maintainability (ability to undergo repairs and modification). During service-oriented collaborative processes, participants may face uncertainties in terms of trustworthiness such as service availability, service reliability, service safety, or service integrity. These uncertainties come from two major limitations of current web service technology. In web services, description logics are used to describe functions and capabilities of services. Description logics are well-suited for such tasks and proved successful in a wide range of applications [11]. However, they are not well-suited for representing quantitative knowledge in terms of performance and reliability. Moreover, malicious attacks residing in a V0 cannot be detected solely through description logics. In addition, communications within web services rely on RPC-type messaging via the Simple Object Access Protocol (SOAP); however, SOAP is not sufficient to implement the complex communication required for collaboration between participants in a V0. Uncertainties in a service oriented environment can be classified in two categories: pre- purchase uncertainties and fulfillment uncertainties. Pre-purchase uncertainties occur when service consumers cannot decide whether or not to purchase a certain service. Even semantically well-written descriptions of a service may not be good enough for users to be convinced of the service usability. Fulfillment uncertainties involve situations in which a user invokes a service only to find out that the service cannot provide the functionality claimed in the descriptions. Service consumers may have concerns about defective or low quality services. In response to pre-purchase uncertainty, recommender systems and third party certification methods have been proposed [12-14]. Recommender systems are methodologies that utilize evaluations records from past transactions in the community. When a transaction finishes, users in a business community evaluate the results and the evaluation is later made available to other users seeking to build a V0. Users within recommender systems are evaluated and forced to offer reliable services in order to be selected as partners in later transactions. Third-party certification is a traditional business method. For example, some traditional business transactions require a Letter of Credit (IJC) before the transaction begins. The UC guarantees secure payment and proves its availability and usability in the business transaction. Even though a UC is issued by only certified banks, third-party certification of other services rendered in e-business can be provided by any organization within the community. Although useful, these approaches only provide a list of recommended services. They are not sufficient to provide parametric information in terms of performance or reliability. It is thus hard to build the reliability models or the performance models, which are required to predict and improve trustworthiness of the whole system. To manage fulfillment uncertainty, agreement-based systems and assertion-based monitoring have been designed [15, 16]. Agreement-based systems utilize a contract created by both parties. The contract describes the required service quality metrics for both parties. One specific example is the Service-Level Agreement (SLA) from IBM and HP [17]. To check contract fulfillment, companies manage additional modules that can send or receive reports regarding attributes described in the contract. Another approach is, assertion-based monitoring, which makes use of assertions embedded in process logic. In this approach, assertions are determined based on client’s requirements and then inserted into specific locations before transactions begin [18]. When execution reaches each embedded assertion point, a service fulfillment indication is reported to clients, and analyzed through formal modeling languages like SPIN [l9]. Even though these approaches are beneficial, intrinsic anonymity (i.e., the customer’s lack of familiarity or relationship with services and the people involved) still makes users hesitant to join a service-oriented collaborative environment. Complex interaction is a way of testing new boundaries and seeing how far one can go when no one knows about such boundaries. Instead of judging services through categories provided by some portal sites, interactive communication allows a service consumer to choose which services to use. Along with communications, service consumers must be able to predict performance and reliability of services. Therefore, systems enabling intensive interactions and behavior predictions between service consumers and providers are highly necessary in a service-oriented environment. In this thesis, we present a framework Web Service Collaborative Process Coordinator (W SCPC) for supporting reliable, service-oriented collaborative environments. First, we provide a trust model for predicting behaviors of service providers. Our trust model provides probabilities that measure the extent to which a service is reliable. To estimate such probability, we employ ratings by previous service users in order to expect how much the user will be satisfied after the usage of service. The probabilities are used to build the expectation ratings and the degree of service satisfaction. In our model, failure or reliability is defined in terms of the degree of service satisfaction. In order to support a complex level of interactions between peers, we propose a frame- based approach, rather than the more conventional Finite-State Machine (FSM) approach, which relies on pre-defined sequences and hence has limited flexibility for reconfiguration or adaptation. In a frame-based approach, messages have slots to be filled, and responses fill the appropriate slots. Slots are generated, analyzed, and filled due to the semantic information provided from both service peers. Peers can create a message with slots filled locally or by remote systems, in case they need to continue interaction. Generating and filling slots requires semantic information from peers. The Process Grammar [20, 21] proposed by Chung together with the Web Service Collaborative Process Coordinator (WSCPC) developed herein work well for this approach as they have hierarchical structure and alternative selection rules. The remainder of this thesis is organized as follows. In Chapter 2, we present the current paradigm of service oriented computing and the corresponding research issues and solutions. In Chapter 3 we develop trustworthiness issues in terms of a service oriented environment. In particular, we propose a methodology to be used for behaviors prediction and run-time analysis in services. In Chapter 4 we propose service models to be used for service behavior enactment and sharing. The implementation is discussed in Chapter 5. Finally, we design and implement up an experiment to evaluate the proposed models. We do this in the setting of a die casting manufacturing domain and assign artificial data for performance parameters. The results demonstrate that our service model is effective in terms of trustworthy collaboration. CHAPTER 2 BACKGROUND What follows in this chapter is a survey and summary of previous work that serves as a springboard for our research regarding trustworthy service oriented collaboration. 2.1 Virtual Organization A Virtual Organization (V0) is defined as a coordinated network of autonomous production units (factories, firms, etc.) with the goal of producing a product while exchanging all needed information via a computer network [22, 23]. In a V0, organizations can virtualize—~convert a tangible, physical aspect of a business to function in a virtual environment—various functions and parts such as processes, operations, groups, or individuals. This enables organizations to focus on their core strengths while turning to partnerships for supplemental areas of expertise. Organizations participating in VO’s are generally managed by software systems running in heterogeneous computing environments. As such, they must share processes to deliver new products on demand. Several studies [24, 25 , 26 , 27 , 28] identify a set of dimensions regarding VO-related implementation issues. These dimensions are described as follows. 1) Tightness and Duration: Two partners are tightly coupled if they are dependent on each other. Loosely coupled partners exchange business information on demand. 2) Similarity: Applications use different data structures and standards. There may also be structural heterogeneity at the processing layer, such as use of API and document exchange protocols. Organizations may use different strategies to conduct process execution. 3) 4) 5) 6) Autonomy: Partner systems may be autonomous in their design, communication, and executions. More autonomous collaboration allows partners to have more local control over implementation and operation of services resulting in flexibility to change their processes without affecting each other. External Manageability: In order to be effectively monitored by external partners, an application must be defined in a way that facilitates the supervision and control of its execution, measurement of its performance, and prediction of its status and availability. Adaptability: Applications operate in a highly dynamic environment where new services can be initiated in the middle of process execution, existing services may be removed, and the contents of services may be updated. A VO must be able to respond to such dynamic changes. Security: Security is a major concern for inter-organization applications. Security measures must be in place to boost confidence between partners such that their transactions are safely handled. Research in VO’s focuses mainly on the aspects of cooperation and integration within heterogeneous software environments. WISE [29, 30] is a paradigm that aims to provide support for cross organizational business processes. In WISE, distribution is modeled in each virtual process definition and defined as a building block that can be posted as an entry of a catalog. WISE also creates an awareness model to be used for load balancing, routing, quality of service, and analysis purposes. CrossFlow [31, 32] is intended to provide high-level support for dynamic workflows in V0 environments. The main Contribution of CrossFlow is in the use of the concept of a contract as a basic tool for cooperation. A contract is made by filling out a template. Based on the contract, a service enactment infrastructure is established. Business partners specify their interactions through the resulting contract. The dynamically created modules can be removed after contract completion. Mentor-Lite [33, 34] addresses the problem of distributing the execution of workflow by partitioning the overall workflow specification into several sub-workflows, each encompassing all the activities that are to be executed by a given entity. The basic building block of Mentor-Lite is an interpreter for workflow based on state charts. SELF-SERV [35, 36] proposes a process based language for composing web services based on state charts. SELF-SERV also defines a peer-to-peer service execution in which the responsibility of coordinating the execution of a composite service is distributed across several peer components. Collaboration Management Infrastructure (CMI) [37, 38] extends the traditional workflow concepts with advanced concepts such as placeholder, which enables the dynamic establishment of trading relationships. A placeholder activity is replaced at runtime with a concrete activity having the same input and output. A selection policy is also specified to indicate the activity that should be executed. eFlow [39] is a platform that supports the specification, enactment, and management of composite services. A composite service is described as a process schema and modeled by a graph that defines the order of execution among the nodes in the process. There are service, decision, and event nodes: service nodes execute selection of a reference to a specific service; decision nodes specify the alternatives and rules controlling the execution flow; and event nodes enable service processes to send and receive several types of events. To support heterogeneity of services, eFlow provides adapters for services that support various interactions. WebBase of Intemet-accessible Services (WebBIS) [40] proposes a declarative language for composing Web Services. WebBIS addresses the issue of adaptability by defining a mechanism to propagate changes. All changes performed to a service are propagated to other services that rely on it to ensure global consistency. To this end, WebBIS defines a meta-service called change notifiers, which attach to each service and maintain information about the availability of the related service. 2.2 Trustworthiness Management The lifecycle of a VO—formation, communication, operation—is strongly connected with the Internet. During communication in a V0, a huge amount of extremely valuable technical data and information (development, product, and process data in addition to business information) moves through the network, making security a vital concern. Enhanced security can contribute to the growth of the number of realized VO solutions. The basic network security aspects [41] are a security issue in a V0 environment. The communication between software and users should be protected. Software agents, users, and even nonparticipating entities can potentially eavesdrop or tamper with the communication or impersonate participating persons and organizations. Thus, the typical cryptographic security services—entity authentication, data authentication, and data confidentiality—should be provided. Standard mechanisms are available for this purpose such as SSUTLS [42] at the transport layer or IPsec [43] at the network layer. In addition, malicious software agents should be prevented from stealing a host’s private keys. 10 2.2. l Considerations Since VO’s are run primarily on open environments, it is to be expected that there will be participants with malicious intentions. Hence, participants should be restricted to execute in a sandbox environment in which they have limited privileges and in which they are protected from one another [44]. Authentication allows a participant to identify partners. In addition to authentication, partners can carry proof that enables a service provider to determine whether it is safe to work with a particular partner. Although the problem of identifying partners seems more and less easy to solve, protecting participants from malicious attacks is a very difficult task. Malicious attacks can include masquerading as a partner, denial of service, eavesdropping on interactions, or returning wrong results of service calls. 2.2.2 Potential Application of Concepts from Mobile Agent Systems Mobile software agents are agents that can travel from one computer to another computer. They are sent by end-users and visit a series of hosts. The mobile agents are executed locally on these hosts to perform their tasks, and will return to the end users to report their results. The autonomous and coordinative nature of mobile agents resembles the dynamics of a V0 in that its membership is created and coordinated on demand. Therefore, it would seem that an approach similar to that used by mobile agents might offer potential solutions to the issues of trust within a V0. The purpose of this section is to present open issues and ideas of mobile agents and secure electronic transactions on untrusted hosts in the context of a V0 environment since they are relevant to the specific 11 problem of trusted computing in a V0 environment. These issues and ideas are described as follows. 1) 2) 3) 4) Insecure Networks : The security issues associated with mobile agents are similar to the security issues of the underlying network itself. The communication between agents and users as well as the communication between the agents themselves should be protected. Thus, the typical cryptographic security services such as data authentication, entity authentication, and data confidentiality should be provided. Avoiding the Problem : The problem of malicious hosts can be avoided by simply not working with untrusted hosts. Reputation can be used in a V0 as a security mechanism. Rasmusson and Johnson [45] describe this as a soft security approach since each participant itself is responsible for the security, as opposed to hard security in which security is forced by external third party. In reputation systems, participants only work with a limited set of partners that they trust. Minimizing the Risk : The basic idea of this scheme is to limit capabilities to that of performing transactions. Romao et a1. [46] propose proxy certificates, which restrict access to private digital signature keys. Yi et al. [47] propose a one-time key pair, where a private key is associated with each message and used exactly once. Bellare and Miner [48] and Krawczyk [49] propose a scheme in which the public key is fixed but the private key is updated regularly. All of these schemes are based on the fact that services are executed with a limited amount of time. Execution Integrity : Execution integrity is about ensuring the correctness of execution. State appraisal is proposed to detect tampering to some extent. With state 12 appraisal, invariants can be expressed that each state must satisfy. Cryptographic traces proposed by Vigna [50] are detailed digitally signed logs of the operations performed by an agent during its lifetime. To reduce overhead, only the hashed log is sent and verified. 2.3 Service-Oriented Computing Service-oriented computing delivers methodologies and technologies to organizations so as to link multiple software systems using platform independent interfaces and contracts in order to create a Virtual Organization (VO). Service-oriented computing is commonly implemented through the use of Web Services and software components that provide self-contained functionality via intemet-based interoperable interfaces. These services are based on a common description of their characteristics, including how they are dynamically discovered, selected, and accessed. The terms “orchestration” and “choreography” have been widely used to describe business process integration comprised of Web Service-based software systems [51, 52]. 2.3.1 What Are Web Services? The World Wide Web Consortium (W3C) defines a Web Service as “a software system designed to support interoperable machine-to-machine interaction over a network” [53]. Web Services are Web-based applications that utilize open XML-based standards and transport protocols to exchange data. Web Services were first introduced in order to enable consistent resource access across multiple heterogeneous platforms [9, 54], and hence to support simple inter-organizational collaboration in process management [55- '57]. 13 The purpose of a Web Service is to provide some functionality, either pre-existing or newly defined, on behalf of its owner (e.g. a business or an individual). A Web Service takes such functionality and makes it available to any system. In order to promote interoperability and extensibility among these applications, as well as to allow them to be combined in order to perform more complex operations, a standard reference architecture is needed; Web Services technology provides such an architecture. For example, a user might develop a purchasing application that can perform all of the following functions: provide price information for various vendors, allow the user to select a vendor and submit the order, and track the shipment until goods are received. The vendor application, in addition to exposing its services on the Web, may in turn use Web Services to check the customer's credit, charge the customer's account, and set up the shipment with a shipping company. Web Services provide an important instantiation of service-oriented computing and include infrastructure for specifying service properties (W SDL) [58], interaction between services (via SOAP) [59], service invocation through a variety of protocols and messaging systems (Web Service invocation frameworks), support for a services registry (via UDDI) [60], and scheduling through a Web Services Choreography Language [61- 63]. Web Services also play an important role in the Semantic Web [64]. By providing semantic metadata to enable machine processing of information, Web Services can provide a useful mechanism to enable automatic interaction between software, thereby also providing a useful environment in which agent systems can interact. 14 Web Service technologies represent the evolution of distributed software component technologies like RPC, DCOM, CORBA, Java RM], and even Web applications like Google.com [65]. As application developers struggle with interoperability between various technologies, they turn to the evolving Web as a potential solution for these challenges. Web Services have two distinct advantages for heterogeneous distributed system integration. First, Web Services enable dynamic discovery and composition of heterogeneous distributed services by providing mechanisms for registering and discovering platform-neutral interface definitions and endpoint implementation descriptions. Second, the widespread adoption of Web Services mechanisms implies that a framework based on Web Services can exploit numerous tools and services, such as workflow systems that sit on top of the Web Service Description Language (W SDL) [5 8] and hosting environments for Web Services (e. g. Microsoft .NET and Apache Axis). 2.3.2 Web Service Environments The basic Web Services architecture defines an interaction between software agents as an exchange of messages between service consumers and service providers [53]. Consumers are software agents that request the execution of a service. Providers are software agents that provide a service. Agents can be both service requesters and providers. Providers are responsible for publishing a description of the service(s) they provide. Requesters must be able to find the description(s) of the services. While a Web Service is an interface described by a service description, its implementation is the service. A service is a software module deployed on network 15 accessible platforms provided by the service provider. It exists to be invoked by or to interact with a service requestor. The service description contains the details of the interface and implementation of the service. This includes its data types, operations, binding information, and network location. It could also include categorization and other metadata to facilitate discovery and utilization by requestors. The complete description may be realized as a set of XML description documents. The service description may be published to a requestor directly or to a discovery agency. Software agents in the basic Web Services architecture can take on one or all of the following roles: 1) Service Requester, which requests the execution of a Web Service; 2) Service Consumer, which processes a Web Service request; and 3) Discovery Agent, which publishes and makes discoverable Web Service descriptions. In order for an application to take advantage of Web Services, three actions must occur: publication of service descriptions, finding and retrieval of service descriptions, and binding or invoking of services based on the service description. 1) Publish: In order to be accessible, a service needs to publish its description such that the requestor can subsequently find it. Where it is published can vary depending upon the requirements of the application. 2) Find: In order to locate other services, a service requestor retrieves a service description directly or queries the registry for the type of service required. The find Operation may be involved in two different phases for the service requestor: at design 16 time in order to retrieve the service’s interface description for program development, and at runtime in order to retrieve the service’s binding and location description for invocation. 3) Interact: Eventually, a service needs to be invoked. During the interact operation, the service requestor invokes or initiates an interaction with the service at runtime using the binding details in the service description to locate, contact, and invoke the service. The essential part of Web Services is the interact relationship between a service provider and service requestor. The interactions in service-oriented computing involve publish, find, and bind operations. These roles and operations act upon the Web Service artifacts, the Web Service software module and its description. In a typical scenario, a service provider hosts a network accessible software module as an implementation of a Web Service. The service provider defines a service description for the Web Service and publishes it to a requestor or service discovery agency. The service consumer uses a find operation to retrieve the service description locally or from a registry or repository, and then uses that service description to bind with the service provider and invoke or interact with the Web Service implementation. Together these components become an interface to a vast world of data and query services that provide data about Web Services as well as many other things. 2.3.3 Structural Layers in Web Services Web Services interact by passing XML data, with types specified using XML schema. Simple Object Access Protocol (SOAP) is commonly used as the communication protocol and WSDL is often used to specify the I/O structures . The underlying structure 17 for the Web Services paradigm will most likely be guided by already established standards and practices. Some of the current standards are illustrated by the layered structure shown below. All of these can be defined before binding Web Services to each other. Behavioral descriptions of Web Services can be defined using higher level standards such as Business Process Execution Language for Web Services (BPEL) [63], Web Service Choreography Interface (WSCI) [66], Business Process Management Initiative (BPML) [67], or DARPA Agent Markup Language of Services (DAML-S) [68]. Figure 1 illustrates Web Services structural layers. . E m 3 Behavror BPEL, DAML—S, WSCL g E U) E L 2 m m m Interface WSDL o- m -l 56’ I11 3' Message SOAP 8. Type XML Schema Data XML Figure 1 Structural Layer of Web Services XML and XML Schema Extensible Markup Language (XML) is an extensible, portable, and structured text format [69]. XML plays an important role in the exchange of a wide variety of data on the Web and elsewhere. XML schemas provides a means of creating a set of rules that can be used to govern the validity of XML documents. Schemas provide a means of 18 defining the structure, content, and semantics of XML documents that can be shared between different types of computers and documents [70, 71]. One important concern of Web Services is how to transmit data in an interoperable manner. XML and XML schema provide a means of describing and using Web Services. Messages and interfaces in Web Services are defined with XML schema and written with XML such that platform neutral interoperability is possible. SOAP Simple Object Access Protocol (SOAP) is a communications protocol for Web Services [59]. There are elements of the SOAP specification that describe how to represent program data as XML and how to use SOAP to do Remote Procedure Calls (RPCs). A SOAP message contains a callable function and the parameters to pass to that function. SOAP also supports document style applications where the SOAP message is just a wrapper around an XML document. Document-style SOAP applications are very flexible and many new XML Web Services take advantage of this flexibility to build services that would be difficult to implement using RPCs. What follows in Figure 2 below is an example of a SOAP message [72]. The example illustrates a request of a method GetStockPrice with a parameter StockName. POST /InStock HTTP/1.1 Host: www.stock.org Content-Type: application/soap+xml; charset=utf-8 Content—Length: nnn 19 IBM Figure 2 A SOAP Message The most distinct feature of SOAP is that it can be implemented on many different hardware and software platforms. This means that SOAP can be used to link disparate systems both inside and outside of an organization. Many attempts have been made in the past to achieve a common communication protocol that could be used for system integration but none of them has had as widespread adoption as SOAP. Since SOAP can use existing XML parsers and HTTP libraries to do most of the hard work, a SOAP implementation can be completed relatively easily. This is why SOAP is becoming so widespread. The popularity of HTTP and the simplicity of SOAP make them an ideal basis for implementing Web Services that can be called from almost any environment. 20 \NSDL WSDL stands for Web Services Description Language [58]. A WSDL file is an XML document that defines the format of a set of SOAP messages and how those messages should be exchanged. In other words, WSDL is to SOAP what Interface Definition Language (IDL) is to Common Object Request Broker Architecture (CORBA). Since WSDL is based on XML, it is readable and editable. Figure 3 is a subset of a WSDL example [73]. The portType describes a single operation GetStockPrice, which uses the message types for input and output.binding indicating that the communication is through SOAP. Moreoever, portType associates the binding with the URI http://sample/stockprice where the running service can be accessed. 21 My service 53 Figure 6 An Example of Semantic Service Definition 1