Enviar búsqueda
Cargar
Apache ActiveMQ, Camel, CXF and ServiceMix Overview
•
14 recomendaciones
•
6,044 vistas
Marcelo Jabali
Seguir
Tecnología
Vista de diapositivas
Denunciar
Compartir
Vista de diapositivas
Denunciar
Compartir
1 de 41
Descargar ahora
Descargar para leer sin conexión
Recomendados
Service-Oriented Integration With Apache ServiceMix
Service-Oriented Integration With Apache ServiceMix
Bruce Snyder
Introduction to Apache Camel
Introduction to Apache Camel
Claus Ibsen
HTML5 WebSocket Introduction
HTML5 WebSocket Introduction
Marcelo Jabali
Apache ActiveMQ, Camel, CXF e ServiceMix Overview - Portugues
Apache ActiveMQ, Camel, CXF e ServiceMix Overview - Portugues
Marcelo Jabali
Apache camel overview dec 2011
Apache camel overview dec 2011
Marcelo Jabali
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
Recomendados
Service-Oriented Integration With Apache ServiceMix
Service-Oriented Integration With Apache ServiceMix
Bruce Snyder
Introduction to Apache Camel
Introduction to Apache Camel
Claus Ibsen
HTML5 WebSocket Introduction
HTML5 WebSocket Introduction
Marcelo Jabali
Apache ActiveMQ, Camel, CXF e ServiceMix Overview - Portugues
Apache ActiveMQ, Camel, CXF e ServiceMix Overview - Portugues
Marcelo Jabali
Apache camel overview dec 2011
Apache camel overview dec 2011
Marcelo Jabali
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Mark Simos
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
Kalema Edgar
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
Fwdays
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
Lorenzo Miniero
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
Sergiu Bodiu
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
Fwdays
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
BookNet Canada
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
Addepto
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
Stephanie Beckett
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
null - The Open Security Community
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
ScyllaDB
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
Hervé Boutemy
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
charlottematthew16
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
Dilum Bandara
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
comworks
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
BookNet Canada
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
Enterprise Knowledge
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
Mattias Andersson
How to write a Business Continuity Plan
How to write a Business Continuity Plan
Databarracks
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
Más contenido relacionado
Último
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Mark Simos
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
Kalema Edgar
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
Fwdays
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
Lorenzo Miniero
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
Sergiu Bodiu
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
Fwdays
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
BookNet Canada
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
Addepto
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
Stephanie Beckett
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
null - The Open Security Community
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
ScyllaDB
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
Hervé Boutemy
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
charlottematthew16
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
Dilum Bandara
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
comworks
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
BookNet Canada
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
Enterprise Knowledge
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
Mattias Andersson
How to write a Business Continuity Plan
How to write a Business Continuity Plan
Databarracks
Último
(20)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
How to write a Business Continuity Plan
How to write a Business Continuity Plan
Destacado
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
Skeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
Introduction to Data Science
Introduction to Data Science
Christy Abraham Joy
Time Management & Productivity - Best Practices
Time Management & Productivity - Best Practices
Vit Horky
The six step guide to practical project management
The six step guide to practical project management
MindGenius
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
GetSmarter
ChatGPT webinar slides
ChatGPT webinar slides
Alireza Esmikhani
Destacado
(20)
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
Skeleton Culture Code
Skeleton Culture Code
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
How to have difficult conversations
How to have difficult conversations
Introduction to Data Science
Introduction to Data Science
Time Management & Productivity - Best Practices
Time Management & Productivity - Best Practices
The six step guide to practical project management
The six step guide to practical project management
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
ChatGPT webinar slides
ChatGPT webinar slides
Apache ActiveMQ, Camel, CXF and ServiceMix Overview
1.
Apache Ac6veMQ, Camel,
CXF & ServiceMix Overview Open Source Integra6on and Messaging Marcelo Jabali Sr. Solutions Consultant Sep., 2011 A Progress So3ware Company 1 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
2.
Agenda
§ Apache Ac6veMQ § Apache Camel § Apache CXF § Apache ServiceMix § FuseSource Overview 2 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
3.
About Me
Marcelo Jabali FuseSource marcelo@fusesource.com marcelojabali.blogspot.com mjabali 3 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
4.
Apache Ac6veMQ
§ A high performance, reliable messaging fabric, suppor6ng JMS, C, .Net, and other frameworks. Clients connect to the broker using Network connectors with connectors control simple URIs how the broker interacts with other brokers for discovery, replication, Topics and queues failover, clustering created and store & dynamically. forward. … all based on a flexible Spring- File & JDBC-based based core. message stores supported. 4 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
5.
JMS Fundamentals
Broker <<Application>> <<Application>> :JMSClient Produce Consume :JMSClient message Destination message Producer Consumer § The JMS specifica6on defines a set of Java interfaces and seman6cs for inter-‐applica6on messaging § JMS defines two messaging models: • Point-to-point (PTP) • Publish and Subscribe (Pub/Sub) 5 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
6.
Point-‐to-‐Point Messaging Model
Broker Client A Queue Produce Consume Client B message message § With the Point-to-Point messaging model: • Each message has only one and only consumer. • There are no timing dependencies; consumers do not have to be connected at the time the message is sent. § PTP is ideal for processing business transactions. 6 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
7.
Publish and Subscribe
Messaging Model Client B Broker Client A Topic Client C Produce Consume message message Client D § With the Pub/Sub messaging model: • One message goes to zero-to-many consumers based on the number of current subscribers • Subscribers with an active subscription at the time the broker gets the message receive a copy of the message • Subscribers can be durable or non-durable § Pub/Sub is ideal for publishing business events. 7 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
8.
JMS Classes and
Interfaces § These are the classes and interfaces that you use to program the JMS client applica6on 8 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
9.
JMS Messages
§ Messages form the basic unit of work of a message provider § They are simple and flexible § Basic components of a message: • Header (JMSDes6na6on, JMSDeliveryMode, JMSExpira6on, etc) • Proper6es (op6onal) – User-‐defined proper6es • Body (op6onal) 9 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
10.
Ac6veMQ Enhancements to
JMS § Ac6veMQ Connec6on Factory segngs • disableTimeStampByDefault, copyMessageOnSend, useCompression, objectMessageSerializa6onDefered, useAsyncSend, useRetroac6veConsumer § Des6na6ons are typically created on demand • They can also be created at the broker startup § Retroac6ve Consumers • Last Image, Fixed Count or Fixed Size § Des6na6on Policies • Dispatch policies – load balance consumers/producers across destinations. • Recovery Policies – recover messages/subscriptions. • Pre-fetch policies – acknowledge messages sent to consumers in batches. 10 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
11.
Ac6veMQ Enhancements to
JMS (cont.) § Advisory Channels • Starting and stopping consumers and producers • Creating and destroying temporary destinations • Expiring messages on topics and queues • Sending messages from brokers to destinations with no consumers • Starting and stopping connections § Exclusive Consumer Priority § Message Groups § Composite & Virtual Des6na6ons • Forward, Route & High-‐Available Load-‐Balanced Durable Subscribers 11 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
12.
What are Network
of Brokers? § In basic deployments, producers and consumers connect to the same broker to exchange messages § With broker networks, messages not consumed locally are forwarded broker-to-broker and dispatched to remote clients. • The message can travel through multiple brokers before it is consumed • Each message is owned by a single broker at any point in time. § Broker networks allow you to scale your deployment by: • Accommodating many more clients, e.g. when the number of sockets is limited by the OS • Increasing message throughput because messages are load- balanced across all interested consumers. • Distributing consumers and producers geographically across a WAN, firewall or other bridges 12 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
13.
Network of Brokers
-‐ Example P A C C B C § Brokers A, B and C are part of a broker network § There is a producer to a queue on broker A and consumers from the queue on brokers A and B § Messages sent to the queue are dispatched to consumers on A and B; messages are not forwarded to C • If a consumer from the queue starts on C, messages will flow there as well 13 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
14.
Replica6on, Clustering &
Failover Broker replication Shared message store <<jvm>> <<jvm>> frodo:ActiveMQ frodo:ActiveMQ Master state Brokers replicated to compete for slave using file system or network database connector. lock. <<jvm>> <<jvm>> samwise:ActiveMQ samwise:ActiveMQ 14 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
15.
Networks Of Master-‐Slave
Pairs § A clustered, highly available approach <<jvm>> <<jvm>> <<jvm>> frodo:ActiveMQ gandalf:ActiveMQ merry:ActiveMQ Master Slave <<jvm>> <<jvm>> <<jvm>> samwise:ActiveMQ saruman:ActiveMQ pip:ActiveMQ 15 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
16.
Apache Camel
§ Apache Camel is a powerful Open Source Integra6on Framework based on known Enterprise Integra6on Paqerns http://enterpriseintegrationpatterns.com/ 16 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
17.
Apache Camel -‐
Paqerns § 50+ Enterprise Integra6on Paqerns http://camel.apache.org/eip 17 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
18.
Apache Camel –
Components, Data Formats and Languages § 80 Components (ac6vemq, bean, cxf, file, 3p, hibernate, jdbc, iba6s, jms, jeqy, mina, neqy, 6mer, xslt, etc) • http://camel.apache.org/components.html § 19 Data Formats (csv, serializa6on, zip, hl7, soap, jaxb, etc) • http://camel.apache.org/data-format.html § 15 Expression Languages (EL, Simple, XQuery, Xpath, JavaScript, Ruby, Python, PHP, etc) • http://camel.apache.org/languages.html 18 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
19.
Apache Camel -‐
Architecture Camel can be deployed in a wide An endpoint is a Container variety of container message source types or sink Camel context Endpoints The Camel context is an instance of the Camel runtime environment Components A component is a plug-in endpoint factory; Camel provides a wide variety of components 19 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
20.
Apache Camel
§ Camel provides an embedded DSL (in Java, Spring or Scala) for implemen6ng enterprise integra6on paqerns • The DSL uses URIs to define endpoints which are combined to generate integra6on flows 20 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
21.
Apache Camel
§ Camel Content-‐Based Router -‐ Spring DSL <camelContext> <route> <from uri="activemq:queue:NewOrders"/> <choice> <when> <xpath>/order/product = 'widget'</xpath> <to uri="activemq:Orders.Widgets"/> </when> <otherwise> <to uri="activemq:Orders.Gadgets"/> </otherwise> </choice> </route> </camelContext> 21 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
22.
Apache Camel
§ Camel Content-‐Based Router -‐ Java DSL from("activemq:queue:NewOrders") .choice() .when().xpath("/order/product = 'widget'") .to("activemq:Orders.Widget") .otherwise() .to("activemq:Orders.Gadget"); 22 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
23.
Typical Camel Route
Development Process § Use a Maven archetype to generate an outline project § Edit the POM to include additional dependencies § Add your Java code into src/main/java, and/or Spring configuration to src/main/resources/META-INF/spring § Add instructions to the Maven Felix plugin, to assist in the generation of OSGi manifest information § Test using the Camel Maven plugin mvn camel:run § Deploy into the Apache ServiceMix OSGi container • Drop into deploy/ directory (pre-production testing) • Install a bundle/feature from a maven repository (production environment) 23 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
24.
Apache Camel -‐
Example § Goals • Pickup files from a directory • Make sure we only pickup 3 files per 30 seconds • Store into JMS queue • Listen on JMS queue • And upload file to FTP server 24 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
25.
Apache Camel –
Example § Camel Route Spring XML DSL <camelContext> <route> <from uri="file:camellos/inbox?move=.done"/> <throttle maximumRequestsPerPeriod="3" timePeriodMillis="30000”> <to uri="activemq:queue:camellos"/> </throttle> </route> <route> <from uri="activemq:queue:camellos"/> <to uri="ftp://admin:secret@localhost:3333"/> </route> </camelContext> 25 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
26.
Apache CXF
§ Apache CXF is an open-source Java service framework § Full implementation of the JAX-WS 2.0 specification, radically simplifying the process of exposing existing Java code as a Web service or writing new Web services. § Provides design-time tools and runtime infrastructure that are technology-neutral. § Designed to work with variety of container servers, languages, and messaging systems § Originally named Celtix and later moved to Apache where it was merged with the Xfire project 26 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
27.
Building Applica6ons with
CXF § CXF abstracts away the details of inter-process communication between services and consumers. • … allows developers to focus efforts on business logic rather than integration logic. § CXF supports code-first and contract-first approaches: • Expose “plain old Java objects” (POJOs) as a services, or • Explicitly annotate Java classes, or • Start with a WSDL contract. § Use CXF to develop both client- and server-side components. • Deploy as standalone Java applications, or easily integrate into a Spring-based application 27 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
28.
Apache CXF -‐
Architecture § CXF provides a layered communication stack to services and consumers 28 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
29.
Apache CXF -‐
Architecture § When a component sends a message to a service, it uses a Java API derived from the WSDL contract • The JAX-WS mapping is used. • The Java API is protocol neutral. § A CXF binding creates the message payload • Pure XML, SOAP, JSON, or some other message format. § Quality-of-service extensions can be added using message interceptors • CXF supports a number of Web Services QoS standards. § CXF then transmits the message using a transport. • CXF includes HTTP, JMS, and AMQP out-of-the-box. • You can write custom transports for CXF; for example: TCP, SMTP, FTP 29 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
30.
CXF Deployment Model
§ CXF can also be deployed in a number of different container technologies: • In a Servlet engine (e.g. Tomcat) • In a J2EE container (using bi-directional JCA) (e.g. JBOSS) • In a JBI (Java Business Integration) container (e.g. ServiceMix) • In an OSGi container (e.g. ServiceMix) • Stand-alone JVM (e.g. java –jar myapp.jar) § This flexible deployment approach allows you to deploy your CXF service-oriented components anywhere 30 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
31.
Apache ServiceMix
§ Full open source implementation of an Enterprise Service Bus • Based on OSGi technology (http://www.osgi.org) § Support for multiple component models • OSGi bundles • JBI artifacts • Servlets • Spring beans • Camel routes (http://camel.apache.org) • CXF web services and RESTful services (http:// cxf.apache.org) • Extensible to support additional component models, such as EJB 31 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
32.
Apache ServiceMix -‐
Architecture § ServiceMix employs a layered architecture based on OSGi • The core : A lightweight runtime named “Karaf”, which extends OSGi with powerful features for handling and managing OSGI bundles • The technology layer : A layer of component technologies that sits on top of the core to support your applications 32 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
33.
Apache ServiceMix –
Core Layer Features § Hot deployment support for OSGi bundles § Dynamic configuration of services through the OSGi “ConfigurationAdmin” service § Dynamic logging back-end provided by Log4J supports different APIs (SLF4J, Java Utils, JCL, Avalon, Tomcat, OSGi) § Application provisioning through file-drop, Maven repository and remote download (http://) § Administration via an extensible shell console § Secure remote access via ssh § Security framework based on JAAS 33 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
34.
Apache ServiceMix –
Technology Layer Features § Spring Framework • ServiceMix loads an OSGi bundle into its runtime, or generates an OSGi bundle on the fly, and then instantiates the Spring application context § JMS Message Broker • ServiceMix deploys the Apache ActiveMQ broker (OSGi-ready) § JAX-WS/JAX-RS Web Services support • ServiceMix deploys the Apache CXF runtime (OSGi-ready) § Enterprise Integration Patterns (EIP) support • ServiceMix deploys the Apache Camel runtime (OSGi-ready) § Java Business Integration (JBI) support • ServiceMix provides a JBI 1.0 container, to support legacy code implemented as service units / service assemblies and deployed using ServiceMix 3.x § Can be extended to support technologies such as SCA or EJB3 34 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
35.
Apache ServiceMix –
Deployment Model § When you deploy a ServiceMix solution, you typically deploy the core (Karaf) plus one or more technology components § Examples: • To support EIPs : Karaf runtime + Camel feature • To support JAX-WS/JAX-RS solutions : Karaf runtime + CXF feature • To support JMS solutions : Karaf runtime + ActiveMQ feature • To support JBI-based solutions : Karaf runtime + JBI feature 35 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
36.
FuseSource Corpora6on The
Leaders in Open Source Integra9on and Messaging Produc9zed distribu9ons • Integrated Team behind the projects • Tested • Leaders at Apache • Tooling • Product roadmaps • Code contribu9ons Enterprise support • Subscrip9ons • Training • Consul9ng 36 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
37.
FuseSource Subscrip6on :
Cer6fied Distribu6ons Fuse ESB (ServiceMix), Fuse Message Broker (Ac9veMQ), Fuse Media9on Router (Camel), Fuse Services Framework (CXF) • Tested – integrated tests on supported plasorms • Produc6zed distribu6ons – versioned, supported releases • Freely available with Apache license (can edit code and redistribute) • Enterprise-‐class distribu6ons of popular apache projects 37 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
38.
Forrester Wave Report
Q2 2011: Fuse ESB is a “Leader” § FuseSource placed in “Leader” category in company with large, established vendors § One of few open source solu6ons considered for this report § Highest ranked open source solu6on 38 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
39.
FuseSource : Team
that Wrote the Code No one knows the code, or influences the projects at Apache more than FuseSource: • Co-‐founders and PMC members of ServiceMix, Ac6veMQ, Camel, … • Over 25 ac6ve commiqers on 11 Apache projects Guillaume Nodet James Strachan Rob Davis Hiram Chirino Dejan Gert Jon Anstey Gary Tully Willem Jiang Claus Ibsen Bosanac Vanthienen 39 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
40.
FuseSource Subscrip6on =
Long Term Success Support • Enterprise-‐class 24x7 coverage • Global organiza6on • Mission-‐cri6cal Influence integra6on exper6se • Product roadmaps • Updates and migra6on • Planning processes assistance • Conduit to Apache Tools • Development • Opera6ons • Management • Performance • Documenta6on 40 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
41.
Thanks! No vendor
lock-‐in Free to redistribute Enterprise class A Progress So3ware Company 41 Copyright © 2011 Progress So3ware Corpora6on and/or its subsidiaries or affiliates. All rights reserved. A Progress So3ware Company
Descargar ahora