SlideShare a Scribd company logo
Oracle SOA Suite 11g - Sample
SAMPLE NAME: adapters-db-104-InformixStoredProcedure
COMPONENT: DB Adapter for Stored Procedures
OVERVIEW
This scenario showcases a Database Adapter partner link (Outbound Adapter Service)
that invokes a stored procedure on an Informix instance. The procedure has one input
parameter. The value of the input parameter is used in a SELECT statement that
performs a simple query to return rows from a table. The query is executed and left for
the Stored Procedure Runtime to consume as a JDBC ResultSet.
PROVIDED FILES
Provided are the following files
• Two small SQL scripts that are needed to create the database objects.
• A command-line utility that can be used to generate the BPEL artifacts.
• A file containing properties for generating the BPEL artifacts for this sample.
• The BPEL artifacts that are generated using the command-line utility.
• A completed SOA project that is ready for immediate deployment.
STEP BY STEP INSTRUCTIONS
RUNNING THE PREBUILT SAMPLE
Preparing the Sample Database
Login to dbaccess as informix and create a new database called soainfra. Execute the
following SQL statement using the Query-language tab.
CREATE DATABASE soainfra WITH [BUFFERED] LOG;
Specifying BUFFERED marginally enhances logging performance at the risk of not
being able to re-create the last few transactions after a failure.
Oracle SOA Suite 11g - Sample
Note that if you do not specify logging then Dynamic Server creates an unlogged
database that cannot use transactions or the SQL statements that support transaction
logging.
Creating the Tables and the Stored Procedure
The tables and the stored procedure are created using the Query-language tab in
dbaccess. The DDL statements for creating the tables are
CREATE TABLE emp
(
ename VARCHAR(10),
sal INTEGER,
hiredate DATETIME YEAR TO SECOND,
deptno INTEGER
);
CREATE TABLE dept
(
deptno INTEGER,
dname VARCHAR(14),
loc VARCHAR(13)
);
The stored procedure is created using this statement
CREATE PROCEDURE demo(name VARCHAR(14))
RETURNING VARCHAR(10) AS ename,
INTEGER AS sal,
DATETIME YEAR TO SECOND AS hiredate
DEFINE o_ename VARCHAR(10);
DEFINE o_sal INTEGER;
DEFINE o_hiredate DATETIME YEAR TO SECOND;
FOREACH
SELECT ename, sal, hiredate INTO o_ename, o_sal, o_hiredate
FROM emp e, dept d
WHERE e.deptno = d.deptno AND d.dname = name
RETURN o_ename, o_sal, o_hiredate
WITH RESUME;
END FOREACH
END PROCEDURE;
Connect to the soainfra database as informix and execute the contents of ddl.sql and
dml.sql using the Query-language tab in dbaccess.
RUNNING THE SAMPLE
Deploying the BPEL Process
1. Create a new connection instance in the weblogic-ra.xml file.
<connection-instance>
<jndi-name>eis/DB/informix</jndi-name>
<connection-properties>
<properties>
<property>
<name>xADataSourceName</name>
<value></value>
</property>
Oracle SOA Suite 11g - Sample
<property>
<name>dataSourceName</name>
<value>jdbc/InformixDataSource</value>
</property>
<property>
<name>platformClassName</name>
<value>oracle.toplink.platform.database.InformixPlatform</value>
</property>
</properties>
</connection-properties>
</connection-instance>
2. Create a new data source for the JNDI name specified via the DatabaseConnection
property to the command-line utility and in the <jndi-name> element of the
connection instance (i.e. informix).
a. Connect to the WebLogic Server Administration Console.
b. Click the “Data Sources” link under the JDBC list item in the Services
section.
c. Enter “InformixDataSource” as the name and use the dataSourceName as
the JNDI Name.
d. Select the Informix Database Type and Oracle’s Informix Driver (Type 4)
Versions: 9.2, 9.3.
e. Select “Logging Last Resource” and uncheck the “Supports Global
Transactions” checkbox.
f. Enter the Connection Properties and click “Test Configuration”.
g. Deploy the data source to the “AdminServer” target.
3. In JDeveloper, right-click the project name and choose “Deploy” then “Deploy to
Application Server”. Accept the default deployment configuration. Check the
“Overwrite any existing composites with the same revision ID” checkbox if an
archive with the same revision ID has already been deployed.
4. Select an existing Application Server or create a connection to a new one. Choose
to deploy the archive to the AdminServer.
5. To verify that the application has been deployed successfully, click the
“Deployment” tab at the bottom of JDeveloper. This will show you the
deployment log.
6. Login to Enterprise Manager. The IfxDemo [1.0] archive will be listed in the
Deployments area.
Figure 1: Successfully Deployed Archive
TESTING THE BPEL PROCESS
Oracle SOA Suite 11g - Sample
Click the “IfxDemo [1.0]” link. Click the “Test” button at the top of the page.
Initiate the BPEL process by entering the name of a department from the dept table in
the Request tab.
Figure 2: Initiate a Test Instance
Click the “Test Web Service” button to initiate the BPEL Process. If the test was
successful, the following output should have been generated.
Figure 3: The result of the BPEL Process execution
Remember that we modeled a one-way BPEL process so there is no response.
VERIFYING EXECUTION
Click the “Launch Message Flow Trace” link. Look at the “Trace” information.
Figure 4: Trace Results from Test Instance
Click the “DemoProcess” link. Expand “<payload>” in the Invoke activity. The
input to and output from the stored procedure invocation will be displayed.
Oracle SOA Suite 11g - Sample
Figure 5: The input and output parameter values of the Stored Procedure execution
The value, SALES, was provided as the name of the department. One output value is
produced by the stored procedure. The RowSet captures the rows and columns of the
query in the stored procedure. There are three rows where each row consists of three
columns, ename, sal and hiredate.
BUILDING THE SAMPLE
CONFIGURING THE OUTBOUND ADAPTER SERVICE
1. Launch JDeveloper.
2. Create a new SOA Application called “IfxApp”. Create a project called
“IfxDemo” with SOA Project Technologies selected. Select “Composite with
BPEL”.
3. Create a BPEL process called “DemoProcess” and select “One Way BPEL
Process” from the list of Templates. Leave the “Expose as Composite Service”
box checked.
4. Drag a Database Adapter Service from the list of BPEL Services into the right
“Partner Links” swim lane. Enter “demo” as the Service Name.
5. Create a new Service Connection by clicking the green plus sign icon “+”. Enter
“informix” as the Connection Name. Choose “Generic JDBC”.
Oracle SOA Suite 11g - Sample
6. Click “New” in the Generic JDBC Settings area. Click “Browse” in the Register
JDBC Driver dialog. Click “New” to create a new Library.
7. Call the Library “Informix JDBC”. Click “Add Entry” and add the Informix
JDBC driver jar files to the Class Path.
Figure 6: Create a New JDBC Library
8. Enter the Driver Class in the Register JDBC Driver dialog.
Figure 7: Register the JDBC Driver
Oracle SOA Suite 11g - Sample
9. Enter “informix” as the username and enter a password. Enter a JDBC URL and
be sure to include the database name.
Figure 8: Create a New Service Connection
10. Click “Test Connection” to verify your connection.
11. Select “Call a Stored Procedure or Function”. Click “Browse” in the Specify
Stored Procedure dialog.
12. Enter “d%” in the Search text box and click “Search”. Select the “demo” stored
procedure.
Oracle SOA Suite 11g - Sample
Figure 9: Search for and Select the Stored Procedure
13. Click the Source tab to view the procedure source code.
Figure 10: View the Stored Procedure Source Code
Oracle SOA Suite 11g - Sample
14. Click “OK” then “Next”. Click “Next” in the Advanced Options page then
“Finish” to exit the wizard. Click “OK” to finish creating the Partner Link.
GENERATED BPEL ARTIFACTS
The adapter configuration wizard will generate three files. The service WSDL is
demo.wsdl. The name of the XSD will resemble “informix_demo_437.xsd”. The
number appended to the end of the name is an identifier that uniquely identifies the
stored procedure and distinguishes it from other stored procedures. This number also
appears in the generated JCA binding file, demo_db.jca, as an attribute called
“UIOverloadedProcedure”. This unique identifier is necessary to identify stored
procedures, particularly when they are overloaded.
CONFIGURING AN END TO END BPEL PROCESS
1. Configure an Invoke activity to invoke the Partner Link. Drag and drop an
Invoke activity after “receiveInput”. Right click on the Invoke and choose “Edit”.
Name the activity “Invoke”. Use the Flashlight to find and choose the “demo”
Partner Link that was just created.
2. Click “Automatically Create Input Variable” by clicking the green plus sign icon
“+”. Do the same for the Output Variable. Use the default variable names.
Choose the default “Global Variable” radio button and Click “OK” for each
variable. The “General” tab of the Invoke activity should appear as follows.
Figure 11: Configure the Invoke Activity
3. Provide a value for the Input Variable by dragging an Assign activity into the
diagram, positioning it between the receiveInput and Invoke activities. Right
click the assign and choose “Edit”. Choose “Copy Operation” from the dropdown
(the green “+”) in the “Copy Operation” tab to copy the value of the
inputVariable to the input parameter of the stored procedure.
Oracle SOA Suite 11g - Sample
Figure 12: Copy the inputVariable to the input parameter of the Stored Procedure
Use the “General” tab to provide a name for the Assign (e.g. “Input”).
4. This completes the modeling of the BPEL Process. The diagramming between
the receiveInput and replyOutput activities should look similar to the following
Figure 13: The complete BPEL Process
5. Click the “composite.xml” tab and choose the “Design” view. The composite
should resemble
Oracle SOA Suite 11g - Sample
Figure 14: Complete Composite Structure Design View

