In-Depth

Oracle tools strategy: 10G signals grid direction

Oracle has been in the spotlight since its hostile takeover bid for PeopleSoft broke at the end of May. It is a compelling story -- filled with bad blood, colorful execs and lawsuits. But the resulting focus on Oracle’s place in the fiercely competitive business applications market has overshadowed its evolving tools strategy -- an equally compelling story for anyone building apps.

In the days ahead, that evolution will take some new steps forward. Oracle is preparing to update some tools -- with more than a passing nod to its database systems roots -- to play better in the emerging arena of Grid computing.

While Oracle-as-toolmaker is usually overshadowed by Oracle-as-database-maker, the Silicon Valley-based firm is a major force in the development world, and it has increasingly tried to broaden its tools beyond database-centric design. Oracle has committed years and significant resources to its software development products, and considers its tools business to be nothing less than a driving force behind sales of its other offerings.

“To the extent to which we can get developers working with the Oracle platform, that’s good for our business as a whole,” said John Magee (left), vice president of application servers and tools in Oracle’s product marketing group.

“We invest a lot in developers and development tools beyond any revenue they might immediately generate. More specifically, we view developer productivity as strategic to our long-term growth and goals as a company,” he said. “Where developers go, the mindshare of the platform goes, and that drives our revenues.”

Few observers question that Oracle’s current tools strategy is closely linked with its applications and market-leading database businesses. As the company has moved to create viable middleware platforms in recent years, the links have not always been as tight as some would suspect, however. In fact, developers complained that early versions of Oracle’s Java development product provided little support for building apps that would interact with the Oracle DB. That is a far cry from when Oracle tools were tied at the hip to its flagship database.

Today, Oracle works like others to position its app servers and tools as potential standalone offerings. Like others, it seeks to ease the burden of Java development and to increase enterprise developer productivity.

The original incarnation of the AppBuilder for Java tool was spawned by source code from Borland’s JBuilder, which Oracle licensed in 1997. Using that source code as a foundation, the firm released Version 1.0 of the tool in 1998.

That early version evolved significantly over several generations into a complete IDE, renamed JDeveloper. The 3.0 release of the tool introduced Business Components for Java, a J2EE framework designed to provide design-time facilities and runtime services to simplify the task of building, debugging, customizing and reusing business components. The idea was to reduce the complexity of building enterprise apps by giving developers built-in solutions for common requirements. That goal of reducing the complexity of the software development process would continue to influence the evolution of the company’s flagship dev tool.

In fall 2001, Oracle introduced Oracle9i JDeveloper, a completely rewritten and 100% pure Java version of the product. Oracle would soon combine the IDE and business intelligence (BI) tools into a single product bundle, dubbed the Oracle9i Developer Suite. The suite was designed to allow users to build transactional apps that could be deployed to multiple channels, including portals, Web services and wireless platforms, and that could be extended with BI capabilities, such as ad hoc query and analysis, Web reporting and advanced analysis.

The new tools suite was specially tailored for the three standard-based technologies -- Java, XML and SQL -- Oracle considers essential for delivering applications today. The product also embraced the increasingly popular notion that development products should provide for the entire software development life cycle, combining tools for modeling, deployment, debugging, version control, dependency management, impact analysis and performance profiling into a single environment. And it included collaborative development capabilities for distributed project teams.

Magee claims that, based on informal surveys on the Oracle Technology Network Web site, more than half of the app developers currently using JDeveloper are building apps for other platforms. “That’s a departure from trends of the past couple of years, and we believe it’s the result of the emergence of standards-based technologies,” he said.

“Today, with Java we’ve entered the standards-based development market,” Magee noted.

Still, Oracle admits that its dev tools are most compatible with its own DB and app server. Its Web site puts it this way: “While Oracle9iDS is designed to be open with support for the latest Internet standards -- including J2EE, XML, WSDL, SOAP, UML, WebDAV, XMI and SQL -- the suite works best with the Oracle9i Database and with Oracle9i Application Server. Oracle9iDS takes full advantage of the infrastructure offered by Oracle’s deployment servers to simplify deployment and database interaction.”

“People can -- and do -- use our tools to build apps for other platforms,” Magee said. “That’s OK with us,” he quipped, “we’ll just migrate them later.”


Brewing JDeveloper

