BPEL Database Polling - Oracle SOA 10.1.3.x in JDeveloper (Asynchronous)

By M&S Consulting (Ashwin) on Jun 3rd, 2009
Filed Under Technical Tips // Tags: ,

Polling for changes in a database has been a requirement for systems for a very long time. With Oracle BPEL, of course, this need exists and we will review one way you can go about this.

Note: This particular article is not meant to provide a detailed background for each step, nor does it go through showing how to test end-to-end, but feel free to ask questions in your comments and I will be happy to update any areas that you are confused about.

Objective

Create a BPEL process that would poll the database periodically for records with a specific flag.

Step-by-Step Walkthrough with Screenshots

Create an asynchronous BPEL project using JDeveloper BPEL Plugin

image1

image2

Click Finish and view the JDeveloper design view.

image3

Create a Database Adapter, by dragging and dropping ‘Database Adapter’ from the ‘Component Palette’ and begin configuring using the wizard.

image4

Click ‘Next’ and choose a name for the service that will be created and available for consumption by your BPEL process.

image5

Click ‘Next’ and select the appropriate ‘Database’ Connection from the drop down (or create a new connection if needed).

image6-500x3701

Click ‘Next’ and select ‘Poll for New or Changed Records in a Table’

image7

Click on ‘Import Tables’ and Select the table that you wish to poll.

image8 

image9

Once your table is selected:
Click ‘Next’
Click ‘Next’
Click ‘Next’

As you poll entries, you must decide on a way to read and mark entries. We have chosen to update a field, setting all values to “FALSE” since we do not want Oracle BPEL to automatically update a field as soon as it is read; instead, we want to update the value ourselves later in the process, once we are sure certain processing has been completed.

image10

image11

Note: Assuming that you will update the ‘Task_Completed’ Flag after processing the records, you might want to change the wsdl to modify polling parameters.

Modify the receive activity to get data from the new Database Adapter Service

image12

Bookmark and Share

Related Information:

  1. Asynchronous vs Synchronous BPEL Processes
    Asynchronous and Synchronous BPEL processes, as their names imply, process a request in parallel or sequenctially respectively. Screenshot: Invoke Asynchronous...
  2. JDeveloper Freezing - Optimize Performance for Large BPEL Flows
    I was running into issues with my Jdev being inadequately slow, hanging, or freezing when working with large BPEL process...
  3. JDeveloper 11g Download
    If you haven’t already, download Oracle JDeveloper 11g for free using the links below or directly from the JDeveloper 11g...
  4. Oracle SOA Environment Performance Tuning Options - Quick Notes
    Tuning OAS and BPEL Console....
  5. Oracle AS: Undeploying Multiple Applications (including BPEL Human Tasks)
    Undeploying a single application in Oracle Application Server is pretty straightforward. However, I had a scenario where I needed to...
  6. Oracle BPEL Sensors for Real Time Event Publishing from Business Processes - A Design Perspective
    This article is a look at Oracle’s BPEL Sensor approach to publishing real time data and events for in flight...
  7. Salesforce.com Integration - Oracle Fusion Middleware SOA and BPEL
    Oracle Corporation has recently published a white paper written by M&S Consulting, where we take the opportunity to outline an...
  8. JDeveloper 11g Installation Screenshots - Windows XP
    Below is a link to a PDF document containing all (or most of the screens) you will find when going...

Leave a Reply


Archives

Recent Comments

  • Kavitha Muniraj said: Hi, Could you please send a script which checks the status of forms and reports of oracle...
  • Siddharth said: Hey thanks a lot !! Have been lookin all over for this :) My PC may not be able t handle FlashBuilder...
  • Cyrex said: Hey man why I cant install Apex 4? is there anyone can help me.,?
  • sharanabasava said: ALTER TABLE [my_table_name] RENAME COLUMN [current_column_name] TO [new_column_name]; Sir,I...
  • Huub Vankan said: Thanks for this easy solution. Indeed strange that is does not work in the (x86) folder….

Calendar

July 2010
M T W T F S S
« Jun    
 1234
567891011
12131415161718
19202122232425
262728293031  

Featured Testimonial

"M&S has taken 'partnership' to a new level. They are not only a deeply skilled service provider, the M&S team is actually a mission critical component to our operations, taking on new initiatives as well as maintaining custom, open source, and COTS solutions."

CEO, MedPivot

Free SQL Service