This document describes Web services in Oracle Fusion Middleware, including Oracle Infrastructure Web services and Java EE (WebLogic) Web services.
Sections include:
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.
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
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.
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
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".
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 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:
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:
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. |
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.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
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 |
|
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:
The following section provides roadmaps of common tasks for developing, securing, and administering Oracle Infrastructure Web services:
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 |
|
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:
|
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 |
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. |
Introduces Oracle Web Services Manager (OWSM) for securing Web services and managing policies. |
|
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. |
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. |
|
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. |
Describes how to program and configure message-level (digital signatures and encryption), transport-level, and access control security for a Web service. |
|
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. |
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. |
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. |