Download presentation
Published byMolly Wood Modified over 10 years ago
1
JBoss SOA Platform 4.2 – Deep Dive Burr Sutter February 2008
2
App Server vs ESB for SOA
EJB WS Hibernate JPA JMS JCA Servlet JSP SOAP/WSDL RMI BPM Rules EJB WS Hibernate JPA JMS JCA Servlet JSP SOAP/WSDL RMI Application Server Business Service Enablement Platform
3
App Server vs ESB for SOA
Load Balancer Service Clustering Stateful Fault Tolerance/Smart Load Balancing
4
App Server vs ESB for SOA
Accounting Billing Registry & Messaging CRM Inventory Routing/Orchestration
5
App Server vs ESB for SOA
Java Transformation LAMP Registry & Messaging F I R E W A L Partners FTP File TCP SOAP REST JMS .NET Legacy Routing/Orchestration
6
App Server vs ESB for SOA
Java LAMP Transformation Registry & Messaging F I R E W A L Partners FTP File TCP SOAP REST JMS .NET Legacy Routing/Orchestration Note: an ESB still runs in a JVM often that is an App Server
7
An Integration Challenge
Browser B2C eCommerce Internet Browser B2E Admin HQ (consumer & producer) MQ VPN Master Data ASCII Internet FTP B2B Partner (consumer) Scheduled Service Web Service CC Auth POS (consumer) Web Service Accounting Package (consumer) ASCII DB Reporting Engine
8
SOA Platform 4.2 Event Listeners and Gateways provide transport mediation Pluggable Architecture for integrating infrastructure services Business Services run within a container or standalone Transports HTTP(S) Business Service Components (S)FTP Infrastructure Services Java EE 5 JCA ASCII XML Binary File Web Services Transformation Routing Security Management JMS EJB ESB Seam POJOs SQL Drools Hibernate Service Registry UDDI Message Store Declarative Orchestration Engine BPEL jPDL Event Notification Custom Action Spring JCA/Inflow Groovy Socket Service Component Architecture Service Data Object SOAP Excel Process Store Business Data Web Native Browser Java Declarative Transformation includes: Message Normalization, Validation, Enrichment, Via XSLT, Groovy, Java, StringTemplate, FreeMarker RDBMS Legacy COTS
9
SOA Platform 4.2 Now Future Partners Event Listeners and Actions provide transport mediation Pluggable Architecture for integrating infrastructure services Business Services runs within a container or standalone Transports HTTP(S) S Business Service Components FTP S Infrastructure Services Java EE 5 JCA ASCII XML Binary File Web Services Transformation Routing Security Management JMS EJB ESB Seam POJOs SQL Drools Hibernate Service Registry UDDI Message Store Declarative Orchestration Engine BPEL jPDL Event Notification Custom Action Spring JCA/Inflow Groovy UDDI v3 BPEL Socket Service Component Architecture Service Data Object SOAP Excel Process Store Business Data Native Browser Web Java RDBMS Legacy COTS
10
ESB++ Scenario J2EE/Java EE 5 Services jBPM Rules HTTP FTP File JMS
SOAP SQL Custom HTTP FTP File JMS SOAP SQL Custom Rules EJB WS Hibernate JPA J2EE/Java EE 5 Services JMS JCA
11
Service Federation Registry & Messaging * JVM Warehouse Services
Shipping Calc Inventory Check Inventory Update Warehouse Services Order Services Order Validation Credit Check Order Validation Credit Check Process Store Routing Services Registry & Messaging Customer Services Customer Inquiry Customer Update Accounting Rules Services Cluster Customer Inquiry Customer Update Accounting 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 Action chaining/pipeline
JMS (JBossMQ, JBoss Messaging, ActiveMQ, MQSeries, Oracle AQ, TIBCO EMS) FTP, SOAP, , 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 JMX Microkernel Federated Clustering WS-* BPEL 2.0
SOAP WSDL JAX-WS Annotated POJO Endpoints EJB Endpoints JAXB 2.0 BPEL 2.0 New Deployment Architecture .esb Archive Hot Deployable Core Services 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
15
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 Action Action Action Action Action FTP Business Logic: POJO EJB WS Rules JCA with Adapters Anything with Java API Transformation CSV to XML Routing Splitter 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 AbstractSpringAction Aggregator
BeanConfiguredAction BpmProcessor BusinessRulesProcessor ByteArrayToString ContentBasedRouter ContentBasedWiretap GroovyActionProcessor HttpRouter JMSRouter LongToDateConverter MessageFilter MessagePersister Notifier ObjectToCSVString ObjectToXStream SmooksTransformer SOAPProcessor SOAPClient StaticRouter StaticWiretap SystemPrintln XStreamToObject Refer to the MessageActionGuide.pdf
17
Basic Service Demo
18
Content Based Routing Platinum_Service Ordering_Service POJO DB
Orders over 12K or from Platinum customers Platinum_Service Action SOAP Ordering_Service DB POJO ASCII XML Binary Action FTP Special_Handling EJB Action 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 "50.0" then Log : "Really It's EXPRESS Shipping"; Destination : “express"; end rule "Routing Rule using XPATH Less" xpathLessThan "50.0" Log : "Really It's NORMAL Shipping"; Destination : “normal"; 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
Service Oriented Orchestration
Customer Customer Service Warehouse Shipper Submit Order Receive Order Validate Order Credit Check Inventory Check Handle Shipment Send Shipment Credit Agency CSR Teams Issues a Parse XML b Transform c Apply Business Rules Validate Order a Create Outbound Msg b Handle Response c Apply Business Rules Credit Check a Determine Shipper(s) b Print Labels c Print Pick Tickets d Create & Send ASNs Send Shipment a Send to N Warehouses b Handle N Responses c Determine Best WHSEs d Handle Drop-Ships Inventory Check ESB Mediates & Provides Services
28
Service Orchestration & BPM
Humans Customer CSR Sales Mgmt WHSE Mgmt … FTP SOAP File Validate Order Credit Check Inventory Send Shipment Submit Order Receive Order Validate Order Credit Check Inventory Check Handle Shipment Send Shipment CSR Teams Issues Various Transports External J2EE App Server Credit/Bank Legacy Partners 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:
32
Active Endpoints Designer
33
Active Endpoints Console
34
Possible Big Picture WS Client DB .NET Application JVM
SOAP Application Server Enterprise Service Bus Action Service D Service C Service A JVM Spring DAO EJB Rules Groovy Service B O R C H E S T A I N SOAP BPEL Partner Link JMS FTP V 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
The Modern Silo Web App DB Browser Pages: Struts, JSF, Tapestry
DAO/JPA/SLSB/Spring Bean Hibernate App DB Query/Stored Procedure
38
Silos Across the Enterprise
Client Client Manufacturing Accounting Client Client Warehouse CRM Ordering
39
Integrating Silos (Dump & Load)
Client 5250 Client Web PHP SOAP RPG ASCII DUMP FTP ASCII FTP DB/2 400 MySQL Manufacturing Accounting FTP Client Client 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 DB Query/Stored Procedure
41
Splice Technique Web Order Entry Oracle Web JSF Hibernate EJB3 Seam
DB/2 Web Struts Hibernate iBatis Spring Interceptors AOP queue queue Callback Listeners JBoss ESB
42
Splice Demo
43
Image Dump
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.