Jboss Soa Platform 4.2 - Deep Dive: Burr Sutter February 2008
Jboss Soa Platform 4.2 - Deep Dive: Burr Sutter February 2008
2 Deep Dive
Burr Sutter February 2008
JMS BPM
JSP
RMIEJB
EJB
WS
Load Balancer
Accounting
Billing
Routing/Orchestration
CRM
Inventory
Questions: [email protected]
Transformation
Java
REST JMS SOAP
F I R E W A L L
Partners
Routing/Orchestration
.NET
Questions: [email protected]
Legacy
Transformation
Java
REST JMS SOAP
LAMP
F I R E W A L L
Partners
Routing/Orchestration
.NET
Note: an ESB still runs in a JVM Legacy often that is an App Server
Questions: [email protected]
An Integration Challenge
Browser B2C eCommerce
Internet
Master Data
B2B Partner
(consumer)
FTP
Internet
ASCII
MQ
VPN
Scheduled Service
CC Auth
DB Accounting Package
(consumer)
Reporting Engine
Questions: [email protected]
Pluggable Architecture
Business Services
EJB Seam
ESB
POJOs Drools
Event Notification Custom Action
Spring Groovy
Service Component Architecture Service Data Object
Excel
Browser
Process Store
Business Data
RDBMS Legacy COTS
Questions: [email protected]
Pluggable Architecture
Business Services
FTP File
EJB Seam
ESB
POJOs Drools
Event Notification Custom Action
Spring Groovy
Service Component Architecture Service Data Object
Excel
Browser
Process Store
Business Data
RDBMS Legacy COTS
Questions: [email protected]
ESB++ Scenario
HTTP FTP
jBPM
File JMS
Email
SOAP SQL Custom
Email
SOAP SQL Custom
Rules
J2EE/Java EE 5 Services
JMS EJB WS Hibernate JPA JCA
Questions: [email protected]
Service Federation
Warehouse Services
Shipping Calc Shipping Calc Shipping Calc Inventory Check Inventory Check Inventory Check Inventory Update Inventory Update Inventory Update
Order Services
Order Validation Order Validation Credit Check Credit Check
Process Store
Routing Services
* JVM
Questions: [email protected]
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
Questions: [email protected]
Action chaining/pipeline Transformation Content-based routing Orchestration Registry Message Store Gateways Extensive examples and documentation And more
Questions: [email protected]
Questions: [email protected]
FTP
Action
Action
Action
Action
Action
Business Logic: POJO EJB WS Rules JCA with Adapters Anything with Java API
Questions: [email protected]
Platinum_Service
SOAP
Action
Ordering_Service
FTP
ASCII XML Binary
Action
POJO
DB
Special_Handling
SOAP
Action
EJB
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
Questions: [email protected]
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 failover 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.
Questions: [email protected]
Load-Balancing Demo
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
Questions: [email protected]
Questions: [email protected]
Questions: [email protected]
Orchestration
Receive Order
CSR Teams
Validate Order
Credit Check
Send Shipment a Determine Shipper(s) b Print Labels c Print Pick Tickets d Create & Send ASNs
a Send to N Warehouses b Handle N Responses c Determine Best WHSEs d Handle Drop-Ships Questions: [email protected]
CSR
Sales Mgmt
WHSE Mgmt
Issues
FTP
Receive Order
CSR Teams
SOAP
Inventory Check
Various Transports
J2EE App Server
External
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. Questions: [email protected]
Orchestration Designer
Questions: [email protected]
Orchestration Demo
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 ActiveBPELOrchestration.odp under that quickstarts Docs folder. And engage us in the online forums:
http://www.jboss.com/index.html?module=bb&op=viewforum&f=246
Questions: [email protected]
Questions: [email protected]
Questions: [email protected]
BPEL
Partner Link JMS
Service A O R C H E S T R A T I O N
Action
Groovy
WS Client
SOAP
Partner Link
SOAP
S E R V I C E
Service B
Action
Rules
Spring Service C
Action
EJB Service D
Action
DB
DAO
Application Server
Note: Not every technology is required. This is simply a way to illustrate how the various technologies might be used together
SOAP
Legacy Application
Questions: [email protected]
Questions?
Questions: [email protected]
Web
App
DB
Query/Stored Procedure
Questions: [email protected]
Accounting
Client
Manufacturing Warehouse
Client
CRM Ordering
Questions: [email protected]
Client
5250
PHP
SOAP
ASCII
DUMP FTP
RPG
ASCII
FTP
MySQL
DB/2 400
Accounting
Client
FTP
Manufacturing
Client
CRM Ordering
Warehouse
VisualBasic Struts
VisualBasic
DAO
ASCII
Oracle
Questions: [email protected]
Mediation
Service 1
Service 2
Service 3
App
Mediation
Service 4
Service 5
Service 6
DB
Query/Stored Procedure
Questions: [email protected]
Splice Technique
Web Order Entry Web JSF Seam EJB3 Hibernate Callback Listeners Oracle
JBoss ESB
AOP
Questions: [email protected]