1 Understanding Web Services

This document describes Web services in Oracle Fusion Middleware, including Oracle Infrastructure Web services and Java EE (WebLogic) Web services.

Sections include:

New and Changed Features for 12c (12.1.2)

Oracle Fusion Middleware 12c (12.1.2) includes the following new and changed features for this document:

  • Reflects the Oracle Fusion Middleware product suites delivered in the 12.1.2 release.

  • Reflects full support for RESTful Web services and clients.

What Are Web Services?

A Web service is a program that can be accessed remotely using different standards-based languages. What this program can do (that is, the functionality it implements) is described in a standard vocabulary.

Major benefits of Web services include:

  • Interoperability among distributed applications that span diverse hardware and software platforms

  • Easy, widespread access to applications through firewalls using Web protocols

  • A cross-platform, cross-language data model (XML) that facilitates developing heterogeneous distributed applications

Web services are characterized by three factors:

  • What they do (the business functionality they expose).

  • Where they are (the web site which exposes that functionality).

  • How they can be accessed (the set of published interfaces necessary to use the exposed functionality).

Web services rely on XML-based and other industry standards:

  • Extensible Markup Language (XML)—A data format that allows uniform communication between Web services consumers and Web services providers.

  • XML Schema—A framework that describes XML vocabularies used in business transactions.

  • Simple Object Access Protocol (SOAP)—A protocol for exchanging structured information in the implementation of Web services.

  • Web Services Description Language (WSDL)—An XML-based language providing a model for describing SOAP-based Web services.

  • Web Application Description Language (WADL)—An XML-based language providing a model for describing RESTful Web services.

  • WS-Policy—The WS-Policy framework provides a flexible and extensible grammar for describing the capabilities, requirements, and general characteristics of Web services using policies.

  • Universal Description, Discovery, and Integration (UDDI)—A framework to publish and look up Web services on the Internet.

For example, a banking Web service may implement functions to check an account, print a statement, and deposit and withdraw funds. These functions are described in a WSDL file that any consumer can invoke to access the banking Web service. As a result, a consumer does not have to know anything more about a Web service than the WSDL file that describes what it can do.

A Web service consumer (such as, a desktop application or a Java Platform, Enterprise Edition client such as a portlet) invokes a Web service by submitting a request in the form of an XML document to a Web service provider. The Web service provider processes the request and returns the result to the Web service consumer in an XML document as shown in the example below.

Figure 1-1 Example of SOAP Message Exchange Between Web Service Consumer and Provider

Description of Figure 1-1 follows
Description of "Figure 1-1 Example of SOAP Message Exchange Between Web Service Consumer and Provider"

In this example, the Web service consumer sends a request in the form of a SOAP message (SOAP is an XML messaging framework designed to allow heterogeneous applications to exchange structured information in a distributed environment). The Web service provider (www.xmethods.com) processes the request and returns the response, in this case the stock quote for Oracle. In the example above, the Web service provider may have asked for credentials to access the service, for example a username and a password. Also, the Web service provider may have encrypted the response (the value of the stock).

You can also develop Representational State Transfer (REST) Web services, or "RESTful" Web services. REST describes any simple interface that transmits data over a standardized interface (such as HTTP) without an additional messaging layer, such as SOAP. REST provides a set of design rules for creating stateless services that are viewed as resources, or sources of specific information, and can be identified by their unique URIs. A client accesses the resource using the URI, a standardized fixed set of methods, and a representation of the resource is returned. The client is said to transfer state with each new resource representation.

In summary, Web services are loosely coupled, distributed environments that allow companies to integrate heterogeneous applications within the enterprise or expose business functions to their customers and partners over the Internet. Because you access Web services using standard Web protocols such as XML and HTTP, the diverse and heterogeneous applications on the Web (which typically already understand XML and HTTP) can automatically access Web services and communicate with each other.

Overview of Web Services in Oracle Fusion Middleware 12c

In Oracle Fusion Middleware 12c, there are two categories of Web services:

  • Oracle Infrastructure Web services—Application Development Framework (ADF) services

  • Java EE (WebLogic) Web services

The following figure illustrates the two Web services categories.

Figure 1-2 Web Services in Oracle Fusion Middleware 12c

