Service Oriented Architecture
(SOA)
And Web Services
By
Ahmed Chaudhary
1
Presentation overview
• Introduction to SOA
– Through Examples and Metaphors
• Introduction to Web Services
– Brief overview of XML Technologies
• Comparison of SOA and services with
other paradigms
• Benefits and limitations of SOA
2
A business trip in the not so
distant future
3
4
Information Technology used in
this trip
• Keeping track of all the customer contacts in an online
repository
• Obtaining Company Contact Information from an
External Service
• Online Calendar Services
• Getting Updates on Clients to Be Visited While on the
Road
• Travel Agency Service
• Car Rental Service
• Airlines and Hotel
• Services as Commodities
5
Another Example
6
SOA Explained
• A service-oriented architecture is
essentially a collection of services.
• These services communicate with each
other
• Some mechanism of connecting services
to each other is needed. Those
connections are Web Services.
7
What is a service ?
• A function that is well-defined
• Self-contained
• Does not depend on the context or state
of other services.
8
The Mail-Order Business
• A Mail-Order Business is Asynchronous
– Work Requests Arrive in Bags of Mail
– Product Arrives in Shipments
• Each Message (Order) Is a Transaction
– Goods Are Prepared and Packed
– Payment Is Processed
– Stuff is Shipped
• Standards and Interchangeability Required
– Both Goods and Forms
• Mail-Order Is a Service-
Oriented Architecture!
– Well defined functions
– Self-contained
– Independent
9
How Services Work
10
Web Services
• Web services are the mechanism for
connecting services programmatically and
are based on standards.
• Other existing connection mechanisms:
– CORBA
– DCOM
– EDI etc.
11
How Web Services Work
12
More on Web Services
• Web services can be published, located, and invoked
across the Web.
• The standards required to do so are:
– Simple Object Access Protocol (SOAP), also known as service-
oriented architecture protocol, an XML-based RPC and
messaging protocol
– Web Service Description Language (WSDL), a descriptive
interface and protocol binding language
– Universal Description, Discovery, and Integration (UDDI), a
registry mechanism that can be used to look up Web service
descriptions
13
Some points about Web Services
• Services aren’t tied to user interfaces.
• Services can be implemented in any
language, COBOL, Java, etc., but all
services must support the same
invocation/communication protocols (for
example XML/SOAP)
14
Introduction to XML and
related Technologies
15
What is XML?
• XML stands for EXtensible Markup
Language
• XML is a markup language much like
HTML
• XML was designed to describe data
• XML tags are not predefined. You must
define your own tags
16
An Example
17
What is an XML Schema?
• The purpose of an XML Schema is to
define the building blocks of an XML
document
– defines elements that can appear in a
document
– defines which elements are child elements
– defines the order of elements
– defines the number of child elements
– defines data types for elements and attributes
18
What is SOAP?
19
What is WSDL?
• WSDL stands for Web Services Description
Language.
• WSDL is a document written in XML.
• The document describes a Web service. It
specifies the location of the service and
the operations (or methods) the service
exposes.
20
Comparisons of SOA
21
SOA vs CORBA & DCOM
22
SOA vs. Enterprise Integration
Architecture (EIA)
• EIA is being reactive
• SOA is being proactive
23
Services vs. Components
• A service is a coarse-grained processing
and maps to a business function
• A component typically maps to business
entities and the business rules
24
An example component model
25
Revisiting the Business Trip
26
27
Why do we need SOA?
• There's little "green field" anymore
– New stuff needs existing stuff
– Existing stuff needs new stuff
• Heterogeneous Systems
– No single OS-family / HW-platform
• Deal with "Big Bang" Effect
– Everything keeps drifting farther away from
everything else
– Access/Manipulate data from anywhere
28
SOA Benefits
• Leverage existing assets.
• Easier to integrate and manage complexity.
• More responsive and faster time-to-market.
• Reduce cost and increase reuse.
• Be ready for what lies ahead.
29
SOA Limitations
• SOA requires an environmental framework
• Pending security issues
• Handling Transactions
30
Summary
• SOA is an architectural style that encourages the
creation of loosely coupled business services
Loosely coupled services that are interoperable
and technology-agnostic enable business
flexibility
• An SOA solution consists of a composite set of
business services that realize an end-to-end
business process
• Each service provides an interface-based service
description to support flexible and dynamically re-
configurable processes
31
Q&A
32