Friday, October 28, 2011

Free Webinar 'ADF Task Flows for Beginners'

Share this Post

I am presenting a free webinar "ADF Task flows for Beginners" for ODTUG on December 1, 2011. The details are as follows. Feel free to register and spread the message

I hope that this session will answer lot of questions for up ADF newbies as well as help ADF community to grow.

December 1, 2011 3:00 PM - 4:00 PM EST
ADF Task Flows for Beginners
Zeeshan Baig, Northwestern Memorial Hospital

ADF Task flow is most important and essential feature of ADF development which makes ADF unique in the battle of frameworks. This session will help you to understand different components and techniques to build task flows as well as building static and dynamic regions on JSF pages.

During this session we will dive into the following:

1. Understanding different components to build task flows.
2. Building task flows templates.
3. Building static and dynamic regions.
4. Basic techniques to build reusable task flows.

Registration Web Link:


Tuesday, October 25, 2011

I am Oracle ACE now !!!!

Share this Post
Hi all,

I would like to share the news with you all that I have become Oracle ACE Member now. John Stegeman (ADF OTN forums fame) nominated me. Check this link

I would like to thank all of you who supported me through out my career and keep motivating me by liking my blog and YouTube channel :D

Soon i will be presenting some online webinars and presenting sessions in conferences.

I am really excited and looking forward to see you all

Thank you Oracle,
Zeeshan Baig

Monday, October 24, 2011

How to find out which weblogic server version installed on the machine

Share this Post

There are couple of ways you can check which version of weblogic server installed on the machine.

Note: this may vary on your machine.

1. In Middleware home $MW_HOME/registry.xml file look for entry as follows

component name="WebLogic Server" version="" InstallDir="/u01/Oracle/Middleware/wlserver_10.3"

2. Check AdminServer's log file at $DOMAIN_HOME/servers/AdminServer/logs/AdminServer.log

Run the following command you will see something similar

$ grep "WebLogic Server" AdminServer.log

<WebLogic Server "AdminServer" version:
WebLogic Server Temporary Patch for 9893068 Wed Jul 21 16:53:44 EDT 2010
WebLogic Server  Fri Apr 9 00:05:28 PDT 2010 1321401  Copyright (c) 1995, 2009, Oracle and/or its affiliates. All rights reserved.>

3. Go to $WL_HOME/server/lib

Run the following command

$ java -cp weblogic.jar weblogic.version

You will see the similar info

WebLogic Server  Fri Apr 9 00:05:28 PDT 2010 1321401

Added on October 25, 2011
With latest weblogic server 10.3.5 i see the version no is displayed on weblogic console as well

Have a nice day,
Zeeshan Baig

Sunday, October 23, 2011

Oracle ADF setting Task flow to use same page definition file of caller page

Share this Post

In this post i will show a little technique which i learn from Steve Davelaar session 'Building Highly Reusable task flows' at Oracle open world.

If you want to pass parameter from one page to bounded task flow generally you would use a pageFlowScope variable and then use that variable as input parameter to the task flow.

In this trick or technique we will setup a task flow so it will use the same Page definition file of calling page. With this we can use the all bindings on the caller page inside our bounded task flow.

Note: This is not recommended solution for beginners (There is a chance you could mess up the ADF project). This is just another way to do things Steve said that he had open an enhancement request with ADF development team.

Lets get into the example Download the complete example 

Application Flow:

Page 1 is displaying a list of departments along a button Show Employees with each record. By Pressing Show Employees a bounded task flow will be called which takes an input parameter of current department Id and pass to employees BTF which executes the query of the current department id

Preparing Model project

There is nothing special to setup model project except the Employees View object query using a bind variable of department id to filter records.

There is NO relation between departments and employees view objects in Application Module data model because we don't need dependency between collections

Preparing Employees Task flow

Employees task flow is as shown in the slide

Employees task flow will take one single input parameter

Drag and drop ExecuteWithParams operation from data control to task flow and set the input parameter as similar to the value of input parameter

Call task flow from departments page

the unbounded task flow contains a departments page the task flow is as shown in the slide

Prepare Employee Task flow to share page definition of Department page

1. Right click the Task flow and choose Create Page definition.

2. Now you can see the page definition file has been created

3. Double click the DataBindings.cpx file click on Source. Under pageMap entries you can see the list of pages. every page id every one has unique reference to its page def file

4.  Copy the usageId of deptList page to showEmps task flow also change under Page Id and replace the path of page definition file as shown in the slide Save the file later on

5. Delete the old page definition file of showEmps we don't this file anymore. make sure when you delete it says '0 usages found' as shown in the slide

