SlideShare ist ein Scribd-Unternehmen logo
1 von 82
Downloaden Sie, um offline zu lesen
Make easier Integration of your
services with Fuse Solutions


Charles Moulliard
Sr. Enterprise Architect / Apache member

23/01/2013
Speaker : Charles Moulliard
 • Engineer in Agronomy & Master in Zoology
   19 years of experience in IT world development (J2EE, .NET),
   specialized in new technologies web/Internet & integration,
   Project manager in bank, financial, telco, insurance - Team
   builder – Coach - Evangelist
 • Architect @RedHat
 • Apache Committer : ServiceMix, Karaf (PMC), Camel (PMC),
  DeltaSpike, Fabric

        Twitter : http://twitter.com/cmoulliard
        LinkedIn : http://www.linkedin.com/in/charlesmoulliard
        My blog : http://cmoulliard.blogspot.com
        Slideshare : http://www.slideshare.net/cmoulliard
Agenda

●
    Why Integration is so hard
●
    How Fuse technology makes that easier
●
    What we offer
●
    Fuse Enterprise (MB, ESB)
●
    Fuse IDE
●
    Fuse Management Console
Why integration is so hard
Why integration is so hard

  IT is like a jungle, completely crazy
Why integration is so hard

  Constellation of protocols & standards
                                                                                   RMI
DCOM
             HTTP(S)               (S)FTP(S)                         POP
                                                      UDP
                                                                                           RPC
                   (S)SMTP                                                 IMAP
   CORBA
                                           TCP/IP           SSL
                                                                                     SSH
                                                                       SNMP



       PKI
                                                                                         JavaEE
                       SOA                BPEL
                                                            BPMN             JPA

       WS-*
                         SCA                                                 JMS         AMQP
                                               REST           JDBC

           POJO
                             EJB
                                                      JBI
Why integration is so hard

  Support huge family of Formats


     EDI


                                          CSV

   XML
                                   SOAP
Why integration is so hard
  Microsoft (.NET, COM) ↔ Java (EJB, POJO)
  CORBA, DCOM fail to simplify inter-operability
                                    BRIDGE




CORBA



             DCOM
How Fuse makes that easier
How Fuse makes that easier

    What do we need to solve these issues

●
    Technology supporting existing protocols/standards
●
    Facilitate Transformation or Data Formating
●
    Integration language
●
    Runtime to deploy services
●
    Modularity/Granularity
●
    Async architecture & persistence
●
    Tools to develop/package & deploy projects
●
    Supervision strategy
●
    (Cloud) infrastructure
How Fuse make that easier

    Where do we find such a technology →
    OpenSource community (Apache, JBoss)

●
    Integration Technology (Camel)
●
    Multi-Technology Java OSGI Server (Karaf)
●
    WS/REST framework (CXF) – SOA Vision
●
    Middleware (ActiveMQ)
●
    Modular runtime (Felix)
●
    OSGI Tooling (OPS4J)
●
    EE Features – JPA, Web, JTA, JNDI (Aries)
●
    Cloud (jcloud, cloudstack, openshift)
Camel Integration Engine ...
Camel

●
    Birthdate - March 2007
●
    OpenSource Integration Framework implementing
    EIP patterns (Book : 2005 by Gregor Hohpe &
      Bobby Woolf)
●
    Why EIP ? To provide words, grammar & language
●
    Camel uses a Domain Specific Language
    transposing the EIP patterns into Java, XML, Scala
Camel

Some of features/characteristics
  ●
    In memory bus ← → alternative to JBI - NMR
  ●
      Route objects → can be XML, File, Stream, Bytes
  ●
      Predicate & Expression language (xslt, xpath,..)
  ●
      Support Sync/Async exchanges
  ●
      Threads Management, Tx Architecture
  ●
      Error and exception handling
  ●
      Policy driven
  ●
      Container agnostic
Camel (1)

More than 50 patterns are implemented




http://camel.apache.org/enterprise-integration-
   patterns.html
Camel (2)

More than 120 components




 http://camel.apache.org/components.html
Camel (3)
●   ConvertBody
●   Data formats to simplify
    exchange between layers,
    applications connected
    (JAXB, Bindy, SOAP, ...)
●   marshaler (obj-A  obj-B)
●   unmarshaler (obj-B  obj-A)

      http://camel.apache.org/data-format.html
Camel (4)

 The model  Content Based Router




  & its DSL representation
Camel (5)
Camel (6)
Camel (7)
Camel (8)


   URI corresponds to component name + properties
Camel (9)

• Transpose the DSL using Java
• First the configure() method must be created
Camel (10)

Next we create a java class
  extending RouteBuilder class
Camel (11)

Language is flexible and proposes
different ways to define the
    endpoints and predicates
Camel (12)

Integrate easily with IntelliJ, Eclipse,
   JBoss Developer Studio, Fuse Ide, NetBeans
Camel (13)
Instead of Java, you can use
   Spring / XML DSL
How Fuse makes that easier

    What do we need to solve these issues

●
    Technology supporting existing protocol/standards
●
    Facilitate Transformation or Data Formating
●
    Integration language                                Camel
●
    Runtime to deploy services
●
    Modularity/granularity
●
    Async architecture & persistence
●
    Tools to develop/package & deploy projects
●
    Supervision strategy
●
    (Cloud) infrastructure
Multi-technology container
ESB – ServiceMix (1)

Demystify the concept
Enterprise Service Bus
→ This is not
→ Or a

But an exchanging
platform of messages,
objects moving within
transport layers
ESB - ServiceMix (2)

• Provide connectors(=
   endpoints) to collect
   information and send it on
   the bus as messages

●
    Allow to separate the
     business layer from
     those that will transport
     the information and
     transform (marshal) it
ServiceMix (3)
                Message is
               ACK or ERR




 Routing is
defined into                 Normalized =
   the SU                       XML
                              exchanges
ServiceMix (4)

Based on an OSGI kernel
Offer modularity for
 services
Multi-Technology Platform
   ●
     Camel
  ●
      CXF
  ●
      ActiveMQ,
  ●
      Aries (JPA,
      Transaction, JNDI,
      Web)
Karaf – Heart of ServiceMix (5)
Karaf – Heart of ServiceMix (6)

Features :

●
  Administration console (local, remote, ssh, web,
   jmx)
●
  Provisioning system (features)
●
  Hot deployment and configuration management
●
  Instances management
●
  Security integration (JAAS → ldap, jdbc, file)
●
  Logging management (log4j, logger, commons
   logging, ….)
Karaf – Heart of ServiceMix (6)

The platform is « modular » because we can
select the libraries, containers.
                                      Jetty, Pax Web
 Camel, JBI
Architecture - Messaging