Version 9.0.5 of the JDeveloper IDE, which previewed at the JavaOne show last June, emphasized ease-of-use features, such as the new Application Development Framework (ADF) that was designed for programmers lacking the high-level skills of systems programmers. The move -- like moves by BEA, IBM, Sun and others -- can be viewed as an attempt to simplify Java development so that larger ranks of developers can work in the Java space and, not incidentally, to offer a competitive alternative akin to Microsoft’s Visual Basic. Along with the more sophisticated features preferred by advanced coders, the new version generates low-level infrastructure code for tying apps to databases and for passing data between user interfaces and business objects.

“At first, we thought we had basically two different types of developers that we wanted to serve -- coders with high-level skills and what we call ‘business developers,’” said Ted Farrell (left), architect and senior director of strategy for application development tools at Oracle. But reaching a consensus on how to deliver such “dual-functionality” was not easy.

“JDeveloper has an extensible architecture, so we kicked around the idea of literally building and packaging two separate tools,” said Farrell. “Almost instantly, we found ourselves in huge arguments over which feature should go into which version of the tool.

“Then we thought about developing a ‘power mode’ for the coders and a ‘fluff mode’ for the others,” he continued. “But we ran into the same problems. Finally, we concluded that our assessment that there are just two types of users was off. In fact, there are probably thousands of types of users on a sliding scale of skills and experience.”

Based on the Model-View-Controller (MVC) architecture, the Application Development Framework is designed to allow developers to focus on the business logic rather than on the underlying technologies. It provides users who have a less-than-expert command of J2EE with visual, declarative and guided coding features. Developers manipulate the application’s meta data using visual tools, while the framework executes the application in the most efficient way using industry-standard J2EE design patterns.

Those visual tools include UML tools to model and generate business logic; visual editors to lay out client user interfaces (UIs); page flow modeling to define and control navigation between pages; and drag-and-drop data binding into UIs.


The next generation

Oracle is now poised to release its next-generation software development tool, which has been renamed to reflect the company’s bet on the emerging enterprise grid-computing model. Oracle JDeveloper 10G will officially debut at the OracleWorld conference in San Francisco on September 7, along with Oracle Database 10G and Oracle Application Server 10G, which are based on the Oracle Grid Architecture.

Oracle has called grid computing “the most flexible and cost-effective way to manage enterprise information and applications.” The company expects the model to proliferate, and has designed its new toolset to support developers coping with the challenge of building apps that must function across a distributed network of devices. Grid, if it catches on, would seem to play to Oracle strengths.

The newest version of the Oracle development tool will include a capability Farrell calls “technology scopes” that allows users to specify the combination of technologies they want to incorporate into their apps. For example, to build a Web service that users can interact with through a portal interface, a developer might decide to use EJB components, TopLink optimizers, Struts and the related tools for visually developing with Java, XML, SOAP, WSDL and portlets.

“We see software tool vendors delivering these one-size-fits-all development environments,” Farrell said. “The productivity gains offered by these tools tend to come at the expense of flexibility, locking developers into vendor-specific application designs, development approaches, app servers and OSs. All of that is antithetical to Oracle’s philosophy.

“The last thing we want [to do] is to lock developers in,” he noted. “Technology scopes introduces a flexible new approach to the software development process that enables developers to achieve productivity with choice.”

Another feature, dubbed MyJDeveloper, allows a user to designate a preferred approach to development, enabling the developer to choose, say, wizard-driven code generation or visual modeling-based UML. Catering to developer preferences in this way could also appeal to organizations that want to standardize on a single development environment that meets the requirements of a range of developers with different skill sets and development approaches.

Essentially, the combination of the two features allow users to personalize their development environments to support a variety of standards-based technologies and development methodologies, including OO programming, component-based development, visual modeling and Rapid Application Development with automatic code generation. The resulting apps and Web services can be deployed on any J2EE-compliant application server and will run on all major OSs, including Linux, Unix and Windows, said Oracle reps.

“The message of Oracle JDeveloper 10G is productivity with choice,” said Farrell. “The idea is to make you productive without locking you in. The J2EE runtime itself is so successful because people can adapt it to what they already have. We want to do that as well. We don’t want to dictate your architecture. We want to help you to be productive, to build apps better and faster regardless of which technologies you chose.”

Oracle integrates business intelligence capabilities directly into its developer tools suite through a set of JavaBeans called Business Intelligence Beans (BI Beans). The company began to include its BI Beans in the developer tool last summer, ostensibly responding to increasing developer demand.

“We were seeing more developers working with traditional business intelligence functions,” said John Entenmann (left), vice president of Oracle’s business intelligence products and tools group. “We decided to deliver this functionality as reusable JavaBeans components that a developer could drop into an existing application.”

