Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

JBoss Fuse Service Works

JBoss Fuse Service Works
Red Hat Day - Brasilia, Brazil - 07 nov 2014
Elvis Henrique Rocha - Middleware Specialist and Java Consultant

Related Books

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

JBoss Fuse Service Works

  1. 1. JBOSS FUSE SERVICE WORKS The Fuse beyond integraton
  2. 2. Elvis Rocha ● JBoss specialist and Java consultant ● Middleware consultant and Red Hat Middleware Instructor ● Java development and architecture background ● 12 years experience in IT field elvis.rocha@gmail.com @elvisnaomorreu
  3. 3. Tecnisys ● 22 years of expertise and open-source solutions ● Red Hat Advanced Business Partner ● Biggest LATAM Red Hat Partner ● Specialized consulting in open-source solutions in areas such as middleware, development and infrastructure www.tecnisys.com.br
  4. 4. ● Java applications architecture ● Service Oriented Architecture ● Systems integration styles ● Red Hat JBoss Fuse ● Red Hat JBoss Fuse Service Works Topics
  5. 5. ● Java applications architecture ● Service Oriented Architecture ● Systems integration styles ● Red Hat JBoss Fuse ● Red Hat JBoss Fuse Service Works
  6. 6. Classic java web applications architecture ● MVC Model ● Frameworks stack JavaEE / Spring + JSF / GWT / Spring ● Most used technologies ● Proven architecture
  7. 7. Classic java web applications architecture ● MVC Model ● Frameworks stack JavaEE / Spring + JSF / GWT / Spring ● Most used technologies ● Proven architecture ● Sometimes it has a presentation layer
  8. 8. RIA / Mobile java web applications architecture ● MVC Model ● Frameworks stack JavaEE / Spring JSF / GWT / Spring MVC ● Javascript Frameworks ● JSON data model is preferred ● Most used technologies ● Proven architecture
  9. 9. WebServices - SOAP vs REST ● SOAP is known for the complexity and additional overhead ● Requires a formal contract between systems to define the message format ● Supports XML and binary data ● The preferred choice for SOA ● REST is known for be easy to use and lightweight ● Doesn't requires a formal contract to define the message format ● Supports multiple data types such as JSON, XML, text and binary ● The preferred choice for mobile and modern applications
  10. 10. XML vs JSON ● XML is the native message exchange format between systems ● Formal structure ● Content validation ● The format is changed only when all participants agreed ● Supports text and binary data ● JSON is the “native” format for mobile and modern applications ● No formal structure ● No content validation ● The format can be easily changed ● Text only (javascript format)
  11. 11. ● Java applications architecture ● Service Oriented Architecture ● Systems integration styles ● Red Hat JBoss Fuse ● Red Hat JBoss Fuse Service Works
  12. 12. Service Oriented Architecture Principles – SOA
  13. 13. Do you have or need SOA? ● I need my systems to talk to each other. I need SOA? ● I need expose a public API. I need SOA? ● I'm using an ESB and I have all my services published in it. Does it means that I have SOA? ● I have a lot of published web services in my company. Does it means that I have SOA?
  14. 14. What do you need: An integration solution or SOA? ● Do you want to send an information from system A to system B? ● Do you have complex integration issues and need a solution? ● Do you need components to integrate with existing services such as SAP, Salesforce, AWS and Google App?
  15. 15. SOA is about integration but far beyond it ● SOA is a solution for your business. Not for your technology ● Build an application and separate it in parts like services with contracts among them. (service oriented) ● Manage your company service inventory. ● Compose services to get the expected results ● Orchestrate the composed services. Manage the services ecosystem to reach business goals. (Governance)
  16. 16. Service Oriented Architecture ● The services have to: 1. Be loosely coupled 2. Be autonomous and independent 3. Be reutilizable 4. Have a good level of abstraction to hide the details of the implementation 5. Be auto-sufficient. Service composition must be supported 6. Be stateless. Only composed services have to be stateful
  17. 17. ● Java applications architecture ● Service Oriented Architecture ● System integration styles ● Red Hat JBoss Fuse ● Red Hat JBoss Fuse Service Works
  18. 18. Batch processing data integration ● Ad hoc integration ● Requires a careful verification of the data ● There's no defined responsibility in none of the sides ● Hard to monitor and maintain ● Delay
  19. 19. Batch data integration solution ● Made for transportation of huge amounts of data ● Most of the solutions requires a specific middleware (Database-vendor solutions) ● ETL
  20. 20. Real time integration architecture ● Peer to peer ● Tightly coupled ● Hard to maintain ● No version control ● Spaguetti ● Ad hoc ● Is not SOA
  21. 21. Real time service oriented arquitecture
  22. 22. Real time service oriented architecture ● Addition of an ESB - JBoss Fuse ● Adapters (+ connectivity) ● Protocol Mapping (+ interoperability) ● Transformation / Filter / Routing / Enrichment / Monitoring / Versioning ● Message-oriented ● Service-oriented
  23. 23. Real time service oriented architecture with development, integration and governance support
  24. 24. Real time service oriented architecture with development, integration and governance support ● JBoss Fuse Service Works ● Adapters + Protocol Mapping + Messaging ● Transformation / Filter / Routing / Enrichment / Monitoring / Versioning ● Business Rules ● BPM + Service Orchestration ● Governance ● Service Delivery Lifecycle Management ● Business Transaction Monitoring
  25. 25. ● Java applications architecture ● Service Oriented Architecture ● Systems integration styles ● Red Hat JBoss Fuse ● Red Hat JBoss Fuse Service Works
  26. 26. Red Hat JBoss Fuse ● Core ESB + Apache Camel + Apache CXF ● Container OSGI Apache Karaf ● Fuse Fabric ● ActiveMQ
  27. 27. JBoss Fuse architecture ● Core ESB + Apache Camel + Apache CXF ● Container OSGI Apache Karaf ● Fuse Fabric ● ActiveMQ
  28. 28. Fuse Core ESB ● An integration framework that provides basic infrastructure and promotes easy implementation of routes, gateways and other integration scenarios ● Does not implements SOA but provides the standard features to be able to implement it ● The ESB remove the coupling of a service and its transport layer
  29. 29. Apache Camel ● Integration Framework (EAI Patterns) ● In-memory BUS support (alternative to JBI) ● Synchronous and asynchronous message support ● Debug and error catching/handling support ● Implements more than 50 patterns ● More than 120 components
  30. 30. Apache Karaf + Fuse Fabric ● Container Karaf OSGI: ● OSGI-based platform with management, configuration, provision and hot-deploy support ● Fuse Fabric: ● Apache Zookeper based ● Containers with more than one profile ● Ensemble: Group of containers ● Micro Containers: java, docker, openshift, kubernetes
  31. 31. Apache Active MQ ● High-performance message and full JMS client ● Transactional ● Supports some clients such as JMS, C, C++, .Net and Stomp
  32. 32. ● Java applications architecture ● Service Oriented Architecture ● Systems integration styles ● Red Hat JBoss Fuse ● Red Hat JBoss Fuse Service Works
  33. 33. Red Hat JBoss Fuse Service Works ● Core ESB + Apache Camel + Apache CXF ● JBoss EAP 6 ● Overlord (DTGov e RTGov) – Runtime Governance ● Riftsaw (Service Orchestration) ● Switchyard (SCA) ● Drools (BRMS) ● JBPM (BPM Suite) ● S-RAMP ● Smooks
  34. 34. JBoss Fuse Service Works Architecture ● Core ESB + Apache Camel + Apache CXF ● JBoss EAP 6 ● Overlord (DTGov e RTGov) – Runtime Governance ● Riftsaw (Service Orchestration) ● Switchyard (SCA) ● Drools (BRMS) ● JBPM (BPM Suite) ● S-RAMP ● Smooks
  35. 35. JBoss EAP 6 ● Full Java EE 6 Certified ● Allows you to create integration scenarios based on JBoss modular architecture, not based on OSGI bundles architecture. ● Allows you to create components Java EE for integration scenarios such as EJB, use dependency injection with CDI and create a JBoss cluster
  36. 36. Overlord ● Design-Time Governance (DTGov) – Workflow ● Management Deployment (Push artifacts) ● Project Lifecycle Management
  37. 37. Overlord ● Runtime Time Governance (RTGov) ● Project Lifecycle Management
  38. 38. S-RAMP ● SOA Repository Artifact Model and Protocol ● Protocol: S-RAMP 1.0 ● JCR: ModeShape e Infinispan ● Maven: ... <repository> <id>local-sramp-repo</id> <name>S-RAMP Releases Repository</name> <url>sramp://localhost:8080/s-ramp-server/</url> </repository> ...
  39. 39. Switchyard ● Implements SCA ● Coarse-grained services ● Handmade binding components (Reference) ● Components: CDI Bean BPM process BPEL process Camel route Drools rule KIE (Drools/BPM)
  40. 40. BRMS ● Business Rule Management System ● Business rules and decision logic out of the applications ● Data collector (facts), binding (rules) and the outcome (inferencing) ● Beneficts: Easy to change Less error-prone More rules visibility ● Complex event processing (CEP)
  41. 41. BPM Suite ● Process definition, execution and management ● BPMN 2.0 ● Forms Designer ● Business Central ● Decision Tables ● OptaPlanner
  42. 42. Cloud?
  43. 43. JBoss Fuse ou JBoss Fuse Service Works?

×