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.
0peration>
My service
53
Figure 6 An Example of Semantic Service Definition
1