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 middle 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 Method(s)|
|PL/SQL API||POST only|
|Concurrent Program||POST only|
|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 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 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.
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.
To allow pre-built and reusable business services available to customers and let customers dynamically interact between applications, Oracle E-Business Suite Integrated SOA Gateway, building on the principle of service-oriented architecture, allows service enablement within the Oracle E-Business Suite. As a result, integration interface definitions that have been used internally within an organization are now Web available.
The following diagram illustrates the essential SOA components in enabling services within Oracle E-Business Suite:
Service-Oriented Architecture in Oracle E-Business Suite
In this diagram, SOA Provider is the service provider used in enabling services. Oracle Integration Repository plays a role as a service broker. The Web service invocation framework (WSIF) serves as a service consumer to issue a request through the invocation of a Web services from Oracle E-Business Suite.
SOA Provider is an enhanced service provider particularly in supporting additional interface types for service enablement.
Note: In Release 12.0, Oracle E-Business Suite is service partially enabled using Web Service Provider to enable XML Gateway Map and Business Service Object (formerly known as Service Bean) interface types. For backward compatibility, Oracle E-Business Suite Integrated SOA Gateway continues to support the Release 12.0 based Web Service Provider service enablement, plus additional interface types using SOA Provider to enable services.
At run time, SOA Provider references integration services and data from Oracle Integration Repository in processing inbound SOAP request messages that invoke Web services and sends the SOAP response out.
Web Service Invocation Framework
To invoke integration services from Oracle E-Business Suite, Oracle E-Business Suite Integrated SOA Gateway uses service invocation framework, leveraging Oracle Workflow Java Business Event System (JBES) and a seeded Java rule function, to allow any WSDL-described service to be invoked.
For more information about how to set up and invoke a Web service through the invocation framework, see Implementing Service Invocation Framework, Oracle E-Business Suite Integrated SOA Gateway Implementation Guide and Oracle Workflow and Service Invocation Framework Overview, Oracle E-Business Suite Integrated SOA Gateway Developer's Guide.
Oracle Integration Repository
Oracle Integration Repository, an integral part of Oracle E-Business Suite, is the centralized repository that contains numerous interface endpoints exposed by applications within the Oracle E-Business Suite. It provides a comprehensive, consistent browsing view of the interface mechanism which lets you easily discover and search on the business interface from the catalog.
Oracle E-Business Suite Integrated SOA Gateway leverages Oracle Integration Repository to provide the capabilities of Web service generation and deployment, as well as service life cycle management. Application users can browse these interface definitions and services through Oracle Integration Repository and view the interface details. Users who have the Integration Repository Administrator role can perform design-time operations and monitor the Web services.
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 repository administrator or a system integration developer transforms the integration interface definitions resided in Oracle Integration Repository into SOAP-based services described in WSDLs.
An integration repository administrator deploys the SOAP services. SOAP services are deployed to an Oracle E-Business Suite managed server.
At run time, Web service clients send inbound requests and invoke Oracle E-Business Suite SOAP services.
If the selected interfaces can be exposed as REST services, an integration repository administrator can deploy the REST services using a user action called 'Deploy'. REST services described in WADLs are deployed to an Oracle E-Business Suite managed server.
At runtime, REST services commonly used for mobile applications can create or update resources in Oracle E-Business Suite.
For more service enablement on SOAP services, see SOAP Service Enablement.
For more service enablement on REST services, see REST Service Enablement.
In addition to transforming interface definitions into Web services and deploying them, integration repository administrators can access the SOA Monitor user interface to monitor and manage all SOAP messages in and out from the SOA Provider (if the SOA monitoring feature is enabled). This allows any operation error if occurred during the message exchanges to be identified and audited. The administrators can search and view SOAP request and response message details, and take necessary actions if needed to expedite the interaction between services and consumers. For more information on how to use SOA Monitor, see Monitoring and Managing SOAP Messages Using SOA Monitor, Oracle E-Business Suite Integrated SOA Gateway Implementation Guide.
WSDL-based SOAP Services
In Web service environment, SOAP service provides a standard way of structuring XML documents and acts as a building block for Web service communication. For example, 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 repository administrator or a system integration developer can transform the interface definitions resided in Oracle Integration Repository into SOAP-based services described in WSDLs.
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 execution 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..
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 run time, Web service clients send inbound requests and invoke Oracle E-Business Suite SOAP services.
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 service is the explicit use of HTTP methods to denote the invocation of different operations. It is another style of Web services that serves as a simpler alternative to SOAP services allowing you to access services over the Web.
REST messages are supported with XML and JSON (non-XML data) formats in conjunction with other Web-related standards.
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 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 run time, 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.