For example, in your business, you may have a return merchandise authorization process to allow customers to return damaged or unwanted products. Your process may involve gathering the original purchase order information, determining whether the merchandise can be returned, offering the shipping costs for return, and accepting the returned merchandise when it arrives. This process is a complex set of interactions between several people, internal applications, and third-party services.
Defining a service for the return merchandise authorization allows you to view your business processes from a higher level and orchestrate the interaction of this service with other services, such as inventory or a third-party shipping quotes service.
Figure 2 illustrates the parts of a service using the return merchandise authorization service example.
Within a service-oriented architecture, applications are composed of services that interact by exchanging messages. Web Service Description Language (WSDL) documents are used to describe services. The WSDL documents specify the messages that are required to access a service. TIBCO ActiveMatrix BusinessWorks provides a WSDL palette for creating or importing WSDL files into your project. See the TIBCO ActiveMatrix BusinessWorks documentation for more information about WSDL files.
Endpoints expose the service to other applications and services. An endpoint is analogous to a port in a WSDL file. You can create multiple endpoints for each service so that operations within the implementation of the service can be invoked in more than one way.
TIBCO ActiveMatrix BusinessWorks BPEL Extension supports SOAP or Local endpoints. Simple Object Access Protocol (SOAP) is a standard protocol for invoking web services. Local endpoints provide a highly efficient mechanism to invoke locally-defined services within the same TIBCO ActiveMatrix BusinessWorks project.
The interface describes the operations available within the service. The interface is analogous to a portType in a WSDL file. Each interface can contain multiple operations. The implementation of each operation is an orchestration process created with the ActiveMatrix BusinessWorks BPEL Extension.
Partners are other services that your orchestration process can invoke. For example, the Return Merchandise Authorization service must invoke the Shipping Quotes service to obtain a quote for return shipping cost.
Instead of specifying the actual endpoint of a partner service when you define an orchestration process, you may wish to specify the interface, and then let the service that uses the orchestration process bind the interface to the actual endpoint. This allows you to easily change third-party partner services without changing your implementation.
Partner Link Configuration resources associate partners with endpoints. Your service can then correlate partners invoked by the operations with partner link configurations that specify the actual bindings to endpoints.