BI Beans comprise a number of components, including presentation beans (graph, crosstab and table), OLAP beans (query and calculation builders), and catalog services. Working together, the beans leverage the Oracle9i technology stack, exploit the advanced analytic features of Oracle9i, and increase app developer productivity by using JDeveloper as the development environment for business intelligence applications.

Oracle sells several of its own BI applications (Warehouse Builder, Discover, Reports Builder) that were built with BI Beans, so it is somewhat surprising to find that the company not only provides them as an integrated part of its developer suite, but also makes them available to developers a la carte.

“We’re basically saying, you can have them to build your own stuff,” Entenmann said. “You can use them in any Java development environment -- Visual Café, JBuilder, whatever. Of course, you can also use it with JDeveloper, where they are tightly integrated.”


Pushing standards

As part of its Java development tools strategy, Oracle has become a greater participant in a series of ongoing standards efforts. A good example is the Java Specification Request for the XQuery API for Java (XQJ), submitted by Oracle and IBM earlier this year to the Java Community Process (JCP). The stated specification design goal is to “develop a common API that allows an application to submit queries conforming to the W3C XQuery 1.0 specification to an XML data source and to process the results of such queries ....” (For more on XQuery, see “XQuery percolates” by Johanna Ambrosio).

Basically, XQJ creates Java bindings for XML queries, explained Sandeepan Banerjee (left), Oracle’s director of product management for XML. It provides a way to invoke XML queries from Java and deal with the results returned by queries in Java -- similar to the way JDBC allows users to embed SQL queries in Java and to deal with the returned results of SQL queries in the Java programming environment. “What JDBC does for Java and SQL, XQJ does for Java and XML,” Banerjee said. “Essentially, it brings the XML and Java worlds together.”

While clearly promoting its own interests and vision, Oracle also sees its support of standards like XQJ as another way to help developers.

“One of the interesting tasks for the developer is to deal with not only individual standards such as XML, but to make different standards work with each other,” Banerjee said. “The three dominant standards in the enterprise software development space today are SQL, Java and XML, and we feel strongly that these standards need to keep working toward each other in terms of interoperability.”

Oracle sees XML support in particular as “a requirement for application development tools today,” and includes XML developer kits with its JDeveloper products. The XDKs comprise basic sets of building blocks for reading, manipulating, transforming and viewing XML documents. The Oracle XDKs are available in a range of flavors, including Java, JavaBeans, C, C++ and PL/SQL. According to Banerjee, the production Oracle XDKs are fully supported and come with a commercial redistribution license.

“We see [the XDKs] as an ever-growing set of toolkit items that we add based on the most common programming tasks people want to encapsulate,” Banerjee explained. “All of them have been distilled from our experience of what people are trying to do.”

Banerjee said XML has become the “ubermodel” that handles both structured and unstructured data, allowing developers to build richer apps that combine a range of data sources, from text documents to graphics, sound and video.

“XML is interesting and challenging to application developers,” he explained. “They are being asked to write more loosely coupled applications that have to interact more and more with data sources and apps that they do not control -- not to mention partners, extranets and so forth. The application development task has become more conservative in terms of being able to resist change and to gracefully handle many different unanticipated users in the future. [But] it also has to make the most of partners, extranet communications, non-owned data sources and so on,” Banerjee said.


Support networks

Developer support networks have generally become an integral component of the software development process, and Oracle could hardly call itself a toolmaker without one. Magee calls the Oracle Technology Network (OTN), the company’s online developer program, “a real success story,” having just passed the 3 million-member mark, by its own estimates. The OTN sees about 500,000-plus unique visits per week, Magee said.

OTN provides services and resources to developers for building, testing and deploying applications using Oracle products and industry-standard technologies. The Oracle9i “Example Series” offers free online courses to help developers get up to speed on Oracle tools.

“This is a place where developers come to download software, read white papers and participate in discussion forums,” Magee said. “And it’s a place where we get to learn what our users need and want in upcoming versions of our tools.”

The company also provides a number of hosted development services, Magee said. “If you want to play around with wireless development, for example, and you don’t want to set up a WAP gateway and install a wireless server and everything else, you can go online and use our hosted server, build your JSP wireless application, and then deploy it,” he said.

Oracle is also expected to introduce a hosted testing service designed to enable corporate developers to test their programs for conformity to emerging standards for connecting apps to Web-based portals. Specifically, the Oracle Portal Verification Service tests for compliance with the Web Services for Remote Portals (WSRP) specification from OASIS, and the Java Specification Request 168 standard for portlet interoperability. Portlets are small apps that handle requests for, and delivery of, data.


