Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
Integrating Legacy AssetsUsing J2EE Web Services
Jonathan Maron
Oracle Corporation
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
Agenda
SOA-based Enterprise Integration
J2EE Integration Scenarios
J2CA and Web Services
Service Enabling Legacy Resources
Service-Relational Mapping
Service-MOM Mapping
WSIF and JBI
BPEL Integration
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
Agenda
SOA-based Enterprise Integration
J2EE Integration Scenarios
J2CA and Web Services
Service Enabling Legacy Resources
Service-Relational Mapping
Service-MOM Mapping
WSIF and JBI
BPEL Integration
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
What Is SOA?
IT architecture for request - replyapplications
Application functions are modularized andpresented as services
Services are loosely coupled
Service interface is independent of theimplementation
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
Characteristics of SOA
Services have platformindependent, self describinginterfaces (XML)
Messages are formally defined
Services can be discovered
Services have quality ofservice characteristics definedin policies
Services can be provided onany platform
SOASOAInteroperableInteroperable
LooselyLoosely
CoupledCoupled
Re-UsableRe-Usable
ComposableComposable
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
Why SOA?
ScreenScrape
ScreenScrape
ScreenScrape
ScreenScrape
MessageQueue
MessageQueue
MessageQueue
DownloadFile
DownloadFile
DownloadFile
TransactionFile
TransactionFile
TransactionFile
ORB
ORB
CICS Gateway
CICS Gateway
APPC
APPCRPC
RPC
TransactionFile
Sockets
Sockets
Message
Message
Application
Application
Application
Application
Application
Application
Application
Application
Application
Application
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
SOA-based Integration
OracleOracle
FinancialsFinancials
Standard InterfaceStandard Interface
Custom OrderCustom Order
ApplicationApplication
Standard InterfaceStandard Interface
New WebNew Web
Application Application
Standard InterfaceStandard Interface
SiebelSiebel
CRMCRM
Standard InterfaceStandard Interface
Mainframe HRMainframe HR
ApplicationApplication
Standard InterfaceStandard Interface
.NET Inventory.NET Inventory
ApplicationApplication
Standard InterfaceStandard Interface
New Supply Chain Management ApplicationNew Supply Chain Management Application
(Business Process or Composite Application)(Business Process or Composite Application)
Respond to business changes
Address new needs with existing applications
Unlock existing application investments
Support new channels & complex interactions
Support organic business
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
Agenda
SOA-based Enterprise Integration
J2EE Integration Scenarios
J2CA and Web Services
Service Enabling Legacy Resources
Service-Relational Mapping
Service-MOM Mapping
WSIF and JBI
BPEL Integration
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
Java Connector Architecture
J2EE Application Server
J2EE Application
Component
Container-Component
Contract
Resource Adapter
Enterprise Information
System
Client API
System Contracts
EIS specific contracts
Lifecycle Management
Work Management
Transaction Management
Security Management
Connection Management
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
J2CA AdvantagesSimplify EIS integration by providing:
Comprehensive integration framework
Ease of Integration (reduce integration points/cost)
Industry Standard
Flexibility
Not limited to connectivity, can be used for other services.
EIS EISAppServer AppServer
m*n m+n
JCA
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
J2CA and Web Services
Loan ApplicationLoan Application
Credit RatingCredit Rating
WSDLWSDL
Application ServerApplication Server
Star LoanStar Loan
Order EntryOrder Entry United LoanUnited Loan
AADDAAPPTTEERR
AADDAAPPTTEERR
WWSSDDLL
FulfillmentFulfillment
AADDAAPPTTEERR
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
Agenda
SOA-based Enterprise Integration
J2EE Integration Scenarios
J2CA and Web Services
Service Enabling Legacy Resources
Service-Relational Mapping
Service-MOM Mapping
WSIF and JBI
BPEL Integration
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
Integration Scenario
SOA ToolsApp Dev Framework
SOAP, WSDL, UDDISOAP, WSDL, UDDI
WS-I Basic ProfileWS-I Basic Profile
Web Service PolicyWeb Service Policy
Web Service TransactionsWeb Service Transactions
Web Service Reliable MessagingWeb Service Reliable Messaging
J2EE 1.4J2EE 1.4
Web Service Security Web Service Security
Web Service OrchestrationWeb Service Orchestration
Web Service Distributed ManagementWeb Service Distributed Management
Web Service CoordinationWeb Service Coordination
Web Service Choreography Web Service Choreography
TPM, Mainframe,Legacy Sys
Applications
Databases
B2B PartnersJ2EE Application ServerJ2EE Application Server
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
J2EE Web Service Integration
MessagingTransact’ns PoolingData
AccessSecurity
Web ServiceWeb Service
ClientClient
(J2EE, .NET,(J2EE, .NET,
Portal, Mobile,Portal, Mobile,
PL/SQL PL/SQL ……))
J2EE Application Server
SOAP 1.1/1.2
Publish
Service
Find
WSDLWSDL
UDDI
Handler
Request
Handler
(HTTP
JMS)
EJB Container
Stateless
Session EJB
Servlet Container
PL/SQL/AQ/
DML/SQL
Custom
Provider
JMS Topic
Queue
Java Class
Corba
Service Management
WS-
Security
WS-
Reliability
Message
Auditing
Content Based
Logging
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
Service Relational Motivation
SOAP Web ServiceWeb Service
ClientClient
AQ/StreamsSQL/Query
SQL/DML XML
JavaPL/SQL
ApplicationApplicationServerServer
JDBC
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
Service-Relational Mapping
Enterprises have significant investment intheir databases
Many years of effort
Inability to leverage existing assets mayprevent uptake of new technologies
Technologies exist to “service-enable”database assets
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
Database Web Services
Existing assets accessible as Web services
Stored Procedures
Embedded Java
SQL Queries and DML
Database XML facilities
Other features
• Messaging
Native and middle tier implementations
Service callouts available as well
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
Database Web Services
Endpoint implicitly
specifies the type of
service provided by
the server
XML ParserXML Parser
WebWeb
ServicesServices
RuntimeRuntime
DecodingDecoding
EncodingEncoding
Application Server
SOAP
SOAPJDBC
SOAP SOAP
LibrariesLibraries
O/RO/R
JavaJava
ClassesClasses
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
Database Web Servicepackage company as
/* add a new employee */
procedure addemp (emp IN employee);
/* get employee */
function getemp (id IN int) return employee;
/* get employee address */
. . .
end company;
public interface DatabaseWebService extends
java.rmi.Remote{
public void addemp(EmployeeUser emp) throws
java.rmi.RemoteException;
public EmployeeUser getemp(Integer id) throws
java.rmi.RemoteException;
. . .
}
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
Demonstration
Database Web Services
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
Service-MOM Mapping
Leveraging existing Message-OrientedMiddleware assets
Messaging integral to processes of enterprise
Natural mapping between messagingtechnologies
Leverage messaging infrastructure transportand/or destinations
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
JMS Web Services
MessageMessageDriven Driven BeanBean
JMS
Queue
JMS
Topic
SOAP
Servlet
SOAP
Servlet
Java/Servlet
Send Client
Client(s)
SOAP
HTTP
Java/Servlet
Receive Client
SOAP Stub
SOAP Stub
WSDL
UDDI Registry
Application Server
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
JMS Transport
Leverage existing messaging infrastructure
Guaranteed message delivery
Interact with existing messagingcomponents
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
JMS Web Service
<queue name="The MDB Queue" location="jms/ws/mdb/theQueue”/>
<queue name="Log MDB Queue" location="jms/ws/mdb/logQueue”/>
<queue-connection-factory
location="jms/ws/mdb/theQueueConnectionFactory”/>
<queue-connection-factory
location="jms/ws/mdb/logQueueConnectionFactory”/>
public interface JmsDestination extends java.rmi.Remote {
public javax.xml.soap.SOAPElement receive(. . .) throws java.rmi.RemoteException;
public void send(…) throws java.rmi.RemoteException;
}
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
Demonstration
JMS Web Services
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
Agenda
SOA-based Enterprise Integration
J2EE Integration Scenarios
J2CA and Web Services
Service Enabling Legacy Resources
Service-Relational Mapping
Service-MOM Mapping
WSIF and JBI
BPEL Integration
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
WSIF and JBI
WSIF & JBIWSIF & JBI
Data BindingData Binding
ApplicationApplication
In MemoryIn Memory RESTREST JCAJCA COM+COM+ SOAPSOAP
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
Web Service InvocationFramework (WSIF)
Use native protocols rather than SOAP
Best of both Web services and nativeprotocols
EJB Client EJB
WSDL
with
RMI BindingWSIF Client finds the native
protocol binding from the WSDL
Service implementation publishes
the native protocol binding to the WSDL
Client uses RMI to invoke EJB
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
WSIF Bindings
Supported bindings include:
J2CA
Java, EJB
JMS
HTTP GET/POST
TCP pure socket binding
Interconnect, Database, Flat File
New bindings can be written as needed
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
WSIF Java Binding WSDL
<java:binding>
Concrete
Binding
<portType>
Abstract
Interface
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
WSIF Java Binding Code
public void invokeAddComment () throws Exception {
WSIFServiceFactory factory = WSIFServiceFactory.newInstance();
WSIFService service =
factory.getService("wsdl/testWSIFJAVA_doclit.wsdl",
null,
null,
"http://services.otn.com”,
“HelperService”);
HelperService stub = (HelperService) service.getStub
“JavaPort”, HelperService.class);
stub.addComment ( . . .);
}
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
Demonstration
WSIF
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
What Is JBI?
JBI
C#Amazon
SOAP
HTTPJCA COM
fx
BPEL XQuery Rules
In Memory
SAP
• Unified Metadata (WSDL)
• Unified Addressing (Logical Naming)
• Plug-and-play Binding Components
• Optimized Transport and Data Format
• Both Sync. and Async. Interactions
JMXInstall
Monitor
LifecycleService Engines
Binding
Components
Services
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
JBI AdvantagesCore design is made for service orientated service provisionand consumption
Encapsulation of technical binding and technology
Introduce meanings for standard installation and artifactdeployment
Introduce a standard way for managing components
Support for mediated XML messaging (unlike JCA that isdesigned to provide EIS connectivity)
Avoid Vendor Lock-in
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
Agenda
SOA-based Enterprise Integration
J2EE Integration Scenarios
J2CA and Web Services
Service Enabling Legacy Resources
Service-Relational Mapping
Service-MOM Mapping
WSIF and JBI
BPEL Integration
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
Process Flow
SubmitSubmit
Order Order
CheckCheck
InventoryInventory
CheckCheck
CreditCredit
SendSend
Result to Result to
UserUser
Portal
SAP
Java Web App
Mainframe
FormulateFormulate
FulfillmentFulfillment
OfferOffer
FormulateFormulate
RejectionRejection
CanCan
Fulfill?Fulfill?
TransformTransform
Order/Order/
Customer Customer
DetermineDetermine
DiscountDiscount
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
Business Process Framework
Coordinateasynchronouscommunicationbetween services
Correlate messageexchanges betweenparties
Implement parallelprocessing of activities
Manipulate/transformdata between partnerinteractions
Support for longrunning businesstransactions andactivities
Provide consistentexception handling
How do I …
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
BPEL
BPEL…Standard
submit
Order
JSF
Validate
approve
Part 1 Part 2
?
CREATE ORDER PROCESS FLOW
CREATE
…Customizable
BA
M
…Built-in reporting
JB
I
ES
B
Oracle, PeopleSoft
SAP, Mainframe
.NET
…Services and Events
Data Hubs
Wo
rkfl
ow
…User Activity
JB
I
…Java Binding
BPEL
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
Demonstration
BPEL
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
Agenda
SOA-based Enterprise Integration
J2EE Integration Scenarios
J2CA and Web Services
Service Enabling Legacy Resources
Service-Relational Mapping
Service-MOM Mapping
WSIF and JBI
BPEL Integration
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
Absolutely Shameless SelfPromotion
Java Transaction Processing:Design and Implementation,Mark Little, Jon Maron, GregPavlik, Prentice Hall PTR,ISBN 0-13035-290-X
From amazon.com reviews:
“Required EnterpriseTransactions Reading”
“All J2EE developersshould read this book”
Colorado Software Summit: October 23 – 28, 2005 © Copyright 2005, Oracle Corporation
Jon Maron — Integrating Legacy Assets Using J2EE Web Services Page
AQ&Q U E S T I O N SQ U E S T I O N S
A N S W E R SA N S W E R S