Description of Figure 1-2 follows
Description of "Figure 1-2 Web Services in Oracle Fusion Middleware 12c"

The following sections provide more detail about the Oracle Fusion Middleware 12c Web services architecture and each of the Web service components shown in the previous figure:

For a complete roadmap of all Web service development, security, and administration tasks, see "Roadmap for Implementing Oracle Fusion Middleware Web Services".

Types of Web Services and Clients

Table 1-1 summarizes the types of Web services supported in Oracle Fusion Middleware 12c.

Note:

All Web services and clients can be deployed to an Oracle Fusion Middleware environment that runs on Oracle WebLogic Server. Oracle WebLogic Web services can be deployed to a standalone Oracle WebLogic Server, as well.

Table 1-1 Oracle Fusion Middleware Web Services

Web Service Description

Java EE (WebLogic) Web service

Java EE (WebLogic) Web services are implemented according to the Web services for Java EE specification, available at http://www.jcp.org/en/jsr/detail?id=109, that defines the standard Java EE runtime architecture for implementing Web services in Java.

For more information about developing WebLogic Web services, see:

 
 

ADF Business Components

ADF Business Components simplify the development, delivery, and customization of business applications for the Java EE platform by providing a library of reusable components and supporting design time facilities in Oracle JDeveloper.

Using ADF Business Components, developers are not required to write the application infrastructure code required by the typical Java EE application to perform the following tasks:

  • Connect to the database.

  • Retrieve data.

  • Lock database records.

  • Manage transactions.

Additionally, Oracle JDeveloper facilities expose ADF Business Component application modules that encapsulate built-in data manipulation operations and custom methods as Web services so that a service-enabled application module can be consumed across modules of the deploy Fusion Web application.

For more information, see "Integrating Service-Enabled Application Modules" in Developing Fusion Web Applications with Oracle Application Development Framework.

 

Table 1-2 summarizes the types of Web service clients supported in Oracle Fusion Middleware 12c.

Table 1-2 Oracle Fusion Middleware Web Service Clients

Web Service Client Description

Web service clients

Client applications that invoke WebLogic Web services can be written using any technology: Java, Microsoft .NET, and so on.

There are two types of client applications:

  • Stand-alone—A stand-alone client application can be a Java application, a .NET client, or any other type of client able to submit a Web service request. It runs completely separately from WebLogic Server.

  • A Java EE component deployed to WebLogic Server—In this type of client application, the Web service runs inside a Java Platform, Enterprise Edition (Java EE) Version 5 component deployed to WebLogic Server, such as an EJB, servlet, or another Web service. This type of client application, therefore, runs inside a WebLogic Server container.

For more information about developing WebLogic Web service clients, see:

 

ADF Web applications

ADF Web applications can invoke a service, such as a WebLogic Web service or a service-enabled ADF application module. For more information, see Developing SOA Applications with Oracle SOA Suite.

In addition, ADF Web applications can work with Web services in the user interface using a Web service data control. For more information abou t generating service-enabled application modules, calling a Web service from an ADF application module, or creating Web service data controls, see Developing Fusion Web Applications with Oracle Application Development Framework.

 

Types of Web Service Policies

As shown in Figure 1-2, there are two types of policies that can be attached to Web services.

Table 1-3 Types of Web Service Policies

Type of Policy Description

Oracle Web Services Manager (OWSM) Policy

Policy provided by OWSM. For more information about OWSM and the predefined policies, see Understanding Oracle Web Services Manager.

You can attach OWSM policies to Oracle Infrastructure Web services. You can only attach OWSM security policies to Java EE JAX-WS and RESTful Web services.

You manage OWSM policies from Oracle Enterprise Manager Fusion Middleware Control.

WebLogic Web Service Policy

Policy provided by WebLogic Server. For more information about the WebLogic Web service policies, see Securing WebLogic Web Services for Oracle WebLogic Server.

A subset of WebLogic Web service policies interoperate with OWSM policies. For more information, see "Interoperability with Oracle WebLogic Server 12c Web Service Security Environments" in the Interoperability Solutions Guide for Oracle Web Services Manager.

You manage WebLogic Web service policies from WebLogic Administration Console.


Note:

