Domain Portal

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Wednesday, 19 March 2008

JDeveloper 11g and SOA Suite 11g integration

Posted on 00:54 by Unknown
On my blog you can find application I have developed previously - Invoking BPEL Process from Oracle ADF Application. Application described in my previous post is developed with JDeveloper 10.1.3.x, BPEL process with parameters is invoked here, however I don't return any parameters back to ADF application from BPEL process. Today I have developed new application based on JDeveloper 11g TP3 and SOA Suite 11g TP, where a set of parameters is accepted and returned by BPEL process from and to ADF application.

Sample application for this blog post is based on two parts - SOAComposite.zip and SalaryUpdate.zip. First part contains a simple BPEL process that accepts and returns a set of parameters. Second part is ADF application that invokes BPEL process, receives result from BPEL process and stores this result into database. I'm using HR schema for this sample, you can find this schema in Oracle XE database.

In order to run developed sample application, you need to configure JDeveloper 11g TP3 according to instructions available on this page - Oracle SOA Suite 11g - Technology Preview. Just follow install instructions and it will work. May be also this Oracle SOA Suite 11g Technology Preview - Configuration Hint will be useful.

SOA part in developed sample application is relatively simple, it contains one BPEL process:


This BPEL process accepts input parameters, performs some calculations and returns updated parameters:


Since there are three parameters - EmployeeID, SalaryValue and CompensationValue, updateSalary Assign activity implements Copy operation and provides values for process output:


However, one of the parameters isn't just copied, but modified - SalaryValue is increased by 100:


If we will test developed BPEL process and will provide 5300 as a value for SalaryValue parameter:


Generated result will have 5400 for SalaryValue parameter:


Now let's talk about a second part - ADF application. Here I have created Web Service Data Control based on WSDL for BPEL process:


As a result, I got a possibility to invoke BPEL process and to have a Data Control for returned parameters:


BPEL process invocation is defined in Page Definition file:


I'm accessing results returned from BPEL process through accessorIterator, this iterator is binded to methodIterator which is related to BPEL process invocation definition. accessorIterator and methodIterator definitions:


And finally, all fun stuff is done in Backing bean method associated with Update button:


In this method I'm invoking BPEL process, retrieving returned result from accessorIterator and storing updated value into database.

How it works? Let's say we select employee with STOBIAS email and press Update button:


Salary value is updated by 100:

Email ThisBlogThis!Share to XShare to Facebook
Posted in ADF, BPEL, JDeveloper 11g, SOA | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • Groovy - Multiple LOV's per Attribute in JDeveloper 11g
    I was blogging previously about multiple LOV's per attribute functionality. I was using RowImpl class for View object in order to calcu...
  • Oracle JDeveloper/ADF Developers Wanted
    In my current Oracle JDeveloper/ADF project we are searching for additional developers. Project is based on Oracle Fusion 11g, so it can be ...
  • Customizing Applications with MDS - Practical Overview
    During ODTUG Kaleidoscope 2008 , I was discussing with Shaun O'Brien (Principal Product Manager from Oracle Development Tools group) abo...
  • Workaround for Null Value Bug in ADF List Of Values 11g
    Those of you, who are using List Of Values (LOV) component in ADF 11g, most probably already have noticed bug related to Null value. Simple ...
  • Many-to-Many mapping in Oracle TopLink
    This kind of mapping in relational world is constructed using three tables. However, in object world only two classes are used for many-to-m...
  • Hints for ADF 11g Application Credential and Policy Migration to Standalone WebLogic Servers
    Recently I was deploying our ADF 11g application on standalone WebLogic server. Deployment itself is straightforward, however it is little b...
  • Show Buttons based on Disclosed Tab
    In 11g it becomes quite common use case to structure application page with tabbed panels. If you develop your pages based on templates, most...
  • External Transaction Service in Oracle TopLink
    I have developed sample application, in order to demonstrate how to use External Transaction Service (ETS), when Oracle TopLink is used in M...
  • After UKOUG'08
    This week I was on UKOUG'08 conference. I really have enjoyed high quality of its content and I have learned new technical things about...
  • Master in Computer Science degree
    Today I have finished university studies, and received Master in Computer Science degree. Finally..., 6 years of studies are finished :). H...

Categories

  • ADF
  • Apex
  • Apple
  • BPEL
  • Events
  • Forms
  • Groovy
  • JDeveloper 11g
  • Nomination
  • ODTUG Kaleidoscope
  • OFUG
  • Oracle Magazine
  • Oracle OpenWorld
  • Security
  • SOA
  • Spatial
  • TopLink
  • Traveling
  • Uncategorized
  • Vgo Software
  • Web Services
  • WebCenter
  • WebLogic
  • Workarounds

Blog Archive

  • ▼  2008 (72)
    • ►  December (2)
    • ►  November (3)
    • ►  October (9)
    • ►  September (4)
    • ►  August (9)
    • ►  July (6)
    • ►  June (10)
    • ►  May (4)
    • ►  April (5)
    • ▼  March (7)
      • ADF Task Flows - Managing Transactions
      • JDeveloper 11g Masterclass in Vilnius
      • Oracle Forms to SOA workshop in Vilnius
      • Technical Director in Vgo Software
      • The Best of IBM - IBM Bravo !
      • JDeveloper 11g and SOA Suite 11g integration
      • Oracle Maps in JDeveloper 11g - Perfectly Fits int...
    • ►  February (5)
    • ►  January (8)
  • ►  2007 (65)
    • ►  December (6)
    • ►  November (7)
    • ►  October (6)
    • ►  September (4)
    • ►  August (3)
    • ►  July (4)
    • ►  June (6)
    • ►  May (5)
    • ►  April (6)
    • ►  March (4)
    • ►  February (5)
    • ►  January (9)
  • ►  2006 (9)
    • ►  December (9)
Powered by Blogger.

About Me

Unknown
View my complete profile