Using PPR (partial page rendering) to dynamically hide and display JSF components doesn’t cause the expected behavior for all ADF Faces components. Take the following example:
<af:selectBooleanCheckbox
text="selectBooleanRadio 1" label="Label 1"
value="#{bindings.var.inputValue}"
autoSubmit="true" id="radio1"/>
<af:inputText label="Label 2"
rendered="#{bindings.var.inputValue == 'true'}"
partialTriggers="radio1"/>
Toggling the checkbox doesn’t have any effect on the inputText component. On the OTN forums I’ve found some advice to wrap the components which need to be hidden with a container component. Some testing shows that you need to wrap the components in a tableLayout and a rowLayout.
To understand what is going on with PPR you can add some javascript to output debug messages (I’m using the firebug extension for firefox, which enables you to write log messages to a console). This will display you in what sequence components are triggered, and which components are triggered, and which aren’t. For example, add the following to the example above:
<afh:script partialTriggers="radio1"
text="console.log('script 1');"/>
Every time you toggle the checkbox the text ’script 1′ will be displayed in firebug’s console window. This means the partial page trigger is actually triggering other components, but that doesn’t have any effect on the rendered state of the inputText.
I wrapped the inputText in a tableLayout, a subform, a panelGroup, a panelForm, and a combination of tableLayout and rowLayout. Hiding the inputText only works when you wrap it in a tableLayout and rowLayout, as follows:
<afh:tableLayout partialTriggers="radio1">
<afh:rowLayout rendered="#{bindings.var.inputValue == 'true'}"
partialTriggers="radio1">
<af:inputText label="Label 2"/>
</afh:rowLayout>
</afh:tableLayout>
Using the other wrapper components, the inputText isn’t hidden. The rendered attribute does have some effect though. I included a script in every wrapper. When you uncheck the checkbox, the script component isn’t triggered by the partial page trigger. But when you check the checkbox, the script component is triggered. This means that even though it doesn’t have the desired visual effect, the rendered attribute still has some effect.
Posted October 31st, 2006 by Andrej Koelewijn | 8 Comments »
Posted October 27th, 2006 by Andrej Koelewijn | 5 Comments »
At this morning’s BPEL PM CAB meeting we had a preview of the upcoming 11g release of the SOA Suite. Well, what can I say? I’m deeply impressed. Is the just released 10.1.3.1 version already impressive, it doesn’t compare to the 11g release. It is so comprehensive, I really don’t know where to start. The overall impression is that 11g is THE integration release of the SOA Suite. The core of this release is the Service fabric, which is the central architecture in which all the components plug in. This means that all the SOA Suite components all share the same basic principles. This allows for tracking and debugging over all the components and platforms that are used. SCA plays an important role here. SCA is the binding principle of all components. Imagine you have a (JDev) project in which you use a JSP frontend, one or more BPEL processes, one or more business rules, one or more ESB routing and transformation models and one or more (web or WSIF)services. They all come together as a SCA project. All components are accessible from one JDeveloper project! You have the overview, but can also drill down to all the individual components.
Some other highlights:
- error handling for BPEL processes will be available as an aspect. So instead of have to code all the possible exceptions, you can select the relevant error handling type and let the engine take care of it for you. This will cut lines of coding back with at least 50%
- tracking and debugging from your JSP to any services used. So you can set breakpoints in your JSP, BPEL and Service and debug the whole process from within JDeveloper. WITHOUT having to deploy it all!
- flexible UI configuration on the basis of available datasources, without needing to code it all. Based on the payload, JDev will generate the needed datacontrols, which you can then drag and drop onto the worklist GUI.
- decision tables (for end-users) to determine business rules. Instead of having to code the rule, you can build a table containing all the possible permutations and let JDev determine the underlying principle. Very user-friendly, very powerfull!
- in addition to the previous bullet: WebCenter Composer for Business user to compose business rules
The first (private) release of the 11g is to be expected somewhere in the first quarter of 2007. Public release can be expected around the end of 2007. I can hardly wait for it to arrive!!!
Posted October 27th, 2006 by IT-eye Alumni | 3 Comments »
During his keynote this afternoon, Larry Ellison announced the release of Unbreakable Linux 2.0. Unbreakable has been available for some time, allowing Linux customers to have Oracle fixing there Priority 1 bugs. Linux is very important for the acceptance of GRID, for running mission critical systems on a Linux-Grid environment. However, customers are reluctant to use a Linux-Grid environment for critical systems, due to the lack of high-level support. According to Larry, it’s missing features like bugfixing on current release (instead of next release) and the fear for indemnation due to the SCO claims on intellectual property rights. In the offering for Unbreakable Linux 2.0, all those issues are covered. Oracle delivers high value support on Redhat Linux, for a lower price then Redhat itself offers. More importantly, Oracle also covers the SCO suit, and guarantees the indemnation.
Check it out on Oracles website!
Posted October 26th, 2006 by IT-eye Alumni | 4 Comments »
Paul Lipton discussed the challenges of problem determination, performance and reliability in a SOA during his talk at the Enterprise SOA conference yesterday. How do you know that your SOA is delivering the required service to your customers, how do you detect what went wrong? In java you usually have a stacktrace which tells you what the error was and where it occurred. Most of the times you also have a logfile which shows you what’s going on. How do you get the same level of information in a service oriented architecture? Every service might have its own logfile, some systems may produce something similar to a stacktrace, some may not. How do you put all the information you have into one complete picture?
Your SOA suite will not be able to provide you with all the information you need. A SOA suite, like for example Oracle’s SOA suite, will show you all the bpel processes running in your system, you can look at the payload of all the xml messaging going on, etc. But is this SOA suite going to be in control of everything in your enterprise? According to an earlier talk by Anne Thomas Manes (The building blocks of SOA) it’s probably not. SOA is by nature heterogeneous, you are going to be using many systems, so one single product isn’t going to give you all the insight you need to monitor and debug your SOA applications.
Paul Lipton works for CA’s Wily Technology Division, and of course, they have a solution for this problem. It enables you to monitor everything from the performance in your customer’s browser, to the ESB en BPEL processes, to the enterprise applications in your backend.
Enterprise AOP
This got me started thinking, how would you implement a solution which enables you to monitor your entire enterprise? You could create a logging web service, and modify all your applications to send log information to this webservice. Not very realistic, a lot of work, and not the way we solve these crosscutting concerns these days. What you really need is some sort of Enterprise wide AOP. What if you could define join points on any software, anywhere in your enterprise? On java code, .net webservices, cobol services, and database objects. Now that would be useful, for logging, but also for implementing the PEP’s (Policy Enforcement Points) everybody is talking about these days.
It doesn’t seem very doable though. If and when SCA takes off, we might be able to do this for SCA managed SOA components, but not everything in your enterprise is going to run as part of a SCA system.
Posted October 25th, 2006 by Andrej Koelewijn | 2 Comments »
Tuesday october 24th, Oracle announces Webcenter. Webcenter integrates a Java-based Portal Framework with content Management and Integration services. It will also support Desktop Integration and integration with Web 2.0 services like Wikis, VOIP and such.
The Oracle WebCenter Suite will deliver:
- WebCenter Framework: JSF/ADF based framework that enables developers to embed rich, AJAX-based components, portlets and contents into their JSF applications.
- WebCenter Services: embeddable Web 2.0 content, collaboration and communication components.
- WebCenter Studio: exposes the WebCenter Framework and Services to programmers inside Jdev
- WebCenter Composer: browser-based environment for composing application UI
- WebCenter Spaces: configurable work environment that lets individuals and group work together more efficiently, be it structured or unstructured tasks
In short: the previous Portal experience will be much enriched. Developing and maintaining UI will be a lot richer and easier. The full integration with JDeveloper and the WebCenter Services will enable combinations of functionality from different resources. It aims at out-of-the-box support for all existing portlets, including e.g. SSO portlets, Discoverer portlets, Apps portlets and also all kinds of tailor made portlets.
It does remind me of something: there is a startling similarity between Webcenter / Portal and BPEL PM / Workflow. The Portal and Workflow components are both PL/SQL based, whereas Webcentre and BPEL PM are both Java based. Oracle is replacing UI-components based on PL/SQL by Java-based components!
I expect Portal to slowly drift out of sight, being replaced with new Java functionality.
Posted October 24th, 2006 by Jules de Ruijter | No Comments »
Workflow and BPEL PM product managers and specialists at the Oracle Open World have stated that there will be no support for integrating the worklists from Oracle Workflow and Oracle BPEL PM. No big surprise here, but the first time I’ve heard any Oracle representative state it so boldly.
Posted October 24th, 2006 by Jules de Ruijter | 2 Comments »
Oracle’s new SOA suite comes with a lot of beautiful new features. You’ve probably already read about these. But there are also a couple of disappointments:
- You still can’t run and debug BPEL’s in JDeveloper. Instead you have to compile, package and deploy your process to an external BPEL process manager. This slows down development, and you can’t really debug your processes.
- The thing has grown. It’s big, huge. It’s the perfect excuse for a new laptop or development workstation. Start it, and it uses 1GB. Add a database, JDeveloper, a browser, Microsoft word, and 2GB starts to become very cramped.
- BPEL console isn’t supported on any of the browsers on my laptop. Firefox 1.5 wasn’t supported by bpel 10.1.2, and it’s still not supported by 10.1.3. I’ve just upgraded to Firefox 2.0, same story, bpel console doesn’t work. On a positive note: support for Firefox is better than for Internet Explorer 7. Using MSIE I can’t even login. Better turn off automatic updates on your windows machines…
Posted October 24th, 2006 by Andrej Koelewijn | 13 Comments »
How often have you been to a demo and tried to replay it on your local infrastructure? How often could you do that without problems? I guess your experience is as bad as mine. There’s always something missing. Very frustrating. Good thing Oracle listens to the developers. As of today, Oracle has launched OTN Depot. Here all demonstrations, tutorials and documentation will be available. But the good thing is: you can install it on your own infrastructure with just a mouse-click. The Depot will initiate a process that verifies the needed components and download, install & configure your working environment. Just great! You can stay on top of new demos & releases, by using the RSS feed that’s supplied with Depot. It’s the easiest way to stay tuned to Oracle’s new releases.
Posted October 23rd, 2006 by IT-eye Alumni | 2 Comments »
This morning, Thomas Kurian announced the release of the SOA Suite 10.1.3 as of last thursday. It is now available for download on OTN. We’ll hope to pick up some more information regarding last changes in this release and the coming releases during Oracle Open World. We’ll keep you informed!
Posted October 23rd, 2006 by IT-eye Alumni | No Comments »