More Related Content

What's hot

Data Seeding via Parameterized API Requests
Data Seeding via Parameterized API RequestsData Seeding via Parameterized API Requests
Data Seeding via Parameterized API Requests
RapidValue
 
Frank Rodenbaugh Portfolio
Frank Rodenbaugh PortfolioFrank Rodenbaugh Portfolio
Frank Rodenbaugh PortfolioFrankRodenbaugh
 
SharePoint Conference 2018 - APIs, APIs everywhere!
SharePoint Conference 2018 - APIs, APIs everywhere!SharePoint Conference 2018 - APIs, APIs everywhere!
SharePoint Conference 2018 - APIs, APIs everywhere!
Sébastien Levert
 
Vue fundamentasl with Testing and Vuex
Vue fundamentasl with Testing and VuexVue fundamentasl with Testing and Vuex
Vue fundamentasl with Testing and Vuex
Christoffer Noring
 
18 Invaluable Lessons About ADF-JSF Interaction
18 Invaluable Lessons About ADF-JSF Interaction18 Invaluable Lessons About ADF-JSF Interaction
18 Invaluable Lessons About ADF-JSF Interaction
Steven Davelaar
 
DF12 - Process Orchestration using Streaming API and Heroku
DF12 - Process Orchestration using Streaming API and HerokuDF12 - Process Orchestration using Streaming API and Heroku
DF12 - Process Orchestration using Streaming API and Heroku
afawcett
 
