As Published In

Oracle Magazine
July/August 2004
Cover Feature Contents

Scoring with Web Services

A Winning Combination

Beyond the Basics

End-to-End Web Services



Cover Feature

End-to-End Web Services for a Real-Time Enterprise
By Kelli Wiseth

Oracle is supporting Web services throughout the product stack, not only by providing the J2EE 1.4-compliant infrastructure that enables organizations to develop and deploy Web services but also by exposing important APIs as Web services. The overall direction is toward a fully realized real-time enterprise that can interact programmatically and automatically in business contexts with other enterprises, thanks to applications that follow a service-oriented architecture design pattern and expose functionality as Web services endpoints supported in virtual business paradigms that leverage the power and cost-effectiveness of enterprise grid computing. Upcoming releases of Oracle products across the board will be exposing more functionality such as Web services to make this possible.

Oracle E-Business Suite applications will be exposing functionality as business services in upcoming releases through the integration repository, a catalog of business services (interfaces, available methods, locations) that will be available to all Oracle products, according to Arthur Kruk, vice president of Research and Technology in the Oracle Applications division. "Our plan is to provide service-oriented behaviors from within the Oracle applications suite as Web services," says Kruk, "to enable companies that use Oracle applications to expose certain types of Web services to their customers' applications, for direct information access."

Oracle Collaboration Suite is also exposing key functionality as Web services. Using the Oracle Calendar SDK, for instance, developers integrate calendaring data and functionality—search, create, modify, and delete calendar events—into their own applications. The Oracle Calendar SDK provides a set of Java classes that can be used with any Java IDE (such as Oracle JDeveloper) to create clients that make SOAP calls to the calendar server database.

In Oracle Database 10g, in addition to exposing APIs as Web services, Oracle also provides the means to expose core database functionality and code as Web services and consume dynamic data available externally as Web services. According to Kuassi Mensah, group product manager in Oracle's Java and Web Services Platform Group, the JPublisher utility provides an easy entry point to Web services development, because it doesn't require any new skills. A database administrator or a PL/SQL programmer can simply use JPublisher to publish traditional database constructs—PL/SQL packages and stored procedures, Java classes in the database, SQL queries, and SQL DML (data manipulation language) statements, for example—as Web services. Under the covers, the generated Java proxy is deployed to Oracle Application Server. Conversely, a JAX-RPC-based Web service client framework in the database allows JPublisher, given a WSDL, to generate all needed database-resident pieces, including Java client proxies, PL/SQL wrappers, and scripts; any database session can directly invoke the corresponding external Web service and optionally treat the resulting data as a virtual table.

Oracle Application Server 10g provides a J2EE-1.4-compliant container (Oracle Containers for J2EE [OC4J]). Using J2EE 1.4 is the standard way for J2EE providers to implement the Web services capabilities in their containers; Oracle's container was certified as meeting Sun Microsystems' compliance test suite (CTS) in March of this year. An important element J2EE 1.4 compliance brings to OC4J is built-in support for JAX-RPC (Java API for XML-based RPC [remote procedure calls]), the API for building Web services and clients. Other J2EE 1.4 APIs for Web services include JAXP, the Java API for XML Processing, and JAXB, the Java API (Architecture) for XML Binding. Several other evolving J2EE standards have been implemented in Oracle Application Server, including the following:

  • JMX (Java Management Extensions), a Java-based API that can be used by management tools, such as Oracle's Grid Control, to configure a J2EE application.
  • JSR-77 (J2EE Management), a standard model for managing the J2EE platform (server resource management and application lifecycle management), using management information formats and protocols.
  • JSR 88 (J2EE Application Deployment), standard APIs for installing, configuring (resolving external dependencies), and removing an assembled application to (or from) a J2EE-compatible platform.

Oracle JDeveloper 10g lets developers use a visual, declarative, standards-based development environment to write JAX-RPC-based Web services endpoints and the clients that call them, generating much of the low-level code automatically. Oracle JDeveloper 10g provides a full development environment for building Web services, for Java, EJB, and PL/SQL programmers alike. In addition to being used for building services and clients, JDeveloper supports the full lifecycle, from discovering services in UDDI repositories, one-click Web service client generation, and visually modeling Web services to deploying and testing them. For testing purposes, JDeveloper provides a TCP-Packet Monitor, for inspecting XML messages that are interchanged, and a WS-I analyzer, to verify the interoperability according to the Basic Profile standard.

In addition, according to Roel Stalman, Oracle product manager of Development Tools, Oracle JDeveloper's application development framework (ADF) is essentially an implementation of a service-oriented architecture. ADF provides an abstraction to business services to let developers work with Web services, BC4J, EJBs, or Oracle Application Server TopLink objects, for example, abstracting away the low-level details to simplify the task and allow developers to focus on the business services.


Kelli Wiseth (kelli@alameda-tech-lab.com) is technology director at Alameda Tech Lab and Research Center (alameda-tech-lab.com).


Please rate this document:

Excellent Good Average Below Average Poor


Send us your comments

E-mail this page
Printer View Printer View
Oracle Is The Information Company About Oracle | Oracle RSS Feeds | Careers | Contact Us | Site Maps | Legal Notices | Terms of Use | Privacy