Understanding Service Enablement

Service Enablement Overview

Oracle E-Business Suite applications are developed through various technologies or written in different forms, such as PL/SQL, Java, Concurrent Programs, and so on. These applications or programs reside either in the Oracle E-Business Suite database or on the application tier. Features such as Business Events System from Oracle Workflow and products such as Oracle XML Gateway for integrating Oracle E-Business Suite with trading partners are also widely used.

To accomplish the goal of integrating Oracle E-Business Suite applications with other systems, these programs written in various formats need to interact with external sources. This is achieved by service enabling or exposing these programs as web services.

A web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format, such as WSDL or WADL. Other systems interact with the web service in a manner prescribed by its description using SOAP messages for WSDL-based services or using REST messages for WADL-based services. Web services are loosely-coupled, self-describing, reusable software components encapsulating discrete functionality, which are programmatically accessible using standard based protocols.

The process of service enablement involves generating service artifacts, such as XSD, to validate XML messages, WSDL or WADL to describe the web service, and deploying them on an application server so that the services are available to clients over the web.

The WSDLs described for SOAP services can be used either to create clients which invoke the deployed SOAP services directly, or use Oracle SOA Suite BPEL component to create a composite application which coordinates the flow of data between various web services to accomplish a business process.

The WADLs described for REST services can be used to create clients which invoke the deployed REST services for mobile applications or UI applications.

The architectural style involving collection of loosely-coupled services that communicate with each other using standard based technologies is referred as service-oriented architecture (SOA).

Common Terms Used in Web Services

Service-oriented architecture is a set of principles and methodologies for designing and developing software in the form of interoperable services. Web services building around SOA-based approach or technologies are reusable, scalable, and platform independent. To better understand the concept of web services, the following common terminologies are explained in this section.

Web Services Discovery

Web services provide access to software systems over the Internet using standard protocols. Therefore, there exists at least a service provider that publishes certain services such as computer repair services, and a service consumer that uses the services. Web service discovery is the process of finding a suitable web service for a given task.

Simple Object Access Protocol (SOAP)

SOAP is a protocol for exchanging XML-based messages over networks, normally using HTTP/HTTPS.

Web Services Description Language (WSDL)

WSDL is a format for describing a SOAP-based service interface. It is a way to describe services and how they should be bound to specific network addresses.

Representational State Transfer (REST)

REST is an architecture principle in which the web services are viewed as resources and can be uniquely identified by their URLs. The key characteristic of a REST service is the explicit use of HTTP methods (GET, POST, PUT, and DELETE) to denote the invocation of different operations.

The following table lists the interfaces that can be exposed as REST services and their supported HTTP methods:

REST-based Interfaces with Supported HTTP Methods
Interface Type Supported HTTP Methods
Concurrent Program POST only
PL/SQL API POST and GET
Business Service Object POST and GET
Java Bean Service POST and GET
Application Module Service POST and GET
Open Interface Table (Inbound) POST, GET, PUT, and DELETE
Open Interface Table (Outbound) GET only
Open Interface View GET only

Please note that for Open Interfaces Tables, the supported HTTP methods are determined by the direction (Inbound or Outbound) of the interfaces.

Web Application Description Language (WADL)

WADL is designed to provide a machine-processable description of HTTP-based web applications. It models the resources provided by a service and the relationships between them.

Web Service Interaction Pattern

Interaction pattern is the way that a web service client can communicate with the service. Interaction pattern can be synchronous and asynchronous.

Web Service Security

Web service security (WS-Security) is a specification to enable applications to conduct secure message exchanges. It provides quality of protection through message integrity, message confidentiality, and single message authentication.

XML (Extensible Markup Language)

XML is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable.

JSON (JavaScript Object Notation)

JSON is a text-based open standard designed for human-readable data interchange. The JSON format is often used with REST services to transmit structured data between a server and web application, serving as an alternative to XML.

HTTP Clients

Hyper-Text Transfer Protocol (HTTP) is a significant protocol used over the web. HTTP clients are the parties that use and consume the HTTP-based services, such as REST services, provided through HTTP protocol.

Service Enablement in Oracle E-Business Suite

Service enablement is one of the essential features in Oracle E-Business Suite Integrated SOA Gateway. It allows native packaged integration interface definitions written in PL/SQL, Java, and other formats and stored in Oracle Integration Repository to be transformed into web services. This in turn enables all Oracle E-Business Suite services to integrate with other systems over the web.

