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).
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:
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 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
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.
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.
At runtime, web service clients send inbound requests and invoke Oracle E-Business Suite SOAP services through Oracle SOA Suite.
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.
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.
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.
Synchronous Pattern: This type of service processing provides an immediate response to a query. The client connection remains open from the time the request is submitted to the server. The client will wait until the server sends back the response message.
Asynchronous Pattern: Unlike the synchronous processing to obtain the result immediately, an asynchronous service may require a significant amount of time to process a request. When the service request processing completes, the response will be sent to the callback address mentioned by the client.
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.
To authenticate users who request Oracle E-Business Suite Web services, the SOAP messages must be authenticated using UsernameToken or SAML Token based security. The identified authentication information is embedded in the wsse:security
Web Security headers.
To authorize users on specific services or operations, the access permissions must be explicitly given to the users through security grants. Multiple organization access control (MOAC) security rule is also implemented for authorizing interface access related to multiple organizations.
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.
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.