6. Now go to unbounded task flow which contains the departments page and bounded task flow
click on the showEmps task flow go to properties and use EL expression to set the value of input parameter as binding of departmentId as shown in the slide (we can only see this because now task flow is sharing the same page definition file as department page)

Note: I have attribute binding called departmentId in department Page

Now we are all set. Run the example and see

Happy Jdeveloping,
Zeeshan Baig

Saturday, October 22, 2011

My Oracle Open World 2011 Experience

Share this Post

As you know that Oracle open world conference 2011 held between October 2 to 6 in San Francisco. I am late to write a follow up blog on that so now its my turn to summarize the experience of the whole event. I already posted about how i would spend my days at OOW which i changed a little during the conference as expected.

Sunday October 2, 2011
Whole Sunday was with ADF EMG I met some legendary ADF experts and had a great time.

Monday October 3, 2011
Monday started with Webcenter Content integration session by my buddies George maggessy, Stefan Krantz supported by Yannick Ongena (Author of Webcenter Admin cookbook) it was much technical than my expectation. George and stefan presented demo of webcenter portal site that they build in 4 hours. Later i joined sessions Fusion middleware deployment patterns from Simon Haslam and Oracle WebCenter Performance, Scalability, and Administration which was whole webcenter deployment guide in 1 hour pretty good.

Tuesday October 4, 2011
The main highlight for the day was ADF Mobile session and Session by Tom kyte (

Wednesday October 5, 2011
Highlights of the day was Steve davelaar session Building highly reusable task flows was much technical and he presented some great ways to build your task flows reusable later ADF Rockstar Chris muir presented session Angels in the Architecture which discussed different development patterns with pros and cons of them in ADF.

Thursday October 6, 2011
Thursday started with a great session from Duncun Mills about ADF tuning and from my friend Andrejus presented a demo of Texas A&M project technical details.

Other than that the main announcements at the events were

Oracle Fusion Applications
Finally wait is over and Oracle fusion applications are now available for public. It took Oracle 6 years to develop best features of Siebel, PeopleSoft, JDE Edwards, EBS and many more into a completely single integrated, standard based, cloud oriented solution. I cant wait to get hands on it.

Oracle Public Cloud
Most anticipated announcement (at least for my point. i won't be surprised if Oracle start building laptops specially for developers).

OPC is subscription based, self-service and elastic cloud give your enterprise to get access Oracle applications, database and middleware services. This will definitely help developers to get hands on big enterprise softwares like Oracle fusion applications as well.

Oracle Social Network
Probably a killer. Combines best of Facebook, twitter and other social networks and bring them to enterprise level. With Oracle Social Network you can collaborate, keep tracks of corporate activities, share documents and search content.

Oracle ADF mobile
The best one for me i love the session and demos of ADF mobile. Oracle ADF mobile allows you to build iOS, Android, Blackberry RIM and other mobile platform applications with same ADF learning and YES you don't have to code for specific platform. It uses PhoneGap and HTML5 to render the app. Aino Andriessen sums up quite well ADF mobile here . One thing could affect this product IMO is 'Adobe buys PhoneGap, TypeKit for better Web tools'

Other than that there were few big announcements related to database and hardware were
Oracle Exalytic (the In-memory machine), Oracle Big Data, Oracle NoSQL Database, Oracle Enterprise Manager 12c

This blog provides a complete list of best announcement at Oracle open world 2011

Have a nice day,
Zeeshan Baig

Sunday, October 16, 2011

Using DVT Component in ADF table

Share this Post

Today i will show you just a simple post about using DVT (Data visualization component) in af:table.

The primary purpose of this post is to spread a little awareness of utilization of DVTs components hopefully this will generate some ideas.

Download the sample code

More details in this quick video

Happy Jdeveloping,
Zeeshan Baig

Thursday, October 13, 2011

What is ECID in weblogic server?

Share this Post

ECID stands for Execution Context ID which is a unique identifier to group of events happened accross weblogic domain environment and as per documentation

"The value of the ECID is a unique identifier that can be used to correlate individual events as being part of the same request execution flow"

So what could be the use of ECID? as per following screen shot of weblogic managed server log file if you click on the ECID id you will get the all related events that caused that error this will really useful to debug the issues happening in the environment.

How to find the ECID?

Log in to enterprise manager

Right click on your managed server or application choose Logs > View Log messages

Click on the ECID value to filter all related events

Explore on your own the logs for useful info

Next time don't forget to track ECIDs

Hope you find this useful,
Zeeshan Baig