More Related Content Similar to Enterprise Integration Patterns with ActiveMQ Similar to Enterprise Integration Patterns with ActiveMQ (20) Enterprise Integration Patterns with ActiveMQ1. Enterprise Integration:
Patterns and Deployments with Apache ActiveMQ
Patterns 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 Company
1 Copyright © 2010
2. 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 Company
2
3. 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 Company
3
4. 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 Company
4
5. 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 Company
5
6. 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 Company
6
7. 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 Company
7
8. Enterprise Integration
Message Channels ...
Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company
8
9. Message Channels = JMS Destinations
Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company
9
10. Publish/Subscribe Channel (Topics)
Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company
10
11. Point-to-Point Channel (Queues)
Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company
11
12. Enterprise Integration:
Message Routing ...
Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company
12
13. Message Routing: Destinations - ActiveMQ supports
Wildcards
Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company
13
14. Message Routing - selectors
Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company
14
15. Message Routing: Selectors - usually headers only
Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company
15
16. ActiveMQ also supports content based routing:
Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company
16
17. 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 Company
17
18. Enterprise Integration
Types of Messages ...
Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company
18
19. Types of Message: Command
Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company
19
20. Types of Message: Document
Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company
20
21. Types of Message: Event
Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company
21
22. 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 Company
22
23. 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 Company
23
24. Push Model Using ActiveMQ for Scalability - FanOut
Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company
24
25. Push Model Using ActiveMQ for Scalability - FanOut
configuration
ActiveMQ producer connection URI - will connect to all
brokers:
fanout:(static:(tcp://broker1:61616,tcp://broker2:61616))
ActiveMQ Consumers connection URI - will connect to
only one broker
failover:(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
26. 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 Company
26
27. 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 Company
27
28. A Bad use of Pull:
Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company
28
29. Enterprise Integration
Message Integration -
Request/Reply
Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company
29
30. Two way conversation: Request/Reply
Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company
30
31. 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 Company
31
32. 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 Company
32
33. Enterprise Integration
Message Integration -
Job Processing
Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company
33
34. 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 Company
34
35. Enterprise Integration
Deployment Pattern - Hub and
Spoke
Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company
35
36. Geographically Dispersed Hub and Spoke
Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company
36
37. 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 Company
37
38. Geographically Dispersed Hub and Spoke - Solution
Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company
38
39. 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 Company
39
40. 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 Company
40
41. ActiveMQ use case - geographically dispersed data
centres
Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company
41
42. ActiveMQ Networks - using failover
Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company
42
43. ActiveMQ use case - geographically dispersed data
centres - 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 Company
43
44. ActiveMQ use case - geographically dispersed data
centres - 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 Company
44
45. ActiveMQ use case - geographically dispersed data centres -
redundant links - continued - support for topics
Enable 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 network
connection - 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
46. 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 Company
46
47. Some Integration Patterns
Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company
47
48. 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 Company
48
49. 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 Company
49
50. 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
51. 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 Company
51
52. 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 Company
52
53. 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 Company
53
54. 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 Company
54
55. 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 Company
55
56. What is Apache Camel
Camel and EIP
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 Company
56
57. What is Apache Camel
Filter Route
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 Company
57
58. 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 Company
58
59. 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 Company
59
60. 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 Company
60
61. What is Apache Camel
Content Based Router
Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company
61
62. 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 Company
62
63. 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 Company
63
64. 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 Company
64
65. 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 Company
65
66. 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 Company
66
67. ActiveMQ with embedded Camel: Flexible and Performant
Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company
67
68. ActiveMQ with embedded Camel: import camel into
ActiveMQ 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
69. ActiveMQ with embedded Camel: Setup Camel Context in
usual 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 Company
69
70. 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 Company
70
71. 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 Company
71
72. 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
73. 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
74. 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 Company
74
75. 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 Company
75
76. 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 Company
76
77. 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 Company
77
78. 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 Company
78
79. What about performance ?
Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company
79
80. FuseSource Subscription = Long Term Success
Support
•Enterprise-class 24x7 coverage
•Global organization
•Mission-critical
integration expertise Influence
•Updates and migration •Product roadmaps
assistance
•Planning processes
Tools •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
81. 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
•training
Available for Free FuseSource Paid Engagement
Copyright © 2011 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. A Progress Software Company
81
82. FuseSource Track Record
100’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
83. 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 Company
83
84. 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 Company
84
Editor's Notes 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.