Dr. Paul Dorsey
Dulcian, Inc.
Everyone is talking about Fusion. However, even within Oracle Corporation, when you ask about anything other than the high-level marketing description, many employees will tell you off the record, “If you figure out what the Fusion strategy is, let me know.” I have been an Oracle Fusion Middleware Regional Manager for the last eight months, and I think I am finally getting a handle on what is going on.
For anyone who might have been residing under large igneous objects, Oracle has been on a buying spree over the last few years, acquiring some of the largest players in the enterprise application environment, including PeopleSoft (which had previously gobbled up JD Edwards), Siebel, and Retek. Oracle’s own E-Business Suite was already competing in this space. Together, these products span the entire enterprise (some modules with overlapping areas such as HR and Financials) and represent a massive code base of some 200,000 database tables and several hundred million lines of code. Fusion is a word that describes several massive projects, all focused around the question of what Oracle should do with all of these products. The term “Fusion” can mean any one of three ongoing projects:
1. Oracle Fusion Middleware: Oracle has divided itself into three functional areas—the database, applications, and everything else (including application server and all development products). This “everything else” is referred to as middleware. Fusion Middleware refers to everything that the Oracle Applications development team is going to use to build applications, with the exception of the database itself. When you hear the term “Fusion Middleware” it means:
· The Oracle Application Server (OAS)
· The subset of the JDeveloper product that will be used for Fusion development
· Some ancillary technologies to assist with development, specifically Oracle’s BPEL and its business rules engine.
2. Project Fusion: This is the grand vision of the next generation of enterprise application software. Although still in the planning stages, it will likely be a ground up development of an entirely independent suite of applications drawing heavily on existing products and attempting to create the “be all and end all” enterprise application product. Oracle recognizes that the fruition of this effort is years away.
3. Fusion Versions of Existing Application Suites: As Fusion Middleware matures, Oracle will begin shifting all new development into the Fusion Middleware technology stack. In the next one to two years, there will be significant new development in the PeopleSoft, JD Edwards and Oracle’s E-Business Suite products using Fusion Middleware.
Fusion is clearly Oracle’s next big direction, upon which its corporate success rests. At the latest large Oracle conference, Collaborate ’06 (jointly sponsored by IOUG, OAUG, and Quest), Charles Phillips’ keynote discussed little other than Fusion. I found it striking that Oracle’s president could deliver an entire speech about future directions without once mentioning the DBMS.
For the first time in Oracle’s history, it has decided that creating a first rate application development environment is the core critical success factor for the corporation. This decision has tremendous impact. For the last 20 years, development has always taken a backseat to the DBMS in terms of resources. Products have come and gone through Oracle’s lifetime, sometimes having resources pulled from them so dramatically that the user community was completely bewildered. Oracle heavily supported Forms and Reports as long as they served as the development tools for Oracle applications. Now that applications are shifting to the J2EE-based Fusion technology stack, Oracle new development support for Developer is quickly waning and has all but disappeared entirely for Designer. That said, it is going to take several years for Fusion to get up to speed. Consequently, it is likely that there will be unprecedented support for the Oracle Fusion technology stack.
What is this technology stack? How can we take advantage of
it? As mentioned above, Fusion Middleware includes a subset of JDeveloper.
Throughout its evolution, JDeveloper has tried to support a wide view of
building applications. For example, even though Fusion uses Oracle’s
Application Development Framework—Business Components (
So, what development environment should you use to build Web applications? Should you jump on Oracle’s large and well-funded bandwagon and build applications in exactly the same way as Oracle is building its internal applications? The simple answer is “Of course.” Oracle’s ADF Faces promises to be a highly efficient and reasonably rich development environment. However, in working with ADF Faces over the last few months, this development environment has a very steep learning curve if you need to go beyond the standard capability of the framework. Oracle seems to be building a 4GL wrapper for a 3GL world. At this point, it is somewhat immature and unforgiving, although this will likely be corrected in the near future. However, it is currently difficult to create custom applications with features not explicitly supplied by ADF Faces.
If you are using
Oracle E-Business Suite, PeopleSoft, or JD Edwards...
Your application development should be consistent with the rest of the applications. (Retec is currently not part of the Fusion environment.) In this case the decision is clear:you should adopt the Fusion framework and live within its limitations.
For existing non-Oracle DBMS users of JD Edwards and PeopleSoft, the future looks murky. If you are running your applications on a Microsoft SQL Server database with an IIS application server, anything that Oracle delivers in the new Fusion stack will likely require both an Oracle database since there will be PL/SQL components and well as Oracle’s workflow engine included. Therefore, it is not at all clear, nor is it likely to be clear to Oracle at this point how existing non-Oracle-centric users of JD Edwards and PeopleSoft will move into the Fusion technology stack.
If you are working in
a J2EE environment...
If you are not a current customer of one or more of these packaged enterprise applications and don’t anticipate using them, your decision about whether or not to adopt Fusion Middleware is more difficult. The broader J2EE community has not embraced ADF, nor has JDeveloper caught on as an IDE, although it is clearly an excellent product (even if not using ADF). The stigma of being a non-open source product provided by a database company seems to be enough of a disincentive to keep rank and file J2EE developers away from this technology stack.
If you are an Oracle
Applications user...
For those looking forward to the next generation of Oracle Applications software, the only advice is to not hold your breath waiting for a new release. This is a massively complex effort and it is not likely that any major releases will be forthcoming in the near future.
If you are working in
a traditional Oracle shop...
For traditional Oracle shops working with Designer and Developer, Fusion may prove to be an excellent alternative. ADF Faces lowers the complexity bar enough that Forms users may finally start making a comfortable transition into the J2EE space.
If you are an old Designer user who thinks in terms of model-driven architecture and follows a coherent design structure to build applications (akin to the shops trying to do 100% generation) you are likely to be disappointed in Fusion Middleware. It seems to be a tool suite that enables the developer rather than the system architect.
Where do we go from
here?
I believe that Fusion Middleware will turn out to be a first-rate technology stack, enabling developers to quickly and efficiently build and deploy sophisticated Web applications. Oracle has worked very hard to create the right development environment for Project Fusion.
From my perspective, the most worrisome aspect of Project Fusion is its lack of a set of architectural tools that are as strong as the development tools. Oracle does not seem to be paying particular attention to the architectural side of building large applications. This may impact the overall ability of Oracle to deliver “the ultimate Project Fusion” some day, but in no way diminishes the quality of Fusion Middleware as a development architecture. Actually, the lack of architectural design/code generator tools will probably force Fusion Middleware to be an even better development environment than it would be with a less developer-centric approach. We can look forward to a web development environment that we cannot ignore. It will just be too good.