The BUS operates the exchanges between the endpoints using
  Camel (individual), NMR – JBI (transversal)




     from(«ftp://server/dir»)      from(«cxf:bean:myWS»)
     .beanRef(«myBean»);           .beanRef(«myBean») ;
Architecture - Java

The OSGI platform proposes a Service Registry (aka JNDI) t
  deploy Java Interfaces




     <bean id="incidentServiceTarget" class="org.apache.camel.service.impl.IncidentServiceImpl">
              <property name="incidentDAO">
                        <osgi:reference interface="org.apache.camel.dao.IncidentDAO"/>
               </property>
     </bean>
Architecture - Messaging + Java

Decoupling of the "services" from integration layer




                            from(« cxf:bean:myWS »)
                            .beanRef(« myBean », « validate »)
                            .beanRef(«aBean»,« saveDB »)
                            .beanaRef(« myBean », « generateResponse »);
Architecture - Messaging + Java + Web

Can be web platform, it uses  Jetty Web Application
  Server, Pax Web – a tooling for war and OSGI HTTP
  Service to register Servlet, …
How Fuse makes that easier

    What do we need to solve these issues

●
    Technology supporting existing protocols/standards
●
    Facilitate Transformation or DataFormating            Camel
●
    Integration language
●
    Runtime to deploy services
                                                  Karaf
●
    Modularity/Granularity
●
    Async architecture & persistence
●
    Tools to develop/package & deploy projects
●
    Supervision strategy
●
    (Cloud) infrastructure
Middleware to persist, propagate
asynchronous exchanges, scale your
           architecture
Architecture
When we need asymetric deployment (CPU, memory is not
  enough)  ActiveMQ interconnect the instances and
  persist messages
ActiveMQ
• A high performance, reliable messaging fabric, supporting JMS, C,
     C++,.Net, Stomp clients. Offers persistence for messages and
     bridge between ServiceMix instances
Clients connect to the                                 Network connectors
broker using connectors                                control how the
with simple URIs                                       broker interacts with
                                                       other brokers for
                                                       discovery,
                                                       replication, failover,
Topics and queues                                      clustering and store
created dynamically.                                   & forward.




                                                  … all based on a
                                                  flexible Spring-based
                          File & JDBC-based       core.
                          message stores
                          supported.
How Fuse makes that easier

    What do we need to solve these issues

●
    Technology supporting existing protocols/standards
●
    Facilitate Transformation or DataFormating              Camel
●
    Integration language
●
    Runtime to deploy services                  Karaf
●
    Modularity/Granularity
●
    Async architecture & persistence                  ActiveMQ
●
    Tools to develop/package & deploy project
●
    Supervision strategy
●
    (Cloud) infrastructure
And now move on
  to Fuse World
47
Fuse vs Fuse Enterprise
What is Fuse Fabric


 http://fabric.fusesource.org/
 Open Source Software for “configuring,
  provisioning & running Fuse and Apache software
  on any machines”
  •physical, virtual, private, public, private+public
    cloud or not etc
 Keeps you DRY from those rainy clouds :)
 Weave your containers into an easy to manage
  fabric

49
Fuse Fabric : What does it do ?

 A. Development (Fuse IDE -WYSIWYG editor, Debug,
    Runtime, Profiling)




50
Fuse Fabric : What does it do ?



 B. Simplify Packaging - FAB
     FAB = any jar file containing a pom.xml file under

     META-INF/maven/groupId/artifactId/pom.xml (and
     pom.properties file)

     which contain the transitive dependency information for the
     jar.




51
Fuse Fabric : What does it do ?


 Fuse ESB allows to create
  new instances and
  administrate them locally or
  remotely (ssh/jmx)
BUT
 Instances are not “cloned”
 Configurations must be
  updated (manually)
 Process is error prone
 No Deployment Platform

52
Fuse Fabric : What does it do ?


 C. Instance
  Management
 Fabric (through
  profiles + maven
  proxy + registry)
  will create
  instances and
  manage them
   •Locally
   •Remotely (ssh)
   •In the cloud
53
What is Fabric


 Registry = Configurations Repository →
  replicated, manageable
 Agents = Java Fabric runtime
 Profiles = Artifacts to be deployed




54
Registry

 Based on Apache ZooKeeper
  • Is a Centralized Coordination Service, distributed and highly
    reliable
  • Uses a directory & file based structure
Registry

 2 kinds of registry : Configurations & Runtime
 Recommended to have >= 1 registry
Agent

 Fabric-agent deployed per Fuse ESB container
 Zookeeper client
 Agent listens to the registry  configurations 
  provisions features & services
Agent registers
   important
   information
   into the registry
   (jmx)

57
Fuse Fabric : What does it do ?

 Fabric → fabric commands to manage
  containers, profiles, ensemble, users




58
Instance Management - FMC

 Could be managed from Fuse Management Console
  = WAR + Rest API + Fabric




59
Instance Management - FMC


 Create Local, Remote or in the cloud instances




60
Instance Management - FMC




61
Fuse Fabric : What does it do ?

 D. Profiling
     •Simplify deployment in Fuse ESB instances
     •Provisioning of features across machines


 Profile
     •Envelope for features, bundles, OSGI
      configurations & config files
     •Profiles can be inherited, combined, versioned
     •Can be defined using commands



62
Profiling - FMC


 Management (create/delete/version,…)




63
Profiling - FMC

 Example of profile (Camel – Version 1)




64
Profiling - FMC


 Configuration files, parameters, jvm




65
Deploying - FMC


 Associate profiles to a container (deployment)




66
Fabric : What does it do ?

 E. “Services” factory - Virtualisation
     • Create “indirection” points
     • Load balancing and failover
     • Easy elastic scaling of services




67
Virtualisation – Camel Fabric

 Exposing Camel endpoint into the fabric
 Invoking remote Camel endpoint
 Loadbalance requests




68
Virtualisation – ActiveMQ Fabric

 Message brokers automatically discovery each other
 Clients use connection URI “fabric:default” to connect
  to a message broker
 If you have multiple logical ActiveMQ clusters just name
  them in the URI e.g.
   • fabric:us-west, fabric:us-east, fabric:europe




69
Virtualisation – ActiveMQ Fabric




70
Other Fabric

      CXF Fabric
       Adds a feature to the CXF bus for discovery & load
       balancing
      D-OSGI
       Distribute OSGI services between Fabric instances
      ServiceMix Fabric
       Allow local NMR to use remote endpoints when no
       local NMR endpoint available
      Process Fabric
       Start & monitor processes
       Keep processes running across machines
71
Fabric : What does it do ?

 F. Monitoring containers (bundles, OSGI services)




72
Real Time Monitoring - FMC


 Containers
  – info (cpu,
  memory,
  profiles
  deployed)




