Title: Vagan Terziyan
1E-Services and Transactions in Semantic Web
- Vagan Terziyan
- MIT Department, University of Jyvaskyla /
- / AI Department, Kharkov National University of
Radioelectronics - vagan_at_it.jyu.fi
- http//www.cs.jyu.fi/ai/vagan
- 358 14 260-4618
2Managing Transactions with Distributed
Web-Services and providing Integrated Service to
a User - are among the basic abilities of an
Intelligent Agent
3Contents
- Transactions with Mobile services in Semantic Web
- Agent-Based Service Integration
4Transaction with Mobile Services in Semantic Web
Vagan Terziyan University of Jyvaskyla,
Finland e-mail vagan_at_it.jyu.fi
5Transactions in Databases
- A transaction is a sequence of database actions
which must either all be done, or none of them
must be done - Another view of a transaction is that it is an
action, or sequence of actions, that takes the
database from one consistent state to another
6M-commerce transaction
M-commerce transaction Any type of transaction
of an economic value having at least at one end a
mobile terminal and thus using the
telecommunications network for communication with
the e-commerce infrastructure Mobile e-commerce
e-commerce based on m-commerce transactions
7Basic (ACID) Transactional Properties
- Atomicity
- Consistency
- Isolation
- Durability
8Atomicity
- Transaction is atomic if either all operations
necessary for preserving e-commerce atomicity are
executed or all executed operations will become
compensated. - With money atomic protocols, funds are
transferred from one party to another without the
possibility of the money remaining in the middle. - Goods-atomic protocols are such that a good is
received if and only if the money is transferred. - Certified delivery protocols allow both a
merchant and a customer to prove exactly which
goods were delivered.
9Consistency
Transactions must preserve consistency at various
levels. For instance, a customer should not be
allowed to draw funds from an account if this
would result into a negative balance.
10Isolation
Isolation means that various steps of a
transaction do not interfere with steps of other
transactions.
11Durability
Durability means that once a transaction
completes its execution, its results become
permanent even in the presence of
failures. Committed by a transaction data is
saved by the system such that, even in the event
of a failure and system restart, the data is
available in its correct state.
12Server-Side Transaction Monitor
Web resource / service
Server
Client
wireless
Web resource / service
TM
Transaction Service
Server
13Server-Side Transaction MonitorPositive (1) Less
wireless (sub)transactions
Web resource / service
Server
Client
wireless
!
Web resource / service
TM
Transaction Service
Server
14Server-Side Transaction MonitorPositive (2) Rich
ontological support
Web resource / service
Server
Client
wireless
Rich ontology of resources, services, other
metadata
Web resource / service
TM
Transaction Service
Server
15Server-Side Transaction MonitorPositive (3)
Smaller crash, disconnection vulnerability
Web resource / service
Server
Client
!
!
OK
wireless
Web resource / service
TM
Transaction Service
Server
16Server-Side Transaction MonitorNegative (1) Pure
customers trust
Web resource / service
Server
Client
wireless
Customers private data
Web resource / service
TM
Transaction Service
Server
17Server-Side Transaction MonitorNegative (2) Lack
of customers awareness and control
Web resource / service
Server
Client
wireless
Transaction data
Transaction online control
Web resource / service
TM
Transaction Service
Server
18Server-Side Transaction MonitorNegative (3)
Problematic TMs adaptation to the customer
Web resource / service
Server
Client
wireless
Public TM
Web resource / service
TM
Transaction Service
Server
19Example Server-based transactions for location
based application
6
4
Application Server
5
Positioning Service
3
10
9
2
Client
7
8
1
11
Content providers
12
20Client-Side Transaction Monitor
TM
Web resource / service
wireless
Client
Server
wireless
Web resource / service
Server
21Client-Side Transaction Monitor. Positive (1)
Customers firm trust
TM
Web resource / service
wireless
Client
Server
Customers private data
wireless
Web resource / service
Server
22Client-Side Transaction Monitor. Positive (2)
Customers awareness and involvement
TM
Web resource / service
wireless
Transaction online control
Client
Server
Transaction data
wireless
Web resource / service
Server
23Client-Side Transaction Monitor. Positive (3)
Better TMs adaptation to the customer
TM
Web resource / service
wireless
Client
Server
Personal TM
wireless
Web resource / service
Server
24Client-Side Transaction Monitor. Negative (1)
More wireless (sub)transactions
TM
Web resource / service
wireless
Client
Server
wireless
!
Web resource / service
Server
25Client-Side Transaction Monitor. Negative (2)
Restricted ontological support
TM
Web resource / service
wireless
Client
Server
Restricted ontology of resources, services, other
metadata
wireless
Web resource / service
Server
26Client-Side Transaction Monitor. Negative (3)
High crash, disconnection vulnerability
TM
Web resource / service
wireless
Client
Server
wireless
Web resource / service
Server
27Terminology
- e-Service Web-Service, which assumes also an
online payment - e-Service is a Web-Service in e- Commerce
28Ontology-Based Client-Side Transaction Monitor
- This design is based on assumption that TM is an
independent mobile terminal application, which
can integrate different distributed external
e-services by managing appropriate transactional
processes. For that the ontology-based framework
for transaction management is used so that the
Transaction Monitor will be able to manage
transaction across multiple e-services.
29The conceptual scheme of the ontology-based
transaction management
30Basic definitions Action
Let an action be a single client-server
query-response session between the mobile
terminal (hereinafter - terminal) and the
e-service provider (hereinafter - service), which
has following structure - actions ID - Ids of
p input parameters for the action, specified at
the terminal to create a query - Ids of q output
parameters of the action, which the terminal
receives as the result to its query.
31Basic definitions Subtransaction
Subtransaction is a vector of one or more actions
between a terminal and the service and
appropriate states managed by the service with
definitely stated final goal and common memory of
parameters.
32Basic definitions Transaction
Transaction is a vector of one or more
subtransactions with the same terminal and
possibly different services managed by the
terminal, with definitely stated final goal and
common memory of parameters.
.
33Service Tree
Service tree is a tree-like structure of the set
of subtransactions, which a service can offer to
his clients and which is used by a service to
manage subtransactions with clients. Action of
interest, toned for every subtransaction in the
service tree is such an action, which outcome is
in particular interest of a customer and has an
economic value.
Service tree as a collection of subtransactions
offered by the Service to its customers. In the
rectangles together with the Id of an action
there is also Id of a state, into which a
subtransaction is coming after performing this
action
34Constants and Ontologies
- basic constants, which define Ids of the terminal
and services used, basic screens for the
interface, total numbers of services, actions and
parameters, which Transaction Monitor is
operating with - service atomic actions ontologies define basic
actions with their input and output, from which
every service can be composed, and which are used
as a common procedural language between a client
and a service (include always LOGIN and LOGOUT
actions ontologies) - parameter ontologies describe parameters, which
can be used in actions, by providing their Ids,
default values and types (or schemas), and which
are actually a common declarative language
between a client and a service.
35Basic constants
36Ontologies
37Variables
- control variables have sense only for a
Transaction Monitor and are used to manage
different states of the terminal during going-on
transactions, subtransactions and actions - working variables are used to manage parameters'
states and provide common memory for different
subtransactions, which can be run with different
services - billing variables are used to manage billing data
in the Transaction Monitor. The terminal will
collect bills separately for every service adding
online price for appropriate service actions to
it, when it is requested.
38Service Actions
service query
service response
39An Example of Action
40An Example of Action
41LBS example ontology for the LOCATE_BY_ID action
42LBS example ontology for the LOCATE_BY_ADDRESS
action
43LBS example ontology for the GET_MAP action
44LBS example ontology for the GET_INFO action
45LBS example service tree for the Positioning
Service
46LBS example service tree for the Location Based
Service
47LBS example Case when a user locates himself and
submits coordinates to LBS
48ltQuery Query_ID"01-03-2002_123357"
Type"Service" To_Service"Positioning_Servi
ce" From_Terminal"0501234567"
Terminal_State"S0" gt ltAction
ID"LOGIN"/gt ltInput_Parametersgt ltParameter
ID"user_ID Type"text Value"vagan"/gt
ltParameter ID"password Type"text
Value"4321"/gt lt/Input_Parametersgt lt/Querygt
Login Query
Positioning Service
Terminal
49ltResponse Response_ID"01-03-2002_123442
Type"Service To_Query"01-03-2002_123357
To_Terminal"0501234567 From_Service"Positio
ning_Service Terminal_State"S1" gt
ltAction ID"LOGIN"/gt ltOutput_Parametersgt
ltParameter ID"login_reply Type"binary
Value"OK"/gt lt/Output_Parametersgt
ltPrice_for_Action Currency"EURO" Value"0.0"/gt
ltBill_Recent_Value Currency"EURO" Value"0.
0"/gt ltActions_Allowedgt ltAction
ID"LOGOUT"/gt ltAction ID"LOCATE_BY_ID"/gt ltActio
n ID"LOCATE_BY_ADDRESS"/gt
lt/Actions_Allowed gt lt/Responsegt
Login Response
Positioning Service
Terminal
50ltQuery Query_ID"01-03-2002_123453"
Type"Service" To_Service"Positioning_
Service" From_Terminal"0501234567"
Terminal_State"S1" gt ltAction
ID"LOCATE_BY_ADDRESS"/gt ltInput_Parametersgt
ltParameter ID"street_number Type"integer
Value"43"/gt ltParameter ID"street_name
Type"text Value"Nokatu"/gt
ltParameter ID"city_name" Type"text
Value"Jyvaskyla"/gt ltParameter ID"country_n
ame Type"text Value"Finland"/gt
lt/Input_Parametersgt lt/Querygt
Locate by Address Query
Positioning Service
Terminal
51ltResponse Response_ID "01-03-2002_123514
Type "Service" To_Query
"01-03-2002_123453 To_Terminal "0501234567
" From_Service "Positioning_Service
Terminal_State "S1" gt ltAction
ID"LOCATE_BY_ADDRESS"/gt ltOutput_Parametersgt
ltParameter ID"latitude" Type"intege
r" Value"54321"/gt ltParameter
ID"longitude" Type"integer" Value"98765"/gt
lt/Output_Parametersgt ltPrice_for_Action Currency
"EURO" Value"0.23"/gt ltBill_Recent_Value Currency
"EURO" Value"0.23"/gt ltActions_Allowedgt ltAc
tion ID"LOGOUT"/gt ltAction ID"LOCATE_BY_ID"/gt lt
Action ID"LOCATE_BY_ADDRESS"/gt
lt/Actions_Allowed gt lt/Responsegt
Locate by Address Response
Positioning Service
Terminal
52ltQuery Query_ID"01-03-2002_123520"
Type"Service" To_Service"Positioning_Servi
ce" From_Terminal"0501234567"
Terminal_State"S1" gt ltAction
ID"LOGOUT"/gt ltInput_Parametersgt
ltParameter ID"user_ID Type"text
Value"vagan"/gt lt/Input_Parametersgt lt/Quer
ygt
Logout Query
Positioning Service
Terminal
53ltResponse Response_ID "01-03-2002_123525
Type "Service" To_Query
"01-03-2002_123520 To_Terminal
"0501234567" From_Service "Positioning_Servic
e Terminal_State "S0" gt ltAction
ID"LOGOUT"/gt ltOutput_Parametersgt
ltParameter ID"logout_reply Type"binary
Value"OK"/gt lt/Output_Parametersgt
ltPrice_for_Action Currency"EURO"
Value"0.0"/gt ltBill_Recent_Value Currency"E
URO" Value"0.23"/gt ltActions_Allowedgt
ltAction ID"LOGIN"/gt
lt/Actions_Allowed gt lt/Responsegt
Logout Response
Positioning Service
Terminal
54ltQuery Query_ID"01-03-2002_123547"
Type"Service" To_Service"Location_Based_Ser
vice" From_Terminal"0501234567"
Terminal_State"S0" gt ltAction
ID"LOGIN"/gt ltInput_Parametersgt
ltParameter ID"user_ID Type"text
Value"vagan"/gt ltParameter
ID"password Type"text" Value"1234"/gt lt/Input_
Parametersgt lt/Querygt
Login Query
Location-Based Service
Terminal
55ltResponse Response_ID "01-03-2002_123601 T
ype "Service" To_Query "01-03-2002_123547
To_Terminal "0501234567"
From_Service "Location_Based_Service Terminal_St
ate "S1" gt ltAction ID"LOGIN"/gt
ltOutput_Parametersgt ltParameter
ID"login_reply Type"binary" Value"OK"/gt
lt/Output_Parametersgt ltPrice_for_Action Cu
rrency"USD" Value"0.0"/gt
ltBill_Recent_Value Currency"USD" Value"0.0"/gt
ltActions_Allowedgt ltAction
ID"LOGOUT"/gt ltAction ID"GET_MAP"/gt
lt/Actions_Allowed gt lt/Responsegt
Login Response
Location-Based Service
Terminal
56ltQuery Query_ID"01-03-2002_123907"
Type"Service" To_Service"Location_Based_Se
rvice" From_Terminal"0501234567"
Terminal_State"S1" gt ltAction
ID"GET_MAP"/gt ltInput_Parametersgt
ltParameter ID "latitude Type
"integer Value"54321"/gt
ltParameter ID "longitude Type "integer
Value"98765"/gt lt/Input_Parametersgt lt/Quer
ygt
Get Map Query
Location-Based Service
Terminal
57ltResponse Response_ID "01-03-2002_12413
4 Type "Service"
To_Query "01-03-2002_123907
To_Terminal "0501234567"
From_Service "Location_Based_Service
Terminal_State "S2" gt ltAction
ID"GET_MAP"/gt ltOutput_Parametersgt
ltParameter ID "map Type "GML
Value "GML Data"/gt lt/Output_Parametersgt
ltPrice_for_Action Currency"USD" Value"0.15
"/gt ltBill_Recent_Value Currency"USD" Value
"0.15"/gt ltActions_Allowedgt
ltAction ID"LOGOUT"/gt ltAction
ID"GET_MAP"/gt ltAction
ID"GET_INFO"/gt lt/Actions_Allowed
gt lt/Responsegt
Get Map Response
Location-Based Service
Terminal
58ltQuery Query_ID"01-03-2002_125012"
Type"Service" To_Service"Location_Based_Ser
vice" From_Terminal"0501234567"
Terminal_State"S2" gt ltAction
ID"GET_INFO"/gt ltInput_Parametersgt
ltParameter ID "point_of_interest
Type"text Value"Alba_Hotel"/gt
lt/Input_Parametersgt lt/Querygt
Get Info Query
Location-Based Service
Terminal
59ltResponse Response_ID "01-03-2002_125104
Type "Service To_Query "01-03-2002_125012"
To_Terminal "0501234567 From_Service
"Location_Based_Service Terminal_State "S2" gt
ltAction ID"GET_INFO"/gt ltOutput_Parametersgt
ltParameter ID"point_address"
Type"text" Value"Mattilaniemi A1"/gt
ltParameter ID"point_phone"
Type"text" Value"0509876543"/gt
ltParameter ID"point_info Type"text
Value"Rooms available
single (60 EURO), double (80 EURO)"/gt
lt/Output_Parametersgt ltPrice_for_Action Currency
"USD" Value"0.10"/gt ltBill_Recent_Value Currency
"USD" Value"0.25"/gt ltActions_Allowedgt
ltAction ID"LOGOUT"/gt ltAction
ID"GET_MAP"/gt ltAction ID"GET_INFO"/gt lt/Act
ions_Allowed gt lt/Responsegt
Get Info Response
Terminal
Location-Based Service
60ltQuery Query_ID"01-03-2002_125803"
Type"Service" To_Service"Location-Based_Se
rvice" From_Terminal"0501234567"
Terminal_State"S2" gt ltAction
ID"LOGOUT"/gt ltInput_Parametersgt
ltParameter ID"user_ID Type"text
Value"vagan"/gt lt/Input_Parametersgt lt/Quer
ygt
Logout Query
Location-Based Service
Terminal
61ltResponse Response_ID
"01-03-2002_125855 Type "Service"
To_Query "01-03-2002_123520
To_Terminal "0501234567" From_Service
"Location_Based_Service Terminal_State "S0" gt
ltAction ID"LOGOUT"/gt
ltOutput_Parametersgt ltParameter ID"logout_reply" T
ype"binary" Value"OK"/gt
lt/Output_Parametersgt ltPrice_for_Action Curre
ncy USD Value "0.0"/gt
ltBill_Recent_Value Currency USD Value
"0.25"/gt ltActions_Allowedgt
ltAction ID"LOGIN"/gt lt/Actions_Allowed
gt lt/Responsegt
Logout Response
Location-Based Service
Terminal
62Atomicity consideration
- Money atomicity Money is either entirely
transfer or not transfer at all - Goods atomicity Customer receives the ordered
goods if and only if merchant is paid - Distributed Purchase Atomicity Products bought
from different suppliers are either both
delivered or none.
63Distributed independent purchase case
Assume a customer wants to purchase specialised
software (SW) from a merchant. In order run this
software, he also needs an operating system (OS),
which is, however, only available from a
different merchant. As both goods individually
are of no value for the customer, he needs the
guarantee to perform the purchase transaction
with the two different merchants atomically in
order to get either both products or none.
64Distributed sequential purchase case
Assume that a customer needs a Map from Service 2
but to apply for that map he is requested to
provide his coordinates (CR). Coordinates he can
get from Service 1. Assume that Service 1 does
not care about how a customer is going to use
coordinates delivered - the service has made job
and got money for it. Even if the rest of a
transaction will fail and for some reason a
customer will not get his Map from Service 2,
full compensation for the transaction as whole
cannot be guaranteed.
65Connection to MeT (Mobile Electronic
Transactions) initiative
According to MeT "Consistent User Experience"
framework the user interface should allow to
people to transfer their knowledge and skills
from one application to any other application.
Consistency of visual interface and terminology
helps people to learn and then easily recognize
the "language" of the interface. The Transaction
Monitor, due to implementation of the concept of
ontology-based transaction management, offers
such a consistent standardize interface of a user
with multiple services.
66Connection to Hewlett Packards E-Speak platform
E-speak is an open software platform designed
specifically for the development, deployment,
intelligent interaction, and management of
globally distributed e-services. E-Speak makes
services capable to interact with each other on
behalf of their users, and compose themselves
into more complex services. The E-Speak Service
Engine actually is a transaction monitor software
that performs the intelligent interaction of
e-services. The Transaction Monitor in the hands
of user is a good example of an E-Speak engine,
which expands the E-Speak internet-based
framework to wireless.
67Connection to the OntoWeb network platform
The goal of the OntoWeb (Ontology-based
information exchange for knowledge management and
electronic commerce) Network is to promote
Semantic Web standardisation efforts in
e-commerce such as those based on RDF and XML.
The implementation of the concept of
ontology-based transaction management for mobile
terminal allows expanding a target for the
OntoWeb framework also to m-commerce.
68Connection to the Mediators and Wrappers framework
Wrappers and mediators can be considered as
useful addition to the ontology-based framework
in cases when some existing service cannot be
easily adapted to the ontology of some e-services
community. Wrapper for a Transaction Monitor can
be considered as an interface to each e-service,
which defines the service schema. Mediator can be
considered as an interface to a group of
e-services, which defines a global schema from
the local schemas and combines the schemas and
the information of the local e-services.
69Connection to the Mobile Agents framework
With the increasing market of electronic commerce
it becomes an interesting aspect to use
autonomous mobile agents for electronic business
transactions. Being involved in money
transactions, supplementary security features for
mobile agent transaction management architecture
have to be ensured. Architecture should guarantee
security for the host as well as security for the
agent. To handle these issues for mobile agents
various encryption mechanisms should be used. Due
to this security architecture an agent will be
enabled to carry out money transactions.
70Connection to the OWL-S framework
OWL-S - semantic markup for Web services is one
of the Semantic Web community efforts to enable
not only content but also services on the Web. It
will enable users and software agents to
automatically discover, invoke, compose, and
monitor Web resources offering services, under
specified constraints. The OWL-S coalition is
developing ontology of services, service profiles
and appropriate process model. The use of OWL
supposes that artificial agents will do most of
future transactions across multiple web services.
The mobile terminal-based TM is one step towards
agent based future of e-services in a mobile
environment.
71Reference
Terziyan V., Ontological Modelling of E-Services
to Ensure Appropriate Mobile Transactions, In
International Journal of Intelligent Systems in
Accounting, Finance and Management, J. Wiley
Sons, Vol. 11, No.3, 2002, pp. 159-172. Available
in http//www.ingenta.com/isis/searching/Expand/
ingenta?pubinfobike//jws/isaf/2002/00000011/0000
0003/art00221
72Acknowledgements
Information Technology Research Institute
(University of Jyvaskyla) Customer-oriented
research and development in Information
Technology http//www.titu.jyu.fi/eindex.html
Agora Center (University of Jyvaskyla) Innovatio
ns in Business, Communication and Technology
Research Project (InBCT) http//www.jyu.fi/agora/
Multimeetmobile (MMM) Project (2000-2001) Locati
on-Based Service System and Transaction
Management in Mobile Electronic Commerce
http//www.cs.jyu.fi/mmm
73Semantic Markup for Web Services
OWL-S
Based on tutorials and presentations of the
DAML-S and HP E-Speak research groups
74What is OWL-S?
- Formerly it was DAML-S A DARPA Agent Markup
Language for Services -
- OWL Ontology for (Web) services
- AI-inspired markup language
- tailored to the representational needs of
Services - expressive power
- well-defined semantics
- ontologies support reuse, mapping, succinct
markup, ... -
- Release of OWL-S version 1.0 November, 2003
- http//www.daml.org/services/
75OWL-S Objectives
- Provide an upper ontology for describing
properties capabilities of (Web) services - ontology of Web services
- ease of expressiveness
- enables automation of service use by agents
- enables reasoning about service properties and
capabilities
76Upper Ontology of Services
77Service Profile
78Service Model
79E-Speak Environment for E-Services Integration
80Before e-Speak
- You want to travel from Singapore to Washington.
You want a flight, a car rental (preferably a
blue Toyota), a hotel in the Foggy Bottom
district of Washington, a tour around the White
House, a concert at the Kennedy Centre and
medical insurance cover for two weeks. Going the
old-fashioned way, you'd have to visit at least a
dozen separate Web sites (or make as many phone
calls) to find out what's available and get the
best deals.
81With e-Speak
- all you'll need to do is key in the details of
your request - as complicated as they may be -
and the whole package of services gets delivered
to you, within hours. And you're likely to end up
buying services from people you've never heard of
82Universal ecosystem for global transactions
- E-speak provides the ecosystem for the whole
sequence of transactions needed for globally
distributed services - from service request, to
final delivery.
83What for?
- For a User e-speak helps consumers looking for
services find and connect to service providers - For a Service Provider e-speak provides the
basic building blocks for service creation
84e-Speak is (1) a Component Transaction Monitor
85e-Speak is (2) a Distributed Service
Service Provider
Service Provider
E-Speak Engine
E-Speak Engine
Lightweight Directory Access Protocol
Customer
Service Provider
E-Speak Engine
86e-Speak is (3) a Service Support Provider
- e-Speak is a system that provides support for
- Advertising and finding based on vocabularies
- Authentication
- Multiple access methods
- Security
87E-Speak is (4) an Extensible System with
Decentralized Control
- Vocabularies
- Attributes and values
- Combined and advertised
- Services
- Atomic level services
- Infrastructure services
- Meta services
88Intelligent Web Services
D. Fensel Leopold-Franzens-Universität Innsbruck
89The General Vision
Bringing the web to its full potential
Web Services
UDDI, WSDL, SOAP
Dynamic
WWW
Semantic Web
URI, HTML, HTTP
RDF, RDF(S), OWL
Static
90Web Services
- Web Services will transform the web from a
collection of information into a distributed
device of computation. - Web services should transform eCommerce from a
nice application into a mass phenomena. - Bringing E-commerce to its full potential
requires a Peer-to-Peer (P2P) approach. Anybody
must be able to trade and negotiate with
everybody else. - However, such an open and flexible E-commerce has
to deal with many obstacles before it becomes
reality
91Web Services
Def 2. New concept for eWork and eCommerce
Def 3. New programming technology
Def 1. Software Architecture
92Web Services
- Def 1. Web Services as a Software Architecture
- Web services are a new breed of Web
application. They are self-contained,
self-describing, modular applications that can be
published, located, and invoked across the Web.
Web services perform functions, which can be
anything from simple requests to complicated
business processes. - Once a Web service is deployed, other
applications (and other Web services) can
discover and invoke the deployed service.
- IBM web service tutorial
93Web Services
- ? Web Services connect computers and devices with
each other using the Internet to exchange data
and combine data in new ways. - ? The key to Web Services is on-the-fly software
creation through the use of loosely coupled,
reusable software components. - ? Software can be delivered and paid for as fluid
streams of services as opposed to packaged
products.
94Web Services
- Business services can be completely decentralized
and distributed over the Internet and accessed by
a wide variety of communications devices. - The internet will become a global common platform
where organizations and individuals communicate
among each other to carry out various commercial
activities and to provide value-added services. - The dynamic enterprise and dynamic value chains
become achievable and may be even mandatory.
95Web Services
- The web is organized around URIs, HTML, and HTTP.
- URIs provide defined ids to refer to elements on
the web, - HTML provides a standardized way to describe
document structures (allowing browsers to render
information for the human reader), and - HTTP defines a protocol to retrieve information
from the web. - gt Not surprisingly, web services require a
similar infrastructure around UDDI, WSDL, and
SOAP.
96Web Services
UDDI
WSDL
SOAP
URI
HTML
HTTP
97Web Services
- UDDI provides a mechanism for clients to find web
services. - WSDL defines services as collections of network
endpoints or ports. A port is defined by
associating a network address with a binding a
collection of ports define a service. - SOAP is a message layout specification that
defines a uniform way of passing XML-encoded
data. SOAP is basically a technology to allow for
RPC over the web.
98Web Services
- Many organizations had the insight that message
definition and exchange are not sufficient to
build an expressive web services infrastructure. - In addition to UDDI, WSDL and SOAP, standards are
proposed such as WSFL, XLANG, ebXML, BPSS, BPML,
WSCL, and BPEL4WS. - Bringing web services to their full potential
requires their combination with semantic web
technology.
99Semantic Web Services
- Imagine a travelling service
- Decompose into elementary services
- Describe elementary services by goals instead of
hardwiring them. - Keep the human programmer out of the loop to keep
it economic, on demand, and scalable. - You cannot achieve this vision without semantic
web technology that maintains selection and
combination of heterogeneous web services during
runtime.
100Semantic Web Services
- Mechanized support is needed in finding and
comparing vendors and their offers. Machine
processable semantics of information allows to
mechanize these tasks. - Mechanized support is needed in dealing with
numerous and heterogeneous data formats. Ontology
technology is required to define such standards
better and to map between them. - Mechanized support is needed in dealing with
numerous and heterogeneous business logics.
Mediation is needed to compensate these
differences, allowing partners to cooperate
properly.
101Agent-Based Service Composition
- Vadim Ermolayev, Natalya Keberle, Sergey Plaksin
- Zaporozhye State Univ., Ukraine
Int. Conference on Web Services Europe
(ICWS-Europe03), Erfurt, Germany, Sept. 23-25,
2003
102Semantic Web Services Orchestration the field
is becoming increasingly hot
- Several ongoing initiatives define compositional
notations for web services - E.g.
- IBM, Microsoft and BEA have released BPEL4WS as
the specification for coordinating business
processes over the Web - Such notations express the flow of control and
data across a collection of web services whose
choreography performs a workflow
103Having a Recipe doesnt yet Grant Having a
Meal
- A pro-active component is required
- Pro-active understanding of the process
specification is - Not only the ability to ensure the right sequence
and the proper combination of the components - But also the capability to find the best provider
in the dynamic and open environment - This is why much attention is paid to the field
of agent-enabled web service composition
104What should be offered is
- A new understanding of a web service as
- An agent capability implemented as a
self-contained pro-active software component and
the subject of negotiation and trade - It implies the appearance of the rational service
providing agent , which demands the negotiable
incentive and behaves to increase its utility - E.g. if a service requested from a travel agency
is BookRoundtrip(Kiev, Erfurt, 22/09/03,
25/09/03, ), the price paid by the requestor
will comprise - the prices of consumable resources (air fare,
hotel room, ) - plus the incentive paid to the contracted service
provider for BookRoundtrip service usage
105Whats behind the scenes
- The agent performing BookRoundtrip service
should be able to realize that the requested
task is composite and will require RATIONAL
cooperation with at least - Air Companies service providing agents
- And hotel booking service providing agents
- These actors will also intend to increase their
own utilities by requesting fees for their
service provision
106BookRoundtrip Scenario
- Agent roles (played by human actors)
- AUTHOR (A) acts on behalf of the one of the
paper authors attending ICWS03-Europe , requests
BookRoundtrip service - TRAVEL AGENT (T) provides BookRoundtrip
service, generates and conducts corresponding
task execution behind the scenes - FARE AGENT (F) provides air fare information
and booking services - ICWS INFO (I) provides information services on
ICWS03-Europe local arrangements,
infrastructure, accommodation, etc - HOTEL AGENT (H) provides hotel room reservation
services - BUSINESS PARTNER (P) acts on behalf of As
business partner in Austria with whom A intends
to meet in Germany in time of the conference to
discuss a joint proposal
107BookRoundtrip Exercise Inputs
- Semi-formally (enough for human actors to
understand unambiguously) -
- Starting_Point Kiev, Ukraine
DestinationErfurt, GermanyBeg_Date22/09/2003
End_Date25/09/2003EventICWS03-EuropePrefer
ences(low fare, non-stop flights, fast
connections, 4-star hotel, continental
breakfast, conference discounts)Constraints(B
udget 1500, Payment(VISA, USD),Hotel gt
3-star, Room-per-night lt 110,
Hotel_Locationin Max 20 min walk from the
Conference venue)Special_Arrangements((Eventb
usiness dinner, Agent(Prof.
Heinrich C. Mayr, http//www.ifi.uni- klu.ac.at
/IWAS/HM/Staff/Heinrich.Mayr/),
Date(23/09/2003, 24/09/2003),
Location(Erfurt, Munich)),)
A
108What are the parties supposed to do?
- Negotiates with T-s about which A believes that
they are - Capable to provide BookRoundtrip
- Reliable partners
- Collects proposals from T-s and selects the best
of them - Hires the T which has given the best proposal
- Pays and gets the results
- Analyses if As inputs allow to accept the job
- Prepares the proposal based on its previous
experience - IF hired
- Conducts the performance of BookRoundtrip
according to - Its knowledge about the job
- Its beliefs about the other service providers
which might be involved - Provides the best result possible to prove that
it is reliable - But does it rationally for not to loose its
income
A
T
109And why do they do it?
- T desires
- To be hired and paid for the job
- To spend the money most efficiently (remain
competitive) - To remain a reliable partner for A
- A desires
- Not to go behind the scenes
- To rely on the T-s competencies
- To pay a reasonable incentive for that
- A believes
- BookRoundtrip is an atomic activity just a
piece of cake - BookRoundtrip may be outsourced to T
- T believes
- BookRoundtrip is a complex, dynamic, composite
task
110T BookRoundtrip is a Complex Task
Task
- The knowledgebase of T contains facts
- BookRoundtrip is a Task
- It contains at least PlanTrip Task and
MakeHotelRes, ApplyForVisa, SpecArrangements
Activities as its phases - MakeHotelRes requires PlanTrip results as the
PreCondition - SpecArrangements and ApplyForVisa may be
performed concurrently with PlanTrip and
MakeHotelRes - These facts are formulated in the terms of the
Task Ontology (namespace for the compositional
notation)
Activity
Part_of
BookRoundtrip
Is_a
Is_a
Is_a
HasPrecond
Part_of
Part_of
Part_of
MakeHotelRes
PlanTrip
HasPrecond
ApplyForVisa
SpecArrangements
Part_of here is a Phase-Activity kind of
meronimy relationship
Individual_of
PlanTrip Results Approved
PreCondition
!!! Another T may have a different idea of
BookRoundTrip composition
111T BookRoundtrip More Facts
- The knowledgebase of T contains facts
- Tasks and Activities have Partial Local Plans
(PLP) - PLPs among other facts define the Capability to
perform an Activity either by itself or by
outsourcing it to another agent - According to PlanTripPLP T is capable to perform
PlanTrip by itself - According to MakeHotelResPLP T needs to
outsource MakeHotelRes to another agent (via
Contract Net negotiation)
PartialLocalPlan
Task
HasPLP
Is_a
HasPLP
Activity
PlanTripPLP
PlanTrip
CapableTo
Is_a
MakeHotelRes
HasPLP
DefineCapability
MakeHotelResPLP
Self-Performance
Individual_of
CapableTo
Individual_of
Capability
Outsource
!!! Another T may have different Capabilities
and PLPs wrt BookRoundTripphases
112T behaves pro-actively Adjusts Inputs
Date
- An intelligent service provider may propose to
pro-actively change the Task Inputs in order to
get better overall result - E.g., for PlanTrip the following alternative
dates - Beg_Date20.09, End_Date25.09
- Or
- Beg_Date22.09, End_Date28.09
- May significantly lower the cost of the air fare
because of the Sunday Rule Discounts - Assertions on Task Inputs will form, e.g., the
initial proposal for AirFare negotiation - T should undertake it to outsource InquireFares
Activity while performing PlanTrip Task
DaysOfAWeek
PlanTrip
Is_a
HasED
Is_a
HasBD
End_Date
Islt
Beg_Date
Individual_of
EndDOW
BegDOW
SundayRuleDates (Beg_Date, End_Date) (End_Date-Be
g_Dategt6) Or (BegDOWgtEndDOW)
113T-F-s Negotiation on Air Fares
Erfurt
- T knows from his knowledgebase that InquireFares
should be outsourced - T knows from his previous experience that
- Some F-s are capable to perform InquireFares
- Some of them are trusted partners
- T starts Contract Net negotiation by declaring
Activity Inputs and the Intended Price - F-s invoke Web Services they wrap and respond
with - These responses are not satisfactory for T
2500
Not available
Not available
1600
700
450
20.09-25.09
22.09-25.09
22.09-28.09
114T yet one more Adjustment
- T has got unsatisfactory responses from F-s
- T pro-actively tries to alter the destination
point to the one close to Erfurt - Negotiations on Frankfurt and Munich fares result
in - Frankfurt is chosen as the destination point
115T Additional Activity is Required
- But Frankfurt is not Erfurt
- So, T needs to explore Frankfurts Properties
for Connections - Luckily, there is an appropriate fact in T-s
knowledgebase - Frankfurt HasRWConn to Erfurt
- This leads T to incorporate one more Activity to
PlanTrip Task BookRWFare - Further on, Die Bahn Web Service provides the
result - The mechanism seems to be the same as for
InquireFares
ErfurtRegion
IntAirPort
GermanCity
HasIAP
Is in
Is_a
HasIAP
Is_a
Munich
Frankfurt
Bingo!
HasRWConn
Is_a
Erfurt
116BookRoundtrip Service Composition
1014892
Lufthansa Infoflyway
Negotiate
T
Negotiate
Cyber Flyer
BookRoundTrip PlanTrip
MakeHotelRes ApplyForVisa
SpecArrangements ApproveSolution
PlanTrip InquireFares
(ConvertCurrencies) ApplyConstraints
ApplyPreferences
AdjustPreferences AdjustConstraints
(BookRWFare) BookFare
ApproveSolution
Event AllocatingPlanTrip Task for
self-perfor-mance
Task Ontology
Task Ontology
CNN Currency Converter Service 10.88
Agent Middle Layer
Die Bahn Booking Service
Service Requestor
Service Providers
Conference Info Service
Services
MakeHotelRes InquireEventInfo
ApplyConstraints
ApplyPreferences AdjustPreferences
AdjustConstraints
BookHotelRoom ApproveSolution
Precond PlanTrip results are available
All-hotels.com Reservation Service
Task Ontology
Negotiate
Hotel reservation Service (hrs.de)
117Conclusions
- Agent Middle Layer is required for scalable,
intelligent, dynamic service composition - Service Mediator is formed dynamically as the
coalition of service providing agents (SPAs)
participating in the Task execution - Services are self-contained modular loosely
coupled program components wrapped by SPAs