e-services and transactions in semantic web

83
E-Services and Transactions in Semantic Web Vagan Terziyan MIT Department, University of Jyvaskyla / / AI Department, Kharkov National University of Radioelectronics [email protected] http://www.cs.jyu.fi/ai/vagan +358 14 260-4618

Upload: vivien

Post on 13-Jan-2016

22 views

Category:

Documents


0 download

DESCRIPTION

E-Services and Transactions in Semantic Web. Vagan Terziyan MIT Department, University of Jyvaskyla / / AI Department, Kharkov National University of Radioelectronics [email protected] http://www.cs.jyu.fi/ai/vagan +358 14 260-4618. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: E-Services  and Transactions  in Semantic Web

E-Services and Transactions in Semantic Web

Vagan TerziyanMIT Department, University of Jyvaskyla /

/ AI Department, Kharkov National University of Radioelectronics

[email protected]://www.cs.jyu.fi/ai/vagan

+358 14 260-4618

Page 2: E-Services  and Transactions  in Semantic Web

Managing Transactions with Distributed Web-Services

and providing Integrated Service to a User - are among

the basic abilities of an Intelligent Agent

Page 3: E-Services  and Transactions  in Semantic Web

Contents

Transactions with Mobile services in Semantic Web

Agent-Based Service Integration

Page 4: E-Services  and Transactions  in Semantic Web

Transaction with Mobile Services in Semantic Web

Vagan Terziyan

University of Jyvaskyla, Finland

e-mail: [email protected]

Page 5: E-Services  and Transactions  in Semantic Web

Transactions 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

Page 6: E-Services  and Transactions  in Semantic Web

M-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

Page 7: E-Services  and Transactions  in Semantic Web

Basic (ACID) Transactional Properties

Atomicity Consistency Isolation Durability

Page 8: E-Services  and Transactions  in Semantic Web

Atomicity

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.

Page 9: E-Services  and Transactions  in Semantic Web

Consistency

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.

Page 10: E-Services  and Transactions  in Semantic Web

Isolation

Isolation means that various steps of a transaction do not interfere with steps of other transactions.

Page 11: E-Services  and Transactions  in Semantic Web

Durability

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.

Page 12: E-Services  and Transactions  in Semantic Web

Server-Side Transaction Monitor

Server Client

Server

Webresource /

service

Webresource /

service

Transaction Service

TM

wireless

Page 13: E-Services  and Transactions  in Semantic Web

Server-Side Transaction MonitorPositive (1) Less wireless (sub)transactions

Server Client

Server

Webresource /

service

Webresource /

service

Transaction Service

TM

wireless

!

Page 14: E-Services  and Transactions  in Semantic Web

Server-Side Transaction MonitorPositive (2) Rich ontological support

Server Client

Server

Webresource /

service

Webresource /

service

Transaction Service

TM

wirelessRich ontology of resources,

services,other metadata

Page 15: E-Services  and Transactions  in Semantic Web

Server-Side Transaction MonitorPositive (3) Smaller crash, disconnection vulnerability

Server Client

Server

Webresource /

service

Webresource /

service

Transaction Service

TM

wireless!!OK

Page 16: E-Services  and Transactions  in Semantic Web

Server-Side Transaction MonitorNegative (1) Pure customer’s trust

Server Client

Server

Webresource /

service

Webresource /

service

Transaction Service

TM

wirelessCustomer’sprivate data

Page 17: E-Services  and Transactions  in Semantic Web

Server-Side Transaction MonitorNegative (2) Lack of customer’s awareness and control

Server Client

Server

Webresource /

service

Webresource /

service

Transaction Service

TM

wirelessTransaction data

Transaction online control

Page 18: E-Services  and Transactions  in Semantic Web

Server-Side Transaction MonitorNegative (3) Problematic TM’s adaptation to the customer

Server Client

Server

Webresource /

service

Webresource /

service

Transaction Service

TM

wirelessPublic TM

Page 19: E-Services  and Transactions  in Semantic Web

Example: Server-based transactions for location based application

Client

Application Server

Content providers

Positioning Service

3

1

4

2

5

7 8

10

11

12

6

9

Page 20: E-Services  and Transactions  in Semantic Web

Client-Side Transaction Monitor

ServerClient

Server

Webresource /

service

TM

Webresource /

service

wireless

wireless

Page 21: E-Services  and Transactions  in Semantic Web

