• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Jazoon2010 - Edgar Silva - Open source SOA on Steroids
 

Jazoon2010 - Edgar Silva - Open source SOA on Steroids

on

  • 1,717 views

 

Statistics

Views

Total Views
1,717
Views on SlideShare
1,709
Embed Views
8

Actions

Likes
1
Downloads
0
Comments
0

1 Embed 8

http://www.linkedin.com 8

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Jazoon2010 - Edgar Silva - Open source SOA on Steroids Jazoon2010 - Edgar Silva - Open source SOA on Steroids Presentation Transcript

    • Open source SOA on Steroids: Combining the robustness of JBoss ESB with the flexibility of Apache Camel Edgar A Silva JBoss, by Red Hat Submission ID 88
    • About the Speaker
      • Working with Java and Distributed Computing since 1998
      • Worked as an architect for large scale Java solutions in Brazil, such as: New Federal Brazilian Lottery System
      • JBoss Employee in charge to bring technology and business viewing at Red Hat Brazil
    • Agenda
      • Systems Integrations Overview
      • What about:
        • Apache Camel
        • JBoss ESB
        • Where they meet each other
      • Creating new Listeners for JBoss ESB
      • Creating new Components for Apache Camel
      • Mixing both solutions
      • Introducing breakingwoods project
        • http://code.google.com/p/breakingwoods
        • Level One
          • Level Two
      How do you integrate your solutions today?
    • Where and how to plug in ?
    • Enterprise Integration Patterns
    • Enterprise Integration Patterns
      • There are just 4 Integration Styles :
        • File Transfer
        • Shared Database
        • RPC
        • Messaging
      • http://www.eaipatterns.com/
    • That's why
      • JBoss ESB
      • Apache Camel
        • Both are adherent with the EIP's principles and recommendations
        • Implementations from a ServiceBus and a Compoenent Framework that made the systems integrations easier
    •  
    • Introducing Apache Camel
      • http://camel.apache.org
      • Apache Camel is a powerful open source Integration Framework based on known Enterprise Integration Patterns
      • Apache Camel uses URIs so that it can easily work directly with any kind of Transport or messaging model, for instance:
        • mina:tcp://localhost:6200?textline=true&sync=false
        • ftp://scott@localhost/public/reports?password=tiger&binary=true&delay=60000
    • Apache Camel can to Act as...
      • Event Consumer
      • Event Producer
      Source Protocols HTTP FTP JMS GOOGLE AMQP SMTP Others Destination Protocols HTTP FTP JMS GOOGLE AMQP SMTP Others
    • Available Components URI
      • ActiveMQ / activemq-camel
      • ActiveMQ Journal / activemq-core
      • AMQP / camel-amqp
      • Atom / camel-atom
      • Bean / camel-core
      • Browse / camel-core
      • Cache / camel-cache
      • Cometd / camel-cometd
      • CXF / camel-cxf
      • CXFRS / camel-cxf
      • DataSet / camel-core
      • Direct / camel-core
      • Esper / camel-esper in camel-extra
      • Event / camel-spring
      • File / camel-core
      • Flatpack / camel-flatpack
      • Freemarker / camel-freemarker
      • FTP / camel-ftp
      • FTPS / camel-ftp
      • GAuth / camel-gae
      • GHttp / camel-gae
      • GLogin / camel-gae
      • GTask / camel-gae
      • GMail / camel-gae
      • HDFS / camel-hdfs in camel-hdfs
      • Hibernate / camel-hibernate in camel-extra
      • HL7 / camel-hl7
      • HTTP / camel-http
      • IRC / camel-irc
      • RSS / camel-rss
      • SERVLET / camel-servlet
      • Smooks / camel-smooks in camel-extra
      • SMTP / camel-mail
      • SMPP / camel-smpp
      • SNMP / camel-snmp
      • SpringIntegration / camel-spring-integration
      • SQL / camel-sql
      • Stream / camel-stream
      • TCP / camel-mina
      • Others
      Full Components List: http://camel.apache.org/components.html
    • Routing (from...to) From an URI (Process the Exchange) deliver to another URI from ("direct:start") .setHeader(HttpConstants.HTTP_METHOD, constant(org.apache.camel.component.http.HttpMethods.POST)) . to ("http://www.google.com") . to ("mock:results");
    • “ Show me the source code” !
    • Extending Apache Camel
    • Camel Component Model Consumer Endpoint Component Producer
    • Creating a New Apache Camel Component Infinispan (Cache/Datagrid) http://www.jboss.org/infinispan
    • “ Show me the source code” !
    •  
    • Why do I need an ESB ? You shall be bored to listen it again though :)
      • An ESB can promote an “Event Architecture” simply due to the capacity to listen the events that the company produces and must to react based on them.
      • Would be great we think in Clouds of ESBs, clustering and making them HA.
      • Collaboration is required
      • Transport warranty (JMS Clustering + Fault Tolerance)
      • Events are like Messages for ESBs
    • ESB vs Standards
      • There is no JSR that standardize an ESB, however the majority of ESB are created on top of many standards, for instance:
        • JDBC, JMS, JAX-WS, JAX-RS, JNDI etc
      • ESB (Service Bus) offers an way to integrate several applications through standards and common protocols such as File Systems, FTP, E-mail etc
      • Caution:
        • Sometimes is better to adopt an standardized document / protocol to perform data interchange as well as integrations
          • Ex: XML+Schema , JSON, CSV etc
    •  
    • JBoss ESB
      • Scalable however Lightweight Enterprise Service Bus
      • Inherits benefits from the traditional JBoss Application Server
      • Many required services “out-of-the-box”
        • CBR based on Rules Engines ( Drools )
        • Workflow based on JBPM
        • Services Orchestration via BPEL (Riftsaw/Apache ODE)
        • Transformation Services via Smooks
        • Adapters ( File, FTP, Http, REST, JMS etc)
        • InVM Transport
      • Available at: http://www.jboss.org/jbossesb
    • esbgen.sh Creating a new ESB Project made easy
    • Using JBoss ESB Effectively
    • “ Show me the source code” !
    • Introducing Breakingwoods Project http://code.google.com/p/breakingwoods
    • Adding a New Event Gateway/Listener
    • “ Show me the source code” !
    •  
    • Apache Camel is already present in JBoss ESB 4.9 svn trunk Thanks David Ward ! http://community.jboss.org/wiki/CamelGateway
    • <jbossesb xmlns=&quot; http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.3.0.xsd &quot; parameterReloadSecs=&quot;5&quot;>     <services>         <service category=&quot;camel_helloworld&quot; name=&quot;service1&quot; description=&quot;Hello World&quot; invmScope=&quot;GLOBAL&quot;>             <listeners>                 <camel-gateway name=&quot;gateway1&quot;>                     <from uri=&quot;file://.../samples/quickstarts/camel_helloworld/build/input1?delete=true&quot;/>                     <from uri=&quot;file://.../samples/quickstarts/camel_helloworld/build/input2?delete=true&quot;/>                 </camel-gateway>             </listeners>             <actions>                 <action name=&quot;action1&quot; class=&quot;org.jboss.esb.actions.SystemPrintln&quot;/>             </actions>         </service>     </services> </jbossesb>
    • <to uri=”jbossesb://service?category=camel_helloworld&name=service1”/>
    • Proposed Architecture JBoss ESB Server CBR, Drools, CEP, Workflow, BPM, BPEL, EJB, Transactions, Clustering, Loadbalancing etc Java Virtual Machine Apache Camel Data Consumer Cloud
    • Images References
      • http://www.flickr.com/photos/85034017@N00/2038987328/sizes/o/
    • References
      • http://camel.apache.org
      • http://www.jboss.org/jbossesb/
      • http://www.jboss.org/infinispan
      • http://code.google.com/p/breakingwoods
      • http://github.com/edgars/
      • http://ankiewsky.blogspot.com
      • Books
        • Camel In Action
    • Edgar A Silva Red Hat Inc [email_address] QA Thank you