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).