Overview of Service oriented Architecture Web Services and Grid Computing
The use of distributed systems by enterprises and academic organizations has increased exponentially in recent years, enabled by factors such as ready access to the Internet and the World-Wide Web, the maturity and ubiquity of the HTTP protocol, and the improvement in secure communication technology. The style of distribution ranges from groups of co-located homogeneous systems operating as clusters to global-scale grids, made up of vast numbers of systems from a wide array of vendors and supporting an assortment of operating environments. In the early days, distributed applications communicated using proprietary protocols, and system administrators used ad hoc methods to manage systems that might be across town, on another continent, or anywhere in between. Numerous standards have been developed over the years to ease the costs of deployment and maintenance, with varying degrees of success. Today, the key technologies in distributed systems are service-oriented architecture (SOA), Web services, and grid computing, all of which are seeing significant investment in standardization and increasingly rapid adoption by organizations of all types and sizes. Discussions that involve the terms SOA, Web services and grid tend to reveal differences of opinion and understanding about their meanings, their relationships, and their place in the enterprise. In this paper we offer a high-level description of each of the technologies, and describe their relationships. Service-Oriented Architecture
In considering the term service-oriented architecture, it is useful to review the key terms
• An architecture is a formal description of a system, defining its purpose, functions, externally visible properties, and interfaces. It also includes the description of the system’s internal components and their relationships, along with the principles governing its design, operation, and evolution.
• A service is a software component that can be accessed via a network to provide functionality to
a service requester.
• The term service-oriented architecture refers to a style of building reliable distributed systems
that deliver functionality as services, with the additional emphasis on loose coupling between
Technically, then, the term SOA refers to the design of a system, not to its implementation. Although it
is commonplace for the term to be used in referring to an implementation—for example, in phrases
such as “building an SOA”—in this paper we avoid this use, and we use the adjective serviceoriented in contexts such as “service-oriented environment” or “service-oriented grid.”
We regard SOA as an architectural style that emphasizes implementation of components as modular
services that can be discovered and used by clients. Services generally have the following
• Services may be individually useful, or they can be integrated—composed—to provide higher-level
services. Among other benefits, this promotes re-use of existing functionality.
• Services communicate with their clients by exchanging messages: they are defined by the messages
they can accept and the responses they can give.
• Services can participate in a workflow, where the order in which messages are sent and received affects the outcome of the operations performed by a service. This notion is defined as “service choreography.”