Client-Side Transaction Monitor. Positive (1) Customer’s firm trust

Server

Client

Server

Webresource /

service

TM

Webresource /

service

wireless

wireless

Customer’sprivate data

Page 22: E-Services  and Transactions  in Semantic Web

Client-Side Transaction Monitor. Positive (2) Customer’s awareness and involvement

ServerClient

Server

Webresource /

service

TM

Webresource /

service

wireless

wireless

Transaction data

Transaction online control

Page 23: E-Services  and Transactions  in Semantic Web

Client-Side Transaction Monitor. Positive (3) Better TM’s adaptation to the customer

ServerClient

Server

Webresource /

service

TM

Webresource /

service

wireless

wireless

Personal TM

Page 24: E-Services  and Transactions  in Semantic Web

Client-Side Transaction Monitor. Negative (1) More wireless (sub)transactions

ServerClient

Server

Webresource /

service

TM

Webresource /

service

wireless

wireless

!

Page 25: E-Services  and Transactions  in Semantic Web

Client-Side Transaction Monitor. Negative (2) Restricted ontological support

ServerClient

Server

Webresource /

service

TM

Webresource /

service

wireless

wireless

Restrictedontology of

resources, services,other metadata

Page 26: E-Services  and Transactions  in Semantic Web

Client-Side Transaction Monitor. Negative (3) High crash, disconnection vulnerability

ServerClient

Server

Webresource /

service

TM

Webresource /

service

wireless

wireless

Page 27: E-Services  and Transactions  in Semantic Web

Terminology

e-Service = Web-Service, which assumes also an online payment;

e-Service is a Web-Service in e- Commerce

Page 28: E-Services  and Transactions  in Semantic Web

Ontology-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.

Page 29: E-Services  and Transactions  in Semantic Web

The conceptual scheme of the ontology-based transaction management

Transaction data

Service 1 ********

Service 2 ********

Service s ********

Services data

Transaction monitor

Client 1

Service 1 ********

Service 2 ********

Service s ********

Services data

Transaction monitor

Client r

Parameter 1

Parameter 2

Parameter n

Recent value

Recent value

Recent value

Transaction data

Parameter 1

Parameter 2

Parameter n

Recent value

Recent value

Recent value

Service atomic action ontologies

Parameter 1

Parameter 2

Parameter n

Parameter ontologies

Ontologies

Name 1

Name 2

Name n

Default value / schema 1

Default value / schema 2

Default value / schema n

Name of action 1

input parameters

output parameters

Name of action 2

input parameters

output parameters

Name of action k

input parameters

output parameters

Service Tree

Client 1 ********

Client 2 ********

Client r ********

Clients data

Subtransaction monitor

Service 1

Service Tree

Client 1 ********

Client 2 ********

Client r ********

Clients data

Subtransaction monitor

Service s

Page 30: E-Services  and Transactions  in Semantic Web

Basic 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:

- action’s 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.

Page 31: E-Services  and Transactions  in Semantic Web

Basic 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.

Page 32: E-Services  and Transactions  in Semantic Web

Basic 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.

.

Page 33: E-Services  and Transactions  in Semantic Web

Service Tree

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

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.

S2

A1

S3

A2S4

A3S5

A4

S8

A5S9

A6S10

A7

S6

A4S7

A6S11

A6

S1

LOGIN (begin subtransaction)S0

S0

LOGOUT (end subtransaction)

Page 34: E-Services  and Transactions  in Semantic Web

Constants 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.

Page 35: E-Services  and Transactions  in Semantic Web

Basic constants

TERMINAL_ID 1

TOTAL_NUMBER_OF_SERVICES 1

TOTAL_NUMBER_OF_ACTIONS 1

TOTAL_NUMBER_OF_PARAMETERS 1

SERVICE_ID TOTAL_NUMBER_OF_SERVICES

SCREEN_FRAME 16

ID of the Constant Cardinality

Page 36: E-Services  and Transactions  in Semantic Web

Ontologies

Service atomic action ontologies:

ACTION_ID TOTAL_NUMBER_OF_ACTIONS

INPUT_PARAMETERS_FOR_ACTION TOTAL_NUMBER_OF_ACTIONS× TOTAL_NUMBER_OF_PARAMETERS

OUTPUT_PARAMETERS_FROM_ACTION TOTAL_NUMBER_OF_ACTIONS× TOTAL_NUMBER_OF_PARAMETERS

