Web Services
Sabesan
Uppsala Database Laboratory Dept. of Information Technology
Uppsala University Sweden
Service Oriented Architecture
Service Registry
Service
Requestor Service
Provider Bind
Find Publish
Service provider: responsible for creating service description and deploying the service.
Service registry: responsible for publishing the service description
Service requetsor : responsible for finding a service decription to consume the service
Web Service basics
A software system designed for supporting machine-to-machine interaction over a network.
A collection of related operations that are accessible over a network.
Opearations are described by a service description document.
Based upon the open standard technologies such as XML, WSDL, SOAP, UDDI
XML- Extensible Markup Language (XML) is a general-purpose specification for creating custom markup languages.
SOAP- Simple Object Access Protocol for exchanging structured information
WSDL- Web Service Description Language is an XML based description language for web services.
UDDI - Universal Description, Discovery and Integration (UDDI) is a platform-independent, XML- based registry for businesses worldwide
Databases PDM LKAB
Size of Iron pellet ?
Query
Web Service
Web Service Scenario
•A Web service is a software system designed to support interoperable machine-to-machine interaction over a network.
• It has an interface described in a machine-processable format (specifically WSDL).
•Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web- related standards
Web service is defined by W3C (
World Wide Web Consortium) as:
Publicly available Web services
1. Google web service 2. Amazon web service
3. Terraservice web service – Microsoft
www.xmethods.net – provide information about the publicly available web services
Key reasons for deploying a web service
1. Scope of problems addressed :- CORBA focused on technical architectures rather than problems of application integration.
Support both document centric messaging and remote procedure calls
Transport encoded data from both applications and business documents
Work with standard internet protocols such as HTTP and SMTP
2. Using existing standard core technologies: XML, SOAP, HTTP
3. Industry Dynamics: Customer needs, market pressure, and the desire to be the partner of the up-to-date trends
Discovery : UDDI Description: WSDL Message packaging: SOAP Communication: HTTP
Web Service Architecture
Service discovery: a dictionary of web services
Interface description: describes how to call operations of a web service
Message packaging: formats the data ready for communication
Communication layer: transports data over network
Web Services Description Language(WSDL)
WSDL uses XML for describing services
WSDL describes:
• What operations are provided
• How operations are accessed
• Where a service is located
Header
SOAP block SOAP block Envelope
Body
SOAP block
SOAP block
Simple Object Access Protocol (SOAP)
• SOAP header provides a mechanism for adding features to the message such as routing and delivery setting, authentication assertions, and transaction contexts
• SOAP body contains the actual message to be delivered and processed
It is difficult to find data provided by web services:
Current web services applications must be developed using a regular programming language such Java, C# .
To simplify searching web services data:
We propose efficient processing of database queries to views of wrapped web services.
Our Problem Area
WSMED
SOAP
Our Approach- Web Service MEDiator (WSMED) Architecture
WSDL
Web Service
Development of WSMED, a web service based mediator prototype :
Query Result
WSMED System
Local
store WSMED
OWF1 OWFn
WO1 WOn
WSDL descriptions
14
Research Issues
1. How can standards, such as WDSL, SOAP, and XML- Schema, be automatically utilized by a mediator engine?
2. How can database views be defined in terms of imported web service descriptions?
3. How can the modern query optimization be used to provide efficient access to wrapped web services?
4. What minimal set of extra semantic enrichment is needed to provide efficient queries ?
5. How speedup the queries with dependent web service calls ?
WSMED View
ndb keyword descry gpcode
19080 Sweet Candies, Sweet chocolate 1900
………. ……… ………… ……….
Food
select descry from food
where gpcode = ’1900’ and keyword = ’Sweet’;
SQL Query:
Service ports Operation
input output
M
N
M SearchFoodByD
escription
N
Element
sub 1
elements
string
N
NDBNumber
1
N
document
http://schemas.xmlsoa p.org/soap/encoding/
http://ws.strikeiron.com /StrikeIron/USDAData
http://www.strikeiron.com/
SearchFoodByDescription USDAData
1
Web Service Schema
Web service schema can represent any WSDL document that describes a web service
http://www.strikeiron.com/
Web Service MEDiator System Architecture
WSDL importer: extracts meta data from WSDL document using Web Service Schema and store them in the Web service meta-database
Web Service Manager: invokes the web service operation to retrieve the data
WSMED enrichments: contains the semantic enrichments WSDL
Importer
Web service Manager
SQL query Query
Processor
WSMED enrichments Web service
Schema
Web service Meta-database
Results Web
Service WSDL
document
web service arguments SQL query
query rewriter
cost-based optimizer execution
engine calculus
generator
view expander
Comparison of query execution strategies
0.00 1000.00 2000.00 3000.00 4000.00 5000.00 6000.00
0 100 200 300 400 500 600 700 800 900
Number of Food Items
Response Time(sec)
full semantic enrichment hashjoin strategy
0.00 1.00 2.00 3.00 4.00 5.00 6.00 7.00
0 100 200 300 400 500 600 700 800 900
Numbe r of Food Ite ms
Response Time(sec)
hash join strategy full semantic enrichment
WSMED Process Tree
q- query processes Level 2
q0
q1
q3 q4
q2 GetPlacesWithin
GetAllStates
GetPlaceList
q5 q6 q7 q8
Coordinator Level 1
Query1
Finds information about places located within 15 km from each city whose name starts with ’Atlanta‘ in all US states.
Observation –Query1
1 4 5 6 10 15 20 25 30 40 60 0 3
5 11 100
2030 4050 6070 8090 100110 130120 140150 170160 180190 200210 220230 240250
Execution time
f1
f2
50-60 60-70 70-80 80-90 90-100 100-110 110-120 120-130 130-140 140-150 150-160 160-170 170-180 180-190 190-200 200-210 210-220 220-230 230-240 240-250
• Lowest execution time region is achieved within the range 50 - 60 sec with the fanout vector {5,4}.
• Fastest execution time 56.4 sec outperformed with the speedup of 4.3 the central
Adaptive Results- Query1
Query1
0.00 20.00 40.00 60.00 80.00 100.00
Process selection
Execution time
Best FF_APPLYP fo1=5 fo2=4 p=1, no drop stage, fo1=3 fo2=3 p=1, drop stage, fo1=2 fo2=3 p=2, no drop stage, fo1=4 fo2=5 p=2, drop stage, fo1=3 fo2=3 p=3, no drop stage, fo1=5 fo2=3.4 p=3, drop stage, fo1=4 fo2=3.25 p=4, no drop stage, fo1=6 fo2=8.7 p=4, drop stage, fo1=5 fo2=4.2 p=5, no drop stage, fo1=7 fo2=7.5 p=4, drop stage, fo1=6 fo2=7.8
Semantic Web Services
•An emerging framework that aims at machine-processable information for information sharing.
•Defines standards not only for syntactic form of documents, but also for the semantic contents
•RDF /RDFSchema to facilitate semantic interoperability
•An ontology defines a hierarchy of concepts within a domain through an attribute-value means
Resource Description Framework (RDF)
• RDF provides a method to decompose any knowledge into small segments, called triples
• Each triple contains subject, object and predicate.
http://www.it.uu.se/edu/ course/kursstart/spring.html
http:/ /www.it.uu.se/edu/ Department of Information Technology
http://www.it.uu.se/edu/maintained
Questions ???
Thanking You for the attention