73
Real Time Monitoring - FMC


 Statistics - Routes




74
Real Time Monitoring - FMC

  Statistics – Brokers




75
Real Time Monitoring - FMC


 Statistics –
  JMS
  Messages




76
To be complete

 Production Monitoring Solution → JON




77
To be complete








78
To be complete








79
How Fuse makes that easier

    What do we need to solve these issues

●
    Technology supporting existing protocols/standards
●
    Facilitate Transformation or DataFormating           Camel
●
    Integration language
●
    Runtime to deploy services
                                               Karaf
●
    Modularity/Granularity
●
    Async architecture & persistence                 ActiveMQ
●
    Tools to develop/package & deploy
●
    Supervision strategy                        Fuse
●
    (Cloud) infrastructure
How Fuse makes that easier



  Time                                CXF

     to make
                              Camel
         a DEMO

                      Karaf
                              ActiveMQ

                       Fuse
Questions?
                         @cmoulliard


                         cmoulliard@redhat.com


                         cmoulliard.blogspot.com


                         linkedin.com/in/charlesmoulliard


                         slideshare.net/cmoulliard



                   More info
     www.fusesource.com & www.redhat.com

Weitere ähnliche Inhalte

Was ist angesagt?

Implementing WebServices with Camel and CXF in ServiceMix
Implementing WebServices with Camel and CXF in ServiceMixImplementing WebServices with Camel and CXF in ServiceMix
Implementing WebServices with Camel and CXF in ServiceMixAdrian Trenaman
 
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010Adrian Trenaman
 
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A GrzesikApache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesikmfrancis
 
Jug Poitou Charentes - Apache, OSGi and Karaf
Jug Poitou Charentes -  Apache, OSGi and KarafJug Poitou Charentes -  Apache, OSGi and Karaf
Jug Poitou Charentes - Apache, OSGi and KarafGuillaume Nodet
 
Apache Camel: The Swiss Army Knife of Open Source Integration
Apache Camel: The Swiss Army Knife of Open Source IntegrationApache Camel: The Swiss Army Knife of Open Source Integration
Apache Camel: The Swiss Army Knife of Open Source Integrationprajods
 
Alfresco: What every developer should know
Alfresco: What every developer should knowAlfresco: What every developer should know
Alfresco: What every developer should knowJeff Potts
 
Jazoon2010 - Edgar Silva - Open source SOA on Steroids
Jazoon2010 - Edgar Silva - Open source SOA on SteroidsJazoon2010 - Edgar Silva - Open source SOA on Steroids
Jazoon2010 - Edgar Silva - Open source SOA on SteroidsEdgar Silva
 
Survey of restful web services frameworks
Survey of restful web services frameworksSurvey of restful web services frameworks
Survey of restful web services frameworksVijay Prasad Gupta
 
Provisioning with Oracle Cloud Stack Manager
Provisioning with Oracle Cloud Stack ManagerProvisioning with Oracle Cloud Stack Manager
Provisioning with Oracle Cloud Stack ManagerSimon Haslam
 
Best Practices - PHP and the Oracle Database
Best Practices - PHP and the Oracle DatabaseBest Practices - PHP and the Oracle Database
Best Practices - PHP and the Oracle DatabaseChristopher Jones
 
201511 - Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
201511 -  Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...201511 -  Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
201511 - Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...Symphony Software Foundation
 
10 Reasons ColdFusion PDFs should rule the world
10 Reasons ColdFusion PDFs should rule the world10 Reasons ColdFusion PDFs should rule the world
10 Reasons ColdFusion PDFs should rule the worldColdFusionConference
 
Scale your Alfresco Solutions
Scale your Alfresco Solutions Scale your Alfresco Solutions
Scale your Alfresco Solutions Alfresco Software
 
Scale ColdFusion with Terracotta Distributed Caching for Ehchache
Scale ColdFusion with Terracotta Distributed Caching for EhchacheScale ColdFusion with Terracotta Distributed Caching for Ehchache
Scale ColdFusion with Terracotta Distributed Caching for EhchacheColdFusionConference
 
Running SOA in the Cloud: SOA CS for SOA Suite Customers
Running SOA in the Cloud: SOA CS for SOA Suite CustomersRunning SOA in the Cloud: SOA CS for SOA Suite Customers
Running SOA in the Cloud: SOA CS for SOA Suite CustomersSimon Haslam
 
SOA & WebLogic - Lift & Shift to the Cloud
SOA & WebLogic - Lift & Shift to the CloudSOA & WebLogic - Lift & Shift to the Cloud
SOA & WebLogic - Lift & Shift to the CloudSimon Haslam
 

Was ist angesagt? (20)

OSGi & Blueprint
OSGi & BlueprintOSGi & Blueprint
OSGi & Blueprint
 
Implementing WebServices with Camel and CXF in ServiceMix
Implementing WebServices with Camel and CXF in ServiceMixImplementing WebServices with Camel and CXF in ServiceMix
Implementing WebServices with Camel and CXF in ServiceMix
 
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
 
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A GrzesikApache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
 
Introduction to-osgi
Introduction to-osgiIntroduction to-osgi
Introduction to-osgi
 
Jug Poitou Charentes - Apache, OSGi and Karaf
Jug Poitou Charentes -  Apache, OSGi and KarafJug Poitou Charentes -  Apache, OSGi and Karaf
Jug Poitou Charentes - Apache, OSGi and Karaf
 
Apache Camel: The Swiss Army Knife of Open Source Integration
Apache Camel: The Swiss Army Knife of Open Source IntegrationApache Camel: The Swiss Army Knife of Open Source Integration
Apache Camel: The Swiss Army Knife of Open Source Integration
 
Alfresco: What every developer should know
Alfresco: What every developer should knowAlfresco: What every developer should know
Alfresco: What every developer should know
 
Jazoon2010 - Edgar Silva - Open source SOA on Steroids
Jazoon2010 - Edgar Silva - Open source SOA on SteroidsJazoon2010 - Edgar Silva - Open source SOA on Steroids
Jazoon2010 - Edgar Silva - Open source SOA on Steroids
 
Survey of restful web services frameworks
Survey of restful web services frameworksSurvey of restful web services frameworks
Survey of restful web services frameworks
 
Oracle API Gateway Installation
Oracle API Gateway InstallationOracle API Gateway Installation
Oracle API Gateway Installation
 
Provisioning with Oracle Cloud Stack Manager
Provisioning with Oracle Cloud Stack ManagerProvisioning with Oracle Cloud Stack Manager
Provisioning with Oracle Cloud Stack Manager
 
Best Practices - PHP and the Oracle Database
Best Practices - PHP and the Oracle DatabaseBest Practices - PHP and the Oracle Database
Best Practices - PHP and the Oracle Database
 
