JBoss Middleware
AgendaAgenda
The “Internet of Things” (IOT)
Messaging Oriented Middleware
Demo
Fuse
Case Studies
RED HAT | Ravi Gupta August 20144
How do you integrate everything...
+
HQ + integration stack
...when the enterprise extends far beyond the data center?
partners
devices
cloud / SaaS apps
distributors
RED HAT | Ravi Gupta August 20145
Traditional integration stack is too expensive, too difficult to manage and maintain...
+
HQ + integration stack
...and many make do with batch delivery and hub-and-spoke architecture
point to point
batch
batch
batchpoint to point
point to pointpoint to pointpoint to point
cloud / SaaS apps
distributors
partners
devices
JBoss Middleware
Multiple Products for multiple Multiple Products for multiple problemsproblems
Small-footprint messagingplatform, eliminating batch delivery
JBoss A-MQ for messaging oriented middleware requirements and use-cases
Integration/ESB platform for integrations that can extend outside the data center
JBoss Fuse for integration/ESB requirements and use-cases
Service design, development and integration platform that enables responsive and innovative enterprise
JBoss Fuse Service Works for integration/ESB+SOA+Orchestration+Governancerequirements and use-cases
JBoss A-MQ
JBoss Fuse (includes A-MQ)
JBossFuse Service Works
(includes JBoss Fuse)
JBoss Middleware
Red Hat JBoss FuseRed Hat JBoss Fuse
Enables integration everywhere for a real-time enterprise
JBoss Middleware
JBoss A-MQ MessagingJBoss A-MQ Messaging
• Based on Apache ActiveMQ– Reliable
– Multi-protocol Support
– Native language clients
– Multiple O/S support
– Small footprint
– Pluggable architecture allows protocols and features to be added or customized
JBoss Middleware
BrokerQueue
• Single JMS Destination (Queue or Topic)– Not Persisted
– Highest throughput
– Lowest Quality of Service
– Non guaranteed messaging
– Messages retained in memory – if server crashes, queued messages are lost
Single Non Clustered Non Persisted Single Non Clustered Non Persisted DestinationDestination
Producer Consumer
JBoss Middleware
BrokerQueue
• Single JMS Destination (Queue or Topic)– Messages persisted before being delivered
– Assured delivery – no message loss
– Messages retained on disk – if server crashes, queued messaged retrieved from persistent store
Single Non Clustered, Persisted Single Non Clustered, Persisted DestinationDestination
Producer Consumer
Persistent Store
• KahaDBKahaDB
• LevelDBLevelDB
• JDBCJDBC
JBoss Middleware
Broker (master)
• Master slave broker pairs– Messages persisted before being delivered
– Shared or Replicated persistence store
– If master broker fails, then slave broker takes over.
Master SlaveMaster Slave
Producer Consumer
Persistent Store
• Slave becomes master in Slave becomes master in event of failure to masterevent of failure to masterBroker
(slave)
JBoss Middleware
Broker
• Networked brokers– Messages persisted before being delivered
– Shared or Replicated persistence store
– If master broker fails, then slave broker takes over.
Network of BrokersNetwork of Brokers
MessageFor
Queue AProducer
Consumer
Broker
Broker
JBoss Fuse – Includes Apache JBoss Fuse – Includes Apache CamelCamel
h t t p : / / w w w .m a n n in g .c o m / ib s e n /C l a u s I b s e n a n d J o n a t h a n A n s t e yF o r e w o r d s b y : G r e g o r H o h p e a n d J a m e s
S t r a c h a n
What is a Camel route?What is a Camel route?• A Route is the step-by-step movement of a message:
– From a “listening” endpoint in the role of consumer– Through a processing component - enterprise integration pattern,
processor, interceptor, etc. (optional)– To a target endpoint in the role of producer
• May involve any number of processing components that modify the original message and/or redirect it
– Use expressions and predicates
• An application developer specifies routes using:– Spring configuration files– Java Domain Specific Language (DSL)
JBoss Middleware 19
EIP: JAVA DSL & XML DSLEIP: JAVA DSL & XML DSL● Multiple Implementation languages
Java
Spring
IDE
JBoss Middleware
Fuse FabricFuse Fabric
● Management of large scale deployments● Provisioning and deployment● Create Containers anywhere (Local – Remote – Cloud )● Upgrade & patching
Recap of Benefits
●Full-featured, easy-to-use and intuitive framework for quickly
building integration solutions●Vast library of connectivity options●Easily deploy or update services while the ESB is running●Extremely scalable with full High Availability●Governance, workflow