Advanced React Component Patterns - ReactNext 2018
Advanced React Component Patterns - ReactNext 2018Advanced React Component Patterns - ReactNext 2018
Advanced React Component Patterns - ReactNext 2018
Robert Herbst
 
Import export.odp
Import export.odpImport export.odp
Import export.odpOro Inc.
 
Understanding JSP -Servlets
Understanding JSP -ServletsUnderstanding JSP -Servlets
Understanding JSP -Servlets
Gagandeep Singh
 
Advanced dot net
Advanced dot netAdvanced dot net
Advanced dot net
ssa2010
 
Using of TDD practices for Magento
Using of TDD practices for MagentoUsing of TDD practices for Magento
Using of TDD practices for Magento
Ivan Chepurnyi
 
Php Unit With Zend Framework Zendcon09
Php Unit With Zend Framework   Zendcon09Php Unit With Zend Framework   Zendcon09
Php Unit With Zend Framework Zendcon09
Michelangelo van Dam
 
An ADF Special Report
An ADF Special Report An ADF Special Report
An ADF Special Report
Luc Bors
 
Using APEX to Create a Mobile User Interface for Enterprise Manager 12c
Using APEX to Create a Mobile User Interface for Enterprise Manager 12cUsing APEX to Create a Mobile User Interface for Enterprise Manager 12c
Using APEX to Create a Mobile User Interface for Enterprise Manager 12c
Gokhan Atil
 
Polymer 2.0 codelab for extreme beginners
Polymer 2.0 codelab for extreme beginnersPolymer 2.0 codelab for extreme beginners
Polymer 2.0 codelab for extreme beginners
Sylia Baraka
 
Subqueries -Oracle DataBase
Subqueries -Oracle DataBaseSubqueries -Oracle DataBase
Subqueries -Oracle DataBase
Salman Memon
 
DBAdapters
DBAdaptersDBAdapters
DBAdapters
XAVIERCONSULTANTS
 
Infolets and OTBI Deep link Actionable Reports - Configuration Work Book
Infolets and OTBI Deep link Actionable Reports - Configuration Work Book Infolets and OTBI Deep link Actionable Reports - Configuration Work Book
Infolets and OTBI Deep link Actionable Reports - Configuration Work Book
Feras Ahmad
 
Oa Framework Tutorial
Oa Framework TutorialOa Framework Tutorial
Oa Framework Tutorialnolimit797
 

What's hot (19)

Data Seeding via Parameterized API Requests
Data Seeding via Parameterized API RequestsData Seeding via Parameterized API Requests
Data Seeding via Parameterized API Requests
 
Frank Rodenbaugh Portfolio
Frank Rodenbaugh PortfolioFrank Rodenbaugh Portfolio
Frank Rodenbaugh Portfolio
 
SharePoint Conference 2018 - APIs, APIs everywhere!
SharePoint Conference 2018 - APIs, APIs everywhere!SharePoint Conference 2018 - APIs, APIs everywhere!
SharePoint Conference 2018 - APIs, APIs everywhere!
 
Vue fundamentasl with Testing and Vuex
Vue fundamentasl with Testing and VuexVue fundamentasl with Testing and Vuex
Vue fundamentasl with Testing and Vuex
 
