Web Services

Web Service objects are used to create, configure, and set up different resources needed to subscribe to a local or remote service, expose a service to remote clients, and manage the flow and manipulation of your data as either a service provider, consumer, or both.

The general concept of a Web Service refers to methods that allow different software systems to communicate with each other - either through the Internet or over a network connection - regardless of operating system or programming language. Generally this communication method uses the Web protocol HTTP and an XML payload (the actual content being communicated); although XML is not always required. Web Services can be provided, consumed, or both.

For example, as a service provider, you could create and define the Web Service Provider object, which would then produce other companion objects and resources necessary to make your service available to consumers. Conversely, as a service consumer, you would create and define a Web Service Consumer object, which in turn would allow you to request and process information based on a service made available by a provider.

Both objects interface with the Business Process capabilities in Clarify, allowing you to use and manage data (as request and/or response), and invoke related Business Processes as part of a Web Service integration. Once defined, configured, and activated, these Web Service objects allow you to use a local or remote service, expose a service to remote clients, and manage the flow and manipulation of your data.

Business Use

There are as many ways to use Web Services as there are reasons for using them. When implementing Web Services, it's important to realize that the level of difficulty depends on your company’s individual needs. Let's consider these scenarios of varying complexity:

Scenario One

When ordering products from your website, your customers must include their zip code. While this is needed to ensure delivery, you also need to calculate the actual shipping costs. Rather than having your own IT staff write a program to accomplish this (which most likely would require ongoing maintenance), you efficiently employ a service made available by UPS (the carrier in this example), which you subscribe to (or consume), as part of your own Web Services integration. For example: you use Clarify to: (1) import the data (zip code) from your website order form, (2) send it to UPS via their Web Service, (3) receive the shipping cost information, and respond to your customer with total shipping costs.

Let's also suppose your company receives purchase orders from UPS. During the translation process, an HTTP connection is used to interface with an existing UPS Web Service. Through this service, your company verifies addresses, retrieves tracking information, performs currency conversions, and even sends (SMS) text messages. Your company can now access information from the UPS tracking database which is needed inside your company's application; and is achieved without complex programming on your side.

Scenario Two

Your legacy Order Management System (OMS) needs to transfer some invoicing data to a commercial accounting application used by your accounting department. In this case, there won’t be any Web Services provided by the legacy OMS, so they must be built. There also may not be any Web Service tools provided by the accounting application, so again they will have to be built. The solution could involve running an internal web server on the network and developing small web applications that can perform the required task of transferring and transforming the invoice data from the legacy OMS to the accounting application.

Using Clarify, this Web Services solution would enable communication between both applications by way of non-intrusive simple software configurations and the creation of Business Processes to perform the Web Services tasks which would completely replace coding a solution. You could even use some of Clarify's adapter objects to help streamline the implementation process.

Other examples

Other examples include:

  • Processing inbound purchase orders received through a SOAP attachment.
  • Order status query received through a website or even a phone (basically any device with internet connection).

The topics here address some examples of different Web Service integrations using objects, as well as general recommendations and guidelines.

How the Object Works

The Web Service objects provide different communication tooling allowing you to provide or consume data using some type of Web Service. Use Clarify to request, receive, respond, and further process message requests and responses. This communication can occur across web-based or internal servers.

Clarify's Web Service integration objects are meant for both service providers and consumers. For a provider, the Web Service Provider object helps you generate and configure certain resources that someone using your service will need in order to send you a request message. Once activated, this object detects incoming requests, and can process them using other objects like Business Processes, Schemas, etc. Additionally, Clarify supports the including of attachments to response messaging.

Service providers, using Clarify, can generate specific definition documents, called the WSDL, which when made available on a server can be used by the consumer to understand how to make a request from the provider. Another method is to simply establish a URL location to which consumers can utilize a service. This too can be set up using the Clarify Web Service objects.

Clarify supports both type of Web Service protocols: SOAP or REST.