Section 15.2. How do web services and enterprise services compare?


15.2. How do web services and enterprise services compare?

On a technical level, enterprise services are web services, based on open standards. An enterprise service must be a web service in order to be callable, whether internally or by business partners, customers, or vendors.

Enterprise services, like web services, work from the standpoint of the service provider and the service consumer. The goal is to abstract all the internal details so that the provider and consumer are completely decoupled in terms of implementation. A service consumer should not need to know any details about how the service provider implemented the service on the back end; all the necessary data should be exchanged in a standard, serialized format. There can be no object references that would break the loose coupling of the provider and the consumer. Service providers and service consumers are completely separate; the provider might be a Python application running on Linux and the consumer might be a .NET application running on Windows Server 2003. Although we will talk about service providers and consumers in ABAP and Java in this chapter and the next, it's important to realize that providers and consumers are completely hardware, programming language, and operating system agnostic.

What enterprise services add is business functionality. A one-off web service might be strategic, but designing an enterprise service asks you to look at your most important business processes and turn those into one or more enterprise services. Consider the cancellation of a sales order. This is not a single granular event, but a series of events, a process that has implications for numerous backend systems. Canceling an order entails not just deleting an order; it starts a workflow, perhaps canceling orders for materials, canceling a production request, and so on.

Furthermore, since they are designed to serve enterprise needs, enterprise services must be high-quality, stable, scalable, robust, and secure.

Reuse is another important feature of enterprise services, and that involves separating business logic from presentation logic. The service layer should be implemented without any knowledge of the usage scenario (user interface [UI] or remote communication), allowing the same service to be deployed in a variety of scenarios, including some that the developer never envisioned. Further promoting reuse is the ability to search for relevant services by various criteria.




Enterprise SOA. Designing IT for Business Innovation
Enterprise SOA: Designing IT for Business Innovation
ISBN: 0596102380
EAN: 2147483647
Year: 2004
Pages: 265

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net