Parameter ontologies:

PARAMETER_ID TOTAL_NUMBER_OF_PARAMETERS

PARAMETER_DEFAULT_VALUE TOTAL_NUMBER_OF_PARAMETERS

PARAMETER_TYPE/SCHEMA TOTAL_NUMBER_OF_PARAMETERS

ID of the Ontology Cardinality

Page 37: E-Services  and Transactions  in Semantic Web

Variables

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.

Page 38: E-Services  and Transactions  in Semantic Web

Service ActionsTerminal Servicequery

CURRENT_STATE_OF_SUBTRANSACTION ACTIVE_ACTION_ID

PARAMETER_ID1 /PARAMETER_RECENT_VALUE1/ …

TERMINAL_ID

PARAMETER_IDp /PARAMETER_RECENT_VALUEp/

INPUT_PARAMETERS_FOR_ACTION

service query

Terminal Serviceresponse

CURRENT_STATE_OF_SUBTRANSACTION

ACTIVE_ACTION ID PARAMETER_ID1 /PARAMETER_RECENT_VALUE1/ …

PARAMETER_IDq /PARAMETER_RECENT_VALUEq/

SERVICE_ID

LIST_OF_AVAILABLE_ACTIONS

PRICE_FOR_LAST_ACTION…

OUTPUT_PARAMETERS_FROM_ACTION

service response

Page 39: E-Services  and Transactions  in Semantic Web

An Example of Action

LOGIN login /vagan/ password /1234/0501234567

"Client 0501234567 …

… has made LOGIN query to server.

For that the client entered his login…

…and password."

S0

…of active subtransaction…

… being in S0 state …

LOGIN LOGIN_REPLY /OK/ S1MMM-2001 A1

"Server MMM-2001 reports …

…that during active subtransaction …

…your LOGIN action…

…was OK !

Now you come to state S1 ,…

…after which the only action you may choose is A1."

Page 40: E-Services  and Transactions  in Semantic Web

An Example of Action

A10501234567

"Client 0501234567 …

… has made A1 action (query) to server.

For that the client enteredrequested input parameters.

S1

…and being in S1 state of it…

… during active subtransaction…

Input parameters for action A1

A1 S2MMM-2001 A2,

"Server MMM-2001 reports …

…that during active subtransaction…

…your action (query) A1

has been processed and…

Now you cometo state S2 ,…

…after which the actions youmay choose are A2, A3 and A4."

Output parameters from action A1

…following outcomes are obtained.

A3, A4$1

Price for outcomes is $1 .

Page 41: E-Services  and Transactions  in Semantic Web

LBS example: ontology for the LOCATE_BY_ID action

Locate by ID

Terminal ID

Latitude Longitude

OUTPUT_PARAMETERS_FROM_ACTION

ACTION_ID

INPUT_PARAMETERS_FOR_ACTION

Altitude

Page 42: E-Services  and Transactions  in Semantic Web

LBS example: ontology for the LOCATE_BY_ADDRESS action

Locate by address

Country_Name

Latitude Longitude

OUTPUT_PARAMETERS_FROM_ACTION

ACTION_ID

INPUT_PARAMETERS_FOR_ACTION

State/Province_Name

City_Name

Street_Name

Street_Number

Page 43: E-Services  and Transactions  in Semantic Web

LBS example: ontology for the GET_MAP action

Get map

Map

Latitude Longitude

OUTPUT_PARAMETERS_FROM_ACTION

ACTION_ID

INPUT_PARAMETERS_FOR_ACTION

Page 44: E-Services  and Transactions  in Semantic Web

LBS example: ontology for the GET_INFO action

Get Info

point_address

point_of_interest

OUTPUT_PARAMETERS

_FROM_ACTION

ACTION_ID

point_phone

point_info

OUTPUT_PARAMETERS

_FROM_ACTION

Page 45: E-Services  and Transactions  in Semantic Web

LBS example: service tree for the Positioning Service

S1Locate by ID

S1LOGINS0

S0LOGOUT

S1Locate by Address

Page 46: E-Services  and Transactions  in Semantic Web

LBS example: service tree for the Location Based Service

S2

Get map

S2Get info

S1LOGINS0

S0LOGOUT

Page 47: E-Services  and Transactions  in Semantic Web

LBS example: Case when a user locates himself and submits coordinates to LBS

