soa and open source - callista enterprise · what is bam & cep? • business activity...
TRANSCRIPT
![Page 1: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/1.jpg)
SOA and Open SourceSOA and Open SourceBusinessSystems Portals Web Apps
ServiceConsumers
MaM
Business Processnanc
e
nagemen
Monitoring
CompositeServices
Management
A G
over
n nt &g
Business
CoreServices
SO
A CE
P -B
Magnus Larsson
BusinessSystems
COTS Legacy Inhouse
AM
Magnus Larsson
Callista Enterprise AB
![Page 2: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/2.jpg)
Vendor support of Open Source SOA
• Vendors provide services for training, consulting and support on selected Open Source SOA productsselected Open Source SOA products
• MuleSource• MuleSource
– Over 1000 mission-critical production installations worldwide!
– http://www.mulesource.com/customers/casestudies.phpttp // u esou ce co /custo e s/casestud es p p
• WSO2
– http://wso2.com/about/whitepapers/
• Progress FUSE
– http://fusesource.com/resources/collateral/
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 3: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/3.jpg)
Building a SOA Reference Model…
Business Portals Web AppsServiceConsumers Systems Portals Web AppsConsumers
BusinessBusinessSystems
COTS Legacy Inhouse
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 4: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/4.jpg)
Building a SOA Reference Model…
Business Portals Web AppsServiceConsumers
• Connectivity- SOAP, Rest, Messaging, Database, FTP…
Systems Portals Web AppsConsumers• Transformation
- XML, CSV, Fixed Position…
• Routing• Routing- Header and/or Content based
• Enterprise Integration PatternsSplitting Aggregation Resequencing- Splitting, Aggregation, Resequencing…
CoreServicesBusinessBusinessSystems
COTS Legacy Inhouse
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 5: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/5.jpg)
Building a SOA Reference Model…
Business Portals Web AppsServiceConsumers
Composite Services
Course GrainedSystems Portals Web AppsConsumers ‐ Course Grained
‐ Internal MessagingHigh performance access to other services
C itCompositeServices
CoreServicesBusinessBusinessSystems
COTS Legacy Inhouse
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 6: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/6.jpg)
ESB - Enterprise Service Bus – The hart of SOA
Business Portals Web AppsServiceConsumers Systems Portals Web AppsConsumers
C itCompositeServices
CoreServicesBusinessBusinessSystems
COTS Legacy Inhouse
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 7: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/7.jpg)
Enterprise Service Bus Example
• Example: Purchase Order Process
– From SOA Modeling Language specification (UML Profile)/d / d/08 08 0 df
SOA and Open SourceCopyright 2009, Callista Enterprise AB
www.omg.org/docs/ad/08-08-04.pdf
![Page 8: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/8.jpg)
Enterprise Service Bus Example
Web AppBusinessSystem
ServiceConsumers System
REST ?REST ?
Business
SOAP/HTTP JMS (CSV) ?
BusinessSystems
PurchasingEU
PurchasingNA
PurchasingASIA
SOA and Open SourceCopyright 2009, Callista Enterprise AB
EU NA ASIA
![Page 9: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/9.jpg)
Architecture – ESB Usage Example
• Inside ESB
O l i t l i VM t l– Only use internal messaging, VM - protocol
– Only use Canonical Message Formats, CMF
Purchasing Service EUESBVM SOAP/HTTP
CMFMessage
RESTful Service CMFMessage
Web App
PurchasingService Purchasing EU
Purchasing Service NA
REST VM
JMS
Purchasing NA
VM
SOA and Open SourceCopyright 2009, Callista Enterprise AB
Purchasing NA
![Page 10: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/10.jpg)
Introducing Mule ESB
Mule ESB
Transport Service
ceiv
erM
essag
Tra
oute
rO
utbo ers
Transport
ChannelSendingApplication M
essa
ge R
ecge D
ispatcheConnector
nsformers
Inbo
und
Ro ound R
outer
Component
Tran
sfor
m
Connector
Channel ReceivingApplicationApplication r Application
• Configuration based on Spring Framework
• Transports: http://www.mulesource.org/display/MULE2USER/Available+Transports
– Additional available on http://www.muleforge.org/activeprojects.php
• Routers: http://www.mulesource.org/display/MULE2USER/Using+Message+Routers
T f ti ( i S k )
SOA and Open SourceCopyright 2009, Callista Enterprise AB
• Transformation (using Smooks): http://www.mulesource.org/display/SMOOKS/Home
![Page 11: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/11.jpg)
Enterprise Service Bus Example – Mule ESB
RESTful
PurchasingService EU
ESB VM SOAP/HTTP
P h iRESTfulService
PurchasingService NA
REST VM
VM JMS
PurchasingService
VM JMS
<service name="PurchasingService_Client">
<inbound>
<inbound-endpoint address="http://localhost:20000" synchronous="true”><acegi:http-security-filter realm="mule-realm"/>
</inbound-endpoint>
</inbound>
...
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 12: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/12.jpg)
Enterprise Service Bus Example – Mule ESB
RESTful
PurchasingService EU
ESB VM SOAP/HTTP
P h iRESTfulService
PurchasingService NA
REST VM
VM JMS
PurchasingService
VM JMS
<outbound>
<filtering-router><outbound-endpoint address="vm://Purchasing" transformer-refs="PPO.RestToCmf"
responseTransformer-refs="PPO.CmfToRest" synchronous="true” /><restlet:uri-template-filter pattern="/ProcessPurchaseOrder" verbs="POST" />
</filtering router></filtering-router>
<filtering-router><outbound-endpoint address="vm://GetPurchaseOrder"/><restlet:uri-template-filter pattern="/purchaseOrder/{poId}" verbs="GET"/>
</filtering-router>
</outbound>
</service>
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 13: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/13.jpg)
Enterprise Service Bus Example – Mule ESB
RESTful
PurchasingService EU
ESB VM SOAP/HTTP
P h iRESTfulService
PurchasingService NA
REST VM
VM JMS
PurchasingService
VM JMS
<service name="PurchasingService"><inbound>inbound
<inbound-endpoint address="vm://Purchasing" synchronous="true"/></inbound><outbound>
<filtering-router><outbound endpoint address="vm://S1 PurchasingService EU" synchronous="true"/><outbound-endpoint address= vm://S1_PurchasingService_EU synchronous= true /><message-property-filter pattern="ROLE=ROLE_USER_EU"/>
</filtering-router>
<filtering-router><outbound-endpoint address="vm://S2_PurchasingService_NA" synchronous="true"/><message-property-filter pattern="ROLE=ROLE_USER_NA"/>
</filtering-router></outbound>
</service>
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 14: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/14.jpg)
Enterprise Service Bus Example – Mule ESB
RESTful
PurchasingService EU
ESB VM SOAP/HTTP
P h iRESTfulService
PurchasingService NA
REST VM
VM JMS
PurchasingService
VM JMS
<service name="PurchasingService_EU"><inbound>
i b d d i t dd ” //S1 P h i S i EU" h "t "/<inbound-endpoint address=”vm://S1_PurchasingService_EU" synchronous="true"/></inbound><outbound>
<pass-through-router><cxf:outbound-endpoint
address=http://localhost:19000/Purchasing_EUwsdlLocation="classpath:/schemas/business/purchase/purchase-1.0.wsdl"wsdlPort="PurchasingPort"operation="ProcessPurchaseOrder" clientClass="se callista soalab purchase wsdl v1 PurchasingService”clientClass se.callista.soalab.purchase.wsdl.v1.PurchasingService synchronous="true"
/></pass-through-router>
</outbound></ i >
SOA and Open SourceCopyright 2009, Callista Enterprise AB
</service>
![Page 15: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/15.jpg)
Enterprise Service Bus Example – Mule ESB
RESTful
PurchasingService EU
ESB VM SOAP/HTTP
P h iRESTfulService
PurchasingService NA
REST VM
VM JMS
PurchasingService
<jms:activemq-connectorname="jmsConnector" brokerURL="tcp://localhost:61616”/>VM JMS
<service name="PurchasingService_NA">......<outbound>
<pass-through-router><outbound-endpoint address="jms://Soalab.PurchasingService_NA.Request"
transformer-refs=”..." synchronous="true"/><reply to address="jms://Soalab PurchasingService NA Response" /><reply-to address= jms://Soalab.PurchasingService_NA.Response />
</pass-through-router></outbound>
<async-reply timeout="10000"><inbound-endpoint address="jms://Soalab.PurchasingService_NA.Response"
transformer-refs=”..."/><single-async-reply-router/>
</async-reply></service>
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 16: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/16.jpg)
Enterprise Service Bus Example – Mule ESB
• Unit testing services in Mule ESB
• Test Proxy Services• Test Proxy Services
– Separate config-file
• JUnit TestsJUnit Tests
– Mule base class initiates Mule ESB per test run
Unit Tests
RESTful
PurchasingService EU
ESB VM
Purchasing
Test ProxyEU
SOAP/HTTP
ServicePurchasingService NA
REST VM
VM
gService
Test ProxyNA
JMS
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 17: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/17.jpg)
Mule ESB Connectivity - FTP
vm: ftp:
• Declare a FTP Connector
CMF Message FTPTransport
TransformFromCMF
ReceivingApplication
Declare a FTP Connector
<ftp:connectorname="FtpConnector"pollingFrequency="1000"binary="true"passive="true"outputPattern="${ORIGINALNAME}_${DATE}.txt" />
• Send file to a FTP Server
<outbound-endpoint address="ftp://usr:pwd@server/dir”/>
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 18: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/18.jpg)
Mule ESB Connectivity - JDBC
vm: jdbc:
• Declare a JDBC Connector
CMF Message JDBCTransport
TransformFromCMF
ReceivingApplication
Declare a JDBC Connector
<jdbc:connector name="jdbcConnector" pollingFrequency="500" dataSource-ref="jdbcDataSource">
<jdbc:query key="insertImportData"value="INSERT INTO IMPORT_TB (ID, VALUE)
VALUES (${map-payload:ID}, ${map-payload:VALUE})"/>
</jdbc:connector>
• Insert records into staging table
<jdbc:outbound-endpoint queryKey="insertImportData” transformer-refs=”ToMap"/>
SOA and Open SourceCopyright 2009, Callista Enterprise AB
transformer refs ToMap /
![Page 19: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/19.jpg)
Mule ESB – Transaction and Error Handling
• Configure transactional endpoints
<jms|jdbc|vm:transaction action="ALWAYS BEGIN"/>
• Global XA transactions
<jms|jdbc|vm:transaction action="ALWAYS_BEGIN"/>
Global XA transactions
<xa-transaction action="ALWAYS_JOIN"/>
• Error handling including commit/rollback control
<default-service-exception-strategy>
<vm:outbound-endpoint path="S0_SystemErrorHandler"/>
<commit-transactionexception-pattern="se.callista.soalab.BusinessException"/>
</default-service-exception-strategy>
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 20: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/20.jpg)
Building a SOA Reference Model…
Business Portals Web AppsServiceConsumers Systems Portals Web AppsConsumers
C it
Business ProcessManagement
CompositeServices
BPM – Business Process
CoreServicesBusiness
Management
BusinessSystems
COTS Legacy Inhouse
1. Orchestration
2 WorkflowSOA and Open SourceCopyright 2009, Callista Enterprise AB
2. Workflow
![Page 21: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/21.jpg)
BPM (JBoss jBPM)
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 22: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/22.jpg)
BPM (JBoss jBPM)
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 23: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/23.jpg)
Building a SOA Reference Model…
Business Portals Web AppsServiceConsumers Systems Portals Web AppsConsumers
SOA Governance
C it
Business ProcessManagement
nanc
e
CompositeServices
A G
over
n
CoreServicesBusiness
SO
A
BusinessSystems
COTS Legacy Inhouse
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 24: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/24.jpg)
What is SOA Governance tools?
From http://wso2.org/library/articles/soa-governance-wso2-registry-v1-1
• To enable SOA governance, software industry responded with two g , y pdifferent categories of tools, registries and repositories.
• A registry is a tool that keeps a list of services with their locations.
• On the other hand a repository functions as a tool that keeps information on how the services are used how they interact who information on how the services are used, how they interact, who is using the services and why they are used.
• These tools are considered as key enablers of SOA Governance. Usually these two technologies come together as an "Integrated" Regist Reposito th s a oiding data d plicationRegistry-Repository, thus avoiding data duplication.
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 25: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/25.jpg)
SOA Governance (Mule Galaxy)
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 26: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/26.jpg)
SOA Governance (Mule Galaxy)
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 27: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/27.jpg)
SOA Governance (Mule Galaxy)
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 28: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/28.jpg)
SOA Governance (Mule Galaxy)
• ATOM API – Query examplehttp://localhost:8080/api/registry?p p g yq=select artifact where documentType = {http://www.mulesource.org/schema/mule/core/2.1}mule
<feed xmlns="http://www.w3.org/2005/Atom"><entry><linkh f "/ i/ i t /A li ti / l b/ l b h fi l t ”/href="/api/registry/Applications/soalab/soalab-purchase-config.xml;atom”/>
<title type="text">soalab-purchase-config.xml</title>...
</entry>t<entry>
<linkhref="/api/registry/Default%20Workspace/hello-config-mule2.xml;atom" />
<title type="text">hello-config-mule2.xml</title>...
</entry>...
</feed>
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 29: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/29.jpg)
Building a SOA Reference Model…
Business Portals Web AppsServiceConsumers MM
Management and Monitoring
Systems Portals Web AppsConsumers Managem
Monitorin
C it
Business ProcessManagement
nanc
em
ent &ng
CompositeServices
A G
over
n
CoreServicesBusiness
SO
A
BusinessSystems
COTS Legacy Inhouse
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 30: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/30.jpg)
Management and Monitoring (Mule HQ)
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 31: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/31.jpg)
Management and Monitoring (Mule HQ)
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 32: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/32.jpg)
Management and Monitoring (Mule HQ)
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 33: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/33.jpg)
Building a SOA Reference Model…
Business Portals Web AppsServiceConsumers MM
Business Activity MonitoringSystems Portals Web AppsConsumers M
anagemM
onitorin
C it
Business ProcessManagement
nanc
em
ent &ng
CompositeServices
A G
over
n
CoreServicesBusiness
SO
A CE
P -BABusiness
Systems
COTS Legacy Inhouse
AM
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 34: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/34.jpg)
What is BAM & CEP?
• Business Activity Monitoring (BAM) and• Business Activity Monitoring (BAM) and
Complex Event Processing (CEP)
can be defined as (from www.eventstreamprocessing.com):
– "Software technology that enables applications to monitor – Software technology that enables applications to monitor multiple streams of event data, analyze them in terms of Key Performance Indicators (KPI) that are expressed in event rules, and act upon opportunities and threats in real time, potentially by creating derived events, or forwarding raw events.".raw events. .
![Page 35: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/35.jpg)
Business Activity Monitoring (Esper)
ESB
EventsAlerts
RulesBAM-Engine
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 36: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/36.jpg)
Business Activity Monitoring (Esper)
ESB
EventsAlerts
RulesBAM-Engine
Wire Tap
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 37: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/37.jpg)
Business Activity Monitoring (Esper)
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 38: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/38.jpg)
Business Activity Monitoring (Esper)
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 39: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/39.jpg)
Business Activity Monitoring (Esper)
OperationalESBMessages
jms:
Order OrderProcessor
BAM Al
jms:
Processor(long running process)BAM Alert
Handler
BAM Alerts BAM Events
BAM Engine
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 40: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/40.jpg)
Business Activity Monitoring (Esper)
<service name="OrderProcessor_TestProxy"><inbound>
<jms:inbound-endpoint queue="Soalab.OrderProcessor”/>
Order
Mule ESB
BAM Alert
<wire-tap-router><jms:outbound-endpoint queue="Soalab.BAM"/>
</wire-tap-router></inbound>
BAM Engine
Order BAM Alert Handler
select po.id as orderno from pattern[every po=Created ->BAM Engine
(Esper)[every po=Created ->
(timer:interval(3 sec) andnot Completed(id = po.id))]
<service name="BAM-Alert-Component"><inbound>
<jms:inbound-endpoint queue="Soalab.BAM.Alert"/>jms:inbound endpoint queue Soalab.BAM.Alert /</inbound>
<log-component/></service>
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 41: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/41.jpg)
SOA Reference Model, the complete picture
Business Portals Web AppsServiceConsumers MM
Systems Portals Web AppsConsumers Managem
Monitorin
C it
Business ProcessManagement
nanc
em
ent &ng
CompositeServices
A G
over
n
Business
CoreServices
SO
A CE
P -BABusiness
Systems
COTS Legacy Inhouse
AM
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 42: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/42.jpg)
A sample Open Source SOA Sandbox
Business Portals Web AppsServiceConsumers MM
Systems Portals Web AppsConsumers Managem
MonitorinMule
HQ
C it
Business ProcessManagement
nanc
em
ent &ng
JBoss jBPMMule
HQ
CompositeServices
A G
over
n
Mule ESB
Mule Galaxy
Business
CoreServices
SO
A CE
P -BA
EsperCXF ActiveMQRestlet
BusinessSystems
COTS Legacy Inhouse
AM
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 43: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/43.jpg)
SOA Product Areas
Business Portals Web AppsServiceConsumers MM
Systems Portals Web AppsConsumers Managem
Monitorin
C it
Business ProcessManagement
nanc
em
ent &ng
CompositeServices
A G
over
n
ESB
Business
CoreServices
SO
A CE
P -BABusiness
Systems
COTS Legacy Inhouse
AM
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 44: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/44.jpg)
Open Source SOA
• ESB
– MuleSource Mule ESB
– Apache ServiceMix
– Sun OpenESB
– ”ESB buidling blocks”
Apache Synapse (WS + XML focus)• Apache Synapse (WS + XML focus)
• Apache Camel (EIP library)
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 45: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/45.jpg)
Open Source SOA
• ESB Connectivity - Web Services
A h CXF– Apache CXF
– Apache Axis
Sun Metro (WS IT)– Sun Metro (WS-IT)
• MS .Net WCF interoperability
• ESB Connectivity - Messaging
– Apache ActiveMQ• ESB Connectivity – REST
R tl tpac e ct e Q
– Sun OpenMQ
– JBoss Messaging
– Restlet
– Jersey
JAX RS (JSR 311)g g
– Spring.NET Messaging API
• JMS API for MS .NET
– JAX-RS (JSR 311)
– Adbera
– Atom Feeds
SOA and Open SourceCopyright 2009, Callista Enterprise AB
Atom Feeds
![Page 46: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/46.jpg)
Open Source SOA
• BPM• BPM
– Apache Ode
– Sun BPEL EngineSun BPEL Engine
– JBoss jBPM
• SOA Governance Tools – Repository & Registry
– MuleSource Galaxy
– WSO2 Registry
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 47: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/47.jpg)
Open Source SOA
• BAM
– Esper
JB D l ( i 5 0)– JBoss Drools (since v5.0)
• Monitoring and Management• Monitoring and Management
– Hyperic HQ
– MuleSource Mule HQMuleSource Mule HQ
– Progress Fuse HQ
– Builtin JMX access, e.g. in ESB products…Builtin JMX access, e.g. in ESB products…
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 48: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/48.jpg)
Summary
• Open Source products for SOA exists not only for core features such as Web Services Messaging and ESB but also forWeb Services, Messaging and ESB but also for
• SOA Governance, Monitoring & Management and BAM
• Typical scenarios for service provisioning and consumption• Typical scenarios for service provisioning and consumptioncan be implemented very easy
• Advantages compared to commercial products
– Lower license cost, obviously ☺
– Lower complexity, at least for mainstream scenarios
– Easier to extend
• Vendor service offerings for support, training and consulting
• Important to establish a reference model and guiding principles
– SOA Governance, holistic view
SOA and Open SourceCopyright 2009, Callista Enterprise AB
![Page 49: SOA and Open Source - Callista Enterprise · What is BAM & CEP? • Business Activity Monitoring (BAM) and Complex Event Processing (CEP) can be defined as (from ): – "Software](https://reader030.vdocuments.site/reader030/viewer/2022040609/5ec98704daa2c748417ef83b/html5/thumbnails/49.jpg)
Recommended reading
SOA and Open SourceCopyright 2009, Callista Enterprise AB