web service composition validation via distributed compiler and graph theory agenda
TRANSCRIPT
Agenda
1. Introduction
3. Problem
4. Background
5. Solution by validation
6. Simulation
7. Conclusion
2. Web service composition
Karawash; A., Mcheick; H., Dbouk; M,
Japan; ICIS2013
Introduction
• Web Service Definition
Web service is a software system designed to support interoperable
machine-to-machine interaction over a network.
Karawash; A., Mcheick; H., Dbouk; M,
Japan; ICIS2013
Introduction
• Services-Oriented Architecture (SOA)
– Components
• Service Providers
• Service Registry
• Service Requestors
– Operations
• Publish
• Find
• Bind
– WSDL
• WSDL (Web Services Description Language) is an XML-based language for
describing Web services and how to access them.
Karawash; A., Mcheick; H., Dbouk; M,
Japan; ICIS2013
Introduction
• Business Process Execution Language (BPEL) – BPEL, is an XML-based web service composition language for business
processes. It is used to facilitate the peer-to-peer interactions between services
according to the contract described by WSDL [Li K., 2005].
Karawash; A., Mcheick; H., Dbouk; M,
Japan; ICIS2013
Web service composition
• Web Service Composition Definition:
Web service composition refers to the creation of new web services by
combination of existing ones, or Technique of composing the functionalities
of relatively simpler services to produce a ‘meaningful’ arbitrarily complex
application. Car Rental
Web Service
Hotel
Web Service
Airline
Web Service
E-Market place
Web Service
Corporate travel
Web Service HTTP/SOAP/XML
HTTP/HTML
WAP/XML
Karawash; A., Mcheick; H., Dbouk; M,
Japan; ICIS2013
Web service composition
• Example : • A = 2*x+3*y
• B = 2*x
Services at Provider 3:
FOR 1:
“A = 2*x + 3*y”
FOR 2:
“B = 2*x “
Services at Provider 2:
EQ1:“2*x”
EQ2: “3*y”
Services at Provider 1:
“ADD” & “MULT”
+
*
UDDI 1 UDDI 2
ADD
MULT
EQ1
EQ2
FOR 1
FOR 2
PROVIDER 1
ATOMIC
OPERATIONS
PROVIDER 2
COMPLEX
OPERATIONS
PROVIDER 3
COMPLEX
OPERATIONS
Client 1 Client 2
BPEL 1 BPEL 2 BPEL 3
invoke Send
WSDL
Web
service
Karawash; A., Mcheick; H., Dbouk; M,
Japan; ICIS2013
Problem of web service composition
A client has only the permission to get information as meta-
data (WSDL) about each service before being used (invoked).
But building a new composed service needs to know the internal design
of the other services to be invoked.
Because service composition is dynamic, automatic, done “on the
fly” and the client have no permission to access the business flow of the
service, thus some compositions of web services face deadlocks and
infinite loops.
Service Business Process (BPEL)
Meta-Data (WSDL)
Meta-Data (WSDL)
Service Provider
Service Registry Meta-Data
service3
Meta-Data
service2
Meta-Data
service1
Service
composition
using meta
data
Service Requester
Karawash; A., Mcheick; H., Dbouk; M,
Japan; ICIS2013
Problem of web service composition
• Problem Example
R=P /I^2
Local
server
current
V= I * R
P = V * I
Invoke
get-Volt
Invoke
Get-
power
UDDI 1 UDDI 2
Get-resistance
Get-current
Get-volt
Get-power
Get-server-volt
PROVIDER 1
COMPLEX
OPERATIONS
PROVIDER 2
COMPLEX
OPERATIONS
PROVIDER 3
COMPLEX
OPERATIONS
Client 1 Client 2
BPEL 1 BPEL 2 BPEL 3
Get-server-power
invoke Send
WSDL
Web
service
What are the Voltage and
the Power in the 1st
Provider?
-----------------------------------
Ohm’s Law:
Voltage = Current * Resistance
(V = I * R)
Power = Voltage * Current
(P = V * I)
Resistance = Power/ current^2
(R = P / I^2)
Karawash; A., Mcheick; H., Dbouk; M,
Japan; ICIS2013
Problem of web service composition
What's about the composition of this complex service?
Can you detect any problem?
Karawash; A., Mcheick; H., Dbouk; M,
Japan; ICIS2013
Problem of web service composition
• 1st Real example:
TIBCO Web Service
Goes in an infinite
Loop
TIBCO provides a powerful Web
services integration and management
platform that lets you leverage Web
services to improve the way you do
business.
https://www.tibcommunity.com/message/70086
Karawash; A., Mcheick; H., Dbouk; M,
Japan; ICIS2013
Problem of web service composition
• 2nd Real example:
WHEN DISTRIBUTING
TRANSACTIONS USING
WEB SERVICES ATOMIC
TRANSACTIONS, DEADLOCK
MAY OCCUR.
http://www-
01.ibm.com/support/docview.wss?uid=swg1PM07820
Karawash; A., Mcheick; H., Dbouk; M,
Japan; ICIS2013
Problem of web service composition
• No compile step in service composition as in Java programming.
No real tools are available for the validation technique, academic efforts
are discussed, and challenges are presented [Manuel Palomo-Duarte, 2012].
• This work proposes a new idea:
• A compile step to inform designers and validate service composition at
the design phase before execution of a web service.
Karawash; A., Mcheick; H., Dbouk; M,
Japan; ICIS2013
Solution by validation
Please refer to this Springer chapter to read the complete solution model:
http://link.springer.com/chapter/10.1007%2F978-3-319-00804-2_15
Karawash; A., Mcheick; H., Dbouk; M,
Japan; ICIS2013
Conclusion
The web service revolution gave us the permission to benefit from the already built
services to design other complex services. But invoking blindly other services may
not always give the desired result.
Since of millions of web services we cannot build a centralized compiler for all the
services together, so the dynamic distributed compiler per each new composite
service is the solution.
Karawash; A., Mcheick; H., Dbouk; M,
Japan; ICIS2013
References
Srivastava B. & Koehler J.: Srivastava B. et Koehler J., Web Service Composition - Current Solutions and Open Problems, IBM India &
Switzerland Research, ICAPS 2003 Workshop on planning for Web services, Vol. 35.
Manuel Palomo-Duarte, Service Composition Verification and Validation, University of Cadiz, DOI: 10.4018/978-1-61350-159- 7.ch010,
Spain (2012).
Amirjavid F. et al, 2011: Amirjavid, F., Mcheick, H. et Dbouk, M., Job division in service oriented computing based on time aspect, Int. J.
Communication Networks and Distributed Systems, Vol. 6, No. 1, 2011.
Li K., 2005: Li, K.; LUMINA: USING WSDL-S FOR WEB SERVICE DISCOVERY, Master Thesis; University of Georgia December 2005.
Colombo M. Et al., 2006: Colombo, M., Nitto, E. D., and Mauri, M. (2006).
Scene: A service composition execution environment supporting dynamic changes disciplined through rules. International Conference on
Service Oriented Computing (ICSOC), Springer Berlin / Heidelberg.
Silva et al., 2009: Silva, E.; Pires, L. F.; Sinderen, M. v., Supporting dynamic service composition at runtime based on end-user requirements.
Centre for Telematics and Information Technology University of Twente. The Netherlands P.O. Box 217, 7500 AE Enschede (2009).
Eid M. Et al., 2008: Eid, M. A., Alamri, A., El-Saddik, A., A reference model for dynamic web service composition systems, International Journal
of Web and Grid Services, (2008).
Shen L. Et al., 2007: Shen, L., Li, L., Ren, S., and Mu, Y., Dynamic composition of web service based on coordination model, The Joint
International Conferences on Asia-Pacific, Web Conference and Web-Age Information Management (2007).
Aho I. et al, 2007: I. Aho, Alfied V. 11. Aho, Alfred V. Compilers, principles, techniques, and tools, QA76.76.C65A37, (2007).
Karawash; A., Mcheick; H., Dbouk; M,
Japan; ICIS2013