Last week, I introduced the ADF development methodology I’m proposing, “Extreme Reusability,” articulated its goals, and discussed the techniques of “Generalize, Push up, and Customize” and “Think Globally, Deploy Locally” that are critical to the methodology. I didn’t, however, describe the actual…well, methodology, meaning the development cycle prescribed by Extreme Reusability.
Notice I didn’t say the application development lifecycle. That’s because developing under Extreme Reusability, like developing under SOA, isn’t primarily about the creation of standalone applications. You should think of the development cycle for extreme reusability as part of an enterprise-wide effort.
Development under Extreme Reusability involves developing along three separate but interacting (and communicating–communication is absolutely vital under this system) tracks: framework development, service development, and application development. These tracks are assigned to different individuals on the team, in (at a guess–remember this is a proposed methodology) somewhere around a 20-60-20 division for a typical organization’s needs.
In my very first post on this blog, I talked about service-oriented architecture (SOA), and how, while I thought it was extremely appropriate for a certain range of cases, the overhead involved in web service invocation made it very inappropriate for an equally wide, if not wider, range of cases.
Today, I want to talk a bit about an ADF 11g alternative to SOA that still gives you many of its benefits without the web service invocation overhead: reusable applications. (Next week, I’ll talk about another SOA-in-spirit mechanism that ADF 11g provides: Shared application module instances.) Continue reading SOA Without the S, Part I: Reusable Applications
I’m pleased to announce that I’m going to be an “expert” in an Oracle OpenWord Unconference workshop session to develop an ADF Methodology for the now-in-technical-preview release 11g based on an end-to-end ADF technology stack (ADF BC/ADF Model Layer/ADF Task Flows/ADF Faces RC). This session was the brainchild of Oracle Fusion Middleware ACE Director and blogger Chris Muir, and will feature quite a number of Oracle ACEs and other ADF experts. My particular focus (in the sense of what I’m preparing for the most–the vast majority of the session is going to be in open workshop format) is architecting for reusability.
People of all levels of ADF experience are welcome–from novices who want to learn others’ ideas for solving methodological problems to experts who want to contribute their own. So if you’re going to be at Oracle OpenWorld in San Francisco this year, wander across the street and check it out–just let us know you’re coming. Oh, and if you want to watch/participate in our advance discussion, you’re more than welcome to join our Google group.
What is a backing bean? Getting a consistent answer can be harder than you might think. For example, the NetBeans JSF tutorial claims that the two terms are synonyms. And NetBeans had its origin at Sun, so they ought to know, right? On the other hand, the official Java EE 5 Tutorial says that a backing bean “is a JavaServer Faces managed bean that is associated with the UI components used in a particular page.” That suggests that backing beans are a proper subclass of managed beans. And that’s straight from the horse’s mouth, at java.sun.com.
I think that the distinction made by the Java EE tutorial–that a backing bean is a particular sort of managed bean distinguished by its association with a particular page’s components–is a very useful one. But the tutorial also states that “A typical JavaServer Faces application couples a backing bean with each page in the application.” And that is where we part company.