The following diagram illustrates the high level service enablement process flow within Oracle E-Business Suite:

Service Enablement Functional Process Flow

the picture is described in the document text

  1. An integration administrator or an integration developer transforms the integration interface definitions resided in Oracle Integration Repository into SOAP-based services (with web service status "Generated") described in WSDLs.

  2. An integration administrator deploys the generated SOAP services as deployed services (with web service status "Deployed"). SOAP services are deployed to an Oracle SOA Suite WebLogic managed server.

  3. At runtime, web service clients send inbound requests and invoke Oracle E-Business Suite SOAP services through Oracle SOA Suite.

  4. If the selected interfaces can be exposed as REST services, an integration administrator can deploy the interfaces as REST services (with web service status "Deployed") described in WADLs. REST services are deployed to an Oracle E-Business Suite managed server.

  5. At runtime, REST services which are commonly used for mobile applications can create or update Oracle E-Business Suite application data.

For more service enablement on SOAP services, see SOAP Service Enablement.

For more service enablement on REST services, see REST Service Enablement.

SOAP Service Enablement

WSDL-based SOAP Services

In a web service environment, SOAP services provide a standard way of structuring XML documents and act as building blocks for web service communication. For example, a service provider receives SOAP requests from web service clients to invoke services and also sends the corresponding SOAP responses to the clients.

At design time, an integration administrator or an integration developer can transform the interface definitions resided in Oracle Integration Repository into SOAP-based services described in WSDLs.

Support with Synchronous and Asynchronous Interaction Patterns

Before service generation, appropriate interaction patterns need to be identified for the desired service operations. Oracle E-Business Suite Integrated SOA Gateway supports both synchronous and asynchronous service processing for SOAP-based services.

For information on how to select interaction patterns, see Generating SOAP Web Services, Oracle E-Business Suite Integrated SOA Gateway Implementation Guide.

SOAP Service Security

To protect application data from unauthorized access, Oracle E-Business Suite integrated SOA Gateway enforces the security rules through subject authentication and authorization. Before service deployment, the administrator must select one desired authentication method.

For information on how to specify a desired authentication type, see Deploying and Undeploying SOAP Web Services, Oracle E-Business Suite Integrated SOA Gateway Implementation Guide.

Web Services Description Language (WSDL)

After service generation or deployment, users can view the generated or deployed WSDL link for the associated SOAP service.

Note: A deployed WSDL shows the physical location of service endpoint where the service is hosted in soa-infra in this release.

The WSDL URL can be used either to create clients which invoke the deployed SOAP services directly, or use Oracle SOA Suite BPEL component to create a composite application which coordinates the flow of data between various web services to accomplish a business process. At runtime, web service clients send inbound requests and invoke Oracle E-Business Suite SOAP services through Oracle SOA Suite.

For information on how to generate and deploy SOAP services and other administrative tasks, see Administering SOAP Web Services, Oracle E-Business Suite Integrated SOA Gateway Implementation Guide.

REST Service Enablement

WADL-based REST Services

REST (Representational State Transfer) is an architecture principle in which the web services are viewed as resources and can be uniquely identified by their URLs. The key characteristic of REST services is the explicit use of HTTP methods to denote the invocation of different operations. This kind of web services serves as a simpler alternative to SOAP services and allows you to access services over the web.

REST messages are supported with the XML and JSON (non-XML data) formats in conjunction with other web-related standards.

Support with Synchronous Interaction Pattern Only

Unlike SOAP services, REST services are all generated with the support of synchronous request-response and request-only interaction patterns only. Asynchronous interaction pattern is not supported for REST services in this release.

REST Service Security

Users who try to invoke Oracle E-Business Suite REST services must be authenticated using HTTP Basic Authentication or Token Based Authentication at the HTTP transport level.

Web Application Description Language (WADL)

If an interface can be exposed as a REST service, the corresponding deployed WADL description can be viewed in a separate window.

WADL is designed to provide a machine-processable description of HTTP-based web applications. It models the resources provided by a service and the relationships between them. WADL is intended to simplify the reuse of web services that are based on the existing HTTP architecture of the web. It is platform and language independent and aims to promote reuse of applications beyond the basic use in a web browser.

The WADL URL can be used to create clients which invoke the deployed REST services.

At runtime, web service clients send inbound REST requests and invoke Oracle E-Business Suite REST services.

For information on how to deploy REST services and other administrative tasks, see Administering REST Web Services, Oracle E-Business Suite Integrated SOA Gateway Implementation Guide.