TerminalLocation-

Based ServicePositioning

Service

Login (user_ID, password)

Login (Login - OK)

Get map (coordinates)

Get map (map)

Locate by address (address)

Locate by address (Coordinates)

Login (user_ID, password)

Login (Login - OK)

Get info (point of interest)

Get info (point information)

Logout (user_ID)

Logout (Logout - OK)

Logout (user_ID)

Logout (Logout - OK)

Page 48: E-Services  and Transactions  in Semantic Web

<Query Query_ID="01-03-2002_12:33:57" Type="Service" To_Service="Positioning_Service" From_Terminal="0501234567" Terminal_State="S0"

> <Action ID="LOGIN"/>

<Input_Parameters> <Parameter ID="user_ID” Type="text” Value="vagan"/> <Parameter ID="password” Type="text” Value="4321"/></Input_Parameters>

</Query>

Terminal Positioning Service

“Login” Query

Page 49: E-Services  and Transactions  in Semantic Web

<Response Response_ID="01-03-2002_12:34:42” Type="Service” To_Query="01-03-2002_12:33:57” To_Terminal="0501234567” From_Service="Positioning_Service” Terminal_State="S1"> <Action ID="LOGIN"/>

<Output_Parameters><Parameter ID="login_reply” Type="binary” Value="OK"/>

</Output_Parameters>

<Price_for_Action Currency="EURO" Value="0.0"/>

<Bill_Recent_Value Currency="EURO" Value="0.0"/> <Actions_Allowed>

<Action ID="LOGOUT"/><Action ID="LOCATE_BY_ID"/><Action ID="LOCATE_BY_ADDRESS"/>

</Actions_Allowed >

</Response>

Terminal Positioning Service

“Login” Response

Page 50: E-Services  and Transactions  in Semantic Web

<Query Query_ID="01-03-2002_12:34:53" Type="Service" To_Service="Positioning_Service" From_Terminal="0501234567" Terminal_State="S1"> <Action ID="LOCATE_BY_ADDRESS"/>

<Input_Parameters> <ParameterID="street_number” Type="integer” Value="43"/> <ParameterID="street_name” Type="text” Value="Nokatu"/> <ParameterID="city_name" Type="text” Value="Jyvaskyla"/> <ParameterID="country_name” Type="text” Value="Finland"/> </Input_Parameters>

</Query>

Terminal Positioning Service

“Locate by Address” Query

Page 51: E-Services  and Transactions  in Semantic Web

<Response Response_ID= "01-03-2002_12:35:14” Type= "Service" To_Query= "01-03-2002_12:34:53” To_Terminal= "0501234567" From_Service= "Positioning_Service” Terminal_State= "S1"> <Action ID="LOCATE_BY_ADDRESS"/> <Output_Parameters> <Parameter ID="latitude" Type="integer" Value="54321"/> <Parameter ID="longitude" Type="integer" Value="98765"/> </Output_Parameters>

<Price_for_ActionCurrency="EURO" Value="0.23"/><Bill_Recent_Value Currency="EURO" Value="0.23"/> <Actions_Allowed>

<Action ID="LOGOUT"/><Action ID="LOCATE_BY_ID"/><Action ID="LOCATE_BY_ADDRESS"/>

</Actions_Allowed ></Response>

Terminal Positioning Service

“Locate by Address” Response

Page 52: E-Services  and Transactions  in Semantic Web

<Query Query_ID="01-03-2002_12:35:20" Type="Service" To_Service="Positioning_Service" From_Terminal="0501234567" Terminal_State="S1"> <Action ID="LOGOUT"/>

<Input_Parameters> <Parameter ID="user_ID” Type="text” Value="vagan"/> </Input_Parameters>

</Query>

Terminal Positioning Service

“Logout” Query

Page 53: E-Services  and Transactions  in Semantic Web

<Response Response_ID= "01-03-2002_12:35:25” Type= "Service" To_Query= "01-03-2002_12:35:20” To_Terminal= "0501234567" From_Service= "Positioning_Service” Terminal_State= "S0"> <Action ID="LOGOUT"/>

<Output_Parameters> <Parameter ID="logout_reply” Type="binary” Value="OK"/> </Output_Parameters>

<Price_for_Action Currency="EURO" Value="0.0"/>

<Bill_Recent_Value Currency="EURO" Value="0.23"/>

