You are on page 1of 47

TechnicalTrackSession

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?

Enterprise Service Bus

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

Get Person Data


BC

Enterprise Service Bus


Point B

Request

Message

Abindingcomponentspeaksthe
servicesprotocol,whichhappens
tobeSOAPoverJMS.

33

PerformthePersonRead
Get Person Data
Client

Get Person Data


BC

Enterprise Service Bus

Get Person Data


BC

Get Person
Data

Request
Message
Request

Therequestisnowroutedtothe
GetPersonDataService,which
willperformthebusinesslogic.
34

DotheSSIMLookup
Get Person Data
Client

Get Person Data


BC

Enterprise Service Bus

Get Person Data


BC

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


BC

Enterprise Service Bus

Get Person Data


BC

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

J2EE Application Server

45

Summary
WhatisServiceOriented
Architecture?
HowdoyoubuildaService
OrientedArchitecturesolution?
WhatisanEnterpriseServiceBus?
46

ContactInformation
Weappreciateyourfeedbackand
comments.Wecanbereachedat:
Phone:2023773023
Email:Terry.Woods@ed.gov
47

You might also like