9. Scaling up, scaling out… ‘to understand ServiceMix, first you must understand ActiveMQ’
10.
11. Aside: networked brokers allow you to create local broker clusters and implement wide-scale cross-geography architectures.
12. ActiveMQ replication, clustering & failover Broker replication Shared message store <<jvm>> samwise:ActiveMQ Master state replicated to slave using network connector. <<jvm>> frodo:ActiveMQ <<jvm>> samwise:ActiveMQ Brokers compete for file system or database lock. <<jvm>> frodo:ActiveMQ
13.
14. … the thing is, it’s largely the same scaling model in ServiceMix
15.
16.
17. ‘ The unbearable chattiness of brokers’ or ‘too many brokers spoiled the pot’
20. JBI - fundamentals <<jvm>> :SMX <<component>> :FTP NMR <<component>> :EIP <<component>> :SAXON <<component>> :JMS ServiceMix acts as a container for “components”, communicating with each other using the XML-based Normalized Message Router. Use well-known components like JMS, HTTP, CXF, Bean, FTP, FILE, or write your own.
21. JBI fundamentals (cont’) <<jvm>> :SMX <<component>> :FTP NMR <<component>> :EIP <<component>> :SAXON <<component>> :JMS Build an application by configuring and wiring endpoints as SUs, combining them into SAs that can be deployed atomically. Endpoints are configured using xbean (Spring) configuration; deployment artifacts are created using maven plugins. :Transformer :Pipeline :Producer :Poller
22. JBI fundamentals: packaging 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. <<jar>> <<zip>> .class xbean.xml jbi.xml resources ftp-input-su <<zip>> .class xbean.xml jbi.xml resources eip-su <<zip>> .class xbean.xml jbi.xml resources jms-output-su <<zip>> .class xbean.xml jbi.xml resources xslt-transformer-su