Download - GrERPmodule03C a SOA(2)
-
8/8/2019 GrERPmodule03C a SOA(2)
1/36
Service Oriented Architecture
-
8/8/2019 GrERPmodule03C a SOA(2)
2/36
Outline
Service Oriented Society
The connected world
From Component Orientation to ServiceOrientation
The Road to SOA
Three key concepts in software construction Conclusion
-
8/8/2019 GrERPmodule03C a SOA(2)
3/36
3
What is Service Oriented Architecture (SOA)?
An SOA application is a composition ofservices
A service is the atomic unit of an SOA
Services encapsulate a business process
Service Providers Register themselves
Service use involves: Find, Bind,Execute
Most well-known instance isWeb
Services
Service
Registry
Service
Provider
Service
Consumer
Find Register
Bind,
Execute
-
8/8/2019 GrERPmodule03C a SOA(2)
4/36
-
8/8/2019 GrERPmodule03C a SOA(2)
5/36
5
SOA Benefits
Business Benefits
Focus on Business Domain solutions
Leverage Existing Infrastructure
Agility
Technical Benefits
Loose Coupling
Autonomous Service Location Transparency
Late Binding
Service
Registry
Service
Provider
Service
Consumer
Find Register
Bind,
Execute
-
8/8/2019 GrERPmodule03C a SOA(2)
6/36
6
SOA/Web Services Related Standards
Source: http://roadmap.cbdiforum.com/reports/protocols/
-
8/8/2019 GrERPmodule03C a SOA(2)
7/36
7
Service Oriented Architecture
W
hat is Service-Oriented Architecture?. Hao He. http://webservices.xml.com/lpt/a/ws/2003
/09/3
0/soa.html
Service-Oriented Architecture: A Primer. Michael S. Pallos. http://www.bijonline.com/PDF/SOAPallos.pdf
The Benefits of a Service-Oriented Architecture. Michael Stevens. http://www.developer.com/design/article.php/1041191
Web Services Specifications - http://www.w3.org/2002/ws/
Grid ComputingGlobal Grid Forum (http://www.ggf.org)
The Globus Alliance ( http://www.globus.org)
The Physiology of the Grid. Ian Foster, Carl Kesselman, Jeffrey M. Nick, Steven Tuecke.
http://www.globus.org/research/papers/ogsa.pdf
The Anatomy of the Grid. Ian Foster, Carl Kesselman, Steven Tuecke. http://www.globus.org/research/papers/anatomy.pdf
Web Services Resource Framework - http://www.globus.org/wsrf/
-
8/8/2019 GrERPmodule03C a SOA(2)
8/36
The Service Oriented Society
Imagine if we had to do everything
we need to get done by ourselves?
-
8/8/2019 GrERPmodule03C a SOA(2)
9/36
From Craftsmen to Service Providers
Our society has become what it is today through the forces of
Specialization
Standardization
Scalability
It is now almost exclusively service oriented
Transportation
Telecommunication
Retail
Healthcare Financial services
-
8/8/2019 GrERPmodule03C a SOA(2)
10/36
Attributes of physical services
Well defined, easy-to-use, somewhat standardized interface
Self-contained with no visible dependencies to other services
(almost) Always available but idle until requests come
Provision-able
Easily accessible and usable readily, no integration required
Coarse grain
Independent of consumer context,
but a service can have a context
New services can be offered by combining existing services
Quantifiable quality of service
Do not compete on What but How Performance/Quality
Cost
-
8/8/2019 GrERPmodule03C a SOA(2)
11/36
-
8/8/2019 GrERPmodule03C a SOA(2)
12/36
Service Interfaces
Non proprietary
All service providers offer somewhat the same interface
Highly Polymorphic
Intent is enough Implementation can be changed in ways that do not break all
the service consumers
Real world services interact with thousands of consumers
Service providers cannot afford to break the context of theirconsumers
-
8/8/2019 GrERPmodule03C a SOA(2)
13/36
Intents and Offers
Service consumer expresses intent
Service providers define offers
Sometimes a mediator will: Find the best offer matching an intent
Advertise an offer in different ways such that it matchesdifferent intent
Request / Response is just a very particular case of anIntent / Offer protocol
-
8/8/2019 GrERPmodule03C a SOA(2)
14/36
Service Orientation and Directories
Our society could not be service orientedwithout the Yellow Pages
Directories and addressing mechanisms are at the
center of our service oriented society Imagine
Being able to reach a service just by using longitudeand latitude coordinates as an addressingmechanism?
Only being able to use a service if you can rememberits location, phone or fax number?
-
8/8/2019 GrERPmodule03C a SOA(2)
15/36
Service Orientation is scalable
Consumers can consume and combine a lot ofservices since they dont have to know or learnhow to use a service
Service providers can offer their services to a lotmore consumers because by optimizing
The user interface
Access (Geographical, Financial, )
They were able to provide the best quality of serviceand optimize their implementations
-
8/8/2019 GrERPmodule03C a SOA(2)
16/36
So
Service orientation allows us
Complete freedom to create contexts in whichservices are uses and combined
Express intent rather than specific requests
Our society should be a great source ofinspiration to design modern enterprisesystems and architectures or understand whatkind of services these systems will consume orprovide
-
8/8/2019 GrERPmodule03C a SOA(2)
17/36
The connected (new) world
Over the past 15 years,
everything got connected to everything else
-
8/8/2019 GrERPmodule03C a SOA(2)
18/36
Connectivity Drives the Emergence and
Convergence ofTechnologies
Workflow
EDI
Mainframe
?Business
Integration
J2EE
.NET
Client / Server
Web/Po
rtal
EAI
B2B
BPM
WS
Office
1980 1990 2000 2010
XMLWS
WebLANInternetSOA
-
8/8/2019 GrERPmodule03C a SOA(2)
19/36
-
8/8/2019 GrERPmodule03C a SOA(2)
20/36
Seamless Connectivity enables On Demand
Computing
Use software as you need
Much lower setup time, forget about Installation
Implementation Training
Maintenance
Scalable and effective usage of resources Provision
Billed on true usage
Parallelism (CPU, Storage, Bandwidth)
-
8/8/2019 GrERPmodule03C a SOA(2)
21/36
But Seamless Connectivity is also
questioning all our beliefs
An application is NOT a single system running on a single
device and bounded by a single organization
Continuum Object Document
Messages and Services As opposed distributed objects
Exchanges becomes peer-to-peer
Asynchronous communications
Concurrency becomes the norm while our languages and
infrastructures did not plan for it
-
8/8/2019 GrERPmodule03C a SOA(2)
22/36
we are reaching the point of maximum
confusion
Federation and Collaboration
As opposed to Integration
Language(s)
Semantic (not syntactic)
Declarative and Model driven (not procedural)
Licensing and Deployment models
-
8/8/2019 GrERPmodule03C a SOA(2)
23/36
So
Today, the value is not defined as much by
functionality anymore but by connectivity
However, we need a new programming model
Why SOA today?
We are reaching a new threshold of connectivity
and computing power
Mainframe Client Server Web SOA
-
8/8/2019 GrERPmodule03C a SOA(2)
24/36
-
8/8/2019 GrERPmodule03C a SOA(2)
25/36
-
8/8/2019 GrERPmodule03C a SOA(2)
26/36
Why do weWant to Move to a New
Application Model Today?
We are moving away precisely because of connectivity
J2EE, for instance was designed to build 24x7 scalable web-
based applications
Job well done
But this is very different from, I now want my application to
execute business logic in many other systems, often
dynamically bound to me
JCA (J2EE Connector Architecture) is not enough
EAI infrastructures are not enough
-
8/8/2019 GrERPmodule03C a SOA(2)
27/36
A Component now Becomes a Service Running
Outside the Consumer Boundaries
DB
CCI CCI CCI
ERP CRM
Service Service Service
Registry
1
register
Consumer
SOAP SOAP SOAP
XML XML XML
3 invoke
2
Discover and/or Bind
Policies
-
8/8/2019 GrERPmodule03C a SOA(2)
28/36
From Components to (Web) Services
Requires a client library
Client / Server
Extendable
Stateless
Fast
Small to medium
granularity
Loose coupling via
Message exchanges
Policies
Peer-to-peer
Composable
Context independent
Some overhead
Medium to coarse
granularity
-
8/8/2019 GrERPmodule03C a SOA(2)
29/36
Web Services: what is changing?
Loose coupling (of course) Web Services dont require a CCI (Client side Communication
Interface)
Very few gears needed to consume a service Web Services can accept message content they do not fully
understand or support
XML,WSDL
Web services are very late bound
Location is independent of the invocation mechanism
Directories
-
8/8/2019 GrERPmodule03C a SOA(2)
30/36
Web Services:What is Changing?
Peer-to-peer interactions are possible
Request / response is an inefficient and very
limiting mode of interaction
As components coarsen, it is difficult to
differentiate a client from a server
-
8/8/2019 GrERPmodule03C a SOA(2)
31/36
What Happens to the Technical Services Typically
Provided by an Application Server?
Transaction
Security
Connection pooling
Naming service
Scalability and failover
They become the Service Fabric
-
8/8/2019 GrERPmodule03C a SOA(2)
32/36
-
8/8/2019 GrERPmodule03C a SOA(2)
33/36
A Service Fabric can be more than a Bus with a
series of Containers / Adapters
DB
CCI CCI CCI
ERP CRM
NEP NEP NEP
Consumer
Domain
Controller
Reliable
Messaging
Process
RegistryTxXML XML XML Registry
register
Discover and/or Bind
Policies
-
8/8/2019 GrERPmodule03C a SOA(2)
34/36
The road to SOA
NEP NEP
Existing business logic, often
model-oriented
Coordination logic (Tx,
Process, )
Metadata driven
NEP
NEP
NEP
NEP
Global business logic (tax,
trade, ) and data access
NEP NEP
User Interface NEPs
-
8/8/2019 GrERPmodule03C a SOA(2)
35/36
Shift To A Service-Oriented Architecture
Function oriented
Build to last
Prolonged development
cycles
FromFrom ToTo
Coordination oriented
Build to change
Incrementally built and
deployed
Application silos
Tightly coupled Object oriented
Known implementation
Enterprise solutions
Loosely coupled Message oriented
Abstraction
Source: Microsoft (Modified)
-
8/8/2019 GrERPmodule03C a SOA(2)
36/36