SOA Part1 Lecture 2
Dr. Withalm 17-Dec-11 SOA Bratislava
Lectures at the University of Bratislava/Autumn 2009
28.09.2009 Lecture 1 Evolution Of Architectures- The long Way from OO to SOA
05.10.2009 Lecture 2 WEB-Services& Semantic WEB
12.10.2009 Lecture 3 SOA-Technological Basis
19.10.2009 Lecture 4 SOA-Basing on J2EE
23.11.2009 Lecture 5 SOA-Focus on Business Processes
30.11.2009 Lecture 6 B2B Frameworks and related Standards
07.12.2009 Lecture 7 WEB 2.0 & GRID
2 17.12.2011 Dr.Withalm SOA Bratislava
Today’s Agenda
WEB Services
Example
Standards
Semantic WEB
Example
Ontology
Connection to WS
3 17.12.2011 Dr.Withalm SOA Bratislava
Summary of last lecture
Progress in Architecture are primarily enabled by technology
i.e. distributed computing by PC & Ethernet
Distributed computing encouraged Middle ware
i.e. RPC, CORBA, DCOM-which work efficient in EAI-projects
Middle ware is kept enclosed within companies mainly because of “closed”
ports
i.e. most serious obstacle when deploying CORBA applications in IAI
projects
EJB tried to combine strenghts of ORB and TP
Overcoming the performance issue which requested huge programming
efforts in CORBA applications
EJB made a first “implicit” step towards services
i.e. Session Beans-whenever their focus was mainly IT-focused and not
business oriented.
4 17.12.2011 Dr.Withalm SOA Bratislava
Web-Services
Example/1
A car rental company has a database that indicates
What kind of cars are available at each location along with the published
rental rate
Compact, full-size, luxury, etc.
There is an application function that
When provided with the location and class of car
Returns availability and price.
5 17.12.2011 Dr.Withalm SOA Bratislava
Web-Services
Example/2
Originally, this function would have been contained wholly
Within a booking application
Used by the company„s agents to respond
To telephone requests from customers and travel agents.
6 17.12.2011 Dr.Withalm SOA Bratislava
Web-Services
Example/3
7 17.12.2011 Dr.Withalm SOA Bratislava
Web-Services
Example/4
The company soon learned, however, that other parts of the organization
needed access to this same function.
Since auto rentals are highly competitive in same location
For example: marketing requests direct access to the availability and
price function.
So they can quickly respond to competitors moves.
IT is asked to integrate the marketing application with the booking
application.
8 17.12.2011 Dr.Withalm SOA Bratislava
Web-Services
Example/5
For IT, integrating functions across internal applications is
commonplace.
Several client/server technologies evolve to help achieve the
architecture.
9 17.12.2011 Dr.Withalm SOA Bratislava
Web-Services
Example/6
Then came the Web
Now IT was asked to make the availability and price function available to users over the
Internet.
Fortunately, Internet standards emerged to make this possible
The browser is a standard client.
HTTP is a standard communication protocol for the Internet.
HTML provides data functionality that can be interpreted and displayed by browsers.
CGI- and later application servers-provide a way for developers to interface to the
application function.
10 17.12.2011 Dr.Withalm SOA Bratislava
Web-Services
Example/7
Most of the Web development effort of the late nineties was directed toward
making an enterprise„s application functions
Available directly to customers over the Internet.
But this is not a Web service since it is accessed by a browser user, not a client
application.
11 17.12.2011 Dr.Withalm SOA Bratislava
Web-Services
Example/8
The next step for the rental car company is to make the availability and price
function-and even the booking function
Available not only to browser users
But to the booking applications of other companies
Travel agents cannot browse the Web sites of all potential car rental companies
Looking for the best price.
They need an automated way to access the information and to place a
booking.
Web-based travel services need to do this programmatically in response to
requests from browser users.
12 17.12.2011 Dr.Withalm SOA Bratislava
Web-Services
Example/9
Once the Web services have been developed
The rental car company can announce the availability of the service
Publish their interface specifications
In a directory accessible to everyone in the Web.
This allows potential partners to discover the availability of the rental
car Web services.
And provide partners with the information required.
To access the Web services from a client application.
13 17.12.2011 Dr.Withalm SOA Bratislava
Web-Services
Example/10
Adding the Web services to an enterprise Web application environment can
result in the following architecture
These application functions provide data and services
To both browser users and client applications.
14 17.12.2011 Dr.Withalm SOA Bratislava
Web-Services
Example/11
15 17.12.2011 Dr.Withalm SOA Bratislava
Web-Services
Example/12
These are the needs driving the development of Web services
Application functions that can be accessed by other applications
using Internet technology.
The key elements of this definitions are:
Access to the service is available to applications, not browsers
The standard technologies that enable this access are developed
specifically for operations over the Internet.
16 17.12.2011 Dr.Withalm SOA Bratislava
Web-Services
Example/13
In some respects Web services are just an updated, Internet enabled
way of doing something application developers have always been able to
do.
In other ways Web services promise to change the way business is done
And even to enable new kinds of business
Application integration has been around a long time
And there exist mature technologies that can do this.
17 17.12.2011 Dr.Withalm SOA Bratislava
Web-Services
Example/14
CORBA, COM, DCOM and later J2EE provide facilities
To create application functions with defined and accessible interfaces
And to enable the development of clients
That can access them-even over the Internet.
18 17.12.2011 Dr.Withalm SOA Bratislava
Web-Services
Example/15
There are two fundamental advantages by Web services over earlier application integration
approaches.
The underlying technology is designed from the ground up to operate over the Web and
, in fact, leverages the existing standards that have made the Web successful.
Web services, and the technologies that are used to build them, take openness to a
new level.
19 17.12.2011 Dr.Withalm SOA Bratislava
Web-Services
Example/16
While earlier approaches made it possible to provide an internal or external
partner with the interface definition of an application function
So they could build a compatible client
Web services include the concept of an universal directory
To publish the availability of the service to the entire Internet
And to make it possible for a subscriber to create a client application
That can easily, even dynamically, access the service.
Further, since the standards are widely implemented on most platforms
There is a degree of platform independence (HW, OS, and middleware) not
previously available.
20 17.12.2011 Dr.Withalm SOA Bratislava
Web-Services
Example/17
In theory, a client can even be made smart enough
To read and interpret the interface specification
And dynamically access the Web service
Web service promise a world in which applications can search the Web for services they
need
And access these services in much the same way that browser users use search
engines to locate and access Web sites.
21 17.12.2011 Dr.Withalm SOA Bratislava
Web-Services
Example/18
That is the vision
The reality is that technology is new
The standards are still evolving
And the Web services being developed tend to be
Simple solutions for simple problems
Most of them are internal integration efforts.
What also is required is
Semantic Web
22 17.12.2011 Dr.Withalm SOA Bratislava
Core Web-Services Standards
23 17.12.2011 Dr.Withalm SOA Bratislava
Other Web Service Standards/1
Business Domain Specific Extensions Various Business Domain
Distributed Management WSDM, WS-Manageability Management
Provisioning WS-Provisioning
Security WS-Security Security
Security Policy WS-SecurityPolicy
Secure Conversation WS-SecureConversation
Trusted Message WS-Trust
Federated Identity WS-Federation
Portal and Presentation WSRP Portal and
Presentation
24 17.12.2011 Dr.Withalm SOA Bratislava
Other Web Service Standards /2
Asynchroneous Services ASAP Transactions
and Business
Transaction WS-Transaction, WS-Coordination
Process
Orchestration BPEL4WS, WS-CDL
Events and Notification WS-Eventing, WS-Notification Messaging
Multiple Message Sessions WS-Enumeration, WS-Transfer
Routing / Addressing WS-Addressing, WS-MessageDelivery
Reliable Messaging WS-ReliableMessaging, WS-Reliability
Message Packaging SOAP, MTOM
Publication and Discovery UDDI, WSIL Metadata
Policy WS-Policy, WS-PolicyAssertions
Service Message Description WSDL
Metada Retrieval WS-MetadataExchange
25 17.12.2011 Dr.Withalm SOA Bratislava
Web Services
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.
26 17.12.2011 Dr.Withalm SOA Bratislava
Portlets/1
In contrast with Web-Services
which are computer-to-computer services
Presentation Oriented Services provide a user interface
that allows an end-user to interact directly with the service.
Two main standards exist
the JSR (Java Specification Request) 168 Specification
and the WSRP (Web Service for Remote Portlets) Specification.
27 17.12.2011 Dr.Withalm SOA Bratislava
Portlets/23
WSRP Specification/1
is a production of OASIS.
Since all of the major players in the portal market are
represented on OASIS' WSRP Technical Committee,
the technology should continue to enjoy broad
acceptance in the industry.
The OASIS WSRP specification defines a common, well-
defined interface
for communicating with pluggable, presentation-
oriented Web services.
These services process user interactions and provide
mark-up fragments for aggregation by portals.
28 17.12.2011 Dr.Withalm SOA Bratislava
Web Service Standards
OASIS and the W3C are the steering committees
responsible for the architecture and standardization of
web services. To improve interoperability between web
service implementations, the WS-I organization has been
developing a series of profiles to further define the
standards involved.
29 17.12.2011 Dr.Withalm SOA Bratislava
Web Service Base Standards/1
Simple Object Access Protocol (SOAP) - defines the runtime
message that contains the service request and response. SOAP is
independent of any particular transport and implementation
technology.
Web Services Description Language (WSDL) - describes a Web
Service and the SOAP Message. It provides a programmatic way to
describe what a service does, paving the way for automation.
Universal Discovery, Description, Integration (UDDI) - UDDI is a
cross industry initiative to create a standard for service discovery
together with a registry facility that facilitates the publishing and
discovery processes.
30 17.12.2011 Dr.Withalm SOA Bratislava
Web Service Base Standards/2
31 17.12.2011 Dr.Withalm SOA Bratislava
Web Service Base Standards/3
Service
Registrar
Define (WSDL)
Service Service
Use (SOAP)
Consumer Provider
32 17.12.2011 Dr.Withalm SOA Bratislava
Universal Discovery, Description, Integration
(UDDI)
UDDI is a platform-independent, XML-based registry for
businesses worldwide to list themselves on the Internet. UDDI is
an open industry initiative (sponsored by OASIS) enabling
businesses to discover each other and define how they interact
over the Internet.
A UDDI business registration consists of three components:
White Pages - address, contact, and known identifiers;
Yellow Pages - industrial categorizations based on standard
taxonomies; and
Green Pages - technical information about services exposed
by the business
33 17.12.2011 Dr.Withalm SOA Bratislava
Simple Object Access Protocol
(SOAP)
SOAP originally was an acronym for Simple Object
Access Protocol, but the acronym was dropped in Version
1.2 of the SOAP specification. Originally designed by
Dave Winer, Don Box, Bob Atkinson, and Mohsen Al-
Ghosein in 1998 with backing from Microsoft (where
Atkinson and Al-Ghosein worked at the time), the SOAP
specification is currently maintained by the XML Protocol
Working Group of the World Wide Web Consortium.
34 17.12.2011 Dr.Withalm SOA Bratislava
SOAP (W3C)
SOAP is fundamentally a stateless, one-way
message exchange paradigm, but applications
can create more complex interaction patterns
(e.g., request/response, request/multiple
responses, etc.) by combining such one-way exchanges with
features provided by an underlying protocol and/or application-
specific information.
SOAP provides the framework by which application-specific
information may be conveyed in an extensible manner. Also, SOAP
provides a full description of the required actions taken by a SOAP
node on receiving a SOAP message.
35 17.12.2011 Dr.Withalm SOA Bratislava
Web Services Description Language (WSDL)
WSDL is an XML format published for describing Web services.
WSDL describes the public interface to the web service. This is
an XML-based service description on how to communicate using
the web service; namely the protocol bindings and message
formats required to interact with the web services listed in its
directory. The supported operations and messages are
described abstractly, and then bound to a concrete network
protocol and message format.
WSDL is often used in combination with SOAP and XML
Schema to provide web services over the internet. A client
(program) connecting to a web service can read the WSDL to
determine what functions are available on the server. Any
special datatypes used are embedded in the WSDL file in the
form of XML Schema.
Basic Idea is coming from IDL/CORBA
36 17.12.2011 Dr.Withalm SOA Bratislava
WSDL Elements/1
Element Name Description
types a container for abstract type definitions defined using XML Schema
A definition of an abstract message that may consist of multiple parts, each part may
message be of a different type
An abstract set of operations supported by one or more endpoints (commonly known
portType as an interface); operations are defined by an exchange of messages
binding A concrete protocol and data format specification for a particular portType
A collection of related endpoints, where an endpoint is defined as a combination of a
service binding and an address (URI)
37 17.12.2011 Dr.Withalm SOA Bratislava
WSDL - Binding
A service can support multiple
Messages
bindings for a given interface,
but each binding should be
Tcp Smtp Http accessible at a unique address
identified by a URI, also
referred to as a Web service
URI URI URI endpoint .
Usually this information from the
WSDL is used to implement late
Interface Interface
binding.
operation operation
operation operation
operation operation
Service
38 17.12.2011 Dr.Withalm SOA Bratislava
Semantic Web
Semantics: Meaning of a word, a sentence or a text
The existing web consists of data,
which is readable for machines
which should – in the future – be made understandable and
interpretable for machines
39 17.12.2011 Dr.Withalm SOA Bratislava
Motivation for Semantic WEB/1
Task: Find and buy specific audio CD on the web
At present:
"clicking" from one web-shop to the next
performing the same search on each site
comparing the prices
A SW-agent is currently unable to find CD-retailers on the web
If it has a list of retailers, there is another problem:
How shall it search the site for relevant offers?
40 17.12.2011 Dr.Withalm SOA Bratislava
Motivation for Semantic WEB/2
Problems of the search request:
Over HTTP and URL, but how exactly?
Is there a search-function implemented in the site?
If yes, with which URI should the request be placed?
What are the parameter names?
HTTP-transmission over GET- or POST-method?
41 17.12.2011 Dr.Withalm SOA Bratislava
Motivation for Semantic WEB/3
Problems with the received answer:
Humans see the web-page as more or less beautifully designed
It contains the price of the CD, but where?
The SW-agent is unable to find it out
If it would be programmed to find it in line 3, column 5?
What happens if the layout is changed?
42 17.12.2011 Dr.Withalm SOA Bratislava
Solutions/1
Parts of the HTML-code could be made interpretable for the agent with
the help of XML
If tags like ... were added to the HTML elements, the
agent could recognize the requested data
W3C recommends the XML-schemata for establishing the required
vocabulary
43 17.12.2011 Dr.Withalm SOA Bratislava
Solutions/2
Another problem arises if the simple example is translated into
another language, resulting in tags like .... (German)
or .... (French)
in this case, another element-type name is used to express the
same term
44 17.12.2011 Dr.Withalm SOA Bratislava
Solutions/3
But do they really have the same meaning?
Do 20 and 20 have exactly the
same significance?
Obviously the currency is not defined!
Does the price include taxes? (USA!)
Fluctuations of exchange rates:
Are 20 US$ at the time when the product is ordered the same
as when the invoice is issued?
45 17.12.2011 Dr.Withalm SOA Bratislava
Solutions/4
price and preis are closely related
In the W3C scenario, the nature of this relationship is explained by:
RDF (Resource Description Framework) is the basis for expressing
information about all things that can be addressed by a URI Basis
OWL (Ontology Web Language) provides a notation for ontology
An ontology is the description of terms and their interrelations
within a domain (a context-sensitive vocabulary)
46 17.12.2011 Dr.Withalm SOA Bratislava
Semantic Web Example/1
Listing 1: Wine Ontolgy
47 17.12.2011 Dr.Withalm SOA Bratislava
Semantic Web Example/2
This is a section of an ontology that classifies wines
If it is predefined, the SW-agent‟s job becomes easier...
...e.g. if it is given the task of finding offers from wine
merchants for:
red wine
vintage 1995
48 17.12.2011 Dr.Withalm SOA Bratislava
Semantic Web Example/3
Listing 2: Merchant Data
040 / 1234
Mo – Fr 10am -4pm/Office Hours>
......
2007
20
25 Boxes
...................
...................
49 17.12.2011 Dr.Withalm SOA Bratislava
Semantic Web Example/4
This document contains neither the term "red wine" or "vintage"
but with its ontology knowledge, the agent conceives that Chianti is a
red wine
if the ontology defines that in the wine-domain "year" and "vintage"
have the same meaning, the problem is solved
Furthermore, the data type is defined:
Type integer according to the XML-scheme
50 17.12.2011 Dr.Withalm SOA Bratislava
Semantic Web Example/5
Listing 3: Same Meaning
51 17.12.2011 Dr.Withalm SOA Bratislava
Semantic WEB
The Semantic Web is a vision for the future of the Web
in which information is given explicit meaning
making it easier for machines to automatically process and integrate
information available on the Web.
The Semantic Web will build on XML's ability
to define customised tagging schemes
and RDF's flexible approach to representing data.
The next element required for the Semantic Web is a web ontology language
which can formally describe the semantics of classes and properties used in
web documents.
In order to machines perform useful reasoning tasks on these documents
the language must go beyond the basic semantics of RDF Schema.
OWL has been designed to meet this need for a Web Ontology Language.
52 17.12.2011 Dr.Withalm SOA Bratislava
Semantic WEB: Summary/2
A further step is to:
develop useful tools such as the wine agent
so that content providers will provide the required meta-data
as a supplement to HTML
53 17.12.2011 Dr.Withalm SOA Bratislava
Semantic Web Layers
[Tim Berners-Lee]
54 17.12.2011 Dr.Withalm SOA Bratislava
Ontology/1
hierarchical structure of terms
which are brought into relationship through pre-defined
associations
the definition of sub-classes is the most common way of
establishing a hierarchy
specialisation of the terms
every term can be structured further by attributes
55 17.12.2011 Dr.Withalm SOA Bratislava
Ontology/2
ontology focus on connecting terms in order to allow statements
for example:
the residential address of Person Smith is identical with the working
address of person Smith
the household at the residential address consists of only one
address
therefore we conclude that Person Smith runs a small company
56 17.12.2011 Dr.Withalm SOA Bratislava
Ontology/3
further partial ontology can be derived:
residential address is a sub-class of address
working address is a sub-class of address
household is the entirety of persons with identical residential
address
small company is a sub-class of company
57 17.12.2011 Dr.Withalm SOA Bratislava
Ontology/4
Ontology is the attempt to formulate an exhaustive and rigorous
conceptual schema
within a given domain, typically a hierarchical data structure
containing all the relevant entities and their relationships and
rules (theorems, regulations) within that domain.
For example: in the automotive industry Bill of Material
To be useful, ontology must be expressed in a concrete notation.
An ontology language is a formal language by which an ontology is
built.
There have been a number of data languages for ontology
both proprietary and standards-based:
CycL (ontology language based on first-order logic)
KIF (syntax for first order logic)
OWL, a language compatible with the architecture of the World
Wide Web in general, and the Semantic Web in particular.
58 17.12.2011 Dr.Withalm SOA Bratislava
Ontology Interoperability
Ontology, as the means for conceptualising and structuring domain
knowledge
has become the backbone to enable the fulfilment of the
Semantic Web vision.
It aims to make data more sharable.
However, ontology themselves can be heterogeneous.
Mapping between different ontology thus becomes essential to
ontology interoperability.
Ontology mapping is the task of finding semantic relationships
between entities of two ontology.
i.e. concept, attribute, and relation.
59 17.12.2011 Dr.Withalm SOA Bratislava
Heterogeneity of Ontology/1
In order to reach interoperability over heterogeneous ontology,
two problems must be dealt with,
i.e.: metadata heterogeneity and instance heterogeneity .
Metadata heterogeneity concerns the intended meaning of
described information. There are two kinds of conflicts in
metadata heterogeneity:
structure conflict, which means that ontology for same domain
knowledge may have different semantic structures; and
name conflict, which means that the same concept may use
different names or different concepts may use the same
name.
60 17.12.2011 Dr.Withalm SOA Bratislava
Heterogeneity of Ontology/2
Instance heterogeneity concerns the different representations of
instances.
Information described by the same ontology can be represented
in different ways, also called representation conflict.
For example,
date can be represented as “2004/2/27” or “Feb, 27,
2004”;
person name can be represented as “Jackson Michael”
and “Michael, Jackson”, etc.
Representation conflict requires normalisation before ontology
interoperation.
61 17.12.2011 Dr.Withalm SOA Bratislava
Different solutions for Ontology Interoperability/4
Following a summary of the main approaches to ontology
Interoperability
Ontology mapping/matching.
Ontology alignment.
Ontology translation.
Ontology transformation.
Ontology merging/integrating.
Ontology checking.
Ontology evolution/ versioning.
62 17.12.2011 Dr.Withalm SOA Bratislava
WS Language Descriptions/1
The Semantic Web should enable greater access not only
to content but also to services on the Web.
Users and software agents should be able
to discover, invoke, compose, and monitor Web
resources
offering particular services and having particular
properties,
and should be able to do so with a high degree of
automation when desired.
To make use of a Web service,
a software agent needs a computer-interpretable
description of the service
and the means by which it is accessed.
63 17.12.2011 Dr.Withalm SOA Bratislava
WS Language Descriptions/2
An important goal for Semantic Web markup languages
is to establish a framework within which these descriptions are
made and shared.
Web sites should be able to employ a standard ontology
consisting of a set of basic classes and properties
for declaring and describing services
and the ontology structuring mechanisms of OWL
provide an appropriate and Web-compatible
representation language framework within which to do
this.
64 17.12.2011 Dr.Withalm SOA Bratislava
OWL-S/2
Top Level of the Service Ontology
65 17.12.2011 Dr.Withalm SOA Bratislava
OWL-S/3
OWL-S has three main parts:
What does the service provide for prospective clients?
The answer to this question is given in the “profile”
(ServiceProfile class), which is used to advertise the
service.
How is it used? The answer to this question is given in
the “process model”. This perspective is captured by
the ServiceModel class.
How does one interact with it? The answer to this
question is given in the “grounding”. A grounding
(ServiceGrounding class) provides the needed details
about transport protocols.
66 17.12.2011 Dr.Withalm SOA Bratislava
Thank you
for your attention!
SOA Bratislava
Farbpalette mit Farbcodes
Primäre Flächenfarbe: Akzentfarben:
R 255 R 255 R 245 R 229 R 000 R 000 R 000
G 255 G 210 G 128 G 025 G 133 G 084 G 000
B 255 B 078 B 039 B 055 B 062 B 159 B 000
R 255 R 248 R 236 R 064 R 064 R 064
G 221 G 160 G 083 G 164 G 127 G 064
Sekundäre Flächenfarben: B 122 B 093 B 105 B 110 B 183 B 064
R 215 R 170 R 130 R 255 R 250 R 242 R 127 R 127 R 127
G 225 G 190 G 160 G 232 G 191 G 140 G 194 G 169 G 127
B 225 B 195 B 165 B 166 B 147 B 155 B 158 B 207 B 127
R 220 R 185 R 145 R 255 R 252 R 248 R 191 R 191 R 191
G 225 G 195 G 155 G 244 G 223 G 197 G 224 G 212 G 191
B 230 B 205 B 165 B 211 B 201 B 205 B 207 B 231 B 191
R 255 R 254 R 252 R 229 R 229 R 229
G 250 G 242 G 232 G 243 G 238 G 229
B 237 B 233 B 235 B 235 B 245 B 229
68 17.12.2011 Dr.Withalm SOA Bratislava