<Actions_Allowed> <Action ID="LOGIN"/> </Actions_Allowed >

</Response>

Terminal Positioning Service

“Logout” Response

Page 54: E-Services  and Transactions  in Semantic Web

<Query Query_ID="01-03-2002_12:35:47" Type="Service" To_Service="Location_Based_Service" From_Terminal="0501234567" Terminal_State="S0"> <Action ID="LOGIN"/>

<Input_Parameters> <Parameter ID="user_ID” Type="text” Value="vagan"/> <Parameter ID="password” Type="text" Value="1234"/></Input_Parameters>

</Query>

Terminal Location-Based Service

“Login” Query

Page 55: E-Services  and Transactions  in Semantic Web

<Response Response_ID= "01-03-2002_12:36:01” Type= "Service" To_Query= "01-03-2002_12:35:47” To_Terminal= "0501234567" From_Service="Location_Based_Service” Terminal_State= "S1"> <Action ID="LOGIN"/>

<Output_Parameters> <Parameter ID="login_reply” Type="binary" Value="OK"/> </Output_Parameters>

<Price_for_Action Currency="USD" Value="0.0"/>

<Bill_Recent_Value Currency="USD" Value="0.0"/>

<Actions_Allowed> <Action ID="LOGOUT"/> <Action ID="GET_MAP"/> </Actions_Allowed >

</Response>

Terminal Location-Based Service

“Login” Response

Page 56: E-Services  and Transactions  in Semantic Web

<Query Query_ID="01-03-2002_12:39:07" Type="Service" To_Service="Location_Based_Service" From_Terminal="0501234567" Terminal_State="S1"> <Action ID="GET_MAP"/>

<Input_Parameters> <Parameter ID= "latitude” Type= "integer” Value="54321"/> <Parameter ID= "longitude” Type= "integer” Value="98765"/> </Input_Parameters>

</Query>

Terminal Location-Based Service

“Get Map” Query

Page 57: E-Services  and Transactions  in Semantic Web

<Response Response_ID= "01-03-2002_12:41:34” Type= "Service" To_Query= "01-03-2002_12:39:07” To_Terminal= "0501234567" From_Service= "Location_Based_Service” Terminal_State= "S2"> <Action ID="GET_MAP"/> <Output_Parameters> <Parameter ID= "map” Type= "GML” Value= "GML Data"/> </Output_Parameters>

<Price_for_Action Currency="USD" Value="0.15"/> <Bill_Recent_Value Currency="USD" Value="0.15"/> <Actions_Allowed> <Action ID="LOGOUT"/> <Action ID="GET_MAP"/> <Action ID="GET_INFO"/> </Actions_Allowed ></Response>

Terminal Location-Based Service

“Get Map” Response

Page 58: E-Services  and Transactions  in Semantic Web

<Query Query_ID="01-03-2002_12:50:12" Type="Service" To_Service="Location_Based_Service" From_Terminal="0501234567" Terminal_State="S2"> <Action ID="GET_INFO"/>

<Input_Parameters> <Parameter ID= "point_of_interest” Type="text” Value="Alba_Hotel"/> </Input_Parameters>

</Query>

Terminal Location-Based Service

“Get Info” Query

Page 59: E-Services  and Transactions  in Semantic Web

<Response Response_ID= "01-03-2002_12:51:04” Type= "Service” To_Query= "01-03-2002_12:50:12" To_Terminal= "0501234567” From_Service= "Location_Based_Service” Terminal_State= "S2"> <Action ID="GET_INFO"/> <Output_Parameters> <Parameter ID="point_address" Type="text" Value="Mattilaniemi A1"/> <Parameter ID="point_phone" Type="text" Value="0509876543"/> <Parameter ID="point_info” Type="text” Value="Rooms available: single (60 EURO), double (80 EURO)"/> </Output_Parameters>

<Price_for_Action Currency="USD" Value="0.10"/> <Bill_Recent_Value Currency="USD" Value="0.25"/> <Actions_Allowed> <Action ID="LOGOUT"/> <Action ID="GET_MAP"/> <Action ID="GET_INFO"/></Actions_Allowed ></Response>

Terminal Location-Based Service

“Get Info” Response

Page 60: E-Services  and Transactions  in Semantic Web

<Query Query_ID="01-03-2002_12:58:03" Type="Service" To_Service="Location-Based_Service" From_Terminal="0501234567" Terminal_State="S2"> <Action ID="LOGOUT"/>