201511 - Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
201511 -  Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...201511 -  Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
201511 - Alfresco Day - Platform Update and Roadmap - Gabriele Columbro - Bo...
 
Apache servicemix1
Apache servicemix1Apache servicemix1
Apache servicemix1
 
10 Reasons ColdFusion PDFs should rule the world
10 Reasons ColdFusion PDFs should rule the world10 Reasons ColdFusion PDFs should rule the world
10 Reasons ColdFusion PDFs should rule the world
 
Scale your Alfresco Solutions
Scale your Alfresco Solutions Scale your Alfresco Solutions
Scale your Alfresco Solutions
 
Scale ColdFusion with Terracotta Distributed Caching for Ehchache
Scale ColdFusion with Terracotta Distributed Caching for EhchacheScale ColdFusion with Terracotta Distributed Caching for Ehchache
Scale ColdFusion with Terracotta Distributed Caching for Ehchache
 
Running SOA in the Cloud: SOA CS for SOA Suite Customers
Running SOA in the Cloud: SOA CS for SOA Suite CustomersRunning SOA in the Cloud: SOA CS for SOA Suite Customers
Running SOA in the Cloud: SOA CS for SOA Suite Customers
 
SOA & WebLogic - Lift & Shift to the Cloud
SOA & WebLogic - Lift & Shift to the CloudSOA & WebLogic - Lift & Shift to the Cloud
SOA & WebLogic - Lift & Shift to the Cloud
 

Andere mochten auch

iPaas with Fuse Fabric Technology
iPaas with Fuse Fabric TechnologyiPaas with Fuse Fabric Technology
iPaas with Fuse Fabric TechnologyCharles Moulliard
 
Fusesource camel-persistence-part1-webinar-charles-moulliard
Fusesource camel-persistence-part1-webinar-charles-moulliardFusesource camel-persistence-part1-webinar-charles-moulliard
Fusesource camel-persistence-part1-webinar-charles-moulliardCharles Moulliard
 
Apache ServiceMix4 : Dream platform for Java Integration
Apache ServiceMix4 : Dream platform for Java Integration Apache ServiceMix4 : Dream platform for Java Integration
Apache ServiceMix4 : Dream platform for Java Integration Charles Moulliard
 
Develop a Mobile Application coonected to a REST backend
Develop a Mobile Application coonected to a REST backendDevelop a Mobile Application coonected to a REST backend
Develop a Mobile Application coonected to a REST backendCharles Moulliard
 
Integrating BPM with Fuse
Integrating BPM with FuseIntegrating BPM with Fuse
Integrating BPM with FuseChristina Lin
 
Microservices with WildFly Swarm - JavaSI 2016
Microservices with WildFly Swarm - JavaSI 2016Microservices with WildFly Swarm - JavaSI 2016
Microservices with WildFly Swarm - JavaSI 2016Charles Moulliard
 
Apache ActiveMQ, Camel, CXF and ServiceMix Overview
Apache ActiveMQ, Camel, CXF and ServiceMix OverviewApache ActiveMQ, Camel, CXF and ServiceMix Overview
Apache ActiveMQ, Camel, CXF and ServiceMix OverviewMarcelo Jabali
 
Security enforcement of Java Microservices with Apiman & Keycloak
Security enforcement of Java Microservices with Apiman & KeycloakSecurity enforcement of Java Microservices with Apiman & Keycloak
Security enforcement of Java Microservices with Apiman & KeycloakCharles Moulliard
 
JBoss Fuse Workshop 101 part 2
JBoss Fuse Workshop 101 part 2JBoss Fuse Workshop 101 part 2
JBoss Fuse Workshop 101 part 2Christina Lin
 
How to Survive the API Copyright Apocalypse
How to Survive the API Copyright ApocalypseHow to Survive the API Copyright Apocalypse
How to Survive the API Copyright Apocalypse3scale
 
Devoxx 2011 integration-camel-cxf-servicemix-activemq
Devoxx 2011 integration-camel-cxf-servicemix-activemqDevoxx 2011 integration-camel-cxf-servicemix-activemq
Devoxx 2011 integration-camel-cxf-servicemix-activemqCharles Moulliard
 
APIs and the Bot Revolution (APIDays Nordic, May 18)
APIs and the Bot Revolution (APIDays Nordic, May 18)APIs and the Bot Revolution (APIDays Nordic, May 18)
APIs and the Bot Revolution (APIDays Nordic, May 18)3scale
 
Take Control of your APIs in a Microservice Architecture
Take Control of your APIs in a Microservice ArchitectureTake Control of your APIs in a Microservice Architecture
Take Control of your APIs in a Microservice Architecture3scale
 
API workshop by AWS and 3scale
API workshop by AWS and 3scaleAPI workshop by AWS and 3scale
API workshop by AWS and 3scale3scale
 
Entering the Platform Age: How to create genuine value for internal and exter...
Entering the Platform Age: How to create genuine value for internal and exter...Entering the Platform Age: How to create genuine value for internal and exter...
Entering the Platform Age: How to create genuine value for internal and exter...3scale
 
Inside mind of a successful platform architect / Gartner APPS 2016
Inside mind of a successful platform architect / Gartner APPS 2016 Inside mind of a successful platform architect / Gartner APPS 2016
Inside mind of a successful platform architect / Gartner APPS 2016 3scale
 
The Swagger Format becomes the Open API Specification: Standardizing descript...
The Swagger Format becomes the Open API Specification: Standardizing descript...The Swagger Format becomes the Open API Specification: Standardizing descript...
The Swagger Format becomes the Open API Specification: Standardizing descript...3scale
 
Build and Manage Serverless APIs (APIDays Nordic, May 19th 2016)
Build and Manage Serverless APIs (APIDays Nordic, May 19th 2016)Build and Manage Serverless APIs (APIDays Nordic, May 19th 2016)
Build and Manage Serverless APIs (APIDays Nordic, May 19th 2016)3scale
 
The Fundamentals of Platform Strategy: Creating Genuine Value with APIs
The Fundamentals of Platform Strategy: Creating Genuine Value with APIsThe Fundamentals of Platform Strategy: Creating Genuine Value with APIs
The Fundamentals of Platform Strategy: Creating Genuine Value with APIs3scale
 

Andere mochten auch (20)

iPaas with Fuse Fabric Technology
iPaas with Fuse Fabric TechnologyiPaas with Fuse Fabric Technology
iPaas with Fuse Fabric Technology
 
Fusesource camel-persistence-part1-webinar-charles-moulliard
Fusesource camel-persistence-part1-webinar-charles-moulliardFusesource camel-persistence-part1-webinar-charles-moulliard
Fusesource camel-persistence-part1-webinar-charles-moulliard
 