Oracle’s market share

Despite its technological successes, industry analysts at Framingham, Mass.-based IDC report that Oracle has lost a significant share of the tools market in recent years. In 2001, Oracle ranked third among tool vendors, behind Microsoft and IBM, respectively. The company dropped to number five in 2002, slipping behind Borland and Software AG, for a whopping 47% market share loss. (Those rankings are based on IDC’s vendor revenue statistics for worldwide “unified development environments” software.) Sales of Oracle’s database were off last year, and so the tools market loss was an expected result.

However, it is hard to determine market share based solely on sales figures when the product in question is given away so often.

“They’re a decent set of tools, but they’re not the best tools on the market primarily because of the Oracle ‘hook’ in them,” said IDC analyst Rikki Kirzner. “Anyone doing serious development for Java outside the Oracle database is going to use some other brand of tools.”

The chief obstacle in the way of JDeveloper’s growth among non-Oracle developers, Kirzner said, is its tight integration with Oracle’s database.

“Most of what Oracle promises you can achieve by using its tools is not achievable if you try to eliminate the database as one of the variables,” she said. “As long as you swallow the database, it’s a very nice toolset.”


Oracle’s strategy

According to Dana Gardner, an analyst at The Yankee Group in Atlanta, the tools offered by most platform vendors serve as a kind of beachhead from which they can launch their other products. That is the basic tools strategy for companies like Microsoft, IBM and BEA, he said, and Oracle is no exception.

“The tools offered by the platform vendors tend to serve as a leading edge that allows you to build allegiance from the developers,” Gardner said. “You make their lives more productive, give them what they need to get their jobs done and they, in a sense, reward you by creating applications that run on your systems. Those applications, if they’re popular and successful, require more systems and assets. And that’s how the vendor ends up making more revenue.”

Oracle’s chief advantage here is its large installed base of database customers, noted Gardner, the tight integration of the DB with its app server, and its increasing share of the business application suite market.

“If you use the 80-20 rule,” he said, “which suggests that, while the shrink-wrap products might provide 80% of what you need, there’s still 20% that you need to customize on your own to integrate with your business. That’s where the tools strategy comes in.”

Gardner characterizes Oracle’s overall tools strategy as strong and market-savvy. “They’ve been mindful that their customer base -- database administrators and DB-oriented developers -- are the ones who are increasingly being asked to help with the integration and application logic development that serves as the underpinnings of portals and, ultimately, the focal point where business apps come together. This is [where] business process advantages and productivity will be gathered from across many different data sets and app sets.”

In addition, he said, “they also recognize that Java development needs to appeal to a broader base of developers, and they’ve been smart about creating a lot of wizards, [and] a lot of graphical and automated tools, to do Java and portal development.”

Oracle’s tools strategy is inextricably tied to its overall platform strategy, said Gartner Inc. analyst Mark Driver. Gartner considers the JDeveloper product line to be a leader in the Java development tools market, Driver said, but it is not the tool of choice among independent developers. With such a big share of the database market, many developers are using Oracle’s tools, he said, but so far, few are using Oracle’s tools for anything but Oracle database-oriented projects.

“It’s very unlikely that anyone is going to look to JDeveloper to deploy against, say, a WebSphere or DB2,” Driver said. “That’s a different equation than for Borland, for example, or for one of the other independent tool vendors. Oracle is much like Microsoft in that the company has a family of very tightly integrated tools.”

Oracle’s emphasis on standards and more open technologies differentiates its tool strategy a bit, Driver said. As a provider of a Java-based dev tool, Oracle can leverage the openness of the language and veer away from more proprietary approaches, which customers like.

“The bottom line is, the more Oracle-centric you are, the more likely you are to use their tools,” Driver said. “[Oracle] doesn’t really have a tools strategy that is independent of its middleware. I know that they would like to establish a reasonable momentum independent of the other bits and pieces, but that just hasn’t happened yet. It would be like saying that Microsoft has a tools strategy that’s independent of the Windows operating system. It just doesn’t work.”

None of which, Driver said, is a particularly bad thing. “[This strategy] gives them control of their destiny. It allows them to create a very tight synergy between frameworks, the runtimes that those frameworks run on, and the tools that are used to build apps based on those frameworks. That’s their value-add, and that’s been the model for Oracle from Day One. And it’s a good strategy.”

Please see the following related stories: “Analysis: Oracle helmsman on a tear?” by Jack Vaughan

Analysis: Grid gets another fan” by Jack Vaughan

Or, click here for an extended look at Oracle from ADT's August 1999 issue.