Escolar Documentos
Profissional Documentos
Cultura Documentos
Adrian Trenaman Distinguished Consultant Financial Services Group, Progress Professional Services trenaman@progress.com http://trenaman.blogspot.com Progress Education
Agenda
A little bit about what ServiceMix 4 really is
Conceptual architecture Standards and technologies Deployment and scaling Experience on the road
SOA Fundamentals
<<jvm>> :ServiceMix4 Web Services Reliable Messaging RESTful Services Business Logic
Logging
Lifecycle / Deployment
Configuration
Versioning
Management
Security
<<jvm>> :ServiceMix4
WSDL, SOAP, XML, XSD, JAXWS, JSON, (Apache CXF) Java, JVM-based languages JMS (Apache ActiveMQ) OSGi Config Admin SSH, JAAS, HTTPS, TLS,
Logging
Lifecycle / Deployment
Configuration
Versioning
Management
Security
<<jvm>> :ServiceMix4
f1 a:bundle
f2 c:bundle b:bundle
common
my-features.xml
x:bundle y:bundle
SYSTEST
UAT
PROD
DEV
Maven
.tar.gz
Scaling up, scaling out to understand ServiceMix, first you must understand ActiveMQ
<<jvm>> gandalf:ActiveMQ Foo: m 2: Broker frodo decides to route message via broker gandalf. m 3: message is delivered.
c2:Consumer
Aside: networked brokers allow you to create local broker clusters and implement wide-scale crossgeography architectures.
11
<<jvm>> frodo:ActiveMQ
<<jvm>> frodo:ActiveMQ
<<jvm>> samwise:ActiveMQ
<<jvm>> samwise:ActiveMQ
12
Master Slave
<<jvm>> samwise:ActiveMQ
<<jvm>> saruman:ActiveMQ
<<jvm>> pip:ActiveMQ
13
the thing is, its largely the same scaling model in ServiceMix
14
Master Slave
15
ActiveMQ
Master Slave
ActiveMQ
ActiveMQ
ActiveMQ
ActiveMQ
ActiveMQ
16
The unbearable chattiness of brokers or too many brokers spoiled the pot
17
If you have many SMX instances, then it might be more sensible to deploy your AMQ infrastructure separately.
This also keeps things conceptually simple. We like simple.
<<jvm>> master:AMQ
<<jvm>> frodo:SMX4
<<jvm>> gandalf:SMX4
Master Slave
18
19
SOA Fundamentals
JBI - fundamentals
ServiceMix acts as a container for components, communicating with each other using the XML-based Normalized Message Router.
NMR <<component>> :JMS <<component>> :SAXON Use well-known components like JMS, HTTP, CXF, Bean, FTP, FILE, or write your own.
20
Build an application by configuring and wiring endpoints as SUs, combining them into SAs that can be deployed atomically.
:Poller
:Pipeline
NMR <<component>> :JMS <<component>> :SAXON Endpoints are configured using xbean (Spring) configuration; deployment artifacts are created using maven plugins.
:Producer
:Transformer
21
Each component is specialized using a SU. In ServiceMix, the endpoint(s) are defined in an xbean.xml file. Maven plugins are used to generate jbi.xml file SUs can optionally contain support classes and resources such as WSDL & XSD SUs are bundled together into an SA to be deployed atomically.
jbi.xml
xbean.xml
jbi.xml
xbean.xml
.class ftp-input-su
resources
.class eip-su
resources
<<zip>>
<<zip>>
jbi.xml
xbean.xml
jbi.xml
xbean.xml
<<jvm>> :SMX
Use NMR without canonical XML payload Use Interceptors to monitor endpoints and message exchanges. New clustering architecture:
Clustered consumers write to NMR which uses a single JMS queue. Providers listen on queue using message selectors ActiveMQ network connectors provide location transparency.
23
2010 Progress Software Corporation. All rights reserved.
:JMSProvider
24
Better documentation - the ServiceMix book Building on OSGi Blueprints technology Supporting Apache Ode Scalability, performance, feature build-out
25
Adopting ServiceMix 4
Java, Maven, Spring - if you dont have these skills, be prepared to get them. Invest in technical steering - dont go in the wrong direction Nominate FUSE expert(s) on your team - then let them spread the love. Know yourself - If youe not source-friendly, then get professional help. In the source, there is truth - dont be afraid of the truth.
26
Respect the {n|cr}appy path above the happy path. Validate performance early, and keep validating it. Prefer Camel; use JBI as an integration point. Never forget your customer. Give them visibility and control.
Thing about management early.
27
Apache ServiceMix 4
FUSE Community Day London, 10th June 2010
Adrian Trenaman Distinguished Consultant Financial Services Group, Progress Professional Services trenaman@progress.com http://trenaman.blogspot.com Progress Education