It is recommended that you use OWSM policies over WebLogic Web services whenever possible. You cannot mix your use of OWSM and WebLogic Web service policies on the same Web service.

Tools for Web Service Development, Security, and Administration

To develop Web services, you can use the tools described in the following table, or your favorite IDE.

Table 1-4 Tools for Web Service Development

Tool Description

Oracle JDeveloper

Provides powerful tools that help you discover and use existing Web services, and develop and deploy new Web services. For more information, see "Developing and Securing Web Services" in Developing Applications with Oracle JDeveloper.

Ant

Uses XML-based configuration files (called build.xml by default) to execute tasks written in Java. Ant is a Java-based build tool, similar to the make command but much more powerful. For more information, see "Ant Task Reference" in WebLogic Web Services Reference for Oracle WebLogic Server.

WebLogic Server Scripting Tool (WLST)

Enables administrators to view and configure Web services, and manage Web service policies from the command line. For more information, see WLST Command Reference for WebLogic Server.

Oracle Enterprise Pack for Eclipse (OEPE)

Provides a collection of plug-ins to the Eclipse IDE platform that facilitate development of WebLogic Web services. For more information, see the Eclipse IDE platform online help.

Oracle Workshop

Provides a collection plug-ins to the Eclipse IDE platform that facilitate development of WebLogic Web services. For more information, see

http://download.oracle.com/docs/cd/E13224_01/wlw/docs103/index.html

NOTE: Oracle Workshop is deprecated, and is being replaced by OEPE, described above.


To secure and administer Web services, the tools that you use vary depending on the Web service type.

Table 1-5 Tools for Web Service Security and Administration

To secure and administer . . . Use. . .

Oracle Infrastructure Web Services

WebLogic Web Services

  • Oracle Enterprise Manager Fusion Middleware Control to leverage Oracle Web Service Manager (OWSM) to enforce policies at runtime, and test and monitor the performance of the WebLogic Web services. For more information, see Administering Web Services

  • WebLogic Server Administration Console to deploy and administer the WebLogic Web service, and attach, manage, and configure policies. For more information, see Oracle WebLogic Server Administration Console Online Help.


Roadmap for Implementing Oracle Fusion Middleware Web Services

The following sections provide roadmaps of common tasks for developing, securing, and administering Oracle Fusion Middleware Web services. Roadmaps are presented for each Web service category shown in Figure 1-2:

Roadmap for Implementing Oracle Infrastructure Web Services

The following section provides roadmaps of common tasks for developing, securing, and administering Oracle Infrastructure Web services:

Roadmap for Implementing ADF Components and Clients

Table 1-6 summarizes how to implement ADF components and clients.

Table 1-6 Roadmap for Implementing ADF Components and Clients

Task More Information

Develop ADF components and clients

Deploy Web services

"Deploying Web Services" in Administering Web Services

Administer Web services

Administering Web Services

Create policies

"Managing Web Service Policies with Fusion Middleware Control" in Securing Web Services and Managing Policies with Oracle Web Services Manager

Create custom assertions

"Creating Custom Assertions" in Extensibility Guide for Oracle Web Services Manager

Attach policies (development time—Oracle JDeveloper)

Developing Fusion Web Applications with Oracle Application Development Framework

Attach policies (deployment time—Oracle Enterprise Manager Fusion Middleware Control)

"Attaching Policies in Securing Web Services and Managing Policies with Oracle Web Services Manager

Configure policies

"Securing Web Services" in Securing Web Services and Managing Policies with Oracle Web Services Manager

Test Web services

"Testing Web Services" in Administering Web Services

Monitor Web service performance

"Monitoring and Auditing Web Services" in Administering Web Services

Manage application migration between environments

"Managing Application Migration Between Environments" in Administering Web Services

Diagnose problems

"Managing Diagnostic and Message Logs" in Administering Web Services

Interoperate with:

  • OWSM 10g

  • Oracle Containers for J2EE (OC4J)

  • Oracle Web Service Gateways 10g

  • WebLogic Server Web service policies

  • Microsoft .NET 3.5

  • Oracle Service Bus 10g

  • Axis 1.4 and WSS4J 1.5.8

  • Glassfish Enterprise Server Release 3.0.1

Interoperability Guide for Oracle Web Services Manager


