How SOA is evolving in the real world

Download Report

Transcript How SOA is evolving in the real world

How SOA is evolving in the real
world?
Krishna Prasad and Prasad A. Chodavarapu
GMs (Technology),
HCL EAI Services (Formerly Aalayance )
Goal: Understand how SOA is evolving
• Today’s Alphabet Soup:
– SOA, xSOA, ESA, ESB, EDA, EPCIS, BAM,
BPEL
• Use xSOA 3-layer model to
understand why and how each of
these technologies is evolving the
way it is
•Q&A
Scope of this talk
• This talk will not cover basics of
Web Services. E.g., SOAP, WSDL and
UDDI are not described.
• We briefly revisit SOA as the base
layer in xSOA
• We provide examples from our
experience in Supply chain
management (Business Integration)
and Security domains
Extended Service Oriented
Architecture (xSOA)
What is xSOA?
• xSOA 3-layer model is to SOA what OSI
7-layer model is to networking
• An attempt at abstracting the way SOA
needs to evolve
xSOA 3 Layer stack
Source: Michael P. Papazoglou
xSOA Layer 1: Service
Oriented Architecture (SOA)
What is a Service?
• Basic unit of SOA
• Logic offered in a context-independent
way
– Context-independence allows composition of
services into higher level services
• A Service should be:
– Self-describing: E.g., By way of Web Service
Definition Language (WSDL)
– Discoverable: E.g., By way of Universal
Discovery and Description interface (UDDI).
– Technology-agnostic: Accessible from every
platform, e.g., via SOAP
What is SOA?
• SOA re-organizes software applications
and infrastructure with services as
fundamental elements
• Examples of SOA evolution in real world:
– EPCIS (RFID)
– ESA (SAP)
Example in Layer-1:
EPCIS (RFID)
What is EPCIS?
• Electronic Product Code (EPC):
– Next generation barcode
– Identifies each object, not just products
– Includes company code, product id and serial number
• Radio Frequency Identifier (RFID):
– Standard for RF based tags storing EPC.
– EPC can be read from the tag using a RFID Reader.
– RFID tags may include sensors E.g., Temperature sensor
• EPC Information System (EPCIS):
– Distributed services to track object lifecycle
information.
– Emerging around Web Services for object tracking in the
supply-chain space.
– Evolving at EPCGlobalInc.org
EPCIS Use Case
XYZ Inc.
EPC Information
Service
th
i
ut
ve
(2
In ) X
fo Y
rm Z
at Inc
ion .
Se
r
EP
C
(4)
r
kn
o
EP ws
C? ab
o
(1
)W
ho
(3) Give me the
HazMat Class for this
EPC
s
ONS
Naming Service
Reader
Tag
ALE/EPC
Middleware
Source: Marc Linster
(5) We just received 5 units
of SKU 123, owned by XYZ
Inc., that are deadly, have
a flashpoint of 22.8 C0, may
detonate, and cannot be
extinguished with water
WMS
EPCIS/RFID Solution Architecture
Application-centric
R
R
R
Exchange with trading partner’s corresponding app
Ship &
Receive
Warehouse
Mgmt
R
Infrastructure-centric
R
R
R
R
RFID
Middle
-ware
(ALE)
Ship &
Receive
Warehouse
Mgmt
Factory
Efficiency
Management/Monitoring
EPC Info
Services
(EPCIS)
Exchange with trading partners
Object Name
Service
(ONS)
Source: Connecterra
Why EPCIS is an example of
xSOA Layer 1?
• EPCIS services are discoverable via
ONS and Discovery services
• EPCIS uses WSDL to be self
describing
• Each EPCIS system can be in any
platform and they all can collaborate
with each other. Interoperability is
the key for EPCIS to work.
Another Example in
Layer-1: ESA (SAP)
What is ESA?
• Enterprise Service Architecture (ESA): SAP’s initiative to
standardize how enterprise applications provide Web
Services interfaces.
• An Enterprise Service is a Web Service whose interfaces
fit into a “pattern” with Create, Retrieve, Update, Delete,
Query and Action operations named and defined according
to a convention.
• Tools can take advantage of the conventions to discover
and integrate compliant enterprise services.
• All SAP products to provide ESA compliant Web Services
interfaces by 2007
• Microsoft, IBM, Cisco, EMC, Intel and Macromedia have
licensed ESA from SAP.
ESA: Architecture
Source: SAP
How ESA fits in xSOA Layer 1?
• ESA is standardizing the service
interfaces for business objects in the
enterprise
• A convention on top of basic SOA
standards to let tools discover and
use services easily
• ESA:SOA :: EJB:J2EE
xSOA Layer 2: Service Composition
What is xSOA Layer 2?
• Composition of web services
– For aggregation
– For generating higher level services
that provide:
• Filtering
• Summarizing
• Correlating
• Examples: BPEL (Aggregation),
EDA/BAM (Higher level services)
Example in Layer-2:
BPEL
What is BPEL?
• Business process modeling has always been adhoc in vendor offerings. E.g., most tools
cannot compensate when failures occur in long
running transactions
• BPEL brings the benefits of standardization.
– Rich process model including parallel execution (flow),
event handling, alarms, fault handlers and compensation
handlers.
– Compensatory mechanisms for handling failures in long
running transactions
– Have WSDL? BPEL can use it. Web Services of course!
Legacy apps connected by WSIF via JCA/JDBC.
– Portability
• What it doesn’t do,
– No user interaction. Semi automated process cannot be
modeled.
– No in-built support for transformation
BPEL Use Case
Source: Oracle
How BPEL fits in xSOA Layer 2?
• BPEL is all about service composition
• A BPEL process is also a Service! That is, the
composite service can in turn be composed!
• Service aggregators thus become service
providers by publishing the service descriptions
of the composite service they create.
Example in Layer-2:
BAM/EDA
What are BAM and EDA?
• Business Activity Monitoring (BAM) relies on
Event Driven Architecture (EDA) to provide
business leaders with dashboards that display:
– The cumulative status as of now
– Business alerts that need to be acted on
• For example, lets say your inventory level drops
down, business leaders need to know it
immediately
• EDA is being implemented in the network
layer to capture all application level events as
they happen
• EDA uses Web Services to communicate events
to BAM
• BAM consolidates application events into business
information
BAM Architecture
Business Dashboards
Desktop Data
Word
Performance
Indicators
Risk
Indicators
Transactional
Excel
BAM
systems
External
Legacy Systems
Operational Systems
. ERP
Analytical Systems
. CRM
. SUPPLY CHAIN
Data Stores
Work house
BI
Main Frames
How BAM and EDA fit in xSOA Layer 2?
• BAM provides higher level business
information by filtering,
summarizing and correlating event
information obtained from EDA
xSOA Layer 3: Management
What is xSOA Layer 3?
• Layer 3 addresses the challenges of
management of Web Services
• Two distinct management services:
– Operations
• Starting, Stopping, Configuring, …
– Enterprise Service Bus (ESB)
• Example of Operations Mgmt.: Web
Services Management Framework
(WSMF) – Not covered here
Example in Layer-3:
ESB
What is ESB?
• Enterprise Service Bus (ESB) helps
manage large number of services by
providing horizontal value-adds such
as:
– Security
– Transactions
– Reliability
– Service Virtualization
• Load Balancing
• Message Distribution (Fan out and in)
How does ESB Work?
• ESB works by using the extension mechanisms built into
SOAP:
1. Message syntax and semantics can be extended with headers
2. Messages can be intercepted and worked on by
intermediaries
• Headers are not just syntax as in SMTP Headers. Semantics
of who may/must process headers allows standardization of
extensions. E.g., WS-Security
• How does the message get to Intermediaries?
– Implicit routing possible with SOAP-aware network devices
– Explicit routing possible with WS-Addressing. Assumes nexthop routing like in IP networks
ESB: Architecture
Source: Michael P. Papazoglou
ESB Use case: Centralized Security
How ESB fits in xSOA Layer 3?
• Services can focus on their business
logic and leave issues like reliability,
transactions and security to be
managed by ESB
• By factoring out all horizontal
concerns into the bus, ESB enables
easy development and management
of a large number of services
Conclusion
Conclusion
• We have seen examples of SOA evolution in real world
using xSOA 3-layer stack as our guide
– EPCIS brings dynamic capabilities to supply chain
management and business integration
– ESA standardizes Web Services interfaces to legacy
applications
– BPEL aggregates Web Services into a business process
– BAM composes application events to higher level business
information
– ESB focuses on quality of service
[email protected]
[email protected]