Write once, run everywhere -- no kidding
Primed for business, Oracle 10g AS Release 2 frees Java apps from traditional server binds
With metadata mappings, business processes are debugged by businessmen, not developers. Your developer will need direction from business staff to create an initial geek-to-English (or whatever the local language is) translation during design, but after deployment you won’t need Java jockeys with magic decoder rings to make sense of your solution’s processes and data. Filling the metadata becomes an easy, integrated part of best-practices-based development and deployment.
AS 10g executes BAM (business activity monitoring) perfectly. The beauty is, once again, the ability to put the businessman in the driver’s seat. The elements you’d expect from a BAM implementation, such as a rules engine and a notification profile, are present, of course. I got hooked on the accessibility of the interface and on the cleverness, flexibility, and efficiency of Oracle’s approach. Agents on server nodes maintain connections to a hub (which is in turn connected to the metadata repository) that handles process orchestration and coalesces inbound data from AS 10g servers. The agent/hub approach simplifies after-the-fact BI analysis of data and transactions by obviating the need to know which specific server did the work, or even where the data landed. That helps to enable the grid support built into AS 10g Release 2, but the agents also feed BAM.
The hub and agents work together to watch for the data changes and trends that users and applications -- through Web services, Java code, connectors, and other means -- have selected for real-time notification. There’s no need for message queue taps or hand-coded database triggers.
Oracle wins points for the portability and consistency of its user interfaces, both of which deepen AS 10g’s overall feel of tight integration.
Further, Oracle’s JDeveloper IDE has an embedded OC4J (Oracle Containers for Java) implementation, which is largely based on open source software. You could certainly install and configure the open software yourself, but Oracle has assembled its core Java server from validated parts, wired in ready-to-run configurations, and combined everything into a one-click (at least on my Mac systems) install. OC4J lacks the enterprise scalability and connectivity of AS 10g and other full-blown J2EE servers, but I found JDeveloper’s embedded OC4J to be a blessing not only during development, but also in testing.
JDeveloper, which we recently reviewed, is a marvel. I’ll let our review handle the details, but there’s one trait of JDeveloper worthy of special mention: one-step deployment. If you color within the generous lines of J2EE 1.3 or 1.4, the IDE will perform a fully automated deployment to the Java server of your choice. It reached out to my Xserve-hosted JBoss and Tomcat/OC4J with ease, in both cases leaving me with apps that were ready to run.
The sample apps I built and deployed across Windows, Linux, and OS X demonstrated the portability, interoperability, and application intelligence that Oracle brings to large-scale Java server apps. But I may have learned the most from a trivial inventory control application I built to simulate a narrow range of b-to-b interactions.