Professional Documents
Culture Documents
ServiceOriented
Architecture
TerryWoods
Agenda
Alittlehistory
WhatisServiceOrientedArchitecture?
HowdoyoubuildaServiceOriented
ArchitectureSolution?
WhatisanEnterpriseServiceBus?
Summary
2
TechnicalTrackSession
ALittleHistory
IntheBeginning
Computerswerethedomainof
scientistsforscientists
BusinessandGovernment
discoveredthevalueofcomputing
Businessrequirementsneededto
becapturedandprogrammed
4
SomePastAttempts
COBOLItwasdesignedtobebusinessproblemoriented,
machineindependent,andcapableofcontinuouschange
anddevelopment.
SQLTheSQL"language"allowsanyonewithacomputer
terminaltoaccessanduserelationaldatabases.Originally
thoughttobeanendusertool.
SADStructuredAnalysisandDesign(Yourdon/DeMarco)
IEInformationengineering(designbypictures)James
Martin
OOADObjectOrientedAnalysisandDesign
5
Revolution
Revolution
Evolution
WebServices
COBOL
InformationEngineering
Basicprogramming
CASE
language
C++
Cprogramming
Java
language
ObjectOrientedAnalysisandDesign
SQL
HTML
CommonRecord(XML)
Structuredanalysesand
design
Ecosystem
Electronicdataexchange
Standards
SOA
TechnicalTrackSession
WhatisServiceOriented
Architecture?
WhatisServiceOriented
Architecture?
ServiceOrientedArchitecture(SOA)
isanarchitecturalstyle.Applications
builtusinganSOAstyledeliver
functionalityasservicesthatcanbe
usedorreusedwhenbuilding
applicationsorintegratingwithinthe
enterpriseortradingpartners.
8
SOA
Usesopenstandardstointegrate
softwareassetsasservices
Standardizesinteractionsofservices
Servicesbecomebuildingblocksthat
formbusinessflows
Servicescanbereusedbyother
applications
9
WhatisaService?
Aserviceisareusablecomponentthat
canbeusedasabuildingblocktoform
larger,morecomplexbusiness
applicationfunctionality.
Aservicemaybeassimpleasgetme
somepersondata,orascomplexas
processadisbursement.
10
WhatisaService?
Aserviceprovidesadiscrete
businessfunctionthatoperateson
data.Itsjobistoensurethatthe
businessfunctionalityisapplied
consistently,returnspredictable
results,andoperateswithinthe
qualityofservicerequired.
11
WhatisaService?
Howtheserviceisimplemented,and
howauseroftheserviceaccessesit,
arelimitedonlybytheSOA
infrastructurechoicesoftheenterprise.
Fromatheorypointofview,itreally
doesntmatterhowaserviceis
implemented.
12
CharacteristicsofaService
Supportsopenstandardsfor
integration:Althoughproprietary
integrationmechanismsmaybeoffered
bytheSOAinfrastructure,SOAs
shouldbebasedonopenstandards.
Openstandardsensurethebroadest
integrationcompatibilityopportunities.
13
CharacteristicsofaService
Loosecoupling:Theconsumerofthe
serviceisrequiredtoprovideonlythe
stateddataontheinterfacedefinition,
andtoexpectonlythespecifiedresults
ontheinterfacedefinition.Theservice
iscapableofhandlingallprocessing
(includingexceptionprocessing).
14
CharacteristicsofaService
Stateless:Theservicedoesnot
maintainstatebetweeninvocations.It
takestheparametersprovided,
performsthedefinedfunction,and
returnstheexpectedresult.Ifa
transactionisinvolved,thetransaction
iscommittedandthedataissavedto
thedatabase.
15
CharacteristicsofaService
Locationagnostic:Usersofthe
servicedonotneedtoworryabout
theimplementationdetailsfor
accessingtheservice.TheSOA
infrastructurewillprovide
standardizedaccessmechanisms
withservicelevelagreements.
16
LegacyBusinessProcess
Business Process 1
Business Process 2
Business Process 3
17
ArchitecturalChokePoint
Monolithic
Extremelycomplex
Verytightlycoupled
Difficulttofindcleanintegrationpoints
Lackofstandardsmakesitdifficulttointegrate
Rigidarchitecturemakesevensmallchanges
complexandcostly
18
SOABusinessProcess
Business Process
Shared Service
Information Framework
Supplier
19
TechnicalTrackSession
HowDoYouBuilda
ServiceOriented
ArchitectureSolution?
ITInfrastructureisanEcosystem
COBOL
C++
Java
J2EE
Networks
TCP/IP
WebService
MidTierServers
.NET
Messaging
HTML
OperatingSystems
CICS
Routers
Databases
Mainframes
21
ManagingtheEcosystem
TechnologyManagement VersionManagement
Productduplication
Managed
Evergreening
Standards
Product/Vendorlockin Limitedversionsin
production
Supportskillsets
22
LegacyIntegration
23
SOAIntegration
SOA Architecture
24
IntegrationStack
IndustryStandards
Ubiquity
LanguageStandards
CustomAPIs
NativeInterfaces
Proprietary
25
TechnicalTrackSession
EnterpriseServiceBus
WhatisanEnterpriseService
Bus(ESB)?
Anenterpriseservicebusisaninfrastructureusedfor
buildingcompoundapplications
Theenterpriseservicebusisthegluethatholdsthe
compoundapplicationtogether
Theenterpriseservicebusisanemergingstylefor
integratingenterpriseapplicationsinanimplementation
independentfashion
Anenterpriseservicebuscanbethoughtofasan
abstractionlayerontopofanEnterpriseMessaging
System
27
KeyCharacteristicsofanESB
Streamlinesdevelopment
Supportsmultiplebindingstrategies
Performsdatatransformation
Intelligentrouting
Realtimemonitoring
Exceptionhandling
Servicesecurity
28
WhatisanESB?
Point A
Point B
Message
Initssimplestform:
AnESBdeliversamessagefromone
pointtoanother.
DontEAIsalreadydothis?
29
EAILimitations
AnEAIcanbeatightlycoupled
solution
AnEAIcanbelocationspecific
AnEAIcanbebasedon
proprietarytransporttechnology
30
LetsWalkThroughtheESB
GetPersonData
UseStandardStudentIdentification
Method(SSIM)identifierstofindthe
person
ReturnthePersonData
Thisisafictionalusecase,andisonlyintendedto
illustratehowanESBwouldprovideaservice.
31
TheESBBoundaries
Enterprise Service Bus
Point A
Point B
Message
TheESB(initssimplestform)is
responsibleforgettingamessagefrom
pointAtopointB.
32
GettheMessageontheBus
Get Person Data
Client
Request
Message
Abindingcomponentspeaksthe
servicesprotocol,whichhappens
tobeSOAPoverJMS.
33
PerformthePersonRead
Get Person Data
Client
Get Person
Data
Request
Message
Request
Therequestisnowroutedtothe
GetPersonDataService,which
willperformthebusinesslogic.
34
DotheSSIMLookup
Get Person Data
Client
Get Person
Data
Request
Message
Request
Request
SSIM Lookup
AcallismadetotheSSIMservicetoperform
alookupoftheStudentIdentifier(SID).The
SSIMservicelivesinsidethebus.
Note:TheSSIMbindingcomponentsarenotshownsothediagramcanremainsimple.
35
ReturnthePersonData
Get Person Data
Client
Get Person
Data
Request
Message
Request
Request
Response
Response
Response
Message
SSIM Lookup
Theprocessisreversed,returning
theresponsetotherequester.
36
ESBSummary
LooseCoupling
LocationTransparency
TransportNeutral
37
DefiningtheMessage
WebServicesDescriptionLanguage
OpenStandardfordescribingInterfaces
toServices(http://www.w3.org/TR/wsdl)
Characteristics
Describesdataexpectedtobesentand
received
Describeswhattheservicecando
Describeshowtoreachtheservice
WSDLdescriptionisanXMLdocument
Services
Bindings
Port Types
Operations
Messages
38
MessageExchangePatterns
Oneway.Theendpointreceivesamessage.
Requestresponse.Theendpointreceivesa
message,andsendsacorrelatedmessage.
Solicitresponse.Theendpointsendsa
message,andreceivesacorrelatedmessage.
Notification.Theendpointsendsa
message.
39
TechnicalTrackSession
BuildingaCompound
Application
TheIngredients
Service Definition
WSDL
XSD
Service Implementation
Java
Session
Bean
41
BusinessProcessesFlow
Businessprocessesareasetofactivities,supportedby
services,thatsupportaparticularbusinessactivity.
Businessprocessesarebusinessservicesbuiltusingother
businessservices.
BusinessProcessExecutionLanguage(BPEL)isa
specificationfordescribingbusinessprocessesina
portableXMLformat.BPELiswidelysupportedinboth
commercialandopensourceproducts.
BPELdefineshowservicesinteracttoformcomplex
businessprocess.Itprovidesaunitofworkcontext,fault
handling,andcompensation(transactionrollback).
42
BPEL
BPEL Process
In
In
Out
In
Out
In
Out
In
Out
Out
Java
EJB
Message
Other
43
WhatBPELdoes
BPELbindsservicestogethertoform
largercomplexbusinessservices
ControlFlow(branch,loop,parallel)
Asynchronouscorrelation
Transactionsupport,UnitsofWork
Compensation
44
Custom Service
BPEL Service
Transform
Service
TransformationServices
CustomServices
SampleESB
ApplicationServer
Routing Service
Routing
Gateway Service
Orchestration
JCA
JMS
MDB
Servlet
SSB
Portlet
EJB
Web
45
Summary
WhatisServiceOriented
Architecture?
HowdoyoubuildaService
OrientedArchitecturesolution?
WhatisanEnterpriseServiceBus?
46
ContactInformation
Weappreciateyourfeedbackand
comments.Wecanbereachedat:
Phone:2023773023
Email:Terry.Woods@ed.gov
47