• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Enterprise Integration Patterns with ActiveMQ
 

Enterprise Integration Patterns with ActiveMQ

on

  • 2,977 views

 

Statistics

Views

Total Views
2,977
Views on SlideShare
2,977
Embed Views
0

Actions

Likes
7
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Key message – The FuseSource team is the force behind the projects – we are not just a body shop that likes to code. We built the projects, we know the projects, we influence the projects The top four photos show the biggest names at Apache, and may be recognized and revered by the prospect.
  • Key point: a support is about much more than just support and bug fixing. It bridges the gap between community-developed code and enterprise development.
  • Key message: we support customers throughout the entire software development lifecycle, and know what teams need and when. We know how to build enterprise apps A pilot subscription includes 8x5 support, but MUST include consulting and training. FuseSource does not sell 3 months of support alone. QoS = qualities of service. As the experts in building mission-critical, enterprise apps we know how to build security, scalability, etc. into enterprise deployments.
  • Key message – the code is tried and true, and FuseSource is experienced.

Enterprise Integration Patterns with ActiveMQ Enterprise Integration Patterns with ActiveMQ Presentation Transcript

  • Enterprise Integration:Patterns and Deployments with Apache ActiveMQPatterns and Deployments with Apache ActiveMQ Rob Davies CTO FuseSource A Progress Software Company July 2011Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company1 Copyright © 2010
  • Your presenter is: Rob Davies  CTO at FuseSource - “the experts in open source integration and messaging” http://fusesource.com  Apache ActiveMQ, ServiceMix and Camel PMC member  Co-creator of ActiveMQ, ServiceMix and Camel  Co-author of ActiveMQ in Action:  Chapter 5:ActiveMQ Message Store  Chapter 10: Deploying ActiveMQ in the Enterprise  Chapter 11: ActiveMQ Broker Features In Action  Chapter 12: Advanced Client Options  Chapter 13: Tuning ActiveMQ for Performance Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company2
  • FuseSource - the experts in open source integration and messaging FuseSource Sponsors the Apache Software Foundation Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company3
  • FuseSource: the Team that Wrote the Code Over 25 active committers on 11 Apache projects Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company4
  • Enterprise Integration Patterns  A Book by Gregor Hohpe and Bobby Woolf  Patterns and Recipes for common integration problems  Message Centric  Used as the basis for all the major integration products  Should be the the first thing to reference when starting an integration project  http://www.eaipatterns.com/ Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company5
  • Why use Messaging ? Remote communication between applications • different processes on the same machine • different process on different machines in different locations Platform/language integration - heterogeneous support Asynchronous communication - de-coupling between producer and consumer (loose coupling) location transparency Fault tolerant communication • guaranteed delivery • once and only once delivery Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company6
  • What is Apache ActiveMQ ? Top level Apache Software Foundation Project Wildly popular, high performance reliable message broker • supports JMS 1.1, adding support for AMQP 1.0 and JMS 2.0 • Clustering and Fault Tolerance • supports publish/subscribe, point to point, message groups, out of band messaging and streaming, distributed transactions Myriad of Connectivity options • Native Java, C++ and .Net • STOMP protocol extends reach to Ruby, JS, Perl, Python,PHP, ActionScript ... Embedded and standalone deployment options • Pre-integrated with open source integration and application frameworks • Deep integration with Spring Framework and JEE Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company7
  • Enterprise Integration Message Channels ... Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company8
  • Message Channels = JMS Destinations Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company9
  • Publish/Subscribe Channel (Topics) Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company10
  • Point-to-Point Channel (Queues) Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company11
  • Enterprise Integration: Message Routing ... Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company12
  • Message Routing: Destinations - ActiveMQ supportsWildcards Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company13
  • Message Routing - selectors Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company14
  • Message Routing: Selectors - usually headers only Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company15
  • ActiveMQ also supports content based routing: Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company16
  • Destinations or Selectors ? Overhead to both destinations and Selectors Queues use more resources than Topics Selectors are OK providing there’s always a consumer for a filtered message (“Stuck Message” problem) In general use more destinations before using selectors If you need finer control, then use selectors Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company17
  • Enterprise Integration Types of Messages ... Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company18
  • Types of Message: Command Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company19
  • Types of Message: Document Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company20
  • Types of Message: Event Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company21
  • Enterprise Integration Message Integration - Push, Pull or both ? Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company22
  • Push Model for Integration Typically uses a document message being sent as an event • Information about a change (e.g. a price change) is an event • Information about a change and the changed information - is an event/document combination Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company23
  • Push Model Using ActiveMQ for Scalability - FanOut Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company24
  • Push Model Using ActiveMQ for Scalability - FanOut configurationActiveMQ producer connection URI - will connect to allbrokers:fanout:(static:(tcp://broker1:61616,tcp://broker2:61616))ActiveMQ Consumers connection URI - will connect toonly one brokerfailover:(tcp://broker1:61616,tcp://broker2:61616) Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company 25
  • Pull Model for Integration Three message types used • Event message - to notify observers of changes • Command message: - to request updated information • Document message: - details of the change Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company26
  • Which model to use - Push or Pull ? - it depends :) Push model is good when: • when all consumers want details of change • Information (Document part) isn’t too large Push model is bad when: • lots of consumers - but only a few want updated require updated information Pull model is good when: • lots of consumers, only a few will be interested in the change • flexibility in the implementation Pull model is bad when: • need to reduce traffic - 3 messages vs 1 for push • 2 Destinations vs 1 for push Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company27
  • A Bad use of Pull: Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company28
  • Enterprise Integration Message Integration - Request/Reply Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company29
  • Two way conversation: Request/Reply Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company30
  • Two way conversation: Request/Reply with JMS javax.jms has helper classes for Request/Reply pattern • QueueRequestor • TopicRequestor Limitations • Requests have to be persistent • Request can’t be transacted • Requestor is synchronous • Uses a temporary destination for response: – there maybe a network outage - loose response – you may want to load balance responses - so need a Queue Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company31
  • Two way conversation: With ActiveMQ Don’t use javax.jms has helper classes for Request/Reply Don’t use temporary Queues What Queues that should only live as long as a connection ? • use timeToLive on messages • enable garbage collection on destinations Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company32
  • Enterprise Integration Message Integration - Job Processing Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company33
  • Messaging for scalable Job processing Distributes processing Scalable - multiple consumers of each queue Fault tolerant - processing can survive Processor outage Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company34
  • Enterprise Integration Deployment Pattern - Hub and Spoke Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company35
  • Geographically Dispersed Hub and Spoke Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company36
  • Geographically Dispersed Hub and Spoke - Challenges Need immediate time two way communication between remote office and head office remote office applications still need to work if head office is not contactable Network outage, or unreliable networks, need to be catered for Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company37
  • Geographically Dispersed Hub and Spoke - Solution Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company38
  • Best practices for ActiveMQ networks For large number of remote brokers - or when firewalls are an issue - use duplex networks - the remote broker establish the connection to the “head office” Use network filters - to cut down network chatter Consider using static includes on networks - if networks don’t need to be dynamic Use compression - especially over slow links Networks are fault tolerant - so can failover to a slave Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company39
  • Enterprise Integration Deployment Pattern - Failover between data centres ... Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company40
  • ActiveMQ use case - geographically dispersed datacentres Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company41
  • ActiveMQ Networks - using failover Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company42
  • ActiveMQ use case - geographically dispersed datacentres - redundant links Fully redundant inter-connected brokers If a network link dies - messages need to automatically routed another way Needs to work for both Queues and Topics Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company43
  • ActiveMQ use case - geographically dispersed datacentres - redundant links - continued Set networkTTL to 2 Queues will automatically work Topics need extra configuration ... Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company44
  • ActiveMQ use case - geographically dispersed data centres -redundant links - continued - support for topicsEnable duplicate subscriptions over the network:<networkConnectors> <networkConnector uri="static:(tcp://brokerB:61617)" name="A-B"networkTTL="2" suppressDuplicateTopicSubscriptions="false"> </networkConnector><networkConnector uri="static:(tcp://brokerC:61618)" name="A-C" networkTTL="2"suppressDuplicateTopicSubscriptions="false"></networkConnector> </networkConnectors>Ensure every Topic message is only sent through one networkconnection - the one with the highest priority: <destinationPolicy> <policyMap> <policyEntries> <policyEntry topic=">" enableAudit="true"> <dispatchPolicy> <priorityNetworkDispatchPolicy/> </dispatchPolicy> </policyEntry> </policyEntries> </policyMap> </destinationPolicy Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company 45
  • Enterprise Integration: What about other Enterprise Integration Patterns ? Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company46
  • Some Integration Patterns Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company47
  • What is Apache Camel ? A powerful open source Mediation Router/Integration Framework Based on Enterprise Integration Patterns 100 + integration components Designed to: • have no container dependency • but ... work very well with Apache ActiveMQ, ServiceMix and CXF • Can integrate seamlessly with Spring • Easily extendable Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company48
  • What is Apache Camel Camel and EIP Apache WebSphereMQ ActiveMQ Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company49
  • What is Apache Camel Camel and EIP 16 Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company 50
  • What is Apache Camel Camel and EIP from filter send to A message B Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company51
  • What is Apache Camel Camel and EIP from(A) filter(predicate) to(B) Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company52
  • What is Apache Camel Camel and EIP from(A) .filter(isWidget) .to(B) Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company53
  • What is Apache Camel Camel and EIP from(A).filter(isWidget).to(B); Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company54
  • What is Apache Camel Camel and EIP isWidget = xpath("/quote/product = ‘widget’"); from(A).filter(isWidget).to(B); Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company55
  • What is Apache Camel  Camel and EIPEndpoint A = endpoint("activemq:queue:quote");Endpoint B = endpoint("mq:quote");Predicate isWidget = xpath("/quote/product = ‘widget’");from(A).filter(isWidget).to(B); Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company 56
  • What is Apache Camel Filter Routepublic void configure() throws Exception { Endpoint A = endpoint("activemq:queue:quote"); Endpoint B = endpoint("mq:quote"); Predicate isWidget = xpath("/quote/product = ‘widget’"); from(A).filter(isWidget).to(B);} Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company57
  • What is Apache Camel Filter Route - Java DSL import org.apache.camel.builder.RouteBuilder; public class FilterRoute extends RouteBuilder { public void configure() throws Exception { Endpoint A = endpoint("activemq:queue:quote"); Endpoint B = endpoint("mq:quote"); Predicate isWidget = xpath("/quote/product = ‘widget’"); from(A).filter(isWidget).to(B); } } Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company58
  • What is Apache Camel Filter Route - Java DSL import org.apache.camel.builder.RouteBuilder; public class FilterRoute extends RouteBuilder { public void configure() throws Exception { from("activemq:queue:quote") .filter().xpath("/quote/product =‘widget’") .to("mq:quote"); } } Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company59
  • Enterprise Integration: Lets look at the Content based filter ... Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company60
  • What is Apache Camel Content Based Router Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company61
  • What is Apache Camel Content Based Router - XML DSL <camelContext> <route> <from uri="activemq:NewOrders"/> <choice> <when> <xpath>/order/product = widget</xpath> <to uri="activemq:Orders.Widgets"/> </when> <otherwise> <to uri="activemq:Orders.Gadgets"/> </otherwise> </choice> </route> </camelContext> Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company62
  • What is Apache Camel Content Based Router - Java DSL from("activemq:NewOrders") .choice() .when().xpath("/order/product = widget") .to("activemq:Orders.Widget") .otherwise() .to("activemq:Orders.Gadget"); Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company63
  • What is Apache Camel Endpoints as URIs use file instead from("file:inbox/orders") .choice() .when().xpath("/order/product = widget") .to("activemq:Orders.Widget") .otherwise() .to("activemq:Orders.Gadget"); Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company64
  • What is Apache Camel Endpoints as URIs parameters from("file:inbox/orders?delete=true") .choice() .when().xpath("/order/product = widget") .to("activemq:Orders.Widget") .otherwise() .to("activemq:Orders.Gadget"); Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company65
  • Enterprise Integration: Apache Camel and ActiveMQ work well together ... Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company66
  • ActiveMQ with embedded Camel: Flexible and Performant Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company67
  • ActiveMQ with embedded Camel: import camel intoActiveMQ broker config:<beans>   <broker brokerName="testBroker"  xmlns="http://activemq.apache.org/schema/core">    <transportConnectors>      <transportConnector uri="tcp://localhost:61616"/>    </transportConnectors>  </broker>  <import resource="camel.xml"/></beans> Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company 68
  • ActiveMQ with embedded Camel: Setup Camel Context inusual way<camelContext errorHandlerRef="errorHandler" xmlns="http://camel.apache.org/schema/spring"> <route> <from uri="activemq:queue:test.queue"/> <choice> <when> <xpath>$foo = bar</xpath> <to uri="activemq:topic:topic.bar"/> </when> <when> <xpath>$foo = cheese</xpath> <to uri="activemq:topic:topic.cheese"/> </when> <otherwise> <to uri="activemq:topic:topic.all"/> </otherwise> </choice> </route></camelContext> Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company69
  • Enterprise Integration: Lets look at some challenges for messaging Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company70
  • Messaging Challenges  Scalability • Vertical scaling - how do we support a 100,000 destinations? • Horizontal Scaling - how can we linear scale greater than 100k destinations ?  Performance - everything needs to be faster - ActiveMQ - should be the fastest open source messaging  Continuous availability (active active clustering)  Protocol support - there’s a range of choices - ActiveMQ should support them. Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company71
  • CERN Large Hadron Collider Worlds largest and most powerful particle accelerator Currently 10 different Collider Experiments Budget of $9 billion 30G/s optical network Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company 72
  • CERN Large Hadron Collider Produces 15 petabytes of data annually WLCG – 34 different countries Lots of Data – lots of destinations Requires next generation messaging to cope with information demand Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company 73
  • Need new Messaging Architecture Extreme throughput Scalable to millions of Dynamic Destinations Extensive protocol support Scale to x100k connections Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company74
  • Introducing ActiveMQ Apollo  Scala based core for very fast, scalable dispatching  modular design – independent lifecycle support  Enhanced Queues  More Protocols  Richer REST based Management  Intelligent Clustering Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company75
  • Hawtdispatch  Based on Grand Central Dispatch (from OS X)  Event based – supports both reactor and proactor patterns  Uses fixed size thread pool – to match number of cores available  Reduces Thread contention - tries to use same thread and scales to very large connections  Handles millions of messages per second Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company76
  • More protocols than OpenWire and STOMP  MQTT • IBM developed open protocol- supported by WebsphereMQ, Mosquitto and now Apollo • Publish/Subscribe and Queues (version 5 spec) • Designed to be used from embedded devices all the way up to application stacks  Beanstalk • Short lived tasks • sender needs to take action if a job is not consumed • sender needs to know job is on the Queue • very scalable  AMQP 1.0 • First Enterprise Version • supports distributed transactions • supports reliable messaging • Flow Control should now work Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company77
  • Automatic Destination Partioning (clustering)  Uniform load across multiple brokers  Clients automatically connect to the correct broker(s)  Massive scalability  Reduce network hops Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company78
  • What about performance ? Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company79
  • FuseSource Subscription = Long Term Success Support  •Enterprise-class 24x7 coverage •Global organization •Mission-critical integration expertise Influence  •Updates and migration •Product roadmaps assistance •Planning processesTools •Conduit to Apache•Development•Operations•Management•Performance•Documentation Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company 80
  • FuseSource Knows How To Build Enterprise Apps Help throughout the software development lifecycle… Pilot /  Investigation Development Production PoC Get started Try it out Build right Deploy safely •training videos •tech overviews  •dev. subscription •prof. subscription •webinars •training •arch. workshop •health check  •tutorials •project planning •best practices •perf. workshop •documentation •pilot workshop •QoS  •HA workshop •white papers •pilot subscription  development •training •trainingAvailable for Free FuseSource Paid Engagement Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company 81
  • FuseSource Track Record100’s millions+ Transactions every day running on Fuse 200,000+ Downloads per month 200+ Customers and growing rapidly 100%+ Rapid growth of FuseSource for past 3 years 24 hr Enterprise Support every day 25+ Apache Committers and Contributors 15+ Years of Enterprise Integration experience #1 Number one provider of Open Source Integration and Messaging products and services Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company 82
  • Any Questions?No vendor lock-in Free to redistribute Enterprise class…….. A Progress Software Company Copyright © 2010 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company83
  • Enterprise ActiveMQ - More Information:  http://fusesource.com/  http://activemq.apache.org/  http://camel.apache.org/  http://activemq.apache.org/apollo/ Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company84