Partner Webcast - Building Custom JCA Adapters To Integrate 3rd Party Solutions to Oracle FMW - 21...
-
Upload
oracleimc-isv-migration-center -
Category
Documents
-
view
931 -
download
4
description
Transcript of Partner Webcast - Building Custom JCA Adapters To Integrate 3rd Party Solutions to Oracle FMW - 21...
<Insert Picture Here>
Building custom JCA adapters to integrate 3rd party
systems with Oracle Fusion Middleware Dmitry Nefedkin, Oracle ISV Migration Center FMW Consultant
Dmitry Volodin, Senior Sales Consultant
© 2010 Oracle Corporation 2
ISV Migration Center Team
• Who we Are ISV Migration Center Team is a team of senior technical consultants
based in Eastern and Central Europe and represents Oracle's technical investment
for partners.
• Mission Statement Enable partners to rapidly and successfully adopt and
implement Oracle latest technology
• What do we Offer Whether you are selling Oracle technology, building business
solutions, including hosted Internet solutions or providing system integration and
implementation services for Oracle technology, IMC Team can help you succeed.
• How can we assist We offer a wide range of free services for partners such as
one2one assistance, webinars, seminars and hands-on workshops.
ISV Migration Center blog: http://blogs.oracle.com/imc
Contacts:
Thanos Terentes Printzios, ISV Migration Center Manager, EE&CIS
© 2010 Oracle Corporation 3
<Insert Picture Here>
Agenda
• Why are you might be interested in developing a
custom JCA adapter?
• Java Connector Architecture (JCA) overview
• JCA Adapters for Oracle Fusion Middleware – the
distinctive features
• Adapter implementation
• Developing Adapter Configuration Wizard for
JDeveloper
• Installing libraries and extensions to JDeveloper
• Deploying and configuring your custom JCA
adapter in Oracle SOA Suite / Service Bus
• Demo – Custom JCA adapter for SSH communication
• Q&A
© 2010 Oracle Corporation 4
Why are you might be
interested in developing a
custom JCA adapter?
© 2010 Oracle Corporation 5
Worklist Process Portal
MS Office Online Shopping Mobile Devices
Oracle Fusion Middleware for integration Flexible architecture
ORACLE SERVICE BUS / SOA SUITE/ BPM
© 2010 Oracle Corporation 6
Worklist Portal
MS Office Online
Shopping
Mobile Devices
Application integration What might be hidden under the covers
ORACLE SERVICE BUS/SOA SUITE/BPM
Application Instance 1
Application Instance 2
Application Instance 3
Application Servers
Native API Crontab Jobs
Web Services
© 2010 Oracle Corporation 7
Application integration Benefits of using JCA Adapters for Integration with EIS
• JCA API - unified interface for communication with any
Enterprise Information System (EIS);
• Integration middleware is independent of the protocols
supported by the EIS;
• Transactional communications, including XA (if the EIS
supports it)
• Application Server-managed pool of connections to the
EIS;
• Support for asynchronous communication;
© 2010 Oracle Corporation 8
Java Connector Architecture
(JCA) overview
© 2010 Oracle Corporation 9
Java EE Connector Architecture Specification Versions History
Specification
version
JSR# Final release
date
Java EE edition
JCA 1.0 JSR 16 24 Sep, 2001 Java EE 1.3
JCA 1.5 JSR 112 24 Nov, 2003 Java EE 1.4, 5
JCA 1.6 JSR 332 10 Dec, 2009 Java EE 6
Note: as the time of this writing Oracle JCA Adapter Framework supports JCA 1.5, so we’re going to describe this version of the spec.
© 2010 Oracle Corporation 10
Java EE Connector Architecture Overview
Application Server
Connection Management
Transaction Management
Security Contract
EIS – Enterprise Information System
JCA Resource Adapter
EIS specific interface
System Contract (SPI - Service Provider Interface)
Application component, acts as adapter client
CCI - Common Client
Interface
Container-Component Contract
Work Management
Lifecycle Management
© 2010 Oracle Corporation 11
Resource Adapter Characteristics
• Supplied types of communication between application
and EIS:
• Outbound
• Inbound
• Bi-Directional
• Operating environment:
• Managed mode – resource adapter and adapter client are
deployed on the application server
• Non-managed mode – adapter is called from non-managed
clients (thick java clients, applets)
© 2010 Oracle Corporation 13
Resource Adapter Implementation Steps – outbound adapter
• Implement system contracts (SPI):
• Lifecycle management;
• Connection management + security;
• Transaction Management (if EIS supports
transactions)
• Work management (if needed)
• Implement interaction (CCI)
• Create the deployment descriptors
• Resource adapter module packaging
© 2010 Oracle Corporation 14
Resource Adapter Implementation Steps – inbound adapter
• Implement system contracts (SPI):
• Lifecycle management;
• Message inflow contract (activation)
• Transaction inflow contract (if needed)
• Create the deployment descriptors
• Resource adapter module packaging
© 2010 Oracle Corporation 15
System Contract Implementation (SPI) Lifecycle management
Adapter developer implements start and stop methods of javax.resource.spi.ResourceAdapter interface
© 2010 Oracle Corporation 16
System Contract Implementation (SPI + CCI) Connection
management
Interfaces in yellow boxes are implemented by the connector developer
Interfaces in green boxes are implemented only if adapter should work in non-managed mode
© 2010 Oracle Corporation 17
System Contract Implementation (SPI) Security Contract
• JCA security is based on JAAS
• ManagedConnectionFactory .createManagedConnection
method accepts JAAS Subject as on of the parameters;
• ManagedConnection.getConnection takes a Subject
parameter to support re-authentication (if needed);
• You should throw SecurityException if you cannot
authenticate the caller;
• The resource adapter must specify its support for the
security contract as part of its deployment descriptor.
© 2010 Oracle Corporation 18
System Contract Implementation (SPI) Transaction
management
2 Methods in ManagedConnection implementation class define how transaction management is done by Adapter:
•getLocalTransaction
•getXAResource
© 2010 Oracle Corporation 19
Transaction Management Local vs Distributed Transactions
• Local Transaction
• A transaction that deals with a single Resource Manager
• Distributed Transaction
• A transaction that spans multiple Resource Managers
coordinated by a Transaction Manager
• Helps to ensure consistency across multiple data sources and
other transactional resources (eg. JMS Queue)
• Common flavour is 2-Phase-Commit (2PC) where XA is the
interface between the 'Global' Transaction Manager (eg.
WebLogic) and the 'Local' Resource Managers (eg. Oracle
DB)
© 2010 Oracle Corporation 20
System Contract Implementation (SPI) Message Inflow Contract (inbound adapters)
© 2010 Oracle Corporation 21
System Contract Implementation (SPI) Work management
contract
• Adapter running in the managed mode cannot create threads directly, they should:
• - implement Work interface
• - call WorkManager.scheduleWork to schedule work execution
• - monitor execution status via WorkListener
© 2010 Oracle Corporation 22
Common Client Interface (CCI) Calling JCA Adapter from applications
CCI defines a standard client API for application
components and enables application components and
integration frameworks to drive interactions across
heterogeneous EISs using a CCI API.
Main parts of CCI API (javax.resource.cci package) :
• Connection-related interfaces;
• Interaction-related interfaces;
• Data representation-related interfaces
• Metadata related-interfaces
© 2010 Oracle Corporation 23
Common Client Interface (CCI) Class
Diagram of
most
important
interfaces
© 2010 Oracle Corporation 24
Deployment descriptors Describe your JCA adapter
• 2 types of descriptors:
• Standard resource adapter descriptor – ra.xml
• Application Server-specific descriptor, for example
weblogic-ra.xml for Oracle Weblogic
• Standard descriptior defines:
• Resource adapter class
• Connection factory and connection classes
• Adapter configuration properties
• Transaction support
• Supported authentication mechanism
© 2010 Oracle Corporation 25
Deployment descriptors ra.xml example
<connector xmlns=http://java.sun.com/xml/ns/j2ee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=… version="1.5">
<display-name>SSH Adapter</display-name><vendor-name>Oracle</vendor-name>
<eis-type>Generic SSH System</eis-type><resourceadapter-version>1.0</resourceadapter-version>
<resourceadapter>
<resourceadapter-class>oracle.tip.adapter.ssh.SshAdapter</resourceadapter-class>
<outbound-resourceadapter>
<connection-definition>
<managedconnectionfactory-class>oracle.tip.adapter.ssh.SshManagedConnFactory</managedconnectionfactory-class>
<config-property>
<config-property-name>hostName</config-property-name>
<config-property-type>java.lang.String</config-property-type>
<config-property-value>fmw-image.ru.oracle.com</config-property-value>
</config-property>
<connectionfactory-interface>javax.resource.cci.ConnectionFactory</connectionfactory-interface>
<connectionfactory-impl-class>oracle.tip.adapter.ssh.SshConnectionFactory</connectionfactory-impl-class>
<connection-interface>oracle.tip.adapter.ssh.ISshConnection</connection-interface>
<connection-impl-class>oracle.tip.adapter.ssh.SshConnection</connection-impl-class>
</connection-definition>
<transaction-support>NoTransaction</transaction-support>
<authentication-mechanism>.. </authentication-mechanism>
</outbound-resourceadapter>
</resourceadapter>
</connector>
© 2010 Oracle Corporation 26
Deployment descriptors Vendor-specific descriptor
• Allows to define the adapter properties that are not
covered by JCA spec
• Weblogic-ra.xml allows to define:
• JNDI name for the resource adapter
• Work Manager that will be used by the resource
adapter bean
• Additional security properties
• Pre-defined connection instances
• And many more
© 2010 Oracle Corporation 27
Deployment descriptors weblogic-ra.xml example
<weblogic-connector xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-connector http://www.bea.com/ns/weblogic/weblogic-
connector/1.0/weblogic-connector.xsd" xmlns="http://www.bea.com/ns/weblogic/weblogic-connector">
<jndi-name>jca/SshResourceAdapter</jndi-name>
<enable-access-outside-app>true</enable-access-outside-app>
<enable-global-access-to-classes>true</enable-global-access-to-classes>
<outbound-resource-adapter>
<default-connection-properties>
<pool-params>
<initial-capacity>1</initial-capacity>
<max-capacity>10</max-capacity>
<capacity-increment>1</capacity-increment>
…
</pool-params>
<transaction-support>NoTransaction</transaction-support>
</default-connection-properties> <connection-definition-group>
…
<connection-instance>
<description>SSH Adapter Demo</description>
<jndi-name>eis/SSH/Demo</jndi-name>
<connection-properties>
<pool-params>
<initial-capacity>1</initial-capacity>
<max-capacity>10</max-capacity>
<capacity-increment>100</capacity-increment>
</connection-instance>
</outbound-resource-adapter>
…
</weblogic-connector>
© 2010 Oracle Corporation 28
Resource Adapter Packaging Prepare your adapter for the distribution
A resource adapter must be packaged using the Java ARchive (JAR) format in to the file with RAR extension (ResourceAdapter ARchive). RAR file should have the following structure:
Your_Adapter.rar
META-INF
MANIFEST.MF
ra.xml
weblogic-ra.xml
Or any other AS-specific
descriptor
JARs with adapter classes
All third-party JARs are also put here
Any native libraries
DLLs for Windows, SO files for Solaris, etc..
© 2010 Oracle Corporation 29
JCA Adapters for Oracle
Fusion Middleware –
distinctive features
© 2010 Oracle Corporation 30
Distinctive Features: Adapter
implementation
© 2010 Oracle Corporation 31
Oracle Adapter Framework What’s this?
• Has been created initially for Oracle BPEL PM 10g to
wrap up any standard JCA 1.5 adapter to call as a
web service via WSIF
• SDK that Oracle uses to create JCA adapters that
can be plugged into Oracle Fusion Middleware
Infrastructure (SOA Suite/BPM Suite/Service Bus)
© 2010 Oracle Corporation 32
Oracle Adapter Framework – what are the
differences in adapter implementation? (Part 1)
Task “Standard” JCA
adapter
Oracle Adapter Framework
Getting
connection to
an EIS
instance
Implement
javax.resource.cci.Con
nectionFactory
Implement
oracle.tip.adapter.api.OracleCon
nectionFactory
Execute EIS
function
Implement
javax.resource.cci.Inte
raction
public Record
execute(InteractionSpec
interactionSpec, Record
record)
Record should be treated as
instanceof
oracle.tip.adapter.api.record.XM
LRecord
Execute EIS
function
InteractionSpecImpl
implements standard
InteractionSpec
interface
InteractionSpecImpl should
implement bunch of additional
interfaces from
oracle.tip.adapter.api package
© 2010 Oracle Corporation 33
Oracle Adapter Framework – what are the
differences in adapter implementation? (Part 2)
Task “Standard” JCA
adapter
Oracle Adapter Framework
Set client
specific
context for
EIS function
Set and get attribute
functions in the
InteractionSpec
implemented class
Generally not used
InteractionSpec implemented class
should always have setter and
getter methods for WSDL based
JCA-properties
Supports
client
transaction
Implement
javax.resource.cci.Loc
alTransaction
if you need client
transaction support
Should always implement the local
transaction interface with stub
methods and events sending
© 2010 Oracle Corporation 34
Distinctive Features:
Developing Adapter
Configuration Wizard for
JDeveloper
© 2010 Oracle Corporation 35
Custom Adapter Configuration Oracle JDeveloper 11g SOA Composite Editor
• SOA Composite Editor has
Java API to developer
configuration wizards for
custom adapters;
• Support for generating
adapter artifacts: WSDL,
JCA, XSD files;
• Has set of pre-defined
forms that can be used as
the steps of the wizard;
• Custom forms for the wizard
steps can be developed as
well;
© 2010 Oracle Corporation 36
Custom Adapter Configuration Settings to display adapter on the component palette
• Adapter configuration settings for component palette are located in:
• %JDEV_HOME%\integration\seed\soa\configuration\soa-config.xml
• %JDEV_HOME%\integration\seed\soa\configuration\bpm-soa-config.xml
• Source code of the wizard sample can be found here:
• %JDEV_HOME%\integration\adapters\samples\custom\
</adapterType>
<adapterType resourceBundle="oracle.tip.tools.ide.adapters.designtime.adapter.ssh.resources.SshStringResourceBundle">
<name>${SSH_ADAPTER_COMPONENT_NAME_L}</name>
<bindingType>jca</bindingType>
<bindingSubType>custssh</bindingSubType>
<implementationClass>oracle.tip.tools.ide.adapters.designtime.adapter.ssh.SshAdapterScaEndpointImpl</implementationClass>
<description>${SSH_ADAPTER_COMPONENT_DESC}</description>
<tooltip>${SSH_ADAPTER_COMPONENT_DESC}</tooltip>
<icon16x16>/oracle/tip/tools/ide/adapters/designtime/adapter/ssh/resources/ssh_adapter_16x16.png</icon16x16>
<icon20x20>/oracle/tip/tools/ide/adapters/designtime/adapter/ssh/resources/ssh_adapter_20x20.png</icon20x20>
<topSectionIcon>oracle/tip/tools/ide/fabric/resource/image/visuals_rd1/whiteServiceTop.png</topSectionIcon>
<middleSectionIcon>oracle/tip/tools/ide/fabric/resource/image/visuals_rd1/whiteServiceMiddle.png</middleSectionIcon>
<bottomSectionIcon>oracle/tip/tools/ide/fabric/resource/image/visuals_rd1/whiteServiceBottom.png</bottomSectionIcon>
<collapsedSectionIcon>oracle/tip/tools/ide/fabric/resource/image/visuals_rd1/whiteServiceCollapsed.png</collapsedSectionIcon>
</adapterType>
© 2010 Oracle Corporation 37
Developing the adapter configuration wizard Class diagram
CustomScaEndpointImpl
SCAEndpoint
SOA Diagram
soa-config.xml
+Adds Wizard Pages()
CustomAdapterWizard
JcaAdapterWizard
JcaServiceNamePage
CustomConnectionPage
CustomWsdlSelectionPage
CustomOperationPage
CustomPropertyPage CustomAdapterConfig
JcaOperationPage
WsdlSelectionPage
CustomStringResourceBundle
© 2010 Oracle Corporation 38
Classes and Interfaces to be implemented Text and graphical resources for the wizard
• Resource bundle for storing string resources (name, adapter code,
messages, headers, field names for the forms)
public class SshStringResourceBundle extends ListResourceBundle {
public Object[][] getContents() { return contents; }
static final Object[][] contents = {
// KEYS SHOULD BE IN ALPHABETIC ORDER
{"SSH_ADAPTER_COMPONENT_DESC",
"The SSH JCA Adapter Wizard can a wsdl and jca file with any interaction spec and jca parameters." },
…
• Graphical icons for displaying adapter on the SOA component palette and
SCA diagram:
• 16 x 16 pixels in PNG format – for component palette
• 20 x 20 pixels in PNG format – for SCA diagram
© 2010 Oracle Corporation 39
Classes and Interfaces to be implemented Developing a wizard for creating/editing configuration
of the custom adapter (part 1)
• Implement the interaction with SCA editor
• Class will orchestrate the communication between JDeveloper graphical
sybsystem, SOA composite project and the adapter wizard
// SCAEndpoint Interface Implementation
public class SshAdapterScaEndpointImpl implements SCAEndpoint {
…
// Must only have empty constructor
public SshAdapterScaEndpointImpl() { }
public EndpointInfo createImplementation(Project jdevProject, SCAController scaController,
boolean isExternalReference) {
…
try {
Frame frame = Ide.getMainWindow();
// Note: adapter wizard implicitly uses JDeveloper project.
SshAdapterWizard wiz = new SshAdapterWizard(frame, null, serviceOrReferenceName,
isExternalReference, jdevProject) ;
boolean ok = wiz.display();
…
© 2010 Oracle Corporation 40
Classes and Interfaces to be implemented Developing a wizard for creating/editing configuration
of the custom adapter (part 2) • Load text resources from the resource bundle;
• Context initialization for transferring information between the pages of the
wizard;
• Defining the sequence of the pages displayed;
public class SshAdapterWizard extends JcaAdapterWizard {
//This variable uses only if need to share data across wizard pages
public SshAdapterContext m_adapterContext;
Object getAdapterSpecificContext() {…}
public void initializeResources() {…}
public void addInitialWizardPages(JcaAdapterContext wcontext){
…
new SshConnectionPage(wcontext, new ImageWizardPage(null, wcontext._getImage(),
m_bundle.getString("SSH_CN_PAGE_TITLE")));
//new SshWsdlSelectionPage(wcontext, new ImageWizardPage(null, wcontext._getImage(),
wcontext._bundle.getString("WS_PAGE_TITLE")));
new SshOperationPage(wcontext, new ImageWizardPage(null, wcontext._getImage(),
m_bundle.getString("SSH_OP_PAGE_TITLE")));
…
© 2010 Oracle Corporation 41
Classes and Interfaces to be implemented Standard forms and adapter configuration parameters
(part 3) • WsdlSelectionPage class – selection
of the existing WSDL file or its auto-
generation based on operation and
XSD schema. Page UI is generated
automatically;
• CommonAdapterSchemaPage class
– XML Schema selection for
inbound/outbound messages. Page
UI is generated automatically;
• JcaOperationPage class – operation
type selection. UI should be tweaked.
© 2010 Oracle Corporation 42
Classes and Interfaces to be implemented) Custom forms and adapter configuration parameters
(part 4)
• Should extend techAdapterWizardPage class
• Used to build the custom form, e.g. for entering parameters dependent from
each other, for building form model using metadata from the external system.
• buildDataModel() method is executed each time user clicks “Finish”.
public class SshInteractionPropertiesPage extends techAdapterWizardPage implements ActionListener {
…
public SshInteractionPropertiesPage(AdapterWizardContext wcontext, ImageWizardPage iwp) {
…
setHelpTopicID("bpmjdev_adp_wiz_cu_properties");
setContextAndPage(wcontext, iwp);
jbInit();
}
public void buildDataModel() throws Exception {…}
© 2010 Oracle Corporation 43
Building Adapter Configuration Project What libraries should be added in JDeveloper
• To build the project you will need the following libraries: • %JDEV_HOME%\jdev\extensions\oracle.sca.modeler.jar (SOA Designtime)
• %JDEV_HOME%\jdev\extensions\oracle.ide.jar
• %JDEV_HOME%\jlib\jewt4.jar
• %JDEV_HOME%\ide\lib\javatools.jar
• %JDEV_HOME%\integration\lib\oracle.sca.ui.adapters.jar
• %JDEV_HOME%\integration\lib\bpm-ide-common.jar
• %JDEV_HOME%\integration\lib\bpa\xbean.jar
• JDEV_HOME%\soa\modules\oracle.soa.adapter_11.1.1\adapter_xbeans.jar
• %BEA_HOME%\oracle_common\modules\oracle.javatools_11.1.1\javatools-
nodeps.jar
• %BEA_HOME%\oracle_common\jlib\share.jar
• JAX-RPC Client Library
© 2010 Oracle Corporation 44
Distinctive Features:
Installing libraries and
extensions to JDeveloper
© 2010 Oracle Corporation 45
Installing Adapter Configuration libraries to
Oracle JDeveloper 11g
• Steps install and configure the adapter configuration library in
JDeveloper • Copy the library jar to %JDEV_HOME\integration\lib\
• Add it to JDeveloper classpath
• Add adapter configuration to soa-config.xml and/or bpm-soa-config.xml –
depending on what JDeveloper extensions (SOA Composite Editor/BPM
Studio) you are going to use.
• Implementation options • Manual copying the library jar and changing the configuration files
• Automation of these steps with JDeveloper Extension SDK Bundle
© 2010 Oracle Corporation 46
• Extension installation package has the following structure
• Packed to the zip archive
(/)jca-ssh-adapter-extension
META-INF
bundle.xml
integration
lib
oracle.sca.ui.adapter.ssh.jar
Building JDeveloper Extension package Part 1- directory structure
jdev
extension
oracle.custom.jca.ssh.adapter.jar
- bundle descriptor
- our adapter UI wizard library
- extension archive
© 2010 Oracle Corporation 47
Building JDeveloper Extension package Part 2 –Bundle descriptor structure
• Extension installer package should include bundle.xml file, which describes the
extension (name, version, installation directory), and also points to the java
class that should be called after the extension install (in our case it will modify
soa-config.xml and/or bpm-soa-config.xml files).
<?xml version = '1.0' encoding = 'UTF-8'?> <update-bundle version="1.0" xmlns="http://xmlns.oracle.com/jdeveloper/updatebundle" xmlns:u="http://xmlns.oracle.com/jdeveloper/update"> <u:update id="oracle.custom.jca.ssh.adapter"> <u:name>Custom JCA SSH Adapter for Oracle SOA Suite 11g</u:name> <u:version>11.1.1.6.0.0.1</u:version> <u:author>Oracle</u:author> <u:author-url>http://www.oracle.com</u:author-url> <u:description>Custom JCA SSH Adapter</u:description> <u:destination>${oracle.home}</u:destination> <u:requirements> <u:requires-extension id="oracle.studio" minVersion="11.1.1.6.38.61.92" maxVersion="11.1.1.99"/> </u:requirements> <u:post-startup-hook>oracle.tip.tools.ide.adapters.designtime.adapter.ssh.install.SshAdapterSOAComponentConfig</u:post-startup-hook> </u:update> </update-bundle>
© 2010 Oracle Corporation 48
Building JDeveloper Extension package Part 3 – Extension JAR file structure
• Extension JAR must be located inside the extension ZIP bundle in
%CUST_EXT_ROOT%\jdev\extension. It contains:
• Mandatory file - .\META-INF\extention.xml – describes the extension, it’s dependency
on the other extensions (e.g. Oracle SCA Modeler), and adds the classpath entries to
the JDeveloper classpath
• Optional - Startup Hook Class or link on the library containing this class.
<?xml version = '1.0' encoding = 'UTF-8'?> <extension esdk-version="1.0" id="oracle.custom.jca.ssh.adapter" version="11.1.1.6.0.0.1" rsbundle-class="oracle.tip.tools.ide.adapters.designtime.adapter.ssh.resources.SshStringResourceBundle" xmlns="http://jcp.org/jsr/198/extension-manifest"> <name>Custom JCA SSH Adapter</name> <dependencies> <import>oracle.sca.modeler</import> </dependencies> <classpaths> <classpath>../../integration/lib/oracle.sca.ui.adapter.ssh.jar</classpath> </classpaths> </extension>
© 2010 Oracle Corporation 49
Installing an extension to JDeveloper
• Use the following menu to initiate the extension installation:
JDeveloper Help-> Check for Updates…->Install From Local Files
© 2010 Oracle Corporation 50
Distinctive Features:
Deploying/Configuring our
adapter in SOA Suite/OSB
© 2010 Oracle Corporation 51
Deploying and Configuring Adapter
Deploy your RAR file with Adapter to Weblogic Server
Setup outbound connection pools for your adapter, save changes in the deployment plan and update the deployment
© 2010 Oracle Corporation 52
• Oracle SOA/BPM Suite do not require additional
configuration, but OSB need it
• List of JCA adapters allowed to use in OSB is
contained in the following file: %OSB_HOME%\config\adapter\OSBSupportedAdapters.xml
• You should add an element for your adapter: <jca:adapter-type>YOUR_ADAPTER_NAME</jca:adapter-type>
• The name of the custom adapter type comes from the
JCA file; the "adapter" attribute value in the <adapter-
config> element (but it should be uppercase and the
spaces are replaced with underscores)
Configure OSB to know about your adapter
© 2010 Oracle Corporation 53
Demonstration:
Custom JCA Adapter for
SSH communication
© 2010 Oracle Corporation 54
More Resources and Information
• Programming Resource Adapters for Oracle
WebLogic Server 11gR1 Guide
• http://docs.oracle.com/cd/E23943_01/web.1111/e13732/toc.htm
• Adapter Development Cookbook (Release 10g only)
• http://www.oracle.com/technetwork/testcontent/adapter.pdf
• Oracle Adapters FAQ (Release 10g only)
• http://www.oracle.com/technetwork/testcontent/faq-adapters-otn-
130381.pdf
• OTN Discussions Forums
• Request Adapter SDK via SR on support.oracle.com
© 2010 Oracle Corporation 55
Q&A
Dmitry Nefedkin, Oracle ISV Migration Center FMW Consultant
Dmitry Volodin, Senior Sales Consultant
ISV Migration Center blog: http://blogs.oracle.com/imc