Apache ServiceMix4 : Dream platform for Java Integration
Apache ServiceMix4 : Dream platform for Java Integration Apache ServiceMix4 : Dream platform for Java Integration
Apache ServiceMix4 : Dream platform for Java Integration
 
Develop a Mobile Application coonected to a REST backend
Develop a Mobile Application coonected to a REST backendDevelop a Mobile Application coonected to a REST backend
Develop a Mobile Application coonected to a REST backend
 
Integrating BPM with Fuse
Integrating BPM with FuseIntegrating BPM with Fuse
Integrating BPM with Fuse
 
Microservices with WildFly Swarm - JavaSI 2016
Microservices with WildFly Swarm - JavaSI 2016Microservices with WildFly Swarm - JavaSI 2016
Microservices with WildFly Swarm - JavaSI 2016
 
Apache ActiveMQ, Camel, CXF and ServiceMix Overview
Apache ActiveMQ, Camel, CXF and ServiceMix OverviewApache ActiveMQ, Camel, CXF and ServiceMix Overview
Apache ActiveMQ, Camel, CXF and ServiceMix Overview
 
Security enforcement of Java Microservices with Apiman & Keycloak
Security enforcement of Java Microservices with Apiman & KeycloakSecurity enforcement of Java Microservices with Apiman & Keycloak
Security enforcement of Java Microservices with Apiman & Keycloak
 
JBoss Fuse Workshop 101 part 2
JBoss Fuse Workshop 101 part 2JBoss Fuse Workshop 101 part 2
JBoss Fuse Workshop 101 part 2
 
How to Survive the API Copyright Apocalypse
How to Survive the API Copyright ApocalypseHow to Survive the API Copyright Apocalypse
How to Survive the API Copyright Apocalypse
 
Fuse overview
Fuse overviewFuse overview
Fuse overview
 
Devoxx 2011 integration-camel-cxf-servicemix-activemq
Devoxx 2011 integration-camel-cxf-servicemix-activemqDevoxx 2011 integration-camel-cxf-servicemix-activemq
Devoxx 2011 integration-camel-cxf-servicemix-activemq
 
APIs and the Bot Revolution (APIDays Nordic, May 18)
APIs and the Bot Revolution (APIDays Nordic, May 18)APIs and the Bot Revolution (APIDays Nordic, May 18)
APIs and the Bot Revolution (APIDays Nordic, May 18)
 
Take Control of your APIs in a Microservice Architecture
Take Control of your APIs in a Microservice ArchitectureTake Control of your APIs in a Microservice Architecture
Take Control of your APIs in a Microservice Architecture
 
API workshop by AWS and 3scale
API workshop by AWS and 3scaleAPI workshop by AWS and 3scale
API workshop by AWS and 3scale
 
Entering the Platform Age: How to create genuine value for internal and exter...
Entering the Platform Age: How to create genuine value for internal and exter...Entering the Platform Age: How to create genuine value for internal and exter...
Entering the Platform Age: How to create genuine value for internal and exter...
 
Inside mind of a successful platform architect / Gartner APPS 2016
Inside mind of a successful platform architect / Gartner APPS 2016 Inside mind of a successful platform architect / Gartner APPS 2016
Inside mind of a successful platform architect / Gartner APPS 2016
 
The Swagger Format becomes the Open API Specification: Standardizing descript...
The Swagger Format becomes the Open API Specification: Standardizing descript...The Swagger Format becomes the Open API Specification: Standardizing descript...
The Swagger Format becomes the Open API Specification: Standardizing descript...
 
Build and Manage Serverless APIs (APIDays Nordic, May 19th 2016)
Build and Manage Serverless APIs (APIDays Nordic, May 19th 2016)Build and Manage Serverless APIs (APIDays Nordic, May 19th 2016)
Build and Manage Serverless APIs (APIDays Nordic, May 19th 2016)
 
The Fundamentals of Platform Strategy: Creating Genuine Value with APIs
The Fundamentals of Platform Strategy: Creating Genuine Value with APIsThe Fundamentals of Platform Strategy: Creating Genuine Value with APIs
The Fundamentals of Platform Strategy: Creating Genuine Value with APIs
 

Ähnlich wie Make easier Integration of your services with Fuse Solutions - RedHat 2013

FOSS Sthlm: Realtime Communication Update
FOSS Sthlm: Realtime Communication UpdateFOSS Sthlm: Realtime Communication Update
FOSS Sthlm: Realtime Communication UpdateOlle E Johansson
 
From SOA to SCA and FraSCAti
From SOA to SCA and FraSCAtiFrom SOA to SCA and FraSCAti
From SOA to SCA and FraSCAtiphilippe_merle
 
Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010Arun Gupta
 
DevOps Course Contents.docx
DevOps Course Contents.docxDevOps Course Contents.docx
DevOps Course Contents.docxFuturepoint13
 
Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Claus Ibsen
 
CM WebClient for CA Plex
CM WebClient for CA PlexCM WebClient for CA Plex
CM WebClient for CA PlexCM First Group
 
TS 4839 - Enterprise Integration Patterns in Practice
TS 4839 - Enterprise Integration Patterns in PracticeTS 4839 - Enterprise Integration Patterns in Practice
TS 4839 - Enterprise Integration Patterns in Practiceaegloff
 
Succeding with the Apache SOA stack
Succeding with the Apache SOA stackSucceding with the Apache SOA stack
Succeding with the Apache SOA stackJohan Edstrom
 
Technologies Skills
Technologies SkillsTechnologies Skills
Technologies SkillsS LMS
 
Technologies Skills
Technologies SkillsTechnologies Skills
Technologies SkillsDeepak Raj
 
Introduction To J Boss Seam
Introduction To J Boss SeamIntroduction To J Boss Seam
Introduction To J Boss Seamashishkulkarni
 
Python Streaming Pipelines on Flink - Beam Meetup at Lyft 2019
Python Streaming Pipelines on Flink - Beam Meetup at Lyft 2019Python Streaming Pipelines on Flink - Beam Meetup at Lyft 2019
Python Streaming Pipelines on Flink - Beam Meetup at Lyft 2019Thomas Weise
 

Ähnlich wie Make easier Integration of your services with Fuse Solutions - RedHat 2013 (20)

Riding with camel
Riding with camelRiding with camel
Riding with camel
 
CQ5 and Sling overview
CQ5 and Sling overviewCQ5 and Sling overview
CQ5 and Sling overview
 
Karaf ee-apachecon eu-2012
Karaf ee-apachecon eu-2012Karaf ee-apachecon eu-2012
Karaf ee-apachecon eu-2012
 
FOSS Sthlm: Realtime Communication Update
FOSS Sthlm: Realtime Communication UpdateFOSS Sthlm: Realtime Communication Update
FOSS Sthlm: Realtime Communication Update
 
