صفحه 1:
Technical Track Session
Service-Oriented
Architecture
Terry Woods
صفحه 2:
Agenda
A little history
¢ What is Service-Oriented
Architecture?
* How do you build a Service-
Oriented Architecture Solution?
¢ What is an Enterprise Service
Bus?
¢ Summary
2
START HERE
Go FURTHER oat
FEDERAL STUDENT AID
©
صفحه 3:
511
A Little History
صفحه 4:
In the Beginning ...
*Computers were the domain of
scientists for scientists
Business and Government
discovered the value of
computing
¢ Business requirements needed
to be captured and programmed
©
4
START HERE
GO FURTHER
FEDERAL STUDENT AID
صفحه 5:
5
Some Past Attempts ...
* COBOL - It was designed to be business-problem
oriented, machine-independent, and capable of
continuous change and development.
* SQL - The SQL "language" allows anyone with a
computer terminal to access and use relational
databases. Originally thought to be an end-user
tool.
* SAD - Structured Analysis and Design
(Yourdon/DeMarco)
* IE - Information engineering (design by pictures)
James Martin
* OOAD - Object-Oriented Analysis and Design
aoe ف
FEDERAL STUDENT AID
صفحه 6:
6
Revolution ...
¢ Evolution
- Web Services
- Information Engineering
- CASE
- C++
- Java
- Object-Oriented Analysis and
Design
- HTML
- Common Record (XML)
° Ecosystem
- Standards
- SOA
a یه
FEDERAL STUDENT AID
¢ Revolution
- COBOL
- Basic programming
language
- C programming
language
- SQL
- Structured analyses
and design
- Electronic data
exchange
صفحه 7:
gion
VW EEGCAU ES VOL VIL
Oriented
Architecture?
صفحه 8:
What is Service-
Oriented Architecture?
* Service-Oriented Architecture
(SOA) is an architectural style.
Applications built using an SOA
style deliver functionality as
services that can be used or
reused when building applications
or integrating within the
enterprise or trading partners.
صفحه 9:
SOA
٠ Uses open standards to integrate
software assets as services
¢ Standardizes interactions of
services
¢ Services become building blocks
that form business flows
¢ Services can be reused by other
applications
ART HERES cy
GO FURTHER
FEDERAL STUDENT AID
صفحه 10:
What is a Service?
۰ ۸ service is a reusable component
that can be used as a building
block to form larger, more complex
business-application functionality.
° A service may be as simple as “get
me some person data,” or as
complex as “process a
disbursement.”
10
START HERE
GO FURTHER
FEDERAL STUDENT AID
©
صفحه 11:
What is a Service?
° A service provides a discrete
business function that operates
on data. Its job is to ensure
that the business functionality
is applied consistently, returns
predictable results, and
operates within the quality of
service required.
صفحه 12:
What is a Service?
* How the service is implemented,
and how a user of the service
accesses it, are limited only by the
SOA infrastructure choices of the
enterprise.
¢ From a theory point of view, it
really doesn’t matter how a
service is implemented.
&
12
START HERE
GO FURTHER
FEDERAL STUDENT AID
صفحه 13:
aracteristics of a
Service
¢ Supports open standards for
integration: Although proprietary
integration mechanisms may be
offered by the SOA infrastructure,
SOA’s should be based on open
standards. Open standards
ensure the broadest integration
compatibility opportunities.
صفحه 14:
aracteristics of a
Service
* Loose coupling: The consumer of
the service is required to provide
only the stated data on the
interface definition, and to expect
only the specified results on the
interface definition. The service is
capable of handling all processing
(including exception processing).
صفحه 15:
aracteristics of a
Service
¢ Stateless: The service does not
maintain state between
invocations. It takes the
parameters provided, performs
the defined function, and returns
the expected result. Ifa
transaction is involved, the
transaction is committed and the
data is saved to the database.
صفحه 16:
aracteristics of a
Service
* Location agnostic: Users of the
service do not need to worry
about the implementation
details for accessing the
service. The SOA infrastructure
will provide standardized
access mechanisms with
service-level agreements.
صفحه 17:
Legacy Business
Process
صفحه 18:
Architectura
Point
* Monolithic
* Extremely complex
° Very tightly coupled
¢ Difficult to find clean integration points
¢ Lack of standards makes it difficult to
integrate
¢ Rigid architecture makes even small
changes complex and costly
FURTHER
ERAL STUDEN"
صفحه 19:
SOA Business Process
|): وه Gra?
a ۹
أ #«سحمو سس
صفحه 20:
11۱۷۷ ۱ rou build’
a Service-Oriented
Architecture
Solution?
صفحه 21:
IT Infrastructure is an
Ecosystem
* COBOL « NET
yes ° Messaging
* Java ° HTML
۰12۳8 * Operating
Systems
° Networks * CICS
۳ * Routers
° Web Service * Databases
° Mid-Tier Servers + Mainframes
صفحه 22:
Managing the
Ecosystem
Technology Version
Management Management
¢ Product duplication * Managed
° Standards Evergreening
¢ Product/Vendor ° Limited versions
lock-in in production
¢ Support skill sets
صفحه 23:
Legacy Integration
2
as ی
= ها
صفحه 24:
SOA Integration
[Ite
اب6۱ 006
صفحه 25:
Integration Stack
a
* Industry ۲۴
هکس
Standards
* Language
Standards
* Custom API's
٠ Native Interfaces —
5.
Bit
صفحه 26:
sion
Enterprise Service
Bus
صفحه 27:
What is an Enterprise
Service Bus (ESB)?
An enterprise service bus is an infrastructure
used for building compound applications
The enterprise service bus is the glue that
holds the compound application together
The enterprise service bus is an emerging
style for integrating enterprise applications
in an implementation-independent fashion
An enterprise service bus can be thought of
as an abstraction layer on top of an
Enterprise Messaging System
صفحه 28:
Key Characteristics 0
an ESB
* Streamlines development
* Supports multiple binding
strategies
¢ Performs data transformation
Intelligent routing
* Real time monitoring
¢ Exception handling
* Service security
صفحه 29:
What is an ESB?
Gaterprive Gorvive Gow
5-6 هس
In its simplest form:
An ESB delivers a message
from one point to another.
Don’t EAI’s already do this?
29
GO FURTHER oat
FEDERAL STUDENT AID
صفحه 30:
EAI Limitations
¢An EAI can be a tightly
coupled solution
¢An EAI can be location-specific
¢An EAI can be based on
proprietary transport
technology
صفحه 31:
Let’s Wa
ESB
* Get Person Data
¢ Use Standard Student
Identification Method (SSIM)
identifiers to find the person
¢ Return the Person Data
Through the
This is a fictional-use case, and is only intended
to illustrate how an ESB would provide a
service.
FURTHER
ERAL STUDEN"
صفحه 32:
The ESB Boundaries
Gaterprive Gorvive Our
Ta 1
The ESB (in its simplest form)
is responsible for getting a
message from point A to point
صفحه 33:
02 د 7
Cheat ۳0 Te
A binding component
“speaks” the service’s
protocol, which happens to
صفحه 34:
2
تس
Perform the Person
The request is now routed
to the Get Person Data
Service, which will
perform the business
صفحه 35:
Do the SSIM Lookup
Gotererive Corto متسه || [Ta Treva
5
تا بل تسس
5 سس
اسيل
COW Lookup
A call is made to the SSIM service to
perform a lookup of the Student
Identifier (SID). The SSIM service
lives inside the bus.
35
GO FURTHER
FEDERAL STUDENT AID
6
صفحه 36:
Return the Person Data
Trave t ]| هت
۳ سم et eraoe ata
a
CHD beckon
The process is reversed,
returning the response to
صفحه 37:
ESB Summary
* Loose Coupling
* Location Transparency
Transport Neutral
صفحه 38:
Defining the Message
مه
مه
Con Neer
Operatives
38
GO FURTHER oat
FEDERAL STUDENT AID
* Web Services Description Language
* Open Standard for describing
Interfaces to Services
(http://www.w3.org/TR/wsdl)
* Characteristics
- Describes data expected to be sent
and received
— Describes what the service can do
- Describes how to reach the service
* WSDL description is an XML
document
©
صفحه 39:
Message-Exchange
Patterns
* One-way. The endpoint receives a message.
* Request-response. The endpoint receives
a message, and sends a correlated message.
* Solicit-response. The endpoint sends a
message, and receives a correlated
message.
* Notification. The endpoint sends a
message.
صفحه 40:
ssion
Building a
Compound
Application
صفحه 41:
The Ingredients
[Genie DeRattios
oom 0
I
تاه اساسا روم
مس
ما
سول
41
GO FURTHER oat
FEDERAL STUDENT AID
صفحه 42:
Business Processes
٠ 110 ocosses are a set of activities, supported
by services, that support a particular business
activity.
¢ Business processes are business services built using
other business services.
* Business Process Execution Language (BPEL) is a
specification for describing business processes in a
portable XML format. BPEL is widely supported in
both commercial and open source products.
¢ BPEL defines how services interact to form complex
business process. It provides a unit of work context,
fault handling, and compensation (transaction
rollback).
42
START HERE
GoFURTHER
E) FEDERAL STUDENT AID
صفحه 43:
43
3
GO FURTHER
FEDERAL STUDENT AID
©
BPEL
صفحه 44:
What BPEL does ...
° BPEL binds services together to
form larger complex business
services
* Control Flow (branch, loop, parallel)
° Asynchronous correlation
¢ Transaction support, Units of Work
* Compensation
44
START HERE
GO FURTHER
FEDERAL STUDENT AID
©
صفحه 45:
ALL
هو
بسه||
امه
Oyplioattow Conver. 45 605ل
GO FURTHER oat
FEDERAL STUDENT AID
Onto Geno
©
00010
سس ميس
سس
عبد
0
Sample ESB
* Custom Services
* Transformation
Services
* Orchestration
* Routing
* Application Server
صفحه 46:
Summary
* What is Service-Oriented
Architecture?
¢How do you build a Service-
Oriented Architecture solution?
What is an Enterprise Service
Bus?
صفحه 47:
Contact Information
We appreciate your feedback
and comments. We can be
reached at:
Phone: 202 377 3023
Email: Terry. Woods@ed.gov