Skip Headers

Oracle9i Application Server Web Services Developer's Guide
Release 2 (9.0.3)

Part Number B10004-01
Go To Core Documentation
Core
Go To Platform Documentation
Platform
Go To Table Of Contents
Contents
Go To Index
Index

Go to previous page Go to next page

2
Oracle9iAS Web Services

This chapter describes the Oracle9iAS Web Services features, architecture, and implementation.

This chapter covers the following topics:

Oracle9iAS OC4J (J2EE) and Oracle SOAP Based Web Services

Oracle9i Application Server (Oracle9iAS) supports two different Web Services options, a J2EE based Web Services environment built into Oracle9iAS OC4J, and an Apache SOAP (Oracle SOAP) based Web Services environment.

The chapters in this manual describe the Oracle9iAS OC4J (J2EE) Web Services environment. This environment makes it easy to develop and deploy services using J2EE artifacts, and is moving the Oracle Web Services features toward the evolving Web Services standards included in the next release of J2EE (J2EE 1.4). The J2EE based Web Services environment includes many development and deployment features that are integrated with the advanced Oracle9iAS features.

Appendix A, "Using Oracle SOAP" describes the Oracle9iAS support for Apache SOAP (Oracle SOAP). Oracle9iAS includes support for Apache SOAP because this implementation was one of the earliest SOAP implementations and it supports existing Web Services applications.


Note:

Oracle recommends using the Oracle9iAS OC4J (J2EE) Web Services environment for developing Web Services. The Apache SOAP (Oracle SOAP) implementation is currently in maintenance mode.


Oracle9iAS Web Services Features

Oracle9iAS provides advanced runtime features and comprehensive support for developing and deploying Web Services. The Oracle9iAS infrastructure includes support for the following:

Developing End-to-End Web Services

Oracle9iAS Web Services provides comprehensive support for developing Web Services, including:

Deploying and Managing Web Services

Oracle Enterprise Manager and the Web Services Assembly Tool assist with deploying and managing Oracle9iAS Web Services. These tools provide the following support for Web Services:

Using Oracle9i JDeveloper with Web Services

The Oracle9i JDeveloper IDE supports Oracle9iAS Web Services. Oracle9i JDeveloper is the industry's most advanced Java and XML IDE and provides unparalleled productivity and end-to-end J2EE and integrated Web Services standards compliance.

JDeveloper supports Oracle9iAS Web Services with the following features:

Securing Web Services

Oracle Enterprise Manager secures Oracle9iAS Web Services in the same way that it secures J2EE Servlets running under OC4J. This provides a comprehensive set of security facilities, including:

Aggregating Web Services

Oracle9iAS Portal facility provides the ability to aggregate Oracle9iAS Web Services within an organization into a Portal. Additionally, portlets in the Oracle9iAS Portal framework can be published as Web Services.

Oracle9iAS Web Services Architecture

Oracle9iAS Containers for J2EE (OC4J) provides the foundation for building applications as components and supports Oracle9iAS Web Services. Oracle9iAS Web Services supports both RPC and Document Style web services.

Oracle9iAS Web Services supports the following RPC Web Services:

Oracle9iAS Web Services supports the following Document Style web services:

For each implementation type, Oracle9iAS Web Services uses a different Servlet that conforms to J2EE standards to provide an entry point to a Web Service implementation. Figure 2-1 shows the Web Services runtime architecture, including the Servlet entry points.

The Oracle9iAS Web Services runtime architecture discussion includes the following:

Figure 2-1 Web Services Runtime Architecture (RPC and Document Style with Servlet Entry Points)

Text description of aswsv001.gif follows

Text description of the illustration aswsv001.gif

About Servlet Entry Points for Web Services

To use Oracle9iAS Web Services, you need to deploy a J2EE .ear file to Oracle9iAS. The J2EE .ear file contains a Web Services Servlet configuration and includes an implementation of the Web Service. Oracle9iAS Web Services supplies the Servlet classes, one for each supported implementation type. At runtime, Oracle9iAS uses the Servlet classes to access the user supplied Web Service implementation.

The Oracle9iAS Web Services Servlet classes support the following Web Services implementation types:

When a Web Service is deployed, a unique instance of the Servlet class manages the Web Service. The Servlet class is implemented as part of Oracle9iAS Web Services runtime support. To make Web Services accessible, you deploy the Web Service implementation with the corresponding Web Services Servlet.


Note:

Using Oracle9iAS SOAP, based on Apache SOAP 2.2, there is only a single instance of a single Servlet entry point for all the Web Services in the entire system. The Oracle9iAS Web Services architecture differs; under Oracle9iAS Web Services, a unique Servlet instance supports each Web Service.


RPC Style Web Service implementations under Oracle9iAS Web Services that take values as parameters or that return values to a client need to restrict the types passed. This restriction allows the types passed to be converted between XML and Java objects (and between Java objects and XML). Table 2-1 lists the supported types for passing to or from Oracle9iAS Web Services.