Enterprise service bus part 2
Enterprise service bus part 2Enterprise service bus part 2
Enterprise service bus part 2
 
From SOA to SCA and FraSCAti
From SOA to SCA and FraSCAtiFrom SOA to SCA and FraSCAti
From SOA to SCA and FraSCAti
 
Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010
 
Oracle OpenWorld 2014 Review Part Four - PaaS Middleware
Oracle OpenWorld 2014 Review Part Four - PaaS MiddlewareOracle OpenWorld 2014 Review Part Four - PaaS Middleware
Oracle OpenWorld 2014 Review Part Four - PaaS Middleware
 
DevOps Course Contents.docx
DevOps Course Contents.docxDevOps Course Contents.docx
DevOps Course Contents.docx
 
Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...
 
CM WebClient for CA Plex
CM WebClient for CA PlexCM WebClient for CA Plex
CM WebClient for CA Plex
 
TS 4839 - Enterprise Integration Patterns in Practice
TS 4839 - Enterprise Integration Patterns in PracticeTS 4839 - Enterprise Integration Patterns in Practice
TS 4839 - Enterprise Integration Patterns in Practice
 
Succeding with the Apache SOA stack
Succeding with the Apache SOA stackSucceding with the Apache SOA stack
Succeding with the Apache SOA stack
 
Technologies Skills
Technologies SkillsTechnologies Skills
Technologies Skills
 
Technologies Skills
Technologies SkillsTechnologies Skills
Technologies Skills
 
Spring Mvc
Spring MvcSpring Mvc
Spring Mvc
 
Introduction To J Boss Seam
Introduction To J Boss SeamIntroduction To J Boss Seam
Introduction To J Boss Seam
 
Technologies Need to Know
Technologies Need to KnowTechnologies Need to Know
Technologies Need to Know
 
Python Streaming Pipelines on Flink - Beam Meetup at Lyft 2019
Python Streaming Pipelines on Flink - Beam Meetup at Lyft 2019Python Streaming Pipelines on Flink - Beam Meetup at Lyft 2019
Python Streaming Pipelines on Flink - Beam Meetup at Lyft 2019
 
IJTC ServiceMix 4
IJTC   ServiceMix 4IJTC   ServiceMix 4
IJTC ServiceMix 4
 

Mehr von Charles Moulliard

Security enforcement of Microservices with API Management
Security enforcement of Microservices with API ManagementSecurity enforcement of Microservices with API Management
Security enforcement of Microservices with API ManagementCharles Moulliard
 
MicroService and MicroContainer with Apache Camel
MicroService and MicroContainer with Apache CamelMicroService and MicroContainer with Apache Camel
MicroService and MicroContainer with Apache CamelCharles Moulliard
 
Design a Mobil Hybrid Application connected to a REST Backend
Design a Mobil Hybrid Application connected to a REST BackendDesign a Mobil Hybrid Application connected to a REST Backend
Design a Mobil Hybrid Application connected to a REST BackendCharles Moulliard
 
Continuous Delivery & Integration with JBoss Fuse on Openshift
Continuous Delivery & Integration with JBoss Fuse on OpenshiftContinuous Delivery & Integration with JBoss Fuse on Openshift
Continuous Delivery & Integration with JBoss Fuse on OpenshiftCharles Moulliard
 
Development of social media projects with Apache Camel, Fabric8 & Hawtio
Development of social media projects with Apache Camel, Fabric8 & HawtioDevelopment of social media projects with Apache Camel, Fabric8 & Hawtio
Development of social media projects with Apache Camel, Fabric8 & HawtioCharles Moulliard
 
Cloud fuse-apachecon eu-2012
Cloud fuse-apachecon eu-2012Cloud fuse-apachecon eu-2012
Cloud fuse-apachecon eu-2012Charles Moulliard
 
Camelone-2012 HTML5 WebSocket ActiveMQ/Camel
Camelone-2012 HTML5 WebSocket ActiveMQ/CamelCamelone-2012 HTML5 WebSocket ActiveMQ/Camel
Camelone-2012 HTML5 WebSocket ActiveMQ/CamelCharles Moulliard
 
Fusesource camel-persistence-part2-webinar-charles-moulliard
Fusesource camel-persistence-part2-webinar-charles-moulliardFusesource camel-persistence-part2-webinar-charles-moulliard
Fusesource camel-persistence-part2-webinar-charles-moulliardCharles Moulliard
 
Be jug 090611_apacheservicemix
Be jug 090611_apacheservicemixBe jug 090611_apacheservicemix
Be jug 090611_apacheservicemixCharles Moulliard
 
Fuse source parisjug-10052011
Fuse source parisjug-10052011Fuse source parisjug-10052011
Fuse source parisjug-10052011Charles Moulliard
 

Mehr von Charles Moulliard (10)

Security enforcement of Microservices with API Management
Security enforcement of Microservices with API ManagementSecurity enforcement of Microservices with API Management
Security enforcement of Microservices with API Management
 
MicroService and MicroContainer with Apache Camel
MicroService and MicroContainer with Apache CamelMicroService and MicroContainer with Apache Camel
MicroService and MicroContainer with Apache Camel
 
Design a Mobil Hybrid Application connected to a REST Backend
Design a Mobil Hybrid Application connected to a REST BackendDesign a Mobil Hybrid Application connected to a REST Backend
Design a Mobil Hybrid Application connected to a REST Backend
 
Continuous Delivery & Integration with JBoss Fuse on Openshift
Continuous Delivery & Integration with JBoss Fuse on OpenshiftContinuous Delivery & Integration with JBoss Fuse on Openshift
Continuous Delivery & Integration with JBoss Fuse on Openshift
 
Development of social media projects with Apache Camel, Fabric8 & Hawtio
Development of social media projects with Apache Camel, Fabric8 & HawtioDevelopment of social media projects with Apache Camel, Fabric8 & Hawtio
Development of social media projects with Apache Camel, Fabric8 & Hawtio
 
Cloud fuse-apachecon eu-2012
Cloud fuse-apachecon eu-2012Cloud fuse-apachecon eu-2012
Cloud fuse-apachecon eu-2012
 
Camelone-2012 HTML5 WebSocket ActiveMQ/Camel
Camelone-2012 HTML5 WebSocket ActiveMQ/CamelCamelone-2012 HTML5 WebSocket ActiveMQ/Camel
Camelone-2012 HTML5 WebSocket ActiveMQ/Camel
 
Fusesource camel-persistence-part2-webinar-charles-moulliard
Fusesource camel-persistence-part2-webinar-charles-moulliardFusesource camel-persistence-part2-webinar-charles-moulliard
Fusesource camel-persistence-part2-webinar-charles-moulliard
 
