PEtALS Distributed Service Bus Illustrated

Post on 26-May-2015

1.494 views 1 download

Transcript of PEtALS Distributed Service Bus Illustrated

PEtALSEnterpriseServiceBus

h3p://petals.ow2.org

PEtALSJBIextension

•  JBIspecificaAondefinesBC,SE,configuraAon,management,messageformat…

•  PEtALSextendsthespecificaAontoprovideadistributedServiceBus

•  AlltheservicesarepotenAallyreachablebyalltheservicesfromallthePEtALSnodes– ThisisanunifiedDistributedServiceBus.–  Itistotallytransparentfromtheconsumerpointofview!

PEtALS PEtALS

RESTBC

SOAPBC

FTPBC

BPELSE

PEtALS

RESTBC

SOAPBC

FTPBC

BPELSE

Registry Registry

Registry

DistributedServiceBus

ServiceEngine(SE)

•  Provideaninternaltechnicalservice:– BPELprocessor– XMLtransformaAon(XSLT)– ContentBasedRouAng– RuleswithJbossDrools– EntrepriseIntegraAonPa3ern–  JSR181withAxis2– POJO– …

BindingComponent(BC)

•  ABindingComponentisusedto– Exposeinternalservicesasexternalones

•  Forexample,exposearulesserviceasaWebService

– AccesstoanexternalService•  Forexample,accesstoanexternalWebService

•  ItsroleisthemessageprotocoladapaAon– Forexample,exposeanexternalEJBasWebService

•  SOAP,REST,EJB,FILE,FTP,Mail,Database,…

InternalEndpointacAvaAon

•  AnendpointisacAvatedbydeployingaconfiguraAonartefacttothecomponent(BCorSE)

•  ThisconfiguraAonartefactisaZIParchivecontaining–  aXMLfilewithsomebasicinformaAon

•  TheServiceName •  TheInterfaceName•  TheEndpointName•  AreferencetotheWSDLdescripAon•  AddiAonalparameters(specifictocomponent,ieBPELprocessfilename,Droolsfilename…)

–  TheWSDLfile(opAonal)–  AddiAonalresourceslikeBPELprocessfile,Droolsfile…

•  TheacAvatedendpointisregisteredintheTechnicalServiceRegistryandisnowreachablebyalltheServiceBusServicesConsumers

ComponentDeployment

BC

Comp

AdminService

1. Deploy + Start

2.Bind

EndpointAcAvaAonIllustraAon

BC SE

SA

AdminService

1. Deploy + Start

2. Register Enpoints

3. Bind

PEtALS

FTPBC

BPELSE

Registry

SOAPBC

WSClient

http://localhost:8084/petals/services/BPELService

Exposing/ConsumingServices

•  TheSEprovidesaJBIService•  TheBCconsumestheJBIServiceandexposesittotheoutside

ServiceOrchestraAonSampleTheTravelService

PEtALS

RESTBC

BPELSE

Registry

SOAPBC

http://localhost:8084/petals/services/TravelService

YahooRESTWeatherService

AirlineWebService

HotelEJBServiceEJBBC

WSClient

XSLTSE

AgileServiceOrchestraAon

•  NowabletoorchestratenotonlyWebServices– Noma3eroftheservicetype,allareseenasJBIServicesfromtheorchestrator

– Noma3erofprotocoltransformaAon,itisthejoboftheBindingComponent

•  Flexibility:– ReplacethehotelEJBservicebyahotelRESTService

– TheBPELdeclaraAonremainsthesame!

PEtALSESBMonitoring

Registry

MonitoringAPI(SOAP,JMX)SOAP

BC

FractalMonitoringService

FractalComponentA

FractalComponentB

PEtALSWebGUI

PEtALSMonitoring(lightversion)

•  Endpoints(InternalandExternal)andComponentsarewrapped

•  Wrapperscollectandsenddatatothemonitoringservice

•  MonitoringServicepersists,process,aggregates,etc

•  MonitoringServiceexposeanAPI(SOAP,JMX)