Wednesday, June 23, 2010

Reusing taskflows using ADF Libraries

Used version: JDeveloper 11.1.1.3image

Last week I did a short presentation on “ADF Taskflow Integration” on  the german ADF Partner Community.

The presentation covers some basics on ADF task flows, ADF Library and the integration process with the focus on reuseabilty. I think it is worth to share with the english community as well;-) 

Download

Further Information

Sunday, May 9, 2010

Type error in Installation Guide for Oracle Team Productivity Center Server 11.1.1.3?!

Short post, but quite interesting to mention I think.

While going through the current installation guide of Oracle TPC Server 11.1.1.3 the following line catched my eyes:

“If you are using WebLogic Server as the installation server, make sure you are using version 10.3.4.”

That’s really up to date information;) IMHO WLS 10.3.3 is the “most current” WLS version.

Further information

Friday, April 30, 2010

Monitoring Dashboard in WLS Administration Console introduced

Type: Info
Applies to: Oracle WebLogic Server: 10.3.3

Just after JDeveloper 11.1.1.3 was released of course I had to give it a try;-) Somehow I am always curious about changes the Admin Console of the WLS. Since WLS is integrated it is really easy and quick to do. Just start a simple ADF Fusion Web app and open http://localhost:7101/console

The following things catched my eyes:

a) The Admin Console  is internationalized. On my laptop the login form appears in german by default now:
image 
To change the language you just have to change the preferred language in the browser settings and reload the page.

b) On the Homepage I recognized a new entry:
image 
This opens the so called “Monitoring Dashboard” which obviously is developed by ADF Faces RC. Cool! No activation of the diagnostic console needed! No slowly loading Applet;) Thanks!

image

c) the diagnostic-console can still be activated in the preferences but just in order to inform that it has been replaced by the new monitoring dashboard….and the Request Performance

d) Request performance
image At the first look the view is a bit disappointing because you will not see anything here until you “…first configure WLDF instrumentation to use the ElapsedTimeAction diagnostic action attached to "Around" diagnostic monitors. Only data from the ElapsedTimeAction action is shown on this page.” See the context help for more information. (Maybe I will blog about it in more detail in a separate post)

It would be nice if this information (to first configure a WLDF inst) would be visible as INFO or WARNING directly on the Request Performance Tab.

Sunday, April 18, 2010

ADF 11g: Be aware of the right run context

Used version: JDeveloper 11.1.1.2.0

Problem description

Last week I did a two days training on fusion development with Oracle ADF BC / Faces RC. Everything worked fine except the following:

While doing the “Part 2 Create a Simple User Interface” from the cue cards some of the attendees (and me too) had the effect that at runtime the control flow rule defined in the bounded task flow did not worked.

image

So what actually went wrong here at runtime? Why a click on the Edit Order-Button did not trigger the control flow rule? Instead of that you just stay on the browseOrders page.

Solution

After some time of investigation I recognized that I had started the application under the wrong context. To test the application I selected browseOrders.jspx in the application navigator and have chosen “Run” because normally I am using taskflows with page fragments. So in real world projects you typically won’t start the application from a bounded task flow.

But because in this example the taskflow is based on whole pages rather than page fragments, the application must be started from within the bounded taskflow. Otherwise the control flow rules won’t be working at runtime!

image

You can check the correct run context by examining the URL in the browser. In the wrong case the URL will be …/faces/browseOrders.jspx of course whereas running the app from taskflow the URL is …/faces/adf.task-flow?adf.tfId=orders-flow&adf.tfDoc=/WEB-INF/orders-flow.xml

Lesson learned

Don’t panic if control flow rules seem not work as expected. Check the following

  • Which type of taskflow? (bounded /unbounded, with/without page fragment)
  • Does the action attribut of the command component match the control flow outcome?
  • How the application has been started?

Sunday, March 28, 2010

First impression of Adobe Flash Builder 4

Applies to: Flash Builder image

The next version of Flex Builder has been released under “Flash Builder” some days ago and so I decided to give it a try.

The following points catched my eyes in the first couple of minutes

  1. Integration of different data services through drag n drop data binding capabilities. The following list should give you an idea of the supported data services:
    image image
       
    Trying out the Twitter XML API (http://twitter.com/statuses/public_timeline.xml?count=5) I could generate the data model very easy. image
  2. Data service tester is really cool and gives you quickly a “good feeling” for the used service
    image
  3. Theme browser/selector
      image
  4. Another great improvement seems to be done on the compiler performance. It just feels much faster although I did not try yet on a big project…
  5. Generation of event handler code (at long last!;-))
    image
  6. Refactoring support. Although quite poor at the moment. Rename and Move. That’s it!
    image
  7. Generate setter/getter. Here is an example
    image
  8. surely there are more new features. But for me discovery time is over now;)

 

Still missing

  1. Context-Menu and DnD operations in the outline view of the UI
    image
    It’s a READONLY view! No chance to move around components or bind your service data calls here. It is a pitty! Missing the flexibility I am used from the UI structure pane in JDeveloper!
  2. Easy integration of database objects. It would be great If we could connect to a database and let Flash Builder generate corresponding server components. For now we have to generate/implement through LivecycleDS/BlazeDS/graniteDS.

    Another idea could be to create ADF Business Components and expose them as Webservice by the service data object (SDO) facility! Yeeah, this could work quickly and great cause FB has good support for WebServices.

    Anyone tried this already? Comments are welcome.

 

Conclusion

It looks like Adobe has learned some lessons from Oracles JDeveloper/ADF team. Especially the data binding/service integration facilities are comparable to ADFs data controls. But there is still a lot of work to do to get such productivity ADF makes possible;)

The UI Designer+CSS editor of course feels more “smooth” than the one of JDeveloper. But there are still missing some neat features like search boxes for ui components and properties. The non-interactive ui structure view should be fill with life! I am tired of searching manually for the desired component!

Thursday, March 18, 2010

ADF: How to create method binding for action

Applies to JDeveloper 11.1.1.2.0

Introduction

That is a really short post but shows all possibilities how to create a method binding action code in a backing bean. This is a very worthy feature if you need to invoke more than a single business service method. Currently ADF is limited to invoke just a single method declaretively/by DnD. Hopefully it will be possible in some of next JDev versions to bind a series of service methods to a command component by DnD.

a) In Design Mode: Just double-click on a command component and you will get the appropriate wizard
image

b) In Source Mode: Open the context menu and choose “Create Method Binding for Action”
image
The “Bind Action Property” Wizard will open as shown in a). Of course same Menu Action is available in Design mode too but double-clicking is more comfortable.

c) Property Inspector: No chance to generate ADF action binding code!
image

Just forgotten by JDeveloper developers or are there any good reasons why the above feature is not available here?