Be jug 090611_apacheservicemix
Be jug 090611_apacheservicemixBe jug 090611_apacheservicemix
Be jug 090611_apacheservicemix
 
Fuse source parisjug-10052011
Fuse source parisjug-10052011Fuse source parisjug-10052011
Fuse source parisjug-10052011
 

Make easier Integration of your services with Fuse Solutions - RedHat 2013

  • 1. Make easier Integration of your services with Fuse Solutions Charles Moulliard Sr. Enterprise Architect / Apache member 23/01/2013
  • 2. Speaker : Charles Moulliard • Engineer in Agronomy & Master in Zoology 19 years of experience in IT world development (J2EE, .NET), specialized in new technologies web/Internet & integration, Project manager in bank, financial, telco, insurance - Team builder – Coach - Evangelist • Architect @RedHat • Apache Committer : ServiceMix, Karaf (PMC), Camel (PMC), DeltaSpike, Fabric Twitter : http://twitter.com/cmoulliard LinkedIn : http://www.linkedin.com/in/charlesmoulliard My blog : http://cmoulliard.blogspot.com Slideshare : http://www.slideshare.net/cmoulliard
  • 3. Agenda ● Why Integration is so hard ● How Fuse technology makes that easier ● What we offer ● Fuse Enterprise (MB, ESB) ● Fuse IDE ● Fuse Management Console
  • 5. Why integration is so hard IT is like a jungle, completely crazy
  • 6. Why integration is so hard Constellation of protocols & standards RMI DCOM HTTP(S) (S)FTP(S) POP UDP RPC (S)SMTP IMAP CORBA TCP/IP SSL SSH SNMP PKI JavaEE SOA BPEL BPMN JPA WS-* SCA JMS AMQP REST JDBC POJO EJB JBI
  • 7. Why integration is so hard Support huge family of Formats EDI CSV XML SOAP
  • 8. Why integration is so hard Microsoft (.NET, COM) ↔ Java (EJB, POJO) CORBA, DCOM fail to simplify inter-operability BRIDGE CORBA DCOM
  • 9. How Fuse makes that easier
  • 10. How Fuse makes that easier What do we need to solve these issues ● Technology supporting existing protocols/standards ● Facilitate Transformation or Data Formating ● Integration language ● Runtime to deploy services ● Modularity/Granularity ● Async architecture & persistence ● Tools to develop/package & deploy projects ● Supervision strategy ● (Cloud) infrastructure
  • 11. How Fuse make that easier Where do we find such a technology → OpenSource community (Apache, JBoss) ● Integration Technology (Camel) ● Multi-Technology Java OSGI Server (Karaf) ● WS/REST framework (CXF) – SOA Vision ● Middleware (ActiveMQ) ● Modular runtime (Felix) ● OSGI Tooling (OPS4J) ● EE Features – JPA, Web, JTA, JNDI (Aries) ● Cloud (jcloud, cloudstack, openshift)
  • 13. Camel ● Birthdate - March 2007 ● OpenSource Integration Framework implementing EIP patterns (Book : 2005 by Gregor Hohpe & Bobby Woolf) ● Why EIP ? To provide words, grammar & language ● Camel uses a Domain Specific Language transposing the EIP patterns into Java, XML, Scala
  • 14. Camel Some of features/characteristics ● In memory bus ← → alternative to JBI - NMR ● Route objects → can be XML, File, Stream, Bytes ● Predicate & Expression language (xslt, xpath,..) ● Support Sync/Async exchanges ● Threads Management, Tx Architecture ● Error and exception handling ● Policy driven ● Container agnostic
  • 15. Camel (1) More than 50 patterns are implemented http://camel.apache.org/enterprise-integration- patterns.html
  • 16. Camel (2) More than 120 components http://camel.apache.org/components.html
  • 17. Camel (3) ● ConvertBody ● Data formats to simplify exchange between layers, applications connected (JAXB, Bindy, SOAP, ...) ● marshaler (obj-A  obj-B) ● unmarshaler (obj-B  obj-A) http://camel.apache.org/data-format.html
  • 18. Camel (4) The model  Content Based Router & its DSL representation
  • 22. Camel (8) URI corresponds to component name + properties
  • 23. Camel (9) • Transpose the DSL using Java • First the configure() method must be created
  • 24. Camel (10) Next we create a java class extending RouteBuilder class
  • 25. Camel (11) Language is flexible and proposes different ways to define the endpoints and predicates
  • 26. Camel (12) Integrate easily with IntelliJ, Eclipse, JBoss Developer Studio, Fuse Ide, NetBeans
  • 27. Camel (13) Instead of Java, you can use Spring / XML DSL
  • 28. How Fuse makes that easier What do we need to solve these issues ● Technology supporting existing protocol/standards ● Facilitate Transformation or Data Formating ● Integration language Camel ● Runtime to deploy services ● Modularity/granularity ● Async architecture & persistence ● Tools to develop/package & deploy projects ● Supervision strategy ● (Cloud) infrastructure
  • 30. ESB – ServiceMix (1) Demystify the concept Enterprise Service Bus → This is not → Or a But an exchanging platform of messages, objects moving within transport layers
  • 31. ESB - ServiceMix (2) • Provide connectors(= endpoints) to collect information and send it on the bus as messages ● Allow to separate the business layer from those that will transport the information and transform (marshal) it
  • 32. ServiceMix (3) Message is ACK or ERR Routing is defined into Normalized = the SU XML exchanges
  • 33. ServiceMix (4) Based on an OSGI kernel Offer modularity for services Multi-Technology Platform ● Camel ● CXF ● ActiveMQ, ● Aries (JPA, Transaction, JNDI, Web)
  • 34. Karaf – Heart of ServiceMix (5)
  • 35. Karaf – Heart of ServiceMix (6) Features : ● Administration console (local, remote, ssh, web, jmx) ● Provisioning system (features) ● Hot deployment and configuration management ● Instances management ● Security integration (JAAS → ldap, jdbc, file) ● Logging management (log4j, logger, commons logging, ….)
  • 36. Karaf – Heart of ServiceMix (6) The platform is « modular » because we can select the libraries, containers. Jetty, Pax Web Camel, JBI
  • 37. Architecture - Messaging The BUS operates the exchanges between the endpoints using Camel (individual), NMR – JBI (transversal) from(«ftp://server/dir») from(«cxf:bean:myWS») .beanRef(«myBean»); .beanRef(«myBean») ;
  • 38. Architecture - Java The OSGI platform proposes a Service Registry (aka JNDI) t deploy Java Interfaces <bean id="incidentServiceTarget" class="org.apache.camel.service.impl.IncidentServiceImpl"> <property name="incidentDAO"> <osgi:reference interface="org.apache.camel.dao.IncidentDAO"/> </property> </bean>
  • 39. Architecture - Messaging + Java Decoupling of the "services" from integration layer from(« cxf:bean:myWS ») .beanRef(« myBean », « validate ») .beanRef(«aBean»,« saveDB ») .beanaRef(« myBean », « generateResponse »);
  • 40. Architecture - Messaging + Java + Web Can be web platform, it uses  Jetty Web Application Server, Pax Web – a tooling for war and OSGI HTTP Service to register Servlet, …
  • 41. How Fuse makes that easier What do we need to solve these issues ● Technology supporting existing protocols/standards ● Facilitate Transformation or DataFormating Camel ● Integration language ● Runtime to deploy services Karaf ● Modularity/Granularity ● Async architecture & persistence ● Tools to develop/package & deploy projects ● Supervision strategy ● (Cloud) infrastructure
  • 42. Middleware to persist, propagate asynchronous exchanges, scale your architecture
  • 43. Architecture When we need asymetric deployment (CPU, memory is not enough)  ActiveMQ interconnect the instances and persist messages
  • 44. ActiveMQ • A high performance, reliable messaging fabric, supporting JMS, C, C++,.Net, Stomp clients. Offers persistence for messages and bridge between ServiceMix instances Clients connect to the Network connectors broker using connectors control how the with simple URIs broker interacts with other brokers for discovery, replication, failover, Topics and queues clustering and store created dynamically. & forward. … all based on a flexible Spring-based File & JDBC-based core. message stores supported.
  • 45. How Fuse makes that easier What do we need to solve these issues ● Technology supporting existing protocols/standards ● Facilitate Transformation or DataFormating Camel ● Integration language ● Runtime to deploy services Karaf ● Modularity/Granularity ● Async architecture & persistence ActiveMQ ● Tools to develop/package & deploy project ● Supervision strategy ● (Cloud) infrastructure
  • 46. And now move on to Fuse World
  • 47. 47
  • 48. Fuse vs Fuse Enterprise
  • 49. What is Fuse Fabric  http://fabric.fusesource.org/  Open Source Software for “configuring, provisioning & running Fuse and Apache software on any machines” •physical, virtual, private, public, private+public cloud or not etc  Keeps you DRY from those rainy clouds :)  Weave your containers into an easy to manage fabric 49
  • 50. Fuse Fabric : What does it do ?  A. Development (Fuse IDE -WYSIWYG editor, Debug, Runtime, Profiling) 50
  • 51. Fuse Fabric : What does it do ?  B. Simplify Packaging - FAB FAB = any jar file containing a pom.xml file under META-INF/maven/groupId/artifactId/pom.xml (and pom.properties file) which contain the transitive dependency information for the jar. 51
  • 52. Fuse Fabric : What does it do ?  Fuse ESB allows to create new instances and administrate them locally or remotely (ssh/jmx) BUT  Instances are not “cloned”  Configurations must be updated (manually)  Process is error prone  No Deployment Platform 52
  • 53. Fuse Fabric : What does it do ?  C. Instance Management  Fabric (through profiles + maven proxy + registry) will create instances and manage them •Locally •Remotely (ssh) •In the cloud 53
  • 54. What is Fabric  Registry = Configurations Repository → replicated, manageable  Agents = Java Fabric runtime  Profiles = Artifacts to be deployed 54
  • 55. Registry  Based on Apache ZooKeeper • Is a Centralized Coordination Service, distributed and highly reliable • Uses a directory & file based structure
  • 56. Registry  2 kinds of registry : Configurations & Runtime  Recommended to have >= 1 registry
  • 57. Agent  Fabric-agent deployed per Fuse ESB container  Zookeeper client  Agent listens to the registry  configurations  provisions features & services Agent registers important information into the registry (jmx) 57
  • 58. Fuse Fabric : What does it do ?  Fabric → fabric commands to manage containers, profiles, ensemble, users 58
  • 59. Instance Management - FMC  Could be managed from Fuse Management Console = WAR + Rest API + Fabric 59
  • 60. Instance Management - FMC  Create Local, Remote or in the cloud instances 60
  • 62. Fuse Fabric : What does it do ?  D. Profiling •Simplify deployment in Fuse ESB instances •Provisioning of features across machines  Profile •Envelope for features, bundles, OSGI configurations & config files •Profiles can be inherited, combined, versioned •Can be defined using commands 62
  • 63. Profiling - FMC  Management (create/delete/version,…) 63
  • 64. Profiling - FMC  Example of profile (Camel – Version 1) 64
  • 65. Profiling - FMC  Configuration files, parameters, jvm 65
  • 66. Deploying - FMC  Associate profiles to a container (deployment) 66
  • 67. Fabric : What does it do ?  E. “Services” factory - Virtualisation • Create “indirection” points • Load balancing and failover • Easy elastic scaling of services 67
  • 68. Virtualisation – Camel Fabric  Exposing Camel endpoint into the fabric  Invoking remote Camel endpoint  Loadbalance requests 68
  • 69. Virtualisation – ActiveMQ Fabric  Message brokers automatically discovery each other  Clients use connection URI “fabric:default” to connect to a message broker  If you have multiple logical ActiveMQ clusters just name them in the URI e.g. • fabric:us-west, fabric:us-east, fabric:europe 69
  • 71. Other Fabric  CXF Fabric Adds a feature to the CXF bus for discovery & load balancing  D-OSGI Distribute OSGI services between Fabric instances  ServiceMix Fabric Allow local NMR to use remote endpoints when no local NMR endpoint available  Process Fabric Start & monitor processes Keep processes running across machines 71
  • 72. Fabric : What does it do ?  F. Monitoring containers (bundles, OSGI services) 72
  • 73. Real Time Monitoring - FMC  Containers – info (cpu, memory, profiles deployed) 73
  • 74. Real Time Monitoring - FMC  Statistics - Routes 74
  • 75. Real Time Monitoring - FMC  Statistics – Brokers 75
  • 76. Real Time Monitoring - FMC  Statistics – JMS Messages 76
  • 77. To be complete  Production Monitoring Solution → JON 77
  • 80. How Fuse makes that easier What do we need to solve these issues ● Technology supporting existing protocols/standards ● Facilitate Transformation or DataFormating Camel ● Integration language ● Runtime to deploy services Karaf ● Modularity/Granularity ● Async architecture & persistence ActiveMQ ● Tools to develop/package & deploy ● Supervision strategy Fuse ● (Cloud) infrastructure
  • 81. How Fuse makes that easier Time CXF to make Camel a DEMO Karaf ActiveMQ Fuse
  • 82. Questions? @cmoulliard cmoulliard@redhat.com cmoulliard.blogspot.com linkedin.com/in/charlesmoulliard slideshare.net/cmoulliard More info www.fusesource.com & www.redhat.com