Title: Ontological Modelling of EServices to Ensure Appropriate Mobile Transactions
1Ontological Modelling of E-Services to Ensure
Appropriate Mobile Transactions
Vagan Terziyan University of Jyvaskyla,
Finland e-mail vagan_at_it.jyu.fi ES2002,
Cambridge, UK, 10 December 2002
2Contents
- Transactions
- Mobile e-Commerce Transactions
- Transaction Monitor Architectures
- Ontology-Based Transaction Monitor
- Transaction Management for Location-Based
Services - Related Work
3Transactions 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
4Recovery
- What if, during the execution of a transaction,
there is a failure of some sort? - The DBMS must be able to recover the database to
a previous consistent state
5Concurrency Control
- The need for concurrency control arises from the
presence of multiple transactions accessing the
database concurrently
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.
12Example ApplicationLocation-sensitive,
Continuous Queries
- Nearest Japanese restaurant
- Nearest hospital w/ certain capabilities and
availability - travel info (nearest server station, hotel w/
pool, etc.) - Pizza Hut nearest to destination
13Server-Side Transaction Monitor
Web resource / service
Server
Client
wireless
Web resource / service
TM
Transaction Service
Server
14Server-Side Transaction MonitorPositive (1) Less
wireless (sub)transactions
Web resource / service
Server
Client
wireless
!
Web resource / service
TM
Transaction Service
Server
15Server-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
16Server-Side Transaction MonitorPositive (3)
Smaller crash, disconnection vulnerability
Web resource / service
Server
Client
!
!
OK
wireless
Web resource / service
TM
Transaction Service
Server
17Server-Side Transaction MonitorNegative (1) Pure
customers trust
Web resource / service
Server
Client
wireless
Customers private data
Web resource / service
TM
Transaction Service
Server
18Server-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
19Server-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
20Example 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
21Client-Side Transaction Monitor
TM
Web resource / service
wireless
Client
Server
wireless
Web resource / service
Server
22Client-Side Transaction Monitor. Positive (1)
Customers firm trust
TM
Web resource / service
wireless
Client
Server
Customers private data
wireless
Web resource / service
Server
23Client-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
24Client-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
25Client-Side Transaction Monitor. Negative (1)
More wireless (sub)transactions
TM
Web resource / service
wireless
Client
Server
wireless
!
Web resource / service
Server
26Client-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
27Client-Side Transaction Monitor. Negative (3)
High crash, disconnection vulnerability
TM
Web resource / service
wireless
Client
Server
wireless
Web resource / service
Server
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 DAML-S framework
DAML-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 DAML-S coalition is
developing ontology of services, service profiles
and appropriate process model. The use of DAML
(DARPA Agent Markup Language) 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.
71References
1. Terziyan V., Veijalainen J., Tirri H., Mobile
e-Commerce Transaction Model, Multimeetmobile
Project Report, TITU, University of Jyvaskyla,
January 2001. 2. Terziyan V., Veijalainen J.,
M-Commerce Transaction Model Implementation at a
Mobile Terminal, Multimeetmobile Project Report,
TITU, University of Jyvaskyla, April 2001. 3.
Terziyan V., Ontology-Driven Transaction Monitor
for Mobile Services, In Proceedings of the
Semweb_at_KR2002 Workshop on Formal Ontology,
Knowledge Representation and Intelligent Systems
for the World Wide Web, Toulouse, France, 19-20
April, 2002.
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