What is the difference between a web service and an enterprise service?

What is the difference between a web service and an enterprise service?

A web service is just a standardized interface to a service's functionality. It contains instructions written in WSDL describing how that service is going to be called. And that's all.

An enterprise service is a web service designed as a reusable component in process automation. It exists within the larger context of ESA, and it contains metadata about its functionality and about how it connects to other services. Web services contain much of the same functionality as enterprise servicesusually at a more granular level than is useful for process orchestrationbut the soul of an enterprise service is that it's there to help you, and it contains enough functionality to make a meaningful difference in processes. Enterprise services are large enough that combining and recombining them is a fairly easy task. In practice, as demonstrated in Figure, an enterprise service, when called, will execute any number of instructions across any number of underlying applications. A web service will call only the application to which it is related. Therefore, in Figure, clicking "delete order" in a menu might simply delete the order from an ERP system if one were to use a web service to do so.

The question then becomes, does this act help the larger business process of cancelling an order? The larger scope of that process includes many actions beyond deleting a record in the ERP system. There might also be a CRM system handling the sales aspect, an SCM system containing its own order objects, and so on. Therefore, the business process of cancelling an order contains many steps: revising the supply chain plan, flagging the material in stock, notifying the customer that his order has indeed been cancelled, and so on.

Whereas a web service simply deletes the record, an enterprise service is able to orchestrate the larger process of cancelling an order by sending individual messages to each of its systems, and most likely many more.

Enterprise services typically fall into one of four main categories:

Web services versus enterprise services

Process services

Trigger a process and manage its consistent execution.

Component services

Keep track of the contextthe relationships, data, and external informationrelated to an important business function. Commonly, this context takes the form of a set of rules applied to the operation of other services. When one service inputs data to a purchase order, for example, a second component service determinesbased on the identity of the supplier and corresponding contractual relationshow the purchase order should be handled.

Entity or engine services

Provide access to a business object or a discrete piece of functionality, such as a pricing engine, and manage all of the necessary events and activities triggered by the service.

Utility services

Perform a common function for other services. A service providing the required values for a specific fieldthe "value help service"is a classic example of a utility service.

Setting all of these apart from garden-variety web services is the fact that enterprise services have been created within a business context, process their own semantic meaning, and are built to be reusable, configurable components that aid in the flexible automation of a greater process.

 Python   SQL   Java   php   Perl 
 game development   web development   internet   *nix   graphics   hardware 
 telecommunications   C++ 
 Flash   Active Directory   Windows