(semantic) web services
DESCRIPTION
(Semantic) Web Services. M.-S. Hacid University Claude Bernard, Lyon – France http://www710.univ-lyon1.fr/~dbkrr. Outline. Evolution of MIS/DSS Enterprise Applications Integration (EAI) Web Services Semantic Web Semantic Web Services Conclusion. History. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/1.jpg)
1
(Semantic) Web Services(Semantic) Web Services
M.-S. HacidM.-S. HacidUniversity Claude Bernard, Lyon – FranceUniversity Claude Bernard, Lyon – France
http://www710.univ-lyon1.fr/~dbkrrhttp://www710.univ-lyon1.fr/~dbkrr
![Page 2: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/2.jpg)
2
Outline
Evolution of MIS/DSSEnterprise Applications Integration (EAI)Web ServicesSemantic WebSemantic Web ServicesConclusion
![Page 3: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/3.jpg)
3
The information processing profession is historically immature because it has existed only since the early 1960s.
Classical Operational Information Systems:- How much an account balance is, right now?- How much is an inventory, right now?- What the status of a shipment is, right now?
But there is a real value in looking at and integrating information over the spectrum of time as well
History
![Page 4: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/4.jpg)
4
DSS is at the end of a long and complex evolution but continues to evolve.
1960
- master files- programs (Cobol)- reports
History (Cond.)
![Page 5: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/5.jpg)
5
History (Cond.)
1965
- complexity ofmaintenancedevelopment
- synchronization of data- hardware
Lots of master files!!!
![Page 6: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/6.jpg)
6
History (Cond.)
DASDDBMS
database – ’’ a single source of data for all processing’’
1970
Online, High-performanceTransaction Processing1975
![Page 7: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/7.jpg)
7
History (Cond.)
tx processing
1980
MIS/DSS
PCs, 4GL technology
![Page 8: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/8.jpg)
8
History (Cond.)
OLTP
1985
extract programextract program
Why extract program?- Performance- Control
![Page 9: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/9.jpg)
9
History (Cond.)
1990’’spider web’’
![Page 10: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/10.jpg)
10
History (Cond.)
- credibility of data - productivity - inability to transform data into information
Problems with Naturally Evolving Architecture:Problems with Naturally Evolving Architecture:
![Page 11: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/11.jpg)
11
History (Cond.)
Lack of Credibility of Data:Lack of Credibility of Data:
Dept. A +10%activity up
Dept. B -15%activity down
![Page 12: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/12.jpg)
12
History (Cond.)
No time basis of dataNo time basis of data
Dept. A: +10%
Dept. B: -15%
Sunday evening
Wednesday pm
![Page 13: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/13.jpg)
13
History (Cond.)
Algorithmic differential
Dept. A has chosen to analyze all old accountsDept. B has chosen to analyze all large accounts
Is there any necessary correlation between the characteristics of customers who have old accounts and customers who have large accounts?
Probably NOT!
![Page 14: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/14.jpg)
14
History (Cond.)
Levels of extraction
Many levels of extraction being done from the timedata enters the corporation’s system to the time analysis is prepared for management
![Page 15: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/15.jpg)
15
History (Cond.)
Dept. A: +10%
Dept. B: -15%
Sunday evening old accts
Wednesday pmlarge accts
![Page 16: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/16.jpg)
16
History (Cond.)
External data
With today’s technologies at the PC level, it is easy tobring in data from outside sources
![Page 17: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/17.jpg)
17
History (Cond.)
Dept. A: +10%
Dept. B: -15%
Sunday evening old accts
Wednesday pmlarge accts
Business Week
Wall Street journal
![Page 18: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/18.jpg)
18
History (Cond.)
No common source of data
Analysis of department A originates from files XYAnalysis of department B originates from databases XUVW
No synchronization or sharing of data between XY and XUVW!
![Page 19: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/19.jpg)
19
History (Cond.)
Dept. A: +10%
Dept. B: -15%
Sunday evening old accts
Wednesday pmlarge accts
Wall Street journal
Business Week
![Page 20: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/20.jpg)
20
History (Cond.)
Problem with productivityProblem with productivity
To produce a corporate report
locate and analyze the data for the report
Locate data : 9-12 monthsLocate data : 9-12 months
Get data : 15-24 monthsGet data : 15-24 months
lots of files to explore
![Page 21: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/21.jpg)
21
Web ServicesWeb Services
A Change in the ApproachA Change in the Approach
Data Warehouse Enterprise Applications Integration
Semantic Web ServicesSemantic Web Services
![Page 22: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/22.jpg)
22
Enterprise Applications Integration (EAI)Enterprise Applications Integration (EAI)
What is EAI?
Enterprise Applications Integration is a solution that supports real-time seamless access to information resident in a variety of repositories.
Business processing logic is extracted from application code and placed into an EAI tool where it is graphically represented and manipulated.
![Page 23: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/23.jpg)
23
SAPSAP
Computer Telephony
Computer TelephonyCOPSCOPS
Customer CallCustomer CallBWBW
E-CommerceE-Commerce
FinancialsFinancials
JDAJDA
DRPDRP
Tax SystemTax System
EmailEmailCBCFCBCF
1
16
13
14
3 11
10
12
9
5 84
7
2
BFDIBFDI
15
16
17
14
SAPSAP
Computer Telephony
Computer TelephonyCOPSCOPS
Customer CallCustomer Call
BWBW
E-CommerceE-Commerce
FinancialsFinancials
JDAJDA
DRPDRP
Tax SystemTax System
EmailEmailCBCFCBCF
1
16
13
14
3 11
10
12
9
5 84
7
2
BFDIBFDI
15
16
17
14
SAPSAP
Computer Telephony
Computer TelephonyCOPSCOPS
Customer CallCustomer CallBWBW
E-CommerceE-Commerce
FinancialsFinancials
JDAJDA
DRPDRP
Tax SystemTax System
EmailEmailCBCFCBCF
1
16
13
14
3 11
10
12
9
5 84
7
2
BFDIBFDI
15
16
17
14
SAPSAP
Computer Telephony
Computer TelephonyCOPSCOPS
Customer CallCustomer CallBWBW
E-CommerceE-Commerce
JDAJDA
1
16
13
14
105 8
4
7
BFDIBFDI
1514
SAPSAP
Computer Telephony
Computer TelephonyCOPSCOPS
Customer CallCustomer CallBWBW
E-CommerceE-Commerce
FinancialsFinancials
JDAJDA
DRPDRP
Tax SystemTax System
EmailEmailCBCFCBCF
1
16
13
14
3 11
10
12
9
5 84
7
2
BFDIBFDI
15
16
17
14
SAPSAPE-CommerceE-Commerce
FinancialsFinancials
DRPDRP
Tax SystemTax System
EmailEmailCBCFCBCF
14
3 11
12
9
2
BFDIBFDI
15
16
17
??
Today’s Business Reality
![Page 24: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/24.jpg)
24
Why EAI?
The needs for AI stem primarily from the following business and technical objectives:
1. Integrate with outside partner/customer (as part of a merger) or a «net new» entity, which varies widely from a new set of e-commerce applications to supply chain integration.
2. Migrate towards a customer centric operating model to gain additional Insights in customer behaviors and identify new revenue streams and cross-selling opportunities.
3. Isolate components of huge monolithic systems so they can be replaced or retired because the legacy systems become un-maintainable.
4. Layer an end-user application (especially portals, CRM, and Web-based self-service) that must access data across multiple systems and/or databases.
5. Lower total cost of ownership by reducing system management complexity and maintenance costs.
![Page 25: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/25.jpg)
25
EAI provides a structured and efficient way to integrate not only the applications but also the business process. EAI solutions offer the following unique benefits:
1. Reduced development and maintenance cost (separation of business logic from transaction processing capability…).
2. Enhanced performance and reliability (asynchronous messaging mechanisms…).
3. Centralized information bus (unification of isolated applications…).4. Extension of legacy system lifecycle.5. Reduced time to market (customize existing business rules and extend
application functionality).
![Page 26: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/26.jpg)
26
Enterprise Integration Solution
Reseller
Distributor
Customer
Service BSP
BusinessProcess Management
(BPM)
PackagedApps
CustomApps
LegacyApps
AppServers
EAI B2Bi B2Bi Exchange
Mfg. BSP
Supplier
Logistics BSP
Mediate the interactions between the applications to integrate
![Page 27: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/27.jpg)
27
Message Transport
Business Process Integration
Message Routing & Transformation
RulesEngine
InformationSystems
OperationalSystems
Partners
CustomerService
DistributionChannels
RulesMetadata
Data
Data
Data
DataData
Data
Customer Service RelationshipCustomer Service Relationship
-CRM-Call Center-eMail-Instant Messaging
-Payroll-HR-Benefits-Etc. -Order Management
-Warehouse Management-Backend Support-Billing.
Product/Customer AnalysisProduct/Customer Analysis
-Data Warehouse-Data Analysis-Targeted Marketing
Customers,Customers,Distributors,Distributors,ResselersResselers
-Web Site-Profiling-Personalization-Customization
-Community-Content-Commerce
![Page 28: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/28.jpg)
28
Web ServicesWeb ServicesWe look at Web services as a way to expose the functionality of an information system and make it available through standard web technologies. The use ofstandard technologies reduces heterogeneity, and is therefore key to facilitateapplication integration.
Web services represent the first concerted effort that has gathered wide support for standardizing interactions across information systems.
Difficulties of integrating applications across the Internet:1. Firewalls2. Lack of standardized protocols3. Need for loosely-coupled interactions4. Etc.
![Page 29: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/29.jpg)
29
Web Services and their Approach to Web Services and their Approach to Distributed ComputingDistributed Computing
(main ingredients of Web services)(main ingredients of Web services)
Defining Web servicesDefining Web services
Generic definition
A Web service is seen as an application accessible to other applicationsover the Web [Fisher 2002, Menasce and Almeida 2001].
Anything that has a URL is a Web service (ex. cgi script)
A program accessible over the Web with a stable API, published with additional descriptive information on some service directory.
M. Fisher. Introduction to Web Services. Part of the Java Web Services Tutorial. Aug. 2002. http://java.sun.com/webservices/docs/1.0/tutorial/.
D. Menasce and V. Almeida. Capacity Planning for Web Services. Prentice Hall, 2001.
![Page 30: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/30.jpg)
30
Definition by UDDI Consortium
A Web service is considered as a self-contained, modular business applicationthat has open, Internet-oriented, standards-based interface.
Published interface thatcan be invoked across theInternet
?
![Page 31: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/31.jpg)
31
Definition by W3C
«A software application identified by a URI, whose interfaces and bindingsare capable of being defined, described, and descovered as XML artifacts.A Web service supports direct interactions with other software agents usingXML-based messages exchanged Internet-based protocols» [W3C 2002]
Should be advertised so that it is possible to write clients thatbind and interact with them.
Part of Web technology.Data format used for manyWeb-based interactions.
W3C. Web Services Architecture Requirements. October 2002. http://www.w3.org/TR/wsa-reqs/.
![Page 32: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/32.jpg)
32
Another Definition [Jupitermedia Corporation]
A standardized way of integrating Web-based applications using the XML, SOAP, WSDL, and UDDI open standards over an Internet protocol backbone
•XML is used to tag the data•SOAP is used to transfer the data•WSDL is used for describing the services available•UDDI is used for listing what services are available
Jupitermedia Corporation. Webopedia: Online Dictionary for Computer and Internet Terms. http://www.webopedia.com/.
![Page 33: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/33.jpg)
33
Example: B2B integration
CustomerCustomer SupplierSupplier
WarehouseWarehouse
Internalinfrastructure
Internal procurementrequests
Webserver
Internalinfrastructure
Webserver
Internalinfrastructure
B2B interactions occur byaccessing Web pages, filling Web forms, or via email.
Automation is driven by the goals:
•Lower costs•Streamlined and more efficient process•Ability to monitor and track process executions•Ability to detect and manage exceptions
![Page 34: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/34.jpg)
34
Limitations of Conventional Middleware in B2B Integration
Customer’sadapters
Warehouse’sadapters
Supplier’sadapters
Internalinfrastructure
Internalinfrastructure
Internalinfrastructure
customer
supplier
warehouse
third party
WfMS
WfMS adapter
message broker
Internal procurementrequests
A ’’global’’ workflow isexecuted here (drives the whole business process)
The combination of messagebroker and adapters enables interoperability
Where to put the middleware?
•Trust•Confidentiality•Autonomy
![Page 35: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/35.jpg)
35
The Web brought
•Standard interaction protocols (HTTP)•Data formats (XML)
Adopted by many companies
Creation of a basis for establishing a commonCreation of a basis for establishing a commonmiddleware infrastructure that reduces the middleware infrastructure that reduces the heterogeneity among interfaces and systems.heterogeneity among interfaces and systems.
![Page 36: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/36.jpg)
36
B2B integration with Web Services
Three main aspects
•Service-oriented architectures.•Redesign of middleware protocols.•Standardization.
![Page 37: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/37.jpg)
37
Service-oriented paradigm
Assumption
The functionality made available by a company will be exposed as a service
A service is a procedure, method, or object with a stable, published interfacethat can be invoked by clients
Requesting and executing a service involves a program calling another program
Services are loosely-coupled
![Page 38: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/38.jpg)
38
Middleware protocols
Web services redesign of the middleware protocols to work in a peer-to-peerfashion and across companies.
In conventional middleware: lack of trust and confidentiality issues often makea case against a central coordinator.
needs to be redesigned to allow more flexibility in terms oflocking resources.
![Page 39: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/39.jpg)
39
Standardization
In conventional application integration: CORBA and Java enabled the development of portable applications.
Service-oriented architectureRedefinition of middleware protocols Not sufficient standardization
OASIS (Organization for the Advancement of Structured Standards)W3C
B2B integration is what generated the need for web services
![Page 40: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/40.jpg)
40
CustomerCustomer SupplierSupplier
WarehouseWarehouse
Internalinfrastructure
Internal procurementrequests
Webservice
Internalinfrastructure
Webservice
Internalinfrastructure
It is possible to make web services available to clients residing on a local LAN
Webservice
Internal functionalitymade available as a service
Interactions based onprotocols redesigned for peer to peer and B2B settings
Languages and protocols standardized, eliminating need for manydifferent middleware infrastructures (need only the web services middleware)
However, the challenge and ultimategoal of web services is inter-company interactions(a long-term goal!)No centralized coordination!
![Page 41: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/41.jpg)
41
Web Services TechnologiesWeb Services Technologies
The first required issues:• What exactly a service is?• How it can be described?
Service description in conventional middleware is based on interfaces and interface definition languages (IDL).
Implicit context:• Clients and services are developed by the same team.• Semantics of operations + order of invocation known in advance.• The middleware platform defines and constrains many aspects of the service description and binding process.
In web services and B2B interaction no such implicit context!service descriptions must be richer and more detailed.
![Page 42: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/42.jpg)
42
Properties and semantics
Business protocols
Interfaces
Common base language
Service description and discovery stack
Non-functional propertiese.g., return policy, QoS,..(UDDI)
Order in which toexecute operations by a client(WSCL, BPEL)A language for specifying
URI and transport protocol (HTTP)(WSDL)
Meta language for specifyingall aspects of services(XML)
UDDI:Universal Description, Discovery and Integration
WSDL: Web Services Description Language
WSCL: Web Services Conversation LanguageBPEL: Business Process Execution Language
![Page 43: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/43.jpg)
43
Service discovery
• At design-time (static binding)• At run-time (using dynamic binding techniques)
![Page 44: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/44.jpg)
44
Service interactions (a set of abstractions and tools that enable interactions among services)
Middleware properties (horizontal protocols)
Protocol infrastructure(meta-protocol)
Basic and secure messaging
Transport
WS-transaction
WS-coordination
WS-securitySOAP
![Page 45: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/45.jpg)
45
Combining Web Services : Composition
Reseller of personal computers
Customer
Web service
RequestQuote PC manufacturers(latest prices)
Shippers(delivery schedules)
![Page 46: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/46.jpg)
46
Web Services ArchitecturesWeb services are a way to expose internal operations so that they can be invoked through the web.
Company A (provider)
Web service
Web service interface
Access to internal systems
middleware
internal service
internal service
Internalarchitecture
Externalarchitecture
client
Company D (client)
Web service
Web service
Company B (provider)
Web service
Web service
Web service
Company C (provider)
Centralized brokers•Route messages•Provide properties to the interactions
•Logging•Transactional guarantees•Name and directory services•reliability
Service composition infrastructureSupports the definition and execution of composite services
Protocol infrastructure•Coordinates the interaction among web services•Implements the peer to peer protocols
![Page 47: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/47.jpg)
47
Internal Architecture of a Web Service
resourcemanager
resourcemanager
resourcemanager
resourcemanager
middlewaremiddleware
middleware
service interface service interface
service interface
integration logicintegration logic
integration logic
other tiers
The basic components of each middleware instance reside on a LAN and the resulting application also runs on the same LAN.
![Page 48: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/48.jpg)
48
External Architecture of a Web Service
Wrapping internal functionality as a Web Service brokers and workflow management systems in the case of conventional middleware
External middleware for web services where this middleware should reside?
Two solutions:
1. Implement the middleware as a peer-to-peer system (appealing but problem of reliability and trustworthiness)2. Introduce intermediaries or brokers acting as the necessary middleware.
![Page 49: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/49.jpg)
49
other tiers other tiers
Web serviceWeb service client
Web service middleware(internal)
Web service middleware(internal)
Service descriptions
Company B (service provider)
Company C (directory service provider)
Company A (service requester)
3. interact
1. Publish the service description2. find
The abstraction and infrastructureprovided by the registry are part of the external middleware
![Page 50: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/50.jpg)
50
Basic Web Services Technology
Web services architectures are mainly based on three components:
1. The service requester2. The service provider3. The service registry
Thereby closely following a client/server model with an explicit name and directory service
Basic infrastructure necessary to implement web services:
• A way to communicate (SOAP)• A way to describe services (WSDL)• A name and directory server (UDDI)
Core of web services
![Page 51: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/51.jpg)
51
A minimalist infrastructure for web services
1. Common syntax for all specifications (XML)
2. A mechanism to allow remote sites to interact with each other
a. A common data format for the messages being exchangedb. A convention for supporting specific forms of interaction (messaging or RPC)c. A set of bindings for mapping messages into a transport protocol (TCP/IP, HTTP, SMTP)
Messages as basic unit of communication
![Page 52: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/52.jpg)
52
Service requestorService requestor Service providerService provider
Application object(client)
Application object(service provider)
SOAP-basedmiddleware
SOAP-basedmiddleware
Converts procedure calls to/from XMLmessages sent through HTTP or other protocols
SO
AP
me
ss
ag
es
ex
ch
an
ge
d o
n t
op
of
HT
TP
, S
MT
P o
r o
the
r tr
an
sp
ort
![Page 53: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/53.jpg)
53
Service requestor Service provider
Application/proxy object (client)
Application/proxy object (provider)
SOAP-basedmiddleware
SOAP-basedmiddleware
stub skeleton
WSDL of Service provider
WSDL compiler(client side)
WSDL compiler(server side)
<operation name=’’orderGoods’’> <input message=‘’’OrderMsg’’/></operation>
SOAP messages
![Page 54: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/54.jpg)
54
Service requestor Service provider
Application object(client)
Application object(service provider)
SOAP-basedmiddleware
SOAP-basedmiddleware
stub skeleton
SOAP-based middleware
Service descriptions
UDDI registry
SOAP messages(to publish service description)
SOAP messages(to look for services)
SOAP messages
•How to publish services?•What information needs to be provided to register a service?•How to query the registry?
![Page 55: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/55.jpg)
55
SOAP : Simple Object Access Protocol
A joint effort from Canon, IBM, Microsoft and SUN
First version (1999) based on HTTPCurrent version (2003) XML encoding
SOAP defines how to organize information using XML in a structured and typed manner so that it can be exchanged between peers.
- A message format describing how information can be packaged into an XML document.- A set of conventions for using SOAP messages to implement the RPC interaction pattern, defining how clients can invoke a remote procedure by sending a SOAP message and how services can reply by sending another SOAP message back the caller.- A set of rules that any entity that processes a SOAP message must follow.- A description of how a SOAP message should be transported on top of HTTP and SMTP.
![Page 56: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/56.jpg)
56
Schematic Representation of a SOAP message
Header block
Body block
SOAP body
SOAP header
SOAP envelopeOptionalcan be processed by intermediate nodes
MandatoryIntended to the receiver
![Page 57: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/57.jpg)
57
PurchaseOrderdocument- product item- quantity
Acknowledgment document- order ID
SOAP body SOAP body
SOAP envelope SOAP envelope
Document-style interaction
Method nameorderGoods Methode return
SOAP body SOAP body
SOAP envelope SOAP envelope
RPC-style interaction
Input parameter 1product item
Input parameter 2quantity
return valueorder ID
Agreement on the structure of the document
Agreement on the RPC methodsignature
![Page 58: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/58.jpg)
58
The structure of a SOAP message is also influenced by encoding rules, which define how a particular entity or data structure is represented in XML.
<ProductItem> <name>…</name> <type>…</type> <make>…</make></ProductItem>
<ProductItem name=’’…’’ type=’’…’’ make=’’…’’/>
<ProductItem name=’’…’’ <type>…</type> <make>…</make></ProductItem>
<?xml version=’1.0 ?><env:Envelope xmlns:env=’’http://www.w3.org/2002/06/soap-envelope’’><env:Header> <t:transactionID
xmlns:t=’’http://intermediary.example.com/procurement’’env:role=’’http://www.w3.org/2002/06/soap-envelope/role/next’’env:mustUnderstand=’’true’’ >57539
</t:transactionID></env:Header>
<env:Body> <m:orderGoods
env:encodingStyle=’’http://www.w3.org/2002/06/soap-encoding’’xmlns:m=’’example.com/procurement’’>
<m:productItem><name>ACME Softener</name>
</m:productItem> <m:quantity>
35 </m:quantity> </m:orderGoods></env:Body></env:Envelope>
envelope
header
blocks
body
-none-next-ultimateReceiver
Tra
ns
ac
tio
n i
de
nti
fie
r
![Page 59: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/59.jpg)
59
<!-- request GetLastTradePriceInput is of type TradePriceRequest --> <wsdl:message name="GetLastTradePriceInput">
<wsdl:part name="body" element="xsd1:TradePriceRequest"/> </wsdl:message>
<!-- request GetLastTradePriceOutput is of type TradePrice --> <wsdl:message name="GetLastTradePriceOutput">
<wsdl:part name="body" element="xsd1:TradePrice"/> </wsdl:message>
<!-- wsdl:portType describes messages in an operation --> <wsdl:portType name="StockQuotePortType">
<!-- the value of wsdl:operation eludes me --> <wsdl:operation name="GetLastTradePriceGetLastTradePrice">
<wsdl:input message="tns:GetLastTradePriceInput"/>
<wsdl:output message="tns:GetLastTradePriceOutput"/> </wsdl:operation>
</wsdl:portType>
![Page 60: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/60.jpg)
60
SOAP Message Embedded in HTTP RequestSOAP Message Embedded in HTTP Request
POST /StockQuote HTTP/1.1 Host: www.stockquoteserver.com Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "Some-URI"
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body>
<m:GetLastTradePrice xmlns:m="Some-URI"> <m:tickerSymbol>DIS</m:tickerSymbol>
</m:GetLastTradePrice> </soapenv:Body>
</soapenv:Envelope>
SOAP Message Embedded in HTTP ResponseSOAP Message Embedded in HTTP ResponseHTTP/1.1 200 OK Content-Type: text/xml; charset="utf-8" Content-Length: nnnn
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body>
<m:GetLastTradePriceResponse xmlns:m="Some-URI"> <m:price>34.5</m:price>
</m:GetLastTradePriceResponse> </soapenv:Body>
</soapenv:Envelope>
![Page 61: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/61.jpg)
61
A Simple Implementation of SOAP
HTTP engine
clientimplementation
client stub
SOAP engine
invokes the serviceas local call
invoke SOAP engine toprepare SOAP message
Packages SOAP into HTTP andpasses it to an HTTP client thatsends it to the provider
Service requesterService requester
HTTP server
serviceimplementation
server stub
SOAP router
invokes the localprocedure of the serviceimplementation
The router passes the message,identifies the appropriate stub,and delivers the parsed message
passes the content of HTTPmessage to the router
Service providerService provider
Pro
xy p
roce
du
re lo
cate
d in
a s
tub
ap
pe
nd
ed
to
th
e c
lien
t a
t co
pm
pile
tim
e
![Page 62: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/62.jpg)
62
WSDL: Web Services Description Language
Originally created by IBM, Microsoft, and AribaWSDL = merge of three previous proposals:
• Microsoft SOAP Contract Language (SCL) and Services Description Language (SDL)• IBM’s Network Accessible Service Specification Language (NASSL)
In WSDL, specifications are XML documents that describe Web services (service interfaces); that is operations offered by a Web service.
WSDL also needs to define the mechanisms to access the Web service.
Existing IDLs are tied to a concrete middleware platform.
Lack of a common middleware platform the need for defining the location at which the service is available.
![Page 63: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/63.jpg)
63
Structure of a WSDL interface
WSDL specificationWSDL specification
abstract part
concrete part
types
messages
operations
port types
bindings
services and ports
each message is a typed document
one-waynotificationrequest-responsesolicit-response
asynchronous
synchronous
defines protocolbinding andother information
Conceptually analogous to conventional IDL
![Page 64: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/64.jpg)
64
![Page 65: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/65.jpg)
65
12
WSDL of serviceprovider
WSDL compiler(client side)
WSDL compiler(server side)
WSDL generator
service providerservice requestor
application object(client)
skeleton
SOAP-basedmiddleware
SOAP-basedmiddleware
application object(service provider)
SOAP messages
stub
Using WSDLUsing WSDL1. A contract that a Web service implements2. Input to a stub compilers and other tools
![Page 66: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/66.jpg)
66
UDDI: Universal Description Discovery and Integration
Specification of a framework for describing and descovering Web services
UDDI specification originated from:
1. Ariba and IBM collaborations on B2B2. IBM and Microsoft collaborations on XML and SOAP3. Microsoft and Ariba collaborations on BizTalk and cXML
First specification appeared in 2000
UDDI defines data structures and APIs for publishing service descriptions in the registry and for querying the registry to look for published descriptions
![Page 67: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/67.jpg)
67
Information in a UDDI registry
: organizations and contact information (e.g., telephone, email address) and the services the organizations provide.
: classifications of both companies and Web services according to taxonomies.
: how a given service can be invoked (pointers to service description documents, typically stored outside the registry)
White Pages
Yellow Pages
Green Pages
![Page 68: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/68.jpg)
68
UDDI data structures
bindingTemplatebindingTemplatebinding keydescriptionaddressdetailed inforeferences to tModels
businessServicebusinessServiceservice keynamedescriptioncategories
businessEntitybusinessEntitynamecontactsdescriptionidentifierscategories
tModeltModelkeynamedescriptionoverviewDocidentifierscategories
tModeltModelkeynamedescriptionoverviewDocidentifierscategories
Specs storedat the provider’ssiteA
gro
up
of
rela
ted
We
b s
erv
ice
s
off
ere
d b
y a
bu
sin
es
s e
nti
ty
![Page 69: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/69.jpg)
69
UDDI tModel: example
<tModel tModelKey=’’uddi:uddi.org:v3_publication’’><name>uddi-org:publication_v3</name><description>UDDI Publication API V3.0</description>
<overviewDoc><overviewURL useType=’’wsdlInterface’’>
http://uddi.org/uddi_api_v3_binding.wsdl#UDDI_Publication_SoapBinding</overviewURL>
</overviewDoc><overviewDoc>
<overviewURL useType=’’text’’>http://uddi.org/pubs/uddi_v3.htm#PubV3</overviewURL>
</overviewDoc>
<categoryBag><keyedReference keyName=’’uddi-org:types:wsdl’’
keyValue=’’wsdlSpec’’tModelKey=’’uddi:uddi.org:categorization:types’’/>
<keyedReference keyName=’’uddi-org:types:soap’keyValue=’’soapSpec’’tModelKey=’’uddi:uddi.org:categorization:types’’/>
<keyedReference keyName=’’uddi-org:types:xml’’keyValue=’’xmlSpec’’tModelKey=’’uddi:uddi.org:categorization:types’’/>
<keyedReference keyName=’’uddi-org:types:specification’’keyValue=’’specification’’tModelKey=’’uddi:uddi.org:categorization:types’’/>
</categoryBag></tModel>
overviewDoc (refer to WSDL specs and to API specs)
Classification information(specifies that this tModel is about XML, WSDL and SOAP specs)
![Page 70: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/70.jpg)
70
Web services at work
serviceimplementation
server stub
SOAP router
HTTP engine
WSDL generator
WSDL servicedescriptions
WSDL compiler
UDDI publisher
bindingTemplate
businessService
businessEntity
tModel
UDDI registry
Inquiry APIInquiry API
Publishers APIPublishers API
service provider
1
2
3
A (
Java
) pr
ogra
m w
hich
res
ides
and
exe
cute
s on
a
serv
er to
pro
vide
fun
ctio
nali
ty to
the
serv
er o
r pr
oces
sing
of
data
on
the
serv
er.
Case of a stored procedure
![Page 71: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/71.jpg)
71
Service Coordination Protocols
1: requestQuote
2: orderGoods
3: makePayment
customercustomer(client)(client)
suppliersupplier(Web service)(Web service)
In real applications, interactions are typically more complex than single, independent invocations.Using a particular service typically involves performing sequences of operations in a particular order.
Complex internal logicContext information(conventional programming language orservice compositionservice composition)
![Page 72: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/72.jpg)
72
Modeling Conversation between a Client and a Web Service
quote requested
goods ordered
order completedorder canceled
requestQuote
orderGoods
makePaymentscancelOrder
WSCL
ConversationConversation: sequences of operations (i.e., message exchanges) that could occur between a client and a service as part of the invocation of a Web service.
Coordination protocolCoordination protocol: the specification of the set of correct and accepted conversations.
State machineState machine
![Page 73: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/73.jpg)
73
Modeling Conversations among Multiple Web Services (Multi-party Conversations)
Reason: asynchronous nature of Web services
customercustomer suppliersupplier
1: requestQuote1: requestQuote
2: orderGoods2: orderGoods
3: confirmOrder3: confirmOrder
4: makePayment4: makePayment
![Page 74: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/74.jpg)
74
customercustomer suppliersupplier
1: requestQuote1: requestQuote
2: orderGoods2: orderGoods
4: confirmOrder4: confirmOrder
5: makePayment5: makePayment
warehousewarehouse
3: checkShipAvailable3: checkShipAvailable7: getShipmentDetail7: getShipmentDetail
8: confirmShipment8: confirmShipment
6: orderShipment6: orderShipment
9: confirmShipment9: confirmShipment
![Page 75: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/75.jpg)
75
customer supplier warehouse
requestQuoterequestQuote
orderGoodsorderGoods
confirmOrderconfirmOrder
makePaymentmakePayment
checkShipAvailablecheckShipAvailable
orderShipmentorderShipment
getShipmentDetailgetShipmentDetail
confirmShipmentconfirmShipment
confirmShipmentconfirmShipment
Sequence diagramSequence diagram
![Page 76: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/76.jpg)
76
requestQuote(to supplier)
orderGoods(to supplier)
makePayment(to supplier)
confirmShipment(to warehouse)
checkShipAvailable(to warehouse)
confirmOrder(to customer)
cancelOrder(to customer)
orderShipment(to warehouse) getShipmentDetails
(to customer)
confirmShipment(to supplier)
customercustomersuppliersupplier warehousewarehouse
Act
ivit
y d
iag
ram
Act
ivit
y d
iag
ram
![Page 77: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/77.jpg)
77
Service Composition
Composition as a way to master complexity
customer(client)
supplier(Web service)
requestQuoterequestQuote
orderGoodsorderGoods
makePaymentmakePayment
another supplier(Web service)
approval(Web service)
requestQuoterequestQuote
noti
fyPaym
ent
noti
fyPaym
ent
![Page 78: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/78.jpg)
78
supply chain
inventory planning
accounting procurement supplier
another supplierapproval… …
customercustomer
![Page 79: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/79.jpg)
79
Semantic WebSemantic Web
![Page 80: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/80.jpg)
80
Semantic Web
• It is the sucess of the web that creates serious needs for its improvement.
• The web uses the computer as a device for rendering information for the human reader but neither for information processing nor computing.
The semantic web is aiming on bringing back the computer as an information processing device.
![Page 81: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/81.jpg)
81
Semantic Web
• The semantic web is based on machine-processable semantics of data.
• It will significantly change our information access based on a higher level of service provided by computers.
• It is based on new web languages such as XML, RDF, and OWL, and tools that make use of these languages.
• Applications are in areas such as Knowledge Management (eWork, eLearning, eGoverment, ...), Enterprise Application Integration, and eCommerce.
![Page 82: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/82.jpg)
82
The Evolving WebWeb of
Knowledge
HyperText Markup LanguageHyperText Transfer Protocol
Resource Description FrameworkeXtensible Markup Language Self-Describing Documents
Foundation of the Current Web
Proof, Logic andOntology Languages Shared terms/terminology
Machine-Machine communication
1990
2000
2010
Berners-Lee, Hendler; Nature, 2001
DOCUMENTS
DATA/PROGRAMS
![Page 83: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/83.jpg)
83
Semantic Web
Main achievements:• A ontology language proposal called OWL.• Several case studies for intranet applications
and a methodology.• A three-layered software architecture for
making the semantic web a reality.• A large number of interwoven web services
that implement this vision.
![Page 84: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/84.jpg)
84
Hierarchy of Languages
DAML + OiL
RDFS
RDF
XML
![Page 85: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/85.jpg)
85
RDF – Resource Description Framework
• Resources are related to each other by properties to form subject/predicate/object statements (triples).
• The triples can be used to construct a graph:
• Statements themselves can be resources of other statements (i.e. reified statements)
http://www.w3.org “W3C Home Page”
http://purl.org/dc/elements/1.1/title
“WWW Consortium”http://purl.org/dc/elements/1.1/publisher
subjectpredicate
object
objectpredicate
![Page 86: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/86.jpg)
86
RDF Syntax• Data model does not enforce particular syntax• Specification suggests many different
syntaxes based on XML• General form:
<rdf:RDF> <rdf:Description about="http://www.w3.org/Home/Lassila"> <s:Creator>Ora Lassila</s:Creator> <s:createdWith rdf:resource=“http://www.w3c.org/amaya”/> </rdf:Description></rdf:RDF>
Starts an RDF-Description
Properties
Subject (OID)
Literal
Resource (possibly another RDF-description)
![Page 87: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/87.jpg)
87
Resulting Graph
<rdf:RDF> <rdf:Description about="http://www.w3.org/Home/Lassila"> <s:Creator>Ora Lassila</s:Creator> <s:createdWith rdf:resource=“http://www.w3c.org/amaya”/> </rdf:Description></rdf:RDF>
http://www.w3c.org/amaya
http://www.w3.org/Home/Lassila
Ora Lassila
s:createdWiths:Creator
![Page 88: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/88.jpg)
88
RDF schema
• Different from XML DTD: syntax vs. semantics
• Defines Class, Property, subClassOf, subPropertyOf, domain, range, and some others
• http://www.w3.org/TR/rdf-schema/ http://www.w3.org/TR/REC-rdf-syntax/
![Page 89: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/89.jpg)
89
Why RDF Is Not Enough
• Only range/domain constraints on properties (need others)
• No properties of properties (unique, transitive, inverse, etc.)
• No equivalence, disjointness, etc. • No necessary and sufficient
conditions (for class membership) • No defined semantics
![Page 90: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/90.jpg)
90
From RDF to DAML+OIL• DAML+OIL: DARPA Agent Markup Language
– Current version unites early DAML language with OIL
• DAML+OIL extends RDF statements to provide a rich descriptive logic language– Provides restrictions and additional notations on properties
• Cardinality restrictions• Notations include inverseOf, Transitivity, etc
– Provides additional properties for class definitions• Disjoint-with, complement-Of, intersectionOf, etc
– Provides universal & existential quantification through class restriction
http://www.daml.org/http://www.daml.org/languagelanguage
![Page 91: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/91.jpg)
91
DAML+Oil example Define a "product number"'s domain and range..
<daml:DatatypeProperty rdf:ID="productNumber">
<rdfs:label>Product Number</rdfs:label>
<rdfs:domain rdf:resource="#Product"/>
<rdfs:range rdf:resource=
"http://www.w3.org/2000/10/XMLSchema#nonNegativeInteger"/>
</daml:DatatypeProperty>
”Availability" is a sort of enumerated type..
<daml:Class ID="Availability">
<daml:oneOf parseType="daml:collection">
<daml:Thing rdf:ID="InStock">
<rdfs:label>In stock</rdfs:label> </daml:Thing>
<daml:Thing rdf:ID="BackOrdered">
<rdfs:label>Back ordered</rdfs:label> </daml:Thing>
<daml:Thing rdf:ID="SpecialOrder">
<rdfs:label>Special order</rdfs:label> </daml:Thing>
</daml:oneOf>
</daml:Class>
![Page 92: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/92.jpg)
92
Semantic Web Layer Cake
RDF
HTTP
RDFS (RDF Schema)
DAML+OIL
• Semantic Web layer cake proposed by Tim Berners-Lee
• Build upon successive W3C standards• Add meaning through semantics to the existing WWW
XML
WWW Protocol
Syntax Layer
Relating Statements
Defining Taxonomies
Ontology & Description Logic
![Page 93: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/93.jpg)
93
Web 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!
• The issue is scalability and economy in price.
![Page 94: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/94.jpg)
94
Web Services
Def 1. Software Architecture
Def 2. New concept for eWork and eCommerce
Def 3. New programming technology
Figure Taken From Dieter Fensel Talk
![Page 95: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/95.jpg)
95
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
Web Services
![Page 96: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/96.jpg)
96
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.
Web Services
![Page 97: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/97.jpg)
97
Def 2. Web Services as a new Concept for eWork and eCommerce
Web Services are Services accessible via the web
Dieter Fensel`s definition
Web Services
![Page 98: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/98.jpg)
98
• 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.
Web Services
![Page 99: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/99.jpg)
99
Def 3. Web Services as a programming technology
Web Services are Remote Procedure Calls (RPC) over HTTP
current state of the art
Web Services
![Page 100: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/100.jpg)
100
Web 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.
==> Not surprisingly, web services require a ==> Not surprisingly, web services require a
similar infrastructure around UDDI, WSDL, and SOAP.similar infrastructure around UDDI, WSDL, and SOAP.
![Page 101: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/101.jpg)
101
Web Services
URI HTML HTTP
UDDI WSDL SOAP
![Page 102: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/102.jpg)
102
Web Services
• UDDI provides a mechanism for clients to find web services. A UDDI registry is similar to a CORBA trader, or it can be thought of as a DNS service for business applications.
• 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. It also defines a way to bind to HTTP as the underlying communication protocol. SOAP is basically a technology to allow for “RPC over the web”.
![Page 103: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/103.jpg)
103
Web Services
• UDDI, WSDL, and SOAP are important steps into the direction of a web populated by services.
• However, they only address part of the overall stack that needs to be available in order to achieve the above vision eventually.• There are many layer requires to achieve automaticautomatic web service discovery, selection, mediation and composition into complex services.
![Page 104: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/104.jpg)
104
Web 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.
![Page 105: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/105.jpg)
105
Semantic Web ServicesImagine 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 selectionselection and combinationcombination of heterogeneous web services during runtimeruntime.
![Page 106: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/106.jpg)
106
Semantic Web Services
• Mechanized support is needed, for example 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.
![Page 107: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/107.jpg)
107
• The WSMF consists of four main different elements:
– ontologiesontologies that provide the terminology used by other elements;
– goal repositoriesgoal repositories that define the problems that should be solved by web services;
– web servicesweb services descriptions that define various aspects of a web service;
– and mediatorsmediators which bypass interoperability problems.
ontologiesontologies
mediatorsmediators
web
ser
vice
sw
eb s
ervi
ces
repo
sito
ries
repo
sito
ries
Semantic Web Services
![Page 108: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/108.jpg)
108
URI, HTML, HTTPStaticWWW
500 million usermore than 3 billion pages
Sem
antic Web enabled
Web S
ervicesThe General Vision
![Page 109: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/109.jpg)
109
URI, HTML, HTTPStaticWWW
Serious Problems in information•finding
•extracting•representing•interpreting
•and maintaining
Sem
antic Web enabled
Web S
ervices
RDF, RDF(S), OWLSemantic Web
The General Vision
![Page 110: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/110.jpg)
110
Static
Dynamic
Bringing the computer back as a device for computation
Sem
antic Web enabled
Web S
ervices
URI, HTML, HTTP RDF, RDF(S), OWL
WWW Semantic Web
UDDI, WSDL, SOAP
Web Services
The General Vision
![Page 111: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/111.jpg)
111
Bringing the web to its full potential
Sem
antic Web enabled
Web S
ervices
Static
Dynamic UDDI, WSDL, SOAP
Web Services
URI, HTML, HTTP RDF, RDF(S), OWL
WWW Semantic Web
Intelligent Web Services
The General Vision
![Page 112: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/112.jpg)
112
Semantic WebSemantic Web ServicesServices
![Page 113: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/113.jpg)
113
Existing WebExisting Web
Semantic Web TechniquesSemantic Web Techniques Web Services techniquesWeb Services techniques
Semantic Web ServicesSemantic Web Services
![Page 114: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/114.jpg)
114
Sem
antic Web enabled
Web S
ervices
![Page 115: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/115.jpg)
115Slide taken from Grosof’s Talk
![Page 116: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/116.jpg)
116Slide taken from Grosof’s Talk
![Page 117: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/117.jpg)
117Slide taken from Grosof’s Talk
![Page 118: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/118.jpg)
118
Describing & Discovering Agents & Services on the Semantic Web• DAML – DARPA Agent Markup Language!• Can be used as a tool to investigate and solve many of
the agent-based semantic mismatch issues– i.e. Semantic mismatches in agent discovery,
selection, negotiation, interoperation, & in the composition/planning of larger scale solutions
• DAML -S Coalition formed to explore DAML for Services
![Page 119: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/119.jpg)
119
DAML-S
• An upper ontology for describing the properties & capabilities of agents & (Web) services in an unambiguous, computer interpretable markup language.
• Built as an additional layer above DAML+OIL
• Designed to the following automated tasks…
http://www.daml.org/serviceshttp://www.daml.org/services
![Page 120: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/120.jpg)
120
Automation enabled by DAML-S• Web Service Discovery & Selection
– Find an airline that can fly me to Toulouse, France.• Web Service Invocation
– Book flight tickets from AirFrance to arrive 21st Aug.• Web Service Composition & Interoperation
– Arrange taxis, flights and hotel for travel from Lyon to Toulouse, OR, via Paris.
• Web Service Execution Monitoring– Has the taxi to Toulouse Blagnac Airport been
reserved yet?
![Page 121: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/121.jpg)
121
Layered Approach to Language Development
XM
L
RDF
HTTP
DAML-S(Services)
RDFS (RDF Schema)
DAML+OIL
• The first major application of DAML+OIL
• Layer exists above DAML+OIL & RDF
• Future versions will build upon emerging layers (e.g. DAML-Rules etc)
![Page 122: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/122.jpg)
122
DAML-S Upper Ontology
. input types
. output types
. preconditions
. postconditions
. communication protocol (RPC, HTTP, …). port number. marshalling/serialization
• process flow• composition hierarchy• process definitions
![Page 123: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/123.jpg)
123
DAML-S Service Models
![Page 124: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/124.jpg)
124
Presenting Service Profiles
• Service Profile– Presented by a service.– Represents
“what the service provides”
– One can derive:• Service Advertisements• Service Requests
![Page 125: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/125.jpg)
125
DAML-S Service Profile
Non Functional Non Functional PropertiesProperties
Functionality Functionality DescriptionDescription
![Page 126: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/126.jpg)
126
DAML-S Service ProfileFunctionality Description
• Functional Specification of what the service provides in terms of parameters, subclassed as:– preconditionspreconditions– inputsinputs– outputsoutputs– effectseffects
• Summarizes the abstract capability of a service.
![Page 127: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/127.jpg)
127
DAML-S Service ProfileFunctionality Description
• Preconditions– Set of conditions that should hold prior to service invocation
• Inputs– Set of necessary inputs that the requester should provide to invoke
the service• Outputs
– Results that the requester should expect after interaction with the service provider is completed
• Effects– Set of statements that should hold true if the service is invoked
successfully.– Often refer to real-world effects
• Package being delivered, or Credit card being debited
![Page 128: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/128.jpg)
128
DAML-S Service ProfileFunctionality Description
• An Input/Output/Precondition/Effect parameter has three properties:– parameterName: the name of the parameter– restrictedTo : a resource corresponding to some
RDF/DAML property type within some ontology (i.e. the range of a parameter instance)
– refersTo : the corresponding parameter defined within the process model
![Page 129: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/129.jpg)
129
DAML-S Service ProfileFunctionality Description
![Page 130: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/130.jpg)
130
DAML-S Service ProfileNon Functional Properties
• Provides supporting information about the service.
![Page 131: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/131.jpg)
131
DAML-S Service ProfileNon Functional Properties
• These include– serviceName– textDescription– has_process– qualityRating– serviceParameter– serviceCategory– contactInformation
![Page 132: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/132.jpg)
132
DAML-S Service ProfileNon Functional
Properties - Actor
![Page 133: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/133.jpg)
133
DAML-S Service ProfileNon Functional Properties -
QualityRating
![Page 134: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/134.jpg)
134
DAML-S Service ProfileNon Functional Properties –
ServiceCategory
![Page 135: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/135.jpg)
135
DAML-S Service ProfileNon Functional Properties –
ServiceParameter
![Page 136: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/136.jpg)
136
Profile Hierarchy
• Sub-classing the Profile model facilitates the creation and specialisation of service categories
• Each subclass can:– Introduce new properties– Place restrictions on existing properties
• Sub-classing can also be used to specialise requests for service
• An example Profile Hierarchy is provided, but others could just as easily be defined
![Page 137: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/137.jpg)
137
Profile Hierarchy – sample ontology
![Page 138: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/138.jpg)
138
DAML-S Service Models
![Page 139: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/139.jpg)
139
Describing Service Models
• Service Process– Describes how
a service works.
• Facilitates– (automated)
Web service invocation
– composition– interoperation– monitoring
![Page 140: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/140.jpg)
140
DAML-S Service Model (Overview)
![Page 141: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/141.jpg)
141
Types of the process in DAML-S
• Atomic processes: directly invokable (by an agent), have no subprocesses, executed in a single step.
• Composite processes: consist of other (non-composite or composite) processes.They have a composedOf property, by which the control structure of the process is indicated, using a ControlConstruct subclasses (see table …).
• Simple processes: abstract concepts, used to provide a view of some atomic process, or a simplified representation of some composite process (i.e., the “black box” view of a collapsed composite process).
![Page 142: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/142.jpg)
142
Atomic Process Example<!– Atomic Process Definition - GetDesiredFlightDetails --> <rdfs:Class rdf:ID="GetDesiredFlightDetails"> <rdfs:subClassOf rdf:resource="http://www.daml.org/Process#AtomicProcess" /> </rdfs:Class>
GetDesired Flight Details
Airport
Flight Date
AtomicProcessdepartureAirport_In
outboundDate_In
<!– (sample) Inputs used by atomic process GetDesiredFlightDetails --> <rdf:Property rdf:ID="departureAirport_In"> <rdfs:subPropertyOf rdf:resource="http://www.daml.org/Process#input" /> <rdfs:domain rdf:resource="#GetDesiredFlightDetails" /> <rdfs:range rdf:resource="http://www.daml.ri.cmu.edu/ont/
DAML-S/concepts.daml#Airport" /> </rdf:Property>
<rdf:Property rdf:ID="outboundDate_In"> <rdfs:subPropertyOf rdf:resource="http://www.daml.org/Process#input" /> <rdfs:domain rdf:resource="#GetDesiredFlightDetails" /> <rdfs:range rdf:resource="http://www.daml.ri.cmu.edu/ont/ DAML-S/concepts.daml#FlightDate" /> </rdf:Property>
![Page 143: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/143.jpg)
143
<rdfs:Class rdf:ID="BookFlight"> <rdfs:subClassOf rdf:resource="#CompositeProcess" /> <rdfs:subClassOf rdf:resource="http://www.daml.org/Process#Sequence" /> <daml:subClassOf> <daml:Restriction> <daml:onProperty rdf:resource="http://www.daml.org/Process#components" /> <daml:toClass> <daml:subClassOf> <daml:unionOf rdf:parseType="daml:collection"> <rdfs:Class rdfs:about="#GetFlightDetails" /> <rdfs:Class rdfs:about="#GetContactDetails" /> <rdfs:Class rdfs:about="#ReserveFlight" /> <rdfs:Class rdfs:about="#ConfirmReservation" /> </daml:unionOf> </daml:subClassOf> </daml:toClass> </daml:Restriction> </daml:subClassOf></rdfs:Class>
Composite Process Example
Composite Process
Confirm Reservation
BookFlight
Get Contact Details
Sequence
Get Flight Details
Reserve Flight
SequenceSequence
![Page 144: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/144.jpg)
144
DAML-S Service Models
![Page 145: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/145.jpg)
145
Supporting a Service Grounding
• Service Grounding– Provides a specification of
service access information.– Service Model + Grounding
give everything needed for using the service
– Builds upon WSDL to define message structure and physical binding layer
• Specifies:– communication protocols,
transport mechanisms, agent communication languages, etc.
![Page 146: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/146.jpg)
146
WSDL (Web Services Description Language)
• Structured mechanism to describe:– Abstract operations that a Web Service can perform– Format of messages it can process– Protocols it can support– Physical bindings to:
• communication languages, e.g. SOAP or HTTP messages• Location of services, i.e. URI and port numbers
• XML based• Current Status:
– Developed by IBM and Microsoft– Version 1.1 submitted as a W3C Note
![Page 147: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/147.jpg)
147
WSDL Components
• Types – containers for XSD data type definitions
• Message – abstract definition of the data being communicated
• Operation – abstract message exchange protocol
• Port Type – abstract set of operations
• Binding – concrete protocol and data format for a port type
• Port – single, physical endpoint
• Service – collection of related endpoints
![Page 148: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/148.jpg)
148
DAML-S / WSDL Binding
Resources/Concepts
WSDL
DAML-S
Process Model
Atomic Process
Operation Message
Inputs / Outputs
Binding to SOAP, HTTP, etc.
![Page 149: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/149.jpg)
149
DAML-S / WSDL Mapping
![Page 150: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/150.jpg)
150
Service Grounding
The class Service supports a ServiceGrounding, that describes a mapping from an abstract (ServiceProfile and ServiceModel) to a concrete specification of the service description elements, that are required for interacting with the service, i.e. the inputs and outputs of atomic processes.
The central function of a DAML-S grounding is to show how the (abstract) inputs and outputs of an atomic process are to be realized concretely as messages, which carry those inputs and outputs in some specific transmittable format (e.g. RPC, CORBA, Java RMI, HTTP etc.).
![Page 151: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/151.jpg)
151
Reasoning in DAML-S
• Service requests are constructed as partial service descriptions.
• Requests are then evaluated against the advertised service taxonomy using subsumption (classification).
• Matches are generally recognized whenever the service advertised is subsumed by (is a particular case of) the service description requested.
Note: Advertisements and requests can differ sharply, in level of detail and in the level of abstraction of the terms used.
![Page 152: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/152.jpg)
152
A whole example can be found at:
http://www.daml.org/services/daml-s/2001/05/Congo.daml
![Page 153: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/153.jpg)
153
![Page 154: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/154.jpg)
154
![Page 155: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/155.jpg)
155
![Page 156: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/156.jpg)
156
![Page 157: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/157.jpg)
157
![Page 158: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/158.jpg)
158
![Page 159: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/159.jpg)
159
![Page 160: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/160.jpg)
160
![Page 161: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/161.jpg)
161
![Page 162: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/162.jpg)
162
![Page 163: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/163.jpg)
163
![Page 164: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/164.jpg)
164
![Page 165: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/165.jpg)
165
![Page 166: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/166.jpg)
166
![Page 167: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/167.jpg)
167
![Page 168: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/168.jpg)
168
Services modelling (from www.sncf.com)
Timetable_SNCF_One_Way_Ticket Travel transport_means.Train dateDeparture.Date
hourDeparture.Hour nbAdults.Integer category.Boolean
Voyage lieu_dep.Chaîne_car lieu_arr.Chaîne_car
![Page 169: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/169.jpg)
169
Services modelling (from www.sncf.com)
Timetable_SNCF_One_Way_Ticket Travel transport_means.Train dateDeparture.Date hourDeparture.Hour nbAdults.Integer category.Boolean
Voyage lieu_dep.Chaîne_car lieu_arr.Chaîne_car
![Page 170: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/170.jpg)
170
Services modelling (from www.sncf.com)
Timetable_SNCF_One_Way_Ticket Travel transport_means.Train dateDeparture.Date hourDeparture.Hour nbAdults.Integer category.Boolean
Voyage lieu_dep.Chaîne_car lieu_arr.Chaîne_car
![Page 171: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/171.jpg)
171
Services modelling (from www.sncf.com)
Timetable_SNCF_One_Way_Ticket Travel transport_means.Train dateDeparture.Date hourDeparture.Hour nbAdults.Integer category.Boolean
Travel lieu_dep.Chaîne_car lieu_arr.Chaîne_car
![Page 172: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/172.jpg)
172
Services modelling (from www.sncf.com)
Timetable_SNCF_One_Way_Ticket Travel transport_means.Train dateDeparture.Date hourDeparture.Hour nbAdults.Integer category.Boolean
Voyage lieu_dep.Chaîne_car lieu_arr.Chaîne_car
![Page 173: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/173.jpg)
173
Services modelling (from www.sncf.com)
Timetable_SNCF_One_Way_Ticket Travel transport_means.Train dateDeparture.Date hourDeparture.Hour nbAdults.Integer category.Boolean
Voyage lieu_dep.Chaîne_car lieu_arr.Chaîne_car
![Page 174: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/174.jpg)
174
Services modelling (from www.sncf.com)
Timetable_SNCF_One_Way_Ticket Travel transport_means.Train dateDeparture.Date hourDeparture.Hour nbAdults.Integer category.Boolean
Voyage lieu_dep.Chaîne_car lieu_arr.Chaîne_car
![Page 175: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/175.jpg)
175
computeBCov features• rewriting algorithm
– Transform a query into another query expressed in terms of services names defined in the ontology
– Compute the differences « query – rewriting » and « rewriting – query » as concept descriptions on which other reasonings can be applied initiate a user-machine dialogue to make him precise his query
• combinatorial search– Optimized exploration of all possible combinations of services names
(exponential space)– Only best are displayed (possibility to order worse additional
solutions)• inference technique
– Logical inference done in parallel with combinatorial exploration– Solutions may be found even if query’s terms and services’ terms are not
the same
![Page 176: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/176.jpg)
176
Example : the rewriting processUser query System
answer
![Page 177: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/177.jpg)
177
Example : the rewriting processUser query System
answer
In this case, only one best combination of services :
Q6ter query is rewritten into the combination of 2 services :
{ Inn_France,Timetable_SNCF_One_Way_Ticket}
![Page 178: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/178.jpg)
178
Example : difference query-servicesUser query
System answer
First difference between the query and the rewriting :
Part of the query that does not match any part of any service : the « rest ».
The rest can be sent to other discovery systems as a new query.
![Page 179: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/179.jpg)
179
User query
System answer
Second difference between the query and the rest :
Parts of the services that do not match any part of the query : the « miss ».
The miss can be reused in order to automatically generate forms in which the user can add mandatory details in order to run the services.
Example : difference query-services
![Page 180: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/180.jpg)
180
Example : the rewriting processUser query Step 1 : concept normalization
Proposed services
Useful concepts (from the ontology) for normalization
![Page 181: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/181.jpg)
181
Example : the rewriting processUser query Step 2 : concept
matching
Proposed services
Useful concepts (from the ontology) for normalization
etc…
![Page 182: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/182.jpg)
182
ConclusionConclusion
![Page 183: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/183.jpg)
183
Slide taken from Grosof Talk
![Page 184: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/184.jpg)
184
![Page 185: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/185.jpg)
185
• Logic – I am an employee of UMBC.
UMBC is a member of W3C.UMBC has GET access to http://www.w3.org/Member/.I (therefore) have access to http://www.w3.org/Member/.
• Proof – UMBC's document employList lists me as an employee.
W3C'c member list includes UMBC.The ACLs for http://www.w3.org/Member/ assert that employees of members have GET access.
• Trust – UMBC's document employList is signed by a private key that
W3C trusts to make such assertions.W3C'c member list is trusted by the access control mechansim.The ACLs for http://www.w3.org/Member/ were set by an agent trusted by the access control mechanism.
![Page 186: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/186.jpg)
186
Pellet : http://www.mindswap.org/2003/pellet/demoOntoLink : http://www.mindswap.org/2004/OntoLink/PhotoStuff : http://www.mindswap.org/2003/PhotoStuff/Swoop and SwoopEd : http://www.mindswap.org/2004/SWOOP/METEOR-S : http://lsdis.cs.uga.edu/projects/METEOR-S/GLUE : http://www.themindelectric.com...
Some tools, software, and systemsSome tools, software, and systems
![Page 187: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/187.jpg)
187
Resources
• DAML+OIL– http://www.daml.org/languagehttp://www.daml.org/language
• OWL– http://www.w3.org/2001/sw/WebOnt/http://www.w3.org/2001/sw/WebOnt/
• DAML-S– http://www.daml.org/serviceshttp://www.daml.org/services
http://www.daml.org/services/
http://www.w3.org/2002/ws/http://www.computer.org/intelligent/
•Web Services: Concepts, Architecture and Applications. G. Alonso, F. Casati, H. Kuno, V. Machiraju, Springer Verlag 2004
http://classweb.gmu.edu/kersch/infs770/Topics/web_services.htm
![Page 188: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/188.jpg)
188
Example: an atomic process
The LocateBook program takes as input the name of a book and returns a description of the book and its price (if the book is in catalogue).
<daml:Class rdf:ID=”LocateBook”> <rdfs:subClassOf
rdf:resouce=”http://www.daml.org/services/daml-s/2001/10/Process.daml#AtomicProcess” /> <rdfs:subClassOf>
<daml:Restriction daml:cardinality=”1”> <daml:onProperty rdf:resource=”#bookName”/>
</rdfs:subClassOf></daml:Class>
<rdf:Property rdf:ID=”bookName”> <rdfs:subPropertyOf
rdf:resource=”http://www.daml.org/services/daml-s/2001/10/Process.daml#input” /> <rdfs:domain rdf:resource=”#LocateBook”/> <rdfs:range rdf:resource=”http://www.w3.org/2000/10/XMLSchema#string"/></rdf:Property>
![Page 189: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/189.jpg)
189
Example: an atomic process
<rdf:Property rdf:ID=”bookDescription”>
<rdfs:subPropertyOf rdf:resource=”http://www.daml.org/services/daml-s/2001/10/Process.daml#conditionalOutput” />
<rdfs:domain rdf:resource=”#LocateBook”/>
<rdfs:range rdf:resource=”InCatalogueBookDescription”/>
</rdf:Property>
<daml:Class rdf:ID=”InCatalogueBookDescription”>
<rdfs:subClassOf rdf:resouce=”http://www.daml.org/services/daml-s/2001/10/Process.daml#ConditionalOutput” />
</rdfs:subClassOf>
</daml:Class>
![Page 190: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/190.jpg)
190
Example: an atomic process
<rdf:Property rdf:ID=”condInCatalogueBookDescription”> <rdfs:subPropertyOf
rdf:resource=”http://www.daml.org/services/daml-s/2001/10/Process.daml#coCondition” />
<rdfs:domain rdf:resource=”#InCatalogueBookDescription”/> <rdfs:range rdf:resource=”#InCatalogueBook”/></rdf:Property>
<rdf:Property rdf:ID=”outInCatalogueBookDescription”> <rdfs:subPropertyOf
rdf:resource=”http://www.daml.org/services/daml-s/2001/10/Process.daml#coOutput” />
<rdfs:domain rdf:resource=”#InCatalogueBookDescription”/> <rdfs:range rdf:resource=”#TextBookDescription”/></rdf:Property>
<daml:Class rdf:ID=”TextBookDescription”> <rdfs:subClassOf rdf:resource=” http://www.daml.org/2001/03/daml+oil#Thing” /></daml:Class>
![Page 191: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/191.jpg)
191
Example: a composite process
With a description of each of the atomic programs/processes in hand, it is possible then to describe compositions of these programs that provide specific services.
The DAML-S composite process is built recursively in a top-down manner. Each CompositeProcess is composedOf a ControlStructure, which may be a Sequence, If-then-else, etc. Each such ControlConstruct, in turn, has a ”components” property, which specify the classes of the subcomponents.
![Page 192: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/192.jpg)
192
Example: a composite process
In the Congo example, CongoBuy was described in terms of two main steps – locating the book, and then buying it.
ExpandedCongoBy is the name for the sequence of the atomic process LocateBook, followed by the composite process CongoBuyBook.
Other restrictions (on inputs, outputs, preconditions and effects) can also be specified.
![Page 193: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/193.jpg)
193
Example: a composite process<daml:Class rdf:ID=”ExpandedCongoBuy”> <rdfs:subClassOf
rdf:resouce=”http://www.daml.org/services/daml-s/2001/10/Process.daml#CompositeProcess” /> <rdfs:subClassOf>
<daml:Restriction> <daml:onProperty rdf:resource=”http://www.daml.org/services/daml-s/2001/10/Process.daml#composedOf “/> <daml:toClass> <daml:Class> <daml:intersectionOf rdf:parseType=”daml:collection”> <daml:Class rdf:about=”process:Sequence”/> <daml:Restriction> <daml:onProperty rdf:resource=” process:components”/> <daml:toClass>
<daml:listOfInstanceOf rdf:parseType=”daml:collection”><daml:Class rdf:about=”#LocateBook/”><daml:Class rdf:about=”#CongoBuyBook/”>
</daml:listOfInstanceOf rdf:parseType=”daml:collection”> </daml:Class>
</daml:toClass> </daml:Restriction> </daml:intersectionOf> </daml:Class> </daml:toClass> </daml:Restriction> </rdfs:subClassOf> </daml:Class>
![Page 194: (Semantic) Web Services](https://reader035.vdocuments.net/reader035/viewer/2022062305/56814f36550346895dbcd139/html5/thumbnails/194.jpg)
194
Conclusions
DAML-S is an upper ontology for describing Web-Services, written in DAML+OIL.
By providing a rich declarative representation and an efficient reasoning support, DAML-S addresses the objective of making Web Services computer-interpretable and, hence, enables their automatic discovery, invocation, verification, composition and interoperation as well as execution monitoring.