Pages

Tuesday, January 1, 2008

ADF Taskflow based on human task

A new feature with jdeveloper 11g tp3 release is of course the soa suite 11g with human task but there is also a new taskflow component named "taskflow based on a human task". In this blog I will explain a little bit what a human task is in soa suite 11g and what the new taskflow does.
What is a human task? A human task is the workflow component of soa suite in 10.1.3 but in 11g Oracle added a lot of new features to it, like the many approve / reject options. You can have now single, group, management chain and majority people approval. All kind of notifications, a notification can be an email with an action or email with an office document ( Word or Excel). Expiration and escalation policies and Oracle made it more secure with digital signatures.

Oracle also provide a new webapp with management reports. This webapp can be extended with your own page workflow detail task page. This is done with the new taskflow. You can create and design your own jsf page and so approve or reject a task. Jdeveloper creates a taskflow and a datacontrol based on the human task so you have all the data and controls to customize the jsf page. Here a picture of the standard bpm worklist application
If you click on the task you get a message there is nothing to show. You can only claim and approve without seeing the details. The taskflow provides a custom detail page in the bpm worklist application.
Now you know a little bit more, lets create a human task. You can do it by dragging the human task to the middle of the composite view and drop it here. If you want to use this human task in your bpel then open the bpel process and drag the human task to the right place and select the human task which you created in the composite view.
Here are some options of the human task component.

There are two ways to create a custom detail page. The first way is by selecting the human task in the bpel process and then create a taskflow (auto genereate task form).
The second way is to create a fusion web application and in the viewcontroller project create a taskflow based on a human task. We have to go now to the soa project and select the human task file. JDeveloper creates now a taskflow with a datacontrol. Open the taskflow and create the jsf page. Go to the new datacontrol and drag the task from the output to the just created jsf page. You have to do this a lot of times.

See for more details chapter 26.8 and 31 of the soa suite 11g developer guide. Here some pictures of a custom detail page.
First we claim the task and then we can approve it
And we have a custom detail page on the specific human task.

Friday, December 28, 2007

11g webcenter first impressions

With the release of jdeveloper tp3 we finally can test the new features. It looks very promising. With the 10.1.3 webcenter release was not working so well. With 11G they fixed the refreshing (partial page rendering) of the whole portlet page when you do a submit in a custom jsf portlet. Popup windows works too , we can use list of values pages. Now we finally can make small fusion applications and registered it as a portlet on the webcenter container.
To deploy your taskflow or jsf page as a portlet you only have to select the page or taskflow and use the right mouse button and create portlet entry.
The overview of the registered producers is much better, you can register producers to your application or to the resource palette so you can use it in more applications. See the picture.
In 11g webcenter you also get some standard taskflows which you can use in your portal.

Another nice feature is that personalizing your portal is now very easy, You have to use the adf security wizard. Step 2 go the pagedef of the page and add security to page.
Step 3, give customize or personalize permissions to the right roles and we are ready
and there are a lot of other features with is not yet availible in the tp3 release like the social networking components, forums, announcements, page Service, presence, tasks , worklist and recent activities. With 11g we can mix now portlets with jsf applications.

Monday, December 24, 2007

sdo webservices in soa suite 11g

In the jdeveloper 11g tp3 you can configure a soa project where you can use sdo webservice as a reference adapter. Too bad this is not working (at runtime) in TP3 but this blog will show you how you can use sdo web services in a bpel process and it gives an overview how soa suite 11g works.
First what is SDO ? This is a technology which is developed by IBM, SAP, BEA, Oracle etc. SDO or Service Data Objects is designed to simplify and unify the way in which applications handle data. Oracle made it very easy with adf bc (bc4j) to make sdo webservices. You only have to edit the application module, Go the service definitions link and enable support for service definitions. Select the viewobjects and the operations you want to use. Deploy this to the embedded oc4j and we have our sdo webservice.

In this example I used the customer table of the oe sample schema. In the viewobject of this customer table I had the remove the following attributes cust_address, phone_numbers, cust_geo_location because these types are not supported by sdo.

We are ready to make a soa 11g project. Create a new soa project and open the composite.xml Now drag the bpel process from the component windows to the components area of the composite.xml. Make sure you check create composite service.

Now we can add the sdo webservice. Drag the sdo webservice to the reference area of the composite.xml. Now fill in the wdsl entry of our customer sdo web service and select the operation. Now drag a line from the bpel proces to the sdo web service, so we can use it in the bpel process
This is a bit different as in 10.1.3. In the composite.xml we define our adapters and which adapters the bpel can use ( the line between the components) . Now we complete the bpel process by clicking on the bpel process in the composite.xml. Here we add an invoke service to call our sdo webservice and in this we select the right operation getCustomerView.
We add some assign activities to fill the input variable of the sdo web service and one to assign the output of the ws to the output of the bpel.
Run the composite.xml and go the following url http://localhost:8988/soa-infra/ to test our bpel web service. This goes wrong because in TP3 the runtime support of sdo is not supported in this release but let's look at the soa suite console why it goes wrong.

Now we can look at the details

In the TP4 release I will retest it and update this blog