WSO2Integra-onPla1orm
DeepDive
MalakaSilvaSeniorTechnicalLeadWSO2
IsuruUdanaAssociateTechnicalLeadWSO2
Agenda• Introduc-ontoWSO2Integra-onPla1orm• FundamentalsofWSO2ESB• Demonstra-on• Q&A
Evolu-onofIntegra-on
PointtoPointIntegra-on
● Customcode,dataformatsformajorityofintegra-on(dataextrac-on,businessruleprocessing,dataloading)
● Costlyover-me(maintenance,
complexity)● TightCoupling
● Scalabilityisanissue
● Lessreusability
Evolu-onofIntegra-on• RiseofSOAandESB
– Avoidpointtopointintegra-onwithanESB
ConnectedBusiness
• Aninternallyandexternallyconnectedbusiness.
Customers
Poten-alCustomers/Partners
Employees
Partners
InternalSystems
ExternalSystems
ImagecourtesyhUp://jdamico.net/wp---content/uploads/2010/04/collaborate---with---B2B---channel---partners.jpg
ConnectedBusinessandIntegra-on• Integra-onisakeyfactorforhavingfric-onless
interac-ons,insideandoutsidetheorganiza-on.
WSO2Integra-onPla<orm
Integra-onandAPIs-TheCloseCousins
WSO2Integra-on+APIManagementPla<orm
WSO2ESB
• Alightweight,highperformanceESB
• Featurerichandstandardscompliant
– SOAPandWS-*standards
– RESTsupport
• Domainspecificprotocolsupport(eg:FIX,HL7)
• Userfriendlyandhighlyextensible
• 100%freeandopensourcewithcommercialsupport
KeyFeatures-Rou-ng
KeyFeatures-Filtering
KeyFeatures-Transforma-on
KeyFeatures–ProtocolSwitching
KeyFeatures–LoadBalancing
KeyFeatures–QualityofService
KeyFeatures-ServiceOrchestra-on• Orchestra-ng/Combiningmul-pleServices
FundamentalsofWSO2ESB
• UnderstandingESBmessageflow
FundamentalsofWSO2ESB
MessageProcessingUnits- Sequences,mediatorsMessageEntryPoints- ProxyServices,APIs,Inbound
endpoints.MessageExitPoints- Endpoints
FundamentalsofWSO2ESB
MessageProcessingUnits
Mediators
Mediators
• Transforma-onMediators• Filters,Switches,Iterate,Aggregate,Clone• PropertyMediator• ScriptMediators• CustomMediators
SomeMediatorsName Descrip-on
LogMediator Logsfullorpartofthemessage,atvariousseveritylevels(Trace,Debug,etc)
SequenceMediator Invokesexis-ngsequence-Sequencenamecanbesta-cordynamic
SendMediator Sendsamessageout,usingsta-cinforma-onorendpointdefini-on.
CalloutMediator Performsablockingexternalserviceinvoca-on.
SwitchMediator Evaluatesmessagescontentsagainstregularexpressionandinvokesthecorrespondingmediator(switch-case-default)
ValidateMediator ValidatesmessageorpartsofmessageagainstXMLschema(schemacanbelocalorinregistry)
DropMediator Stopsprocessingofcurrentmessage
FaultMediator TransformscurrentmessageintocustomFaultmessage
Sequences
ProgrammingModel
Client Service
InSequence
OutSequence
FaultSeq.
12 3
6 5 4
!
MessageProcessingUnits- Sequences,mediatorsMessageEntryPoints- ProxyServices,APIs,Inbound
endpoints.MessageExitPoints- Endpoints
FundamentalsofWSO2ESB
MessageEntryPoints
Messages can be injected into sequences through the following interfaces:
27
Serviceo Proxy Services o APIs o Inbound Endpoints o Tasks
ProxyServiceso Actslikeavirtualservice.o Receivesmessagesandmediatesthembeforesendingthemtotheendpoint
(usuallyanactualservice)
28
Client Service
InSequence
OutSequence
FaultSeq.
12 3
6 5 4
!
Service
APIs(hUpservices)
o APIscanacceptRESTmessageswhichallowclientstoprovideaddi-onalinforma-ononhowtomanagethemessage
o UnmanagedAPI(API-ManagerformanagedAPIs)
29
API
InboundEndpoints
• Crea-nginboundmessagingchannelsdynamically.
– ListeningInbound–HTTP,HL7,TCP– PollingInbound–JMS,File/VFS
• InjectstheinboundmessagesintoanESBmessageflow.
Coordina-on-In-orderdeliverywithsingleconsumer
InboundEndpoints
Coordina-on-Mul-pleConsumers
InboundEndpoints
Service
TasksAllowconfigura-onofscheduledjobstoexecuteinternal/externalcommandso Injectamessageintoaproxyservice,Mainsequenceoranamedsequenceo Example:
o ESBallowsscheduledtaskstogofetchdata
33
TaskCoordina-on
Tasks
MessageProcessingUnits- Sequences,mediatorsMessageEntryPoints- ProxyServices,APIs,Inbound
endpointsMessageExitPoints- Endpoints
FundamentalsofWSO2ESB
Endpoints
• Logicalrepresenta-onofoneormorerealbackendservice,jmsqueueetc.
• Address,HTTPEndpoints–Alogicalendpointforanexis-ngBEservice
• Loadbalancing/Failover–Groupofendpointsforexis-ngBEservices
Connectors
• AconnectorisareadymadeandconvenienttooltoreachpubliclyavailablewebAPI’s.
• ‘CloudtoCloud’and‘CloudtoEnterprise’Integra-on
• ESBConnectorStore:hUps://store.wso2.com/
• Every connector is self-contained and independent from ESB code
• Dynamically plug in to ESB • Dynamic Tooling support with WSO2 Developer
Studio • You can write, ‘your own connector’ and just
plug it in
Connectors
MessageStoreandMessageProcessor• Asynchronous/One-wayMessaging,JMS
• Storeandforward• GuaranteedDeliveryandRatematching
• JMSMessagebrokerasthepersistencestore–WSO2MB,ApacheAc-veMQetc.
EnterpriseIntegra-onPaUerns
hUps://docs.wso2.com/display/Integra-onPaUerns/Enterprise+Integra-on+PaUerns+with+WSO2+ESB
ToolingSupportforWSO2ESB
WSO2Integra-onPla<orm
WSO2DataServicesServerPainpoints:● Differentdatastores● Cumbersomedataaccess/transforma-onlogic
● BusinesslogicvsDataaccesslogic
● Repe--veCode
DSS:● Welldefinedinterfaces(standardbased)● Encapsulateddatalogic● Configura-ondriven● LooseCouplingbetweenApp&Datastores
● Scaleasaseparatearchitecturallayer.
WSO2DataServicesServer:Features
• Mul-pleDataSources
• NestedQueries• No-fica-ons• BatchProcessing• DistributedTransac-ons
UseCase–PhoneRetail• Aphoneretailbusinesswantstoexposeitsphonesearchand
buyingfunc-onali-estoitsmobileapplica-onusers.• Mobilephoneusersearchesforalltheavailablephonesina
storewithaspecificbrand.• Oncetheuserselectthephonewithmatchingfeatures,he/she
purchasesbyprovidingrequiredinforma-on• Thecustomerswhopurchasephoneswillbeaddedto
Salesforce• WSO2DASmonitorsandanalyzesthestatsonusersand
phonebrands
Solu-onArchitecture
Searchingforaphone
Purchasingaphone
PhoneSearch
• ConversionfromJSONtoXML• Messagetransforma-on• Extrac-ngvaluesfromincomingmessage• Invokingendpoint• SendingresponsewithXMLtoJSONconversion
PhoneSearch
PhoneSearch
PhonePurchase
• Extractinforma-on• Updatestore• UpdateSalesforceviaSalesforceconnector• Statpublishing
PhonePurchase
• Extractinforma-on
PhonePurchase
• UpdateStore
PhonePurchase
• SalesforceConnector
PhonePurchase
• PublishingSta-s-cs
DASGadgets
WSO2Integra-onPla<orm
WSO2BusinessProcessServer
• BPMN2.0• WS-BPEL2.0• WS-HumanTask1.1• BPEL4People
HumanTaskSupport
WSO2Integra-onPla<orm
WSO2MessageBroker
Uniquedistributable,faulttolerantandscalableenterprisemessagebrokertoconnect,persistandreliablydistributedata,eventinforma-ongeneratedfrommul-plesystems,applica-onsandIoTdevices.
WSO2MB-Advantages
• Integrateeasilywithexis-ngITInfrastructure.• Selectstoragebasedonmessagingdemands.• Lowmaintenancethroughminimumdeployment
effort.• HighlyinteroperablewithAMQPclients.• Effortlesslyhandlelargemessagetransfer.• Seamlessfeatureintegra-onwithWSO2ESB.
SupportedProtocols&Specifica-ons• JMS(JavaMessageService)• AStandardJavaAPIforprogrammerstohandle
messagingbyinterac-ngwithamessagebroker• AMQP(AdvancedMessageQueuingProtocol)• OpenStandardforpassingbusinessmessages
betweenapplica-onsororganiza-ons• MQTT(MessageQueuingTelemetryTransport)
WSO2MB-Features
• PointtoPoint(Queues)-Amessageisdeliveredonlyoncetoasingleconsumer
• Publish/Subscribe(Topics)-Broadcastamessagetoallthesubscribers
WSO2MB-Features
• DistributedQueues-Providesstrictorbesteffortsupportforin-orderdelivery.
WSO2MB-Features
• DurableSubscrip-on-Sametopicassubscrip-on.Subscriberoffline>Messagegetsqueued
Subscriberbackonline>Messagesgerngdelivered
WSO2MB-Features
• ShareDurableSubscrip-on-Purposeofloadbalancing
WSO2ESB5.0
What’sNext?
• Media-onDebugger• BeUerSta-s-cs• MessageTracer• Websockets• DataMapper
ESB5.0-Media-onDebugger
What’sNext?
ESB5.0-MessageTracer
What’sNext?
ESB5.0-Media-onSta-s-cs
What’sNext?
WSO2ProcessCenterWhat’sNext?
Processpar-cipant
Create/Improve/Standardize
Search/
Browse/
Follow
Developexecutableprocesses
ExecutableprocessisassociatedwithProcessCenter
WSO2Gateway
What’sNext?
• UltrahighperformanceandlowlatencyHTTP/S
messaging• Supportsthousandsofconcurrentconnec-ons/clients• FastestopensourceHTTPmessaginggateway• LightweightMessageMedia-on• Header-basedrou-ng• Fullyconfigura-ondriven• Lightweightandstatelessserviceorchestra-on
Ques-ons?
ThankYou