<Input_Parameters> <Parameter ID="user_ID” Type="text” Value="vagan"/> </Input_Parameters>

</Query>

Terminal Location-Based Service

“Logout” Query

Page 61: E-Services  and Transactions  in Semantic Web

<Response Response_ID= "01-03-2002_12:58:55” Type= "Service" To_Query= "01-03-2002_12:35:20” To_Terminal= "0501234567" From_Service= "Location_Based_Service” Terminal_State= "S0"> <Action ID="LOGOUT"/>

<Output_Parameters><Parameter ID="logout_reply" Type="binary" Value="OK"/> </Output_Parameters>

<Price_for_Action Currency= ”USD” Value= "0.0"/>

<Bill_Recent_Value Currency= ”USD” Value= "0.25"/>

<Actions_Allowed> <Action ID="LOGIN"/> </Actions_Allowed >

</Response>

Terminal Location-Based Service

“Logout” Response

Page 62: E-Services  and Transactions  in Semantic Web

Atomicity 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.

Page 63: E-Services  and Transactions  in Semantic Web

Distributed independent purchase case

SW

OS

Customer

Service 1

Service 2

Distributedindependent purchase

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.

Page 64: E-Services  and Transactions  in Semantic Web

Distributed 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.

MapCustomer

Service 1

Service 2

Distributed sequentialpurchase

CR

Page 65: E-Services  and Transactions  in Semantic Web

Reference

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?pub=infobike://jws/isaf/2002/00000011/00000003/art00221

Page 66: E-Services  and Transactions  in Semantic Web

AcknowledgementsInformation Technology Research Institute (University of Jyvaskyla):

Customer-oriented research and development in Information Technology

http://www.titu.jyu.fi/eindex.html

Multimeetmobile (MMM) Project (2000-2001):

Location-Based Service System and Transaction Management in Mobile Electronic Commerce

http://www.cs.jyu.fi/~mmm

Agora Center(University of Jyvaskyla):

Innovations in Business, Communication and Technology Research Project (InBCT)

http://www.jyu.fi/agora/

Page 67: E-Services  and Transactions  in Semantic Web

Agent-Based Service

Composition

Vadim Ermolayev, Natalya Keberle, Sergey Plaksin

Zaporozhye State Univ., Ukraine

Int. Conference on Web Services Europe (ICWS-Europe’03), Erfurt, Germany, Sept. 23-25, 2003

Page 68: E-Services  and Transactions  in Semantic Web

Semantic 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

Page 69: E-Services  and Transactions  in Semantic Web

…Having a Recipe doesn’t 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

Page 70: E-Services  and Transactions  in Semantic Web

What 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

Page 71: E-Services  and Transactions  in Semantic Web

What’s 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

Page 72: E-Services  and Transactions  in Semantic Web

‘BookRoundtrip’ ScenarioAgent roles (played by human actors): AUTHOR (A) – acts on behalf of the one of the paper

authors attending ICWS’03-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 ICWS’03-Europe: local arrangements, infrastructure, accommodation, etc

HOTEL AGENT (H) – provides hotel room reservation services

BUSINESS PARTNER (P) – acts on behalf of A’s business partner in Austria with whom A intends to meet in Germany in time of the conference to discuss a joint proposal

Page 73: E-Services  and Transactions  in Semantic Web

‘BookRoundtrip’ Exercise Inputs Semi-formally (enough for human actors

to understand unambiguously):Starting_Point= “Kiev, Ukraine” Destination=“Erfurt, Germany”Beg_Date=22/09/2003End_Date=25/09/2003Event=“ICWS’03-Europe”Preferences=(“low fare”, “non-stop flights”, “fast connections”, “4-star hotel”, “continental breakfast”, “conference discounts”)Constraints=(Budget = €1500, Payment=(VISA, USD),Hotel >= 3-star, Room-per-night <= €110, Hotel_Location=”in Max 20 min walk from the Conference venue”)Special_Arrangements=((Event=“business 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

Page 74: E-Services  and Transactions  in Semantic Web

Analyses if A’s 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

What 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

AT

Page 75: E-Services  and Transactions  in Semantic Web

And why do they do it?A desires: Not to go behind the scenes To rely on the T-s

competencies To pay a reasonable

incentive for that

T desires: To be hired and paid

for the job To spend the money most

efficiently (remain competitive)

To remain a reliable partner for AA 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

Page 76: E-Services  and Transactions  in Semantic Web

Part_of here is a Phase-Activity kind of meronimy relationship

T: ‘BookRoundtrip’ is a Complex 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)

Task

BookRoundtrip

PlanTrip

HasPrecond

Is_a

Individual_of

Part_of

Part_of

ApplyForVisaSpecArrangements

PlanTrip Results Approved

PreCondition

Part_

of

Activity

Is_a

Part_of

MakeHotelRes

Is_a

HasPrecond

!!! Another T may have a different idea of ‘BookRoundTrip’ composition

Page 77: E-Services  and Transactions  in Semantic Web

!!! Another T may have different Capabilities and PLPs wrt ‘BookRoundTrip’phases

CapableTo

T: ‘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)