Roadmap for Implementing Java EE (WebLogic) Web Services

The following table provides a roadmap of common tasks for developing, securing, and administering Java EE (WebLogic) Web services.

Table 1-7 Roadmap for Implementing Java EE (WebLogic) Web Services

Task More Information

Develop Java EE Web services and clients

Deploy Web services

Administer Web services

"Web Services" in WebLogic Server Administration Console Online Help

Create OWSM policies

"Managing Web Service Policies with Fusion Middleware Control" in Securing Web Services and Managing Policies with Oracle Web Services Manager

Create WebLogic Web service policies

Configure OWSM policies

"Securing Web Services" in Securing Web Services and Managing Policies with Oracle Web Services Manager

Configure WebLogic Web service policies

Create custom OWSM policy file

"Creating Custom Assertions" in Developing Extensible Applications with Oracle Web Services Manager

Create custom WebLogic Web service policy file

"Creating and Using a Custom Policy File" in Securing WebLogic Web Services for Oracle WebLogic Server

Attach OWSM policies (development time—Oracle JDeveloper)

Attach WebLogic Web service policies (development time—Oracle JDeveloper)

Attach OWSM policies (deployment time)

"Attaching Policies in Securing Web Services and Managing Policies with Oracle Web Services Manager

Attach WebLogic Web service policies (deployment time)

"Associate a WS-Policy file with a Web Service" in WebLogic Server Administration Console Online Help

Test Web services

Monitor Web service performance

Interoperate WebLogic and OWSM Web service policies

Interoperability Solutions Guide for Oracle Web Services Manager


Related Documentation

The following table summarizes the documentation that is related to Web services development, security, and administration.

Table 1-8 Related Documentation

Document Description

Understanding Web Services

This document. Provides an introduction to Web services for Oracle Fusion Middleware.

Understanding WebLogic Web Services for Oracle WebLogic Server

Introduces WebLogic Web services, the standards that are supported, interoperability information, and relevant samples and documentation.

Understanding Oracle Web Services Manager

Introduces Oracle Web Services Manager (OWSM) for securing Web services and managing policies.

Developing JAX-WS Web Services for Oracle WebLogic Server

Describes how to develop WebLogic Web service using JAX-WS. Includes use cases and examples, iterative development procedures, typical JWS programming steps, data type information, and how to invoke a Web service.

Developing and Securing RESTful Web Services for Oracle WebLogic Server

Describes how to develop WebLogic Web service using JAX-RS. Includes use cases and examples, iterative development procedures, typical JWS programming steps, data type information, and how to invoke a Web service.

Developing JAX-RPC Web Services for Oracle WebLogic Server

Describes how to develop WebLogic Web service using JAX-RPC. Includes use cases and examples, iterative development procedures, typical JWS programming steps, data type information, and how to invoke a Web service.

Developing Oracle Infrastructure Web Services

Describes how to develop Oracle Infrastructure Web services.

 

Developing Fusion Web Applications with Oracle Application Development Framework

Describes how to develop ADF components.

 

Securing Web Services and Managing Policies with Oracle Web Services Manager

Describes how to use OWSM to secure Web services and manage policies.

Securing WebLogic Web Services for Oracle WebLogic Server

Describes how to program and configure message-level (digital signatures and encryption), transport-level, and access control security for a Web service.

Administering Web Services

Describes how to secure and administer Web services.

Developing Extensible Applications for Oracle Web Services Manager

Describes how to build custom assertions for Oracle Web Services Manager (OWSM).

Interoperability Solutions Guide for Oracle Web Services Manager

Describes how to implement the most common OWSM interoperability scenarios.

WebLogic Web Services Reference for Oracle WebLogic Server

Provides reference information on JWS annotations, Ant tasks, reliable messaging WS-Policy assertions, security WS-Policy assertions, and deployment descriptors.

"Developing and Securing Web Services" in Developing Applications with Oracle JDeveloper

Describes how to develop Web services and attach policies using Oracle JDeveloper.

Oracle Workshop for WebLogic Server

Explains how to use Workshop to write and manage source code and design with sophisticated visual tools and Java frameworks.

NOTE: Oracle Workshop is deprecated, and is being replaced by OEPE, described above.