Develop with ChoiceBy Alan Joch
You choose the technologies to drive enterprise application development.
J2EE or .NET. Mashups or portals. PL/SQL or PHP. Developers don't lack for choices when they need to build applications. There also aren't any shortages of architectures, frameworks, and platforms.
If they've been around long enough, companies have seen their development strategies evolve from mainframes and green-screen terminals to client/server architectures, GUIs, and Web services. One constant remains throughout all these changes—application developers still need to connect users to information.
"The good news is that Oracle hears the demands of developers and also has a vision to implement a lot of new functionality into their tools," says Gene Phifer, vice president and distinguished analyst at Gartner.
One of the latest signs that development change is alive and well comes with the new Oracle WebCenter, which blurs the line between traditional applications and portals. Oracle WebCenter treats portlets like any JavaServer Faces (JSF) component, which means that developers don't need to construct a full-blown portal infrastructure to include portal capabilities within an application. "That makes it more aligned with Web 2.0 ideas, including mashups, social networking, wikis, and blogs," says Duncan Mills, director of product management for Oracle Application Development Tools.
So if developers need financial-reporting screens inside a management portal, for example, they just design those screens as portlets and drop them into the target portal. "People can appreciate the possibilities of mashing all their data together without having to build a portal specifically for it," Mills says. "Suddenly, anyone can be a portal developer."
Oracle JDeveloper, Oracle's integrated development environment (IDE), gives Java and service-oriented architecture (SOA) developers a Swiss Army-knife approach to tool comprehensiveness. "You can take Oracle database tables and generate the appropriate user interface using drag-and-drop technology to rapidly build your applications," says Michael Hichwa, Oracle vice president of database tools.
Developing with Java Tools
The National Forest Center, in Zvolen, Slovakia, chose Oracle JDeveloper and Oracle Application Development Framework (Oracle ADF) when it needed to build an easy way to track data on the health of the country's forests. The agency's Information Department created a custom Web application called the Forest Management Plan to help the Center in its mission to regulate the forests. With Oracle Database 10g as a foundation, staff members used Oracle JDeveloper and Oracle ADF to craft an application that merged forestry data with forestry maps using Oracle Spatial MapViewer. Now members of the Center and other officials can analyze growth patterns, the range of individual species, and other data to help manage lumber harvests.
The Center compiles forestry data manually using field agents and then puts the information online with its custom application. "Access to the information over the internet wasn't possible in the past," says Branislav Nemec, lead developer in the National Forest Center's IT department. "We had to make a copy of the database or produce reports and distribute them to people," he says.
Nemec credits Oracle JDeveloper's visual editing capabilities with helping his department create the program in about three months. "We had narrowed our choices between Oracle JDeveloper and Borland's JBuilder," he says. "We chose [Oracle] JDeveloper because it provides a simple object table mapping to Oracle Database and a mature framework for declarative development of business logic layer and data binding. We were able to develop the application without writing a lot of code."
The National Forest Center's experience with Oracle JDeveloper demonstrates that Oracle JDeveloper has met its design goals. "The main thrust of our IDE efforts over the last few years is to give developers a comfortable place to work," Oracle's Mills says.
"I can take Struts developers and give them a JSF project, which is a whole new set of technology. But they'll get an identical development experience," says Mills. "They may not understand the underlying metadata, but they'll understand the page because it looks familiar. They can quickly get up to speed on the new technology because all the user gestures are the same."
Oracle JDeveloper also helps developers use metadata, which is an important skill for SOA development. "The prime rule for our metadata management within the IDE is to ensure that the metadata you're editing is the metadata you run," Mills says. "Essentially, in the design time, they're building live runtime metadata right in the IDE. Developers don't have to go through a separate generation step before deployment."
Oracle SQL Developer provides a similar graphical IDE framework that lets SQL developers and database administrators create and compare tables in the database, view the data within the database, write SQL queries, and run SQL scripts. These capabilities, along with free distribution, have helped make Oracle SQL Developer one of Oracle's most popular downloads.
Network Solutions relies on Oracle SQL Developer for its database development. One of the original domain-name registrars for Web sites, the company has expanded to become a one-stop shop for small-business Web site development and services such as online selling, pay-per-click advertising, and secure mail.
The company's main operational databases are Oracle databases, chosen for their ability to handle large-scale, high-volume transactions. The company relies on PL/SQL to provide interfaces among the databases and the applications.
PL/SQL's versatility helps Delmolino relieve Java programmers of data-handling tasks so they can focus on business logic. Delmolino uses stored procedures in a strategy that doesn't allow applications to access the database directly. "All of those applications use the main databases and call our PL/SQL for procedures and practices," he explains. "Our application developers are mostly Java- or PHP-savvy individuals. We wanted to focus the SQL development in the hands of people who are best suited for that. By having everything in PL/SQL, we can have a dedicated group of database developers who can ensure that those codes are of the highest quality, are heavily optimized, and are very fast and also consistent."
The company's PL/SQL developers give Oracle SQL Developer high marks for its code editors and for its ability to collapse code when analyzing long stored procedures. "That gives us flexibility in our development environment," Delmolino says.
Lipper, a wholly owned subsidiary of the international news organization Reuters Group PLC, uses an Oracle database and the Microsoft .NET platform to create applications that help investors and the financial community analyze collective investments, such as mutual funds. Much of the financial information comes in the form of charts and spreadsheet-like grids. Lipper's databases hold many terabytes of data that is constantly being updated. "Getting [the data] into a presentable and usable manner on our end users' desktops is the challenge that we conquer," says Bill Evjen, technical architect at Lipper.
Lipper recently decided to revise one of its core analytical applications to make it run on a new SOA environment that makes acquiring and delivering data more efficient. Lipper created the SOA with a new Oracle 10g database and added new APIs, Web services, and application layers. The company used Microsoft Visual Studio 2005 to build its Web services layer and Microsoft Windows Forms to develop the premium desktop application. The developers used PL/SQL to work with the Oracle back end.
For its .NET developers, Lipper uses Oracle Developer Tools for Visual Studio .NET to enable browsing and modification of Oracle database objects. This plug-in integrates directly into Visual Studio 2005, providing developers with an easy-to-use database development and administration tool, which helps both new and advanced Oracle users be more productive by simplifying many tasks, such as dragging and dropping objects to auto-generate .NET data access code and integrated PL/SQL debugging.
For data access, Lipper considered Oracle's and Microsoft's respective .NET data providers for Oracle Database and settled on Oracle Data Provider for .NET (ODP.NET). "The two products were like night and day," Evjen says. "The No. 1 reason why we went with ODP.NET is that it has a tremendous capability to integrate with the features that Oracle Database 10g provides. The Microsoft data provider for Oracle is very limited in its ability to interact with Oracle."
Evjen especially appreciated ODP.NET's performance tuning and flexible data querying features. These are important because Lipper's customers require fast data access. The company built a caching engine in its Web services layer that reduces the number of round-trips back to the database to retrieve information, thereby improving application performance for Lipper's end users.
"We built a complex caching engine that takes into account what data a user is entitled to access as well as what kind of assets they're querying against," Evjen observes. "The caching system works from a configuration file that allows us to fine-tune the fetch-size properties."
The fast performance of this entire architecture is one way Lipper measures the success of its new SOA efforts. The other way to measure SOA success is by the feedback it gets about the new application from customers. "The amount of new services and capabilities that it offers is above anything else in the field," Evjen says. "We couldn't send terabytes of data down to every client before. Now, we can perform calculations instantaneously over tens of thousands of instruments and deliver information through Web services down to the consuming application—that has a tremendous 'wow' factor."
Open Source Opens Options
"Oracle is committed to its leading Java and service-oriented architecture development environment, Oracle JDeveloper. At the same time, we are also committed to offering developers productivity with choice," says Omar Tazi, Oracle's chief open source evangelist. "For developers who choose to use Eclipse, Oracle is committed to delivering the same productivity that customers using Oracle JDeveloper experience." That's one of the reasons Oracle joined the Eclipse Foundation as a strategic developer and board member, Tazi explains.
Oracle contributes developers and leadership to three projects at Eclipse: the Dali JPA Tools Project (Project Dali), which concerns tools for Java Persistence API-style object-relational mapping; the JavaServer Faces Tooling Project, which involves simplifying development and deployment of JSF applications; and the BPEL Project, which focuses on adding comprehensive support to Eclipse for key BPEL 2.0 processes. Most recently, Tazi observes, Oracle donated its Oracle TopLink source code and test cases to the open source community and has proposed an Eclipse project (called Eclipse Persistence Platform, or EclipseLink) to deliver a comprehensive persistence platform.
But Eclipse is just the beginning of Oracle's commitment to open source technologies. Open source scripting languages are becoming popular tools for Oracle developers. "Oracle customers find PHP's ease of development very attractive. Its mature and flexible technology makes Web application development faster and cheaper," says Tazi.
Developers can take advantage of Zend Core for Oracle, a free, prebuilt PHP stack that removes the hassle of building and configuring PHP.
"Zend Core for Oracle bundles all the necessary software to connect to an existing database," Tazi says. "Combined, the PHP-Oracle technologies allow Web 2.0 applications to be highly scalable and manageable."
The online automobile sales site AutoMart.com puts the Zend platform to work. The site manages about 1.4 million vehicle listings, and each day it updates more than half a million records, so its applications and database must offer high availability and high performance. AutoMart.com's developers use PHP in the Zend stack for nine Web servers that connect to their Oracle database.
Christine Nemeth-Cooke, IT manager at AutoMart.com, says that one of the team's greatest challenges is to turn around greater volumes of data from car dealers in shorter amounts of time. "One of the company's business demands is to sign up dealers every day, so the challenge for us is to get the data online faster," she says. "Processing all that data each day is a big challenge."
The high volume of data and faster turnaround times make the technology's reliability and ease of use for developers especially important. Nemeth-Cooke says, "We chose the Oracle-PHP combination for our Web application because of the reliability and high availability we can establish with Oracle and the clear, simple learning curve for programmers to be productive with PHP coding."
In addition, AutoMart.com uses PHP to process the images of automobiles that the company posts on its site. "We use PHP scripts that process the images, whether we grab them from another site or they're dropped in from an FTP server. PHP is great for moving stuff around on the operating system as well as writing records into the database," says Nemeth-Cooke.
For the company's database development, the team relies on PL/SQL and Oracle SQL Developer. "We use PL/SQL scripts to run our database feeds, reports, and daily maintenance routines," says Dan Gaertner, AutoMart.com's database manager.
"The way our Web site is set up, we use a class called ADOdb that plugs into Oracle," says Peter Bassi, Web development manager at AutoMart.com. "It's a class written in PHP, and it takes care of the communications between our Web applications and the database. Zend [Core for Oracle] has everything we need and more. It allows us to run queries and develop code and helps us with debugging."
A Diverse Landscape
As these companies demonstrate, developers have a diverse tools landscape to work in today, and that landscape promises only to become richer tomorrow.
"Developers have always had interesting jobs in IT, and I only see that getting more interesting and more challenging," says Gartner's Phifer. "These tools will expand and benefit the developer community, because they allow developers to focus on the high-value things that they can do—that only they can do—while meeting the needs of the organization faster than they've ever been able to before."
Alan Joch (firstname.lastname@example.org) is a technology writer based in New England who specializes in enterprise, Web, and high-performance-computing applications.