Task

PlanTrip

Indi

vidu

al_o

f

Self-Performance

Capability

PartialLocalPlan

Is_a

HasPLP

MakeHotelRes

Outsource

PlanTripPLP

MakeHotelResPLP

Is_aHasPLP

Capa

bleT

oIndividual_of

Activity

HasPLP

DefineC

apability

Page 78: E-Services  and Transactions  in Semantic Web

T: behaves pro-actively – Adjusts

Inputs 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_Date=20.09, End_Date=25.09

Or Beg_Date=22.09, End_Date=28.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

DatePlanTrip

Is_a

Indi

vidua

l_of

EndDOW

DaysOfAWeek

Is<=

Beg_Date

HasB

D

Is_a

End_Date

SundayRuleDates (Beg_Date, End_Date):(End_Date-Beg_Date>6) Or (BegDOW>EndDOW)

BegDOW

HasED

Page 79: E-Services  and Transactions  in Semantic Web

T-F-s: Negotiation on Air Fares 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 …

20.09-25.09

22.09-25.09

22.09-28.09

700

450

20.09-25.09

22.09-25.09

22.09-28.09

700450

1600

2500

Not

ava

ilabl

e

Not

ava

ilabl

e

Erfurt

Page 80: E-Services  and Transactions  in Semantic Web

T: 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

GermanCity

Is_a

IntAirPort

Is in

Frankfurt

Is_a

Munich

HasI

AP

ErfurtRegion

HasIAP

€609

20.09-25.09

22.09-25.09

22.09-28.09

650

500

700

900

Frankfurt

€671

$513=€609

$1014=€892

€681

20.09-25.09

22.09-25.09

22.09-28.09

650

500

700

1600

Munich

€602

$984=€865 $1574=€1385

€751

Page 81: E-Services  and Transactions  in Semantic Web

Is in

T: Additional Activity is Required …But Frankfurt is not Erfurt So, T needs to explore

Frankfurt’s 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

GermanCity

Is_a

IntAirPort

Frankfurt

Is_a

Munich

Has

IAP

ErfurtRegion

HasIAP

Erfurt

Is_a

HasRWConn

Bingo!

Page 82: E-Services  and Transactions  in Semantic Web

‘BookRoundtrip’ Service Composition

A

BookRoundTrip PlanTrip MakeHotelRes ApplyForVisa SpecArrangements ApproveSolution

T

T

MakeHotelRes InquireEventInfo ApplyConstraints ApplyPreferences AdjustPreferences AdjustConstraints BookHotelRoom ApproveSolution

Precond: PlanTrip

results are available

I Conference Info Service

PlanTrip InquireFares +(ConvertCurrencies) ApplyConstraints ApplyPreferences AdjustPreferences AdjustConstraints +(BookRWFare) BookFare ApproveSolution

Event: Allocating

PlanTrip Taskfor self-perfor-mance

FLufthansa Infoflyway

FCyber Flyer

All-hotels.com Reservation Service

Hotel reservation Service (hrs.de)

H

H

A

F

A

Negotiate

Negotiate

CNN Currency Converter Service: $1=€0.88

TT

Agent Middle Layer

Negotiate

T

R

Die Bahn Booking Service

Task Ontology

Task Ontology

Task Ontology

Serv

ice P

rovid

ers

Serv

ice R

eq

uesto

r

Services

€609

20.09-25.09

22.09-25.09

22.09-28.09

650

500

700

900

Frankfurt

€671

$513=€609

$1014=€892

Page 83: E-Services  and Transactions  in Semantic Web

Conclusions:

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