| By Mark Euler | Article Rating: |
|
| February 9, 2005 12:00 AM EST | Reads: |
36,368 |
Oracle has impressed most of us with its database products and, in my opinion, they offer an impressive J2EE infrastructure as well. To select the right technology for migrating the popular Alamo Rent A Car Web site from its generation-old Microsoft platform to a state-of-the-art J2EE stack, we took a close look at Oracle's latest product, Oracle Application Server 10g, in conjunction with the well-integrated Oracle JDeveloper Integrated Developer Environment. During this review, Oracle's product established itself as a formidable choice for a standards-compatible J2EE development and runtime platform. It continues to prove its enterprise-grade reliability by running the mission-critical Alamo.com Web site almost flawlessly since August. What is equally important to us is that it's a choice for the future, with industry-leading support for service-oriented architecture (SOA) and the Grid. With its Business Process Execution Language (BPEL) support for orchestrating services, Oracle Application Development Framework (ADF), integration capabilities for leveraging existing heterogeneous assets (for example, Tuxedo services written in C), a certificate authority, and even Web application service level monitoring, this product delivers a lot of bang for the buck.
Standard J2EE Support
Before talking about the bells and whistles, let's first stick to the basics. Compliance with J2EE standards was a must - we could not compromise. We extensively tested and later successfully deployed on the Alamo.com Web site all of the following J2EE 1.3 APIs:
- JavaServer Pages 1.2
- Java Servlet 2.3
- Enterprise JavaBeans 2.0
- JDBC 2.0 Extension
- 2EE Connector Architecture 1.0
- Java API for XML Processing 1.1
- Java Naming and Directory Interface (JNDI)
Early on, we decided to leverage standard design patterns for this large-scale Web site. J2EE APIs were to be employed across all layers of the application architecture via the use of:
- Model-View-Controller (MVC) architecture
- Business delegates
- Session façades
- Service locators
- Data Access Objects
We have found that Oracle's ADF helps manage the ever-increasing complexity of J2EE applications. The framework is based on an MVC architecture and allows the use of any view, model, or controller technology. The declarative data binding that Oracle developed with ADF is part of JSR (JSR-227). The framework's visual and declarative capabilities, coupled with guided-coding techniques, can increase developer productivity. We developed an application with a JSP view layer, Struts Controller, and EJB model layer using the framework. The tool is a good fit if you follow standard design patterns (we used Struts as the ADF controller), and can significantly reduce the amount of infrastructure coding.
Oracle JDeveloper is a comprehensive, integrated IDE. It also provides built-in features for standard tools such as JUnit and CVS, which are important for our development and testing process. We experienced some issues in accommodating team development; however, Oracle is addressing these issues. We were happy to hear that the next release of Oracle JDeveloper implements several enhancements for team development.
Support for Mission-Critical J2EE Deployments
Our second checkbox for selecting a serious J2EE platform was support for high availability. The Alamo Web site had to be designed for high availability, which means minimizing unplanned downtime. As you would expect from an enterprise-grade player such as Oracle, Oracle Application Server 10g did not disappoint. We successfully tested and later deployed the following built-in capabilities:
- Automatic connection rerouting
- Load balancing in the instance of a failure
- Clustered session state failover across a cluster
- Fast-start fault recovery architecture where failures or instance deaths are automatically discovered and instances are automatically restarted, reconfigured, and reclustered
It is worth noting that the August 2004 relaunch of the Alamo Web site built on Oracle Application Server 10g went off without a hitch. Since then, we have not experienced a single unplanned outage due to a Web component. All technology aside, that's what really counts.
A Complete Application Server Suite Package
Now we move beyond what you'd expect from a pure J2EE application server and highlight some key add-ons Oracle Application Server 10g delivers as part of its complete package: integration and identity management.
To test the integration capabilities of Oracle's application server (in the form of the Oracle Application Server Integration component), we built an application that leveraged existing business logic in C and Tuxedo. Using Oracle Integration and the adapters, our application exposes Tuxedo services within EJB components of several J2EE applications. This is not your everyday, standard J2EE requirement; nevertheless, it's not uncommon for a Web site operating in a heterogeneous setting. Oracle Application Server Integration and the accompanying adapters delivered on our requirement to leverage existing code. Because it behaves as a Tuxedo client, Oracle Integration does the work of transforming C language data structures into XML structures (defined at development time) that are subsequently transformed into domain objects in the EJB layer and used within the J2EE application. Without this capability, leveraging Tuxedo services within our J2EE applications would have been quite time-consuming. My only criticism addresses the efficiency of the process modeling-driven approach of the previous process integration tool. We found this to be a cumbersome way to manage the data structures and mappings required for process integration. Oracle BPEL Process Manager promises significant improvement over its predecessor.
Security is a key concern for most enterprise IT shops. A typical enterprise J2EE environment requires a robust security and identity management infrastructure. Oracle goes beyond the standard J2EE requirements, such as incorporating a JAAS provider. Oracle's Single Sign-On module provides access control to Oracle Application Server Portal (integrated into the application server) and applications, and is supported by Oracle Internet Directory (OID), which stores user identities and passwords. OID comes with an out-of-the-box Web-based GUI to set up users, which is part of the Delegated Administrative Service (DAS). We tested these capabilities and successfully leveraged the functionality to consolidate user access to internal applications.
Published February 9, 2005 Reads 36,368
Copyright © 2005 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Mark Euler
Mark Euler works for Perot Systems and currently serves as development manager for Vanguard Car Rental e-commerce applications, and systems architect for the Odyssey application, a large multitier OLTP that runs much of Vanguard?s business. He recently led a team of 15 developers in designing Vanguard?s future e-commerce architecture and redesigning the Alamo Web site, which included the development of several applications to support the Web site functionality.
- Cloud CEOs, CTOs & SVPs to Speak at 4th International Cloud Computing Expo
- Kindle 2 vs Nook
- Why IBM’s Server Chief Got Busted
- The Difference Between Web Hosting and Cloud Computing
- Cloud Computing Journal Opens "Readers' Choice Awards" Nominations
- Cloud Computing Expo: Exclusive Q&A with Yahoo! SVP Cloud Computing
- Industry Experts Discuss the State of Cloud Computing
- Ajax in RichFaces 3.3, JSF 2 and RichFaces 4
- It's the Java vs. C++ Shootout Revisited!
- The End of IT 1.0 As We Know It Has Begun
- An Introduction to Abbot
- Java Kicks Ruby on Rails in the Butt
- Interviewing Java Developers With Tears in My Eyes
- Cloud CEOs, CTOs & SVPs to Speak at 4th International Cloud Computing Expo
- 1st Annual Government IT Expo: Call for Papers Deadline July 15
- How to Diagnose Java Resource Starvation
- REA Is Where RIA Becomes the Norm
- Kindle 2 vs Nook
- Anatomy of a Java Finalizer
- Why IBM’s Server Chief Got Busted
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- The i-Technology Right Stuff
- JavaServer Faces (JSF) vs Struts
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- What's New in Eclipse?



