18 Invaluable Lessons About ADF-JSF Interaction
18 Invaluable Lessons About ADF-JSF Interaction18 Invaluable Lessons About ADF-JSF Interaction
18 Invaluable Lessons About ADF-JSF Interaction
 
DF12 - Process Orchestration using Streaming API and Heroku
DF12 - Process Orchestration using Streaming API and HerokuDF12 - Process Orchestration using Streaming API and Heroku
DF12 - Process Orchestration using Streaming API and Heroku
 
Advanced React Component Patterns - ReactNext 2018
Advanced React Component Patterns - ReactNext 2018Advanced React Component Patterns - ReactNext 2018
Advanced React Component Patterns - ReactNext 2018
 
Import export.odp
Import export.odpImport export.odp
Import export.odp
 
Understanding JSP -Servlets
Understanding JSP -ServletsUnderstanding JSP -Servlets
Understanding JSP -Servlets
 
Advanced dot net
Advanced dot netAdvanced dot net
Advanced dot net
 
Using of TDD practices for Magento
Using of TDD practices for MagentoUsing of TDD practices for Magento
Using of TDD practices for Magento
 
Php Unit With Zend Framework Zendcon09
Php Unit With Zend Framework   Zendcon09Php Unit With Zend Framework   Zendcon09
Php Unit With Zend Framework Zendcon09
 
An ADF Special Report
An ADF Special Report An ADF Special Report
An ADF Special Report
 
Using APEX to Create a Mobile User Interface for Enterprise Manager 12c
Using APEX to Create a Mobile User Interface for Enterprise Manager 12cUsing APEX to Create a Mobile User Interface for Enterprise Manager 12c
Using APEX to Create a Mobile User Interface for Enterprise Manager 12c
 
Polymer 2.0 codelab for extreme beginners
Polymer 2.0 codelab for extreme beginnersPolymer 2.0 codelab for extreme beginners
Polymer 2.0 codelab for extreme beginners
 
Subqueries -Oracle DataBase
Subqueries -Oracle DataBaseSubqueries -Oracle DataBase
Subqueries -Oracle DataBase
 
DBAdapters
DBAdaptersDBAdapters
DBAdapters
 
Infolets and OTBI Deep link Actionable Reports - Configuration Work Book
Infolets and OTBI Deep link Actionable Reports - Configuration Work Book Infolets and OTBI Deep link Actionable Reports - Configuration Work Book
Infolets and OTBI Deep link Actionable Reports - Configuration Work Book
 
Oa Framework Tutorial
Oa Framework TutorialOa Framework Tutorial
Oa Framework Tutorial
 

Similar to Adapters db-104-informixstoredprocedure

FiletodbAdapters
FiletodbAdaptersFiletodbAdapters
FiletodbAdapters
XAVIERCONSULTANTS
 
Adaptersdb-03-file2storedprocedure
Adaptersdb-03-file2storedprocedureAdaptersdb-03-file2storedprocedure
Adaptersdb-03-file2storedprocedure
prathap kumar
 
Adapters apps-101-orderimportconcurrentprogram
Adapters apps-101-orderimportconcurrentprogramAdapters apps-101-orderimportconcurrentprogram
Adapters apps-101-orderimportconcurrentprogram
prathap kumar
 
OBIEE 11g : Repository Creation Steps
OBIEE 11g : Repository Creation StepsOBIEE 11g : Repository Creation Steps
OBIEE 11g : Repository Creation Steps
Dharmaraj Borse
 
Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...
Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...
Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...
Amit Singh
 
OFM SOA Suite 11g - Quick Start Guide
OFM SOA Suite 11g - Quick Start GuideOFM SOA Suite 11g - Quick Start Guide
OFM SOA Suite 11g - Quick Start Guide
Sreenivasa Setty
 
Oracle ADF 11g Tutorial
Oracle ADF 11g TutorialOracle ADF 11g Tutorial
Oracle ADF 11g Tutorial
Rakesh Gujjarlapudi
 
Oracle OSB Tutorial 1
Oracle OSB Tutorial 1Oracle OSB Tutorial 1
Oracle OSB Tutorial 1
Rakesh Gujjarlapudi
 
Open microsoft visual studio/tutorialoutlet
Open microsoft visual studio/tutorialoutletOpen microsoft visual studio/tutorialoutlet
Open microsoft visual studio/tutorialoutlet
Mitchinson
 
Previous weeks work has been uploaded as well as any other pieces ne.docx
Previous weeks work has been uploaded as well as any other pieces ne.docxPrevious weeks work has been uploaded as well as any other pieces ne.docx
Previous weeks work has been uploaded as well as any other pieces ne.docx
keilenettie
 
CIS407AWk2iLabDefault.aspx Greetings and Salutations.docx
CIS407AWk2iLabDefault.aspx        Greetings and Salutations.docxCIS407AWk2iLabDefault.aspx        Greetings and Salutations.docx
CIS407AWk2iLabDefault.aspx Greetings and Salutations.docx
clarebernice
 
