petals distributed service bus illustrated
TRANSCRIPT
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)