Document Style Web Service implementations under Oracle9iAS Web Services restrict the signature of the Java methods that implement the Web Service. Only org.w3c.dom.Element can be passed to or sent from these Web Services.

Table 2-1  Web Services Supported Data Types (for RPC Parameters and Return Values)
Primitive Type Object Type

Boolean

java.lang.Boolean

byte

java.lang.Byte

double

java.lang.Double

float

java.lang.Float

int

java.lang.Integer

long

java.lang.Long

short

java.lang.Short

string

java.lang.String

java.util.Date

org.w3c.dom.Element

org.w3c.dom.Document

org.w3c.dom.DocumentFragment

Java Beans (whose property types are listed in this table or are another supported Java Bean)

Single-dimensional arrays of types listed in this table

What Are the Packaging and Deployment Options for Web Services

Oracle9iAS Web Services are accessed as Servlets, thus, Web Services need to be assembled. The WebServicesAssembler tool prepares J2EE .ear files for Web Services by configuring a web.xml file that is a component of a J2EE .war file, and including the required resources and the implementation and support classes.

To build a Web Service with the assembly tool, you can supple a Jar file, .war file, ebj.jar, or .ear file that includes your Web Service implementation. The assembly tool then build the Web Service using configuration information specified in its XML configuration file.

See Also:

About Server Skeleton Code Generation for Web Services

The first time Oracle9iAS Web Services receives a request for a service, the Servlet entry point automatically does the following (this discussion does not apply for JMS Web Services, which are handled differently):

Understanding WSDL and Client Proxy Stubs for Web Services

Oracle9iAS Web Services provides a tool to generate a WSDL file that can be packaged with a Web Service at assembly time, or the WSDL file can be generated at runtime. This tool also supports generating client-side proxy stubs, given a WSDL file.

There are several elements to Oracle9iAS Web Services WSDL support. First, RPC style Web Services are based on interoperable XML data representations and arbitrary Java objects do not in general map to XML. Oracle9iAS Web Services supports a set of XML types corresponding to a set of Java types (see Table 2-1 for the list of supported Java types).

Second, using Oracle9iAS Web Services, an application developer can either statically generate the WSDL interfaces for a Web Service or the Oracle9iAS Web Services runtime can generate WSDL and client-side proxy stubs if they are not provided when a Web Service is deployed. These files can be generated by the runtime on the server-side and delivered when they are requested by a Web Services client.

Oracle9iAS also provides a client-side tool to statically generate WSDL given a Java class or a J2EE application. Likewise, the Web Services Assembly tool can generate the client-side proxy given a generated WSDL file or a known WSDL endpoint.

See Also:

Overview of a WSDL Based Web Service Client

Using Web Services, a client application sends a SOAP request that invokes a Web Service and handles the SOAP response from the service. To facilitate client application development, the Oracle9iAS Web Services runtime can generate WSDL to describe a Web Service. Using the WSDL, development tools can assist developers in building applications that invoke Web Services.

See Also:

Overview of a Client-Side Proxy Stubs Based Web Service Client

Using Web Services, a client application sends a SOAP request that invokes a Web Service and handles the SOAP response from the service. To facilitate client-side application development, Oracle9iAS Web Services can generate client-side proxy stubs. The client-side proxy stubs hide the details of composing a SOAP request and decomposing the SOAP response. The generated client-side proxy stubs support a synchronous invocation model for requests and responses. The generated stubs make it easier to write a Java client application to make a Web Service (SOAP) request and handle the response.

See Also:

Chapter 8, "Building Clients that Use Web Services"

Web Services Home Page

Oracle9iAS Web Services provides a Web Service Home Page for each deployed Web Service.

A Web Service Home Page provides the following:

Figure 2-2 shows a sample Web Service Home Page.

Figure 2-2 Web Service Home Page

Text description of aswsvendpoint.gif follows.

Text description of the illustration aswsvendpoint.gif

About Universal Description, Discovery, and Integration Registry

The Universal Description, Discovery, and Integration (UDDI) specification consists of a four-tier hierarchical XML schema that provides the base information model to publish, validate, and invoke information about Web Services. The four types of information that the UDDI XML schema defines are:

Oracle Enterprise Manager Features to Register Web Services

When a Web Service is deployed on Oracle9iAS, you can use Oracle Enterprise Manager to register the specific Web Service and publish its WSDL to the UDDI registry and to discover published Web Services.

See Also:

Chapter 10, "Discovering and Publishing Web Services"


Go to previous page Go to next page
Oracle
Copyright © 2002 Oracle Corporation.

All Rights Reserved.
Go To Core Documentation
Core
Go To Platform Documentation
Platform
Go To Table Of Contents
Contents
Go To Index
Index