Xml transformation-doc
Xml transformation-docXml transformation-doc
Xml transformation-docAmit Sharma
 
websphere cast iron labs
 websphere cast iron labs websphere cast iron labs
websphere cast iron labs
AMIT KUMAR
 
How to perform debounce in react
How to perform debounce in reactHow to perform debounce in react
How to perform debounce in react
BOSC Tech Labs
 
Getting started-with-oracle-so a-iv
Getting started-with-oracle-so a-ivGetting started-with-oracle-so a-iv
Getting started-with-oracle-so a-ivAmit Sharma
 
Getting started-with-oracle-so a-iv
Getting started-with-oracle-so a-ivGetting started-with-oracle-so a-iv
Getting started-with-oracle-so a-ivAmit Sharma
 
BI Tutorial (Copying Data from Oracle to Microsoft SQLServer)
BI Tutorial (Copying Data from Oracle to Microsoft SQLServer)BI Tutorial (Copying Data from Oracle to Microsoft SQLServer)
BI Tutorial (Copying Data from Oracle to Microsoft SQLServer)
Ifeanyi I Nwodo(De Jeneral)
 
Homestead Weather workshop
Homestead Weather workshopHomestead Weather workshop
Homestead Weather workshop
Jean-Louis (JL) Marechaux
 
Developing RIA Web Applications with Oracle ADF.pdf
Developing RIA Web Applications with Oracle ADF.pdfDeveloping RIA Web Applications with Oracle ADF.pdf
Developing RIA Web Applications with Oracle ADF.pdf
sheriframadan18
 
Building A Simple Web Service With CXF
Building A Simple Web Service With CXFBuilding A Simple Web Service With CXF
Building A Simple Web Service With CXF
Carl Lu
 

Similar to Adapters db-104-informixstoredprocedure (20)

FiletodbAdapters
FiletodbAdaptersFiletodbAdapters
FiletodbAdapters
 
Adaptersdb-03-file2storedprocedure
Adaptersdb-03-file2storedprocedureAdaptersdb-03-file2storedprocedure
Adaptersdb-03-file2storedprocedure
 
Adapters apps-101-orderimportconcurrentprogram
Adapters apps-101-orderimportconcurrentprogramAdapters apps-101-orderimportconcurrentprogram
Adapters apps-101-orderimportconcurrentprogram
 
OBIEE 11g : Repository Creation Steps
OBIEE 11g : Repository Creation StepsOBIEE 11g : Repository Creation Steps
OBIEE 11g : Repository Creation Steps
 
Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...
Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...
Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...
 
OFM SOA Suite 11g - Quick Start Guide
OFM SOA Suite 11g - Quick Start GuideOFM SOA Suite 11g - Quick Start Guide
OFM SOA Suite 11g - Quick Start Guide
 
Oracle ADF 11g Tutorial
Oracle ADF 11g TutorialOracle ADF 11g Tutorial
Oracle ADF 11g Tutorial
 
Oracle OSB Tutorial 1
Oracle OSB Tutorial 1Oracle OSB Tutorial 1
Oracle OSB Tutorial 1
 
Open microsoft visual studio/tutorialoutlet
Open microsoft visual studio/tutorialoutletOpen microsoft visual studio/tutorialoutlet
Open microsoft visual studio/tutorialoutlet
 
Previous weeks work has been uploaded as well as any other pieces ne.docx
Previous weeks work has been uploaded as well as any other pieces ne.docxPrevious weeks work has been uploaded as well as any other pieces ne.docx
Previous weeks work has been uploaded as well as any other pieces ne.docx
 
CIS407AWk2iLabDefault.aspx Greetings and Salutations.docx
CIS407AWk2iLabDefault.aspx        Greetings and Salutations.docxCIS407AWk2iLabDefault.aspx        Greetings and Salutations.docx
CIS407AWk2iLabDefault.aspx Greetings and Salutations.docx
 
Xml transformation-doc
Xml transformation-docXml transformation-doc
Xml transformation-doc
 
websphere cast iron labs
 websphere cast iron labs websphere cast iron labs
websphere cast iron labs
 
How to perform debounce in react
How to perform debounce in reactHow to perform debounce in react
How to perform debounce in react
 
Getting started-with-oracle-so a-iv
Getting started-with-oracle-so a-ivGetting started-with-oracle-so a-iv
Getting started-with-oracle-so a-iv
 
Getting started-with-oracle-so a-iv
Getting started-with-oracle-so a-ivGetting started-with-oracle-so a-iv
Getting started-with-oracle-so a-iv
 
BI Tutorial (Copying Data from Oracle to Microsoft SQLServer)
BI Tutorial (Copying Data from Oracle to Microsoft SQLServer)BI Tutorial (Copying Data from Oracle to Microsoft SQLServer)
BI Tutorial (Copying Data from Oracle to Microsoft SQLServer)
 
Homestead Weather workshop
Homestead Weather workshopHomestead Weather workshop
Homestead Weather workshop
 
Developing RIA Web Applications with Oracle ADF.pdf
Developing RIA Web Applications with Oracle ADF.pdfDeveloping RIA Web Applications with Oracle ADF.pdf
Developing RIA Web Applications with Oracle ADF.pdf
 
Building A Simple Web Service With CXF
Building A Simple Web Service With CXFBuilding A Simple Web Service With CXF
Building A Simple Web Service With CXF
 

More from prathap kumar

Xml material
Xml materialXml material
Xml material
prathap kumar
 
Xml material
Xml materialXml material
Xml material
prathap kumar
 
Xsd Basics R&D with ORACLE SOA
Xsd Basics R&D with ORACLE SOAXsd Basics R&D with ORACLE SOA
Xsd Basics R&D with ORACLE SOA
prathap kumar
 
E13882== ORACLE SOA COOK BOOK
E13882== ORACLE SOA COOK BOOKE13882== ORACLE SOA COOK BOOK
E13882== ORACLE SOA COOK BOOK
prathap kumar
 
Web services tutorial
Web services tutorialWeb services tutorial
Web services tutorial
prathap kumar
 
While R&D WITH ORACLE SOA
While R&D WITH ORACLE SOAWhile R&D WITH ORACLE SOA
While R&D WITH ORACLE SOA
prathap kumar
 
Synch calling asynchadd
Synch calling asynchaddSynch calling asynchadd
Synch calling asynchadd
prathap kumar
 
Stored procedure
Stored procedureStored procedure
Stored procedure
prathap kumar
 
Mediator-ORACLE SOA
Mediator-ORACLE SOAMediator-ORACLE SOA
Mediator-ORACLE SOA
prathap kumar
 
Manual device+settings ORACLE SOA
Manual device+settings ORACLE SOAManual device+settings ORACLE SOA
Manual device+settings ORACLE SOA
prathap kumar
 
Jndicreation of database adapter
Jndicreation of database adapterJndicreation of database adapter
Jndicreation of database adapter
prathap kumar
 
Humantask MAKE EASY DUDE
Humantask  MAKE EASY DUDEHumantask  MAKE EASY DUDE
Humantask MAKE EASY DUDE
prathap kumar
 
File2db
File2dbFile2db
File2db
prathap kumar
 
Exceptionhandling4remote fault
Exceptionhandling4remote faultExceptionhandling4remote fault
Exceptionhandling4remote fault
prathap kumar
 
Dvm
DvmDvm
whileloop
whileloopwhileloop
whileloop
prathap kumar
 

More from prathap kumar (20)

E10132
E10132E10132
E10132
 
Oracle sql material
Oracle sql materialOracle sql material
Oracle sql material
 
Xml material
Xml materialXml material
Xml material
 
Xslt
XsltXslt
Xslt
 
Xsd
XsdXsd
Xsd
 
Xml material
Xml materialXml material
Xml material
 
Xsd Basics R&D with ORACLE SOA
Xsd Basics R&D with ORACLE SOAXsd Basics R&D with ORACLE SOA
Xsd Basics R&D with ORACLE SOA
 
E13882== ORACLE SOA COOK BOOK
E13882== ORACLE SOA COOK BOOKE13882== ORACLE SOA COOK BOOK
E13882== ORACLE SOA COOK BOOK
 
Web services tutorial
Web services tutorialWeb services tutorial
Web services tutorial
 
While R&D WITH ORACLE SOA
While R&D WITH ORACLE SOAWhile R&D WITH ORACLE SOA
While R&D WITH ORACLE SOA
 
Synch calling asynchadd
Synch calling asynchaddSynch calling asynchadd
Synch calling asynchadd
 
Stored procedure
Stored procedureStored procedure
Stored procedure
 
Mediator-ORACLE SOA
Mediator-ORACLE SOAMediator-ORACLE SOA
Mediator-ORACLE SOA
 
Manual device+settings ORACLE SOA
Manual device+settings ORACLE SOAManual device+settings ORACLE SOA
Manual device+settings ORACLE SOA
 
Jndicreation of database adapter
Jndicreation of database adapterJndicreation of database adapter
Jndicreation of database adapter
 
Humantask MAKE EASY DUDE
Humantask  MAKE EASY DUDEHumantask  MAKE EASY DUDE
Humantask MAKE EASY DUDE
 
File2db
File2dbFile2db
File2db
 
Exceptionhandling4remote fault
Exceptionhandling4remote faultExceptionhandling4remote fault
Exceptionhandling4remote fault
 
Dvm
DvmDvm
Dvm
 
whileloop
whileloopwhileloop
whileloop
 

Recently uploaded

RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
Srikant77
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 

Recently uploaded (20)

RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 

Adapters db-104-informixstoredprocedure

  • 1. Oracle SOA Suite 11g - Sample SAMPLE NAME: adapters-db-104-InformixStoredProcedure COMPONENT: DB Adapter for Stored Procedures OVERVIEW This scenario showcases a Database Adapter partner link (Outbound Adapter Service) that invokes a stored procedure on an Informix instance. The procedure has one input parameter. The value of the input parameter is used in a SELECT statement that performs a simple query to return rows from a table. The query is executed and left for the Stored Procedure Runtime to consume as a JDBC ResultSet. PROVIDED FILES Provided are the following files • Two small SQL scripts that are needed to create the database objects. • A command-line utility that can be used to generate the BPEL artifacts. • A file containing properties for generating the BPEL artifacts for this sample. • The BPEL artifacts that are generated using the command-line utility. • A completed SOA project that is ready for immediate deployment. STEP BY STEP INSTRUCTIONS RUNNING THE PREBUILT SAMPLE Preparing the Sample Database Login to dbaccess as informix and create a new database called soainfra. Execute the following SQL statement using the Query-language tab. CREATE DATABASE soainfra WITH [BUFFERED] LOG; Specifying BUFFERED marginally enhances logging performance at the risk of not being able to re-create the last few transactions after a failure.
  • 2. Oracle SOA Suite 11g - Sample Note that if you do not specify logging then Dynamic Server creates an unlogged database that cannot use transactions or the SQL statements that support transaction logging. Creating the Tables and the Stored Procedure The tables and the stored procedure are created using the Query-language tab in dbaccess. The DDL statements for creating the tables are CREATE TABLE emp ( ename VARCHAR(10), sal INTEGER, hiredate DATETIME YEAR TO SECOND, deptno INTEGER ); CREATE TABLE dept ( deptno INTEGER, dname VARCHAR(14), loc VARCHAR(13) ); The stored procedure is created using this statement CREATE PROCEDURE demo(name VARCHAR(14)) RETURNING VARCHAR(10) AS ename, INTEGER AS sal, DATETIME YEAR TO SECOND AS hiredate DEFINE o_ename VARCHAR(10); DEFINE o_sal INTEGER; DEFINE o_hiredate DATETIME YEAR TO SECOND; FOREACH SELECT ename, sal, hiredate INTO o_ename, o_sal, o_hiredate FROM emp e, dept d WHERE e.deptno = d.deptno AND d.dname = name RETURN o_ename, o_sal, o_hiredate WITH RESUME; END FOREACH END PROCEDURE; Connect to the soainfra database as informix and execute the contents of ddl.sql and dml.sql using the Query-language tab in dbaccess. RUNNING THE SAMPLE Deploying the BPEL Process 1. Create a new connection instance in the weblogic-ra.xml file. <connection-instance> <jndi-name>eis/DB/informix</jndi-name> <connection-properties> <properties> <property> <name>xADataSourceName</name> <value></value> </property>
  • 3. Oracle SOA Suite 11g - Sample <property> <name>dataSourceName</name> <value>jdbc/InformixDataSource</value> </property> <property> <name>platformClassName</name> <value>oracle.toplink.platform.database.InformixPlatform</value> </property> </properties> </connection-properties> </connection-instance> 2. Create a new data source for the JNDI name specified via the DatabaseConnection property to the command-line utility and in the <jndi-name> element of the connection instance (i.e. informix). a. Connect to the WebLogic Server Administration Console. b. Click the “Data Sources” link under the JDBC list item in the Services section. c. Enter “InformixDataSource” as the name and use the dataSourceName as the JNDI Name. d. Select the Informix Database Type and Oracle’s Informix Driver (Type 4) Versions: 9.2, 9.3. e. Select “Logging Last Resource” and uncheck the “Supports Global Transactions” checkbox. f. Enter the Connection Properties and click “Test Configuration”. g. Deploy the data source to the “AdminServer” target. 3. In JDeveloper, right-click the project name and choose “Deploy” then “Deploy to Application Server”. Accept the default deployment configuration. Check the “Overwrite any existing composites with the same revision ID” checkbox if an archive with the same revision ID has already been deployed. 4. Select an existing Application Server or create a connection to a new one. Choose to deploy the archive to the AdminServer. 5. To verify that the application has been deployed successfully, click the “Deployment” tab at the bottom of JDeveloper. This will show you the deployment log. 6. Login to Enterprise Manager. The IfxDemo [1.0] archive will be listed in the Deployments area. Figure 1: Successfully Deployed Archive TESTING THE BPEL PROCESS
  • 4. Oracle SOA Suite 11g - Sample Click the “IfxDemo [1.0]” link. Click the “Test” button at the top of the page. Initiate the BPEL process by entering the name of a department from the dept table in the Request tab. Figure 2: Initiate a Test Instance Click the “Test Web Service” button to initiate the BPEL Process. If the test was successful, the following output should have been generated. Figure 3: The result of the BPEL Process execution Remember that we modeled a one-way BPEL process so there is no response. VERIFYING EXECUTION Click the “Launch Message Flow Trace” link. Look at the “Trace” information. Figure 4: Trace Results from Test Instance Click the “DemoProcess” link. Expand “<payload>” in the Invoke activity. The input to and output from the stored procedure invocation will be displayed.
  • 5. Oracle SOA Suite 11g - Sample Figure 5: The input and output parameter values of the Stored Procedure execution The value, SALES, was provided as the name of the department. One output value is produced by the stored procedure. The RowSet captures the rows and columns of the query in the stored procedure. There are three rows where each row consists of three columns, ename, sal and hiredate. BUILDING THE SAMPLE CONFIGURING THE OUTBOUND ADAPTER SERVICE 1. Launch JDeveloper. 2. Create a new SOA Application called “IfxApp”. Create a project called “IfxDemo” with SOA Project Technologies selected. Select “Composite with BPEL”. 3. Create a BPEL process called “DemoProcess” and select “One Way BPEL Process” from the list of Templates. Leave the “Expose as Composite Service” box checked. 4. Drag a Database Adapter Service from the list of BPEL Services into the right “Partner Links” swim lane. Enter “demo” as the Service Name. 5. Create a new Service Connection by clicking the green plus sign icon “+”. Enter “informix” as the Connection Name. Choose “Generic JDBC”.
  • 6. Oracle SOA Suite 11g - Sample 6. Click “New” in the Generic JDBC Settings area. Click “Browse” in the Register JDBC Driver dialog. Click “New” to create a new Library. 7. Call the Library “Informix JDBC”. Click “Add Entry” and add the Informix JDBC driver jar files to the Class Path. Figure 6: Create a New JDBC Library 8. Enter the Driver Class in the Register JDBC Driver dialog. Figure 7: Register the JDBC Driver
  • 7. Oracle SOA Suite 11g - Sample 9. Enter “informix” as the username and enter a password. Enter a JDBC URL and be sure to include the database name. Figure 8: Create a New Service Connection 10. Click “Test Connection” to verify your connection. 11. Select “Call a Stored Procedure or Function”. Click “Browse” in the Specify Stored Procedure dialog. 12. Enter “d%” in the Search text box and click “Search”. Select the “demo” stored procedure.
  • 8. Oracle SOA Suite 11g - Sample Figure 9: Search for and Select the Stored Procedure 13. Click the Source tab to view the procedure source code. Figure 10: View the Stored Procedure Source Code
  • 9. Oracle SOA Suite 11g - Sample 14. Click “OK” then “Next”. Click “Next” in the Advanced Options page then “Finish” to exit the wizard. Click “OK” to finish creating the Partner Link. GENERATED BPEL ARTIFACTS The adapter configuration wizard will generate three files. The service WSDL is demo.wsdl. The name of the XSD will resemble “informix_demo_437.xsd”. The number appended to the end of the name is an identifier that uniquely identifies the stored procedure and distinguishes it from other stored procedures. This number also appears in the generated JCA binding file, demo_db.jca, as an attribute called “UIOverloadedProcedure”. This unique identifier is necessary to identify stored procedures, particularly when they are overloaded. CONFIGURING AN END TO END BPEL PROCESS 1. Configure an Invoke activity to invoke the Partner Link. Drag and drop an Invoke activity after “receiveInput”. Right click on the Invoke and choose “Edit”. Name the activity “Invoke”. Use the Flashlight to find and choose the “demo” Partner Link that was just created. 2. Click “Automatically Create Input Variable” by clicking the green plus sign icon “+”. Do the same for the Output Variable. Use the default variable names. Choose the default “Global Variable” radio button and Click “OK” for each variable. The “General” tab of the Invoke activity should appear as follows. Figure 11: Configure the Invoke Activity 3. Provide a value for the Input Variable by dragging an Assign activity into the diagram, positioning it between the receiveInput and Invoke activities. Right click the assign and choose “Edit”. Choose “Copy Operation” from the dropdown (the green “+”) in the “Copy Operation” tab to copy the value of the inputVariable to the input parameter of the stored procedure.
  • 10. Oracle SOA Suite 11g - Sample Figure 12: Copy the inputVariable to the input parameter of the Stored Procedure Use the “General” tab to provide a name for the Assign (e.g. “Input”). 4. This completes the modeling of the BPEL Process. The diagramming between the receiveInput and replyOutput activities should look similar to the following Figure 13: The complete BPEL Process 5. Click the “composite.xml” tab and choose the “Design” view. The composite should resemble
  • 11. Oracle SOA Suite 11g - Sample Figure 14: Complete Composite Structure Design View