1 / 41

JBoss SOA Platform 4.2 – Deep Dive Burr Sutter February 2008

JBoss SOA Platform 4.2 – Deep Dive Burr Sutter February 2008. BPM. JSP. JSP. RMI. RMI. Servlet. Servlet. SOAP/WSDL. SOAP/WSDL. Rules. JMS. JMS. Hibernate JPA. Hibernate JPA. EJB. EJB. WS. WS. JCA. JCA. App Server vs ESB for SOA. Application Server

gen
Télécharger la présentation

JBoss SOA Platform 4.2 – Deep Dive Burr Sutter February 2008

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JBoss SOA Platform 4.2 – Deep DiveBurr SutterFebruary 2008

  2. BPM JSP JSP RMI RMI Servlet Servlet SOAP/WSDL SOAP/WSDL Rules JMS JMS HibernateJPA HibernateJPA EJB EJB WS WS JCA JCA App Server vs ESB for SOA Application Server Business Service Enablement Platform

  3. App Server vs ESB for SOA Load Balancer Service ClusteringStateful Fault Tolerance/Smart Load Balancing

  4. Routing/Orchestration Accounting Billing Registry& Messaging CRM Inventory App Server vs ESB for SOA

  5. Routing/Orchestration LAMP F I R E W A L L Java FTP Registry& Messaging REST File JMS TCP SOAP Partners Transformation .NET Legacy App Server vs ESB for SOA

  6. Routing/Orchestration LAMP F I R E W A L L Java FTP Registry& Messaging REST File JMS TCP SOAP Partners Transformation .NET Legacy App Server vs ESB for SOA ESB Note: an ESB still runs in a JVM often that is an App Server

  7. Browser B2CeCommerce Browser B2EAdmin Internet Internet Master Data B2BPartner(consumer) ASCII FTP HQ(consumer &producer) Scheduled Service VPN MQ WebService CC Auth WebService ASCII POS(consumer) AccountingPackage (consumer) Reporting Engine An Integration Challenge DB

  8. ASCIIXML Binary Excel SOA Platform 4.2 Event Listeners and Gateways provide transport mediation Pluggable Architecturefor integrating infrastructure services Business Servicesrun within a container or standalone HTTP(S) Transports Business ServiceComponents (S)FTP Infrastructure Services JCA Java EE 5 File Web Services Transformation Routing Security Management JMS EJB ESB Email Seam POJOs SQL Drools Hibernate ServiceRegistry UDDI MessageStore Declarative OrchestrationEngineBPEL jPDL Event Notification Custom Action Spring JCA/Inflow Groovy Socket Service Component Architecture Service Data Object SOAP ProcessStore BusinessData Native Web Browser Declarative Transformation includes:Message Normalization,Validation, Enrichment, Via XSLT, Groovy, Java, StringTemplate, FreeMarker Java RDBMSLegacyCOTS

  9. ASCIIXML Binary Excel SOA Platform 4.2 Now Future Partners Event Listeners and Actions provide transport mediation Pluggable Architecturefor integrating infrastructure services Business Servicesruns within a container or standalone HTTP(S) Transports S Business ServiceComponents FTP S Infrastructure Services JCA Java EE 5 File Web Services Transformation Routing Security Management JMS EJB ESB Email Seam POJOs SQL Drools Hibernate ServiceRegistry UDDI MessageStore Declarative OrchestrationEngineBPEL jPDL Event Notification Custom Action Spring JCA/Inflow Groovy BPEL UDDI v3 Socket Service Component Architecture Service Data Object SOAP ProcessStore BusinessData Native Web Browser Java RDBMSLegacyCOTS

  10. HTTP HTTP FTP FTP jBPM File File JMS JMS Email Email SOAP SOAP SQL SQL Custom Custom Rules J2EE/Java EE 5 Services JMS HibernateJPA EJB WS JCA ESB++ Scenario

  11. Warehouse Services Customer Inquiry Shipping Calc Shipping Calc Customer Inquiry Shipping Calc Order Validation Order Validation Customer Update Inventory Check Customer Update Inventory Check Inventory Check Credit Check Credit Check Inventory Update Inventory Update Inventory Update Accounting Accounting Registry& Messaging Rules Services Cluster Service Federation Order Services Process Store Routing Services Customer Services Transformation Services Cluster * JVM

  12. ESB Definition • There is NO J2EE-like specification with a TCK that can define and validate an ESB like there is for App Servers. • ESBs are categorized by their capabilities – some come from a heritage of EAI and others of MOM. • Capabilities: • Message delivery • Transport protocol mediation • Event capture • Intelligent routing • Orchestration • Transformation • BPM • Adapters • And much, much more…

  13. JBossESB 4.2 provides • Message delivery • JMS (JBossMQ, JBoss Messaging, ActiveMQ, MQSeries, Oracle AQ, TIBCO EMS) • FTP, SOAP, email, database, shared file system • Action chaining/pipeline • For custom service enablement & mediation • Transformation • XSLT, Java, Groovy, StringTemplate, Freemarker • Content-based routing • JBoss Rules, XPath DSL • Recipient List/Static Routing is also supported • Orchestration • BPM, Intelligent routing, EIPs and hot deployment • Registry • JAX-R based • UDDI support out-of-the-box • Message Store • Gateways • Extensive examples and documentation • And more…

  14. JBoss ESB 4.2 • Content Based Filter • Business Rules Services • Native Process Orchestration • Hibernate Gateway/Listener • HTTP Gateway/Listener • Groovy Scripting • Declarative Message Store • JCA Container • Spring Action AOP & POJO • Monitoring & Mgmt Tools • Additional EIP examples • JMX Microkernel • Federated Clustering • WS-* • SOAP • WSDL • JAX-WS Annotated POJO Endpoints • EJB Endpoints • JAXB 2.0 • BPEL 2.0 • New Deployment Architecture • .esb Archive • Hot Deployable Core Services

  15. Action Action Action Action Action Action Pipeline (in a Service) Actions are reusable mediation components that can be chained together to form the capabilities of a registered service. Actions can be dynamically added/removed at runtime. My_Registered_Service Business Logic Component FTP • Business Logic: • POJO • EJB • WS • Rules • JCA with Adapters • Anything with Java API Transformation CSV to XML RoutingSplitter or BPM Logging Audit Trail Business Logic Invocation Transformation XML to POJO This box can also represent the ESB’s JVM – actions are “in VM”

  16. Out of the Box Actions • MessagePersister • Notifier • ObjectToCSVString • ObjectToXStream • SmooksTransformer • SOAPProcessor • SOAPClient • StaticRouter • StaticWiretap • SystemPrintln • XStreamToObject • AbstractSpringAction • Aggregator • BeanConfiguredAction • BpmProcessor • BusinessRulesProcessor • ByteArrayToString • ContentBasedRouter • ContentBasedWiretap • GroovyActionProcessor • HttpRouter • JMSRouter • LongToDateConverter • MessageFilter Refer to the MessageActionGuide.pdf

  17. Basic Service Demo

  18. ASCIIXML Binary Action Action Action Content Based Routing Orders over 12K or from Platinum customers Platinum_Service SOAP Ordering_Service DB POJO FTP Special_Handling EJB SOAP DB Randomly grab orders for review – tracer and Keep a total of all orders flowing through the system Orders from customers in certain states/countries

  19. Content Based Routing Engine • Currently based on JBoss Rules – supports XPATH DSL • Access to the complete Header and Body/Contents for evaluation • Zero to many destinations rule "Routing Rule using XPATH Greater" when xpathGreaterThan"/Order/@totalAmount", "50.0" then Log : "Really It's EXPRESS Shipping"; Destination : “express"; end rule "Routing Rule using XPATH Less" when xpathLessThan"/Order/@totalAmount", "50.0" then Log : "Really It's NORMAL Shipping"; Destination : “normal"; end Destination is determined by the jboss-esb.xml

  20. Load Balancing & Fail-Over The same discount_service.esb can be deployed to multiple ESB instances/nodes. Each one is a new EPRs in the registry. The routing engine is clever enough to load-balance and fail-over between the various EPRs. Should no EPR be available, it will scheduled the message for redelivery, waiting N seconds and retrying all possible EPRs found at that time.

  21. Load-Balancing Demo

  22. Deployment Options • 1) ESB “within” an Application Server – Users have existing investments in the J2EE/Java EE App Servers and wish to run the ESB as a set of components in that App Server. • JBoss ESB can run “within” the JBoss Enterprise Application Platform 4.2 • 2) ESB “beside” an Application Server – Users wish to leave their existing application server environments untouched but still add mediation, SOA & integration capabilities. • JBoss ESB has its own lightweight engine/container for the hosting mediation services. It can run “beside” your existing middleware from your vendor of choice. • 3) ESB “standalone” in a J2SE environment – this option is primarily for development & testing purposes

  23. Management & Monitoring • 4.2 Release is focused on JMX instrumentation, the ability to monitor the health and load of every distributed service as well as start, stop & restart them remotely.

  24. Management & Monitoring Architecture

  25. Mgmt & Monitoring Demo

  26. Orchestration

  27. Customer Submit Order Issues CustomerService Receive Order Validate Order CSR Teams Credit Agency Credit Check Inventory Check Send Shipment Warehouse Shipper Handle Shipment Validate Order Credit Check a Parse XML b Transform c Apply Business Rules a Create Outbound Msg b Handle Response c Apply Business Rules Send Shipment a Determine Shipper(s) b Print Labels c Print Pick Tickets d Create & Send ASNs Inventory Check a Send to N Warehouses b Handle N Responses c Determine Best WHSEs d Handle Drop-Ships Service Oriented Orchestration ESB Mediates & Provides Services

  28. Submit Order Issues Receive Order Validate Order CSR Teams FTP Credit Check Inventory Check Send Shipment SOAP Handle Shipment File Validate Order Credit Check Inventory Check Send Shipment … Service Orchestration & BPM Humans Customer CSR Sales Mgmt WHSE Mgmt Various Transports J2EE AppServer Credit/Bank Legacy Partners External An ESB Service is visible in the UDDI registry automatically. A single ESB Service may or may not expose a WSDL. It may use out-of-the-box actions, custom actions and/or consume external services from various sources. Focus on the reuse of existing infrastructure and assets.

  29. Orchestration Designer

  30. Orchestration Demo

  31. BPEL • We are partnering with Active Endpoints • www.activebpel.org • Download their open source BPEL engine and contact them for their free design tool. • As for ESB 4.2, review the webservice_bpel quickstart, specifically the ActiveBPEL-Orchestration.odp under that quickstart’s Docs folder. • And engage us in the online forums: http://www.jboss.com/index.html?module=bb&op=viewforum&f=246

  32. Active Endpoints Designer

  33. Active Endpoints Console

  34. JVM Enterprise Service Bus Groovy BPEL O R C H E S T R A T I O N Service D Service B Partner Link JMS Rules Action Action S E R V I C E Service C Spring Partner Link SOAP SOAP Action Service A EJB Action Partner Link FTP DAO Application Server Possible Big Picture .NET Application SOAP WS Client DB Note: Not every technology is required. This is simply a way to illustrate how the various technologies might be used together Legacy Application SOAP

  35. Questions?

  36. Where’s the Logic? • As a scriptlet in your JSP • Behind your Swing Button Click Action Handler • In your Struts Action • In your DAOs • In your Stored Procedures

  37. Browser The Modern Silo Web Pages: Struts, JSF, Tapestry DAO/JPA/SLSB/Spring Bean Hibernate App DB Query/Stored Procedure

  38. Client Client Client Client Silos Across the Enterprise Manufacturing Accounting Warehouse CRM Ordering

  39. Client Client Client Client Integrating Silos (Dump & Load) 5250 Web PHP SOAP RPG ASCII FTP DUMP ASCII FTP DB/2 400 MySQL Manufacturing Accounting FTP Warehouse CRM Ordering VisualBasic Struts VisualBasic DAO ASCII Stored Proc Oracle SQL Server ASCII

  40. Intermediate those Silos Browser Rich B2B Legacy Service 1 Service 2 Service 3 Mediation DAO/JPA/SLSB/Spring Bean Hibernate App Mediation Service 4 Service 5 Service 6 Query/Stored Procedure DB

  41. Web Web Struts JSF JBoss ESB Spring Seam iBatis EJB3 Hibernate Hibernate Oracle DB/2 Web Order Entry 2 Web Order Entry Splice Technique Interceptors AOP queue queue Callback Listeners

More Related