Service-Oriented Computing Environment:
from Object Space to Grid
The structured computing paradigm is a strategy based on a concept that a system has data and functionality (behavior) separated into two distinct parts. The object-oriented paradigm, on the other hand, defines a system as a collection of interacting active objects via message exchange. These active objects do things and know things; or, stated equivalently, they have functions and data that complement each other. The combined functions and data, called methods, can be activated by received messages from other objects. Usually an object-oriented system creates its own object space instead of accessing a data repository. This object space constitutes an object-oriented program.
Building on the object-oriented paradigm is the service-oriented paradigm, in which the objects are distributed, or more precisely they are network (remote) objects that play predefined roles. A service provider is an object that accepts messages, called exertions, from service requestors to execute an items of work. The elementary exertion is called a task– a kind of elementary network instruction (statement) executed by a service provider. A service jobber is a specialized service provider that executes a job – a composite remote request (procedure) in terms of tasks and other jobs. The job exertion is a service-oriented program that is dynamically bound to all relevant and currently available service providers on the network. This collection of providers dynamically identified by a jobber is called a job federation. This federation is also called a job space. While this sounds similar to the object-oriented paradigm, it really isn’t. In the object-oriented paradigm the object space is a program itself; here the job space is the execution environment for the job that is an object-oriented program. This changes the game completely. In the former case the object space is a virtual computer, but in the latter case the federation of providers or job space is the virtual network also called the grid. In other words, we apply the object-oriented concepts directly to the network in the service-oriented paradigm.
The SORCER environment provides the means to create interactive service-oriented programs and execute them without writing a line of source code. Jobs and tasks are created using interactive user interfaces. Also via interactive interfaces the user can execute and monitor the execution of exertions. The exertions are persisted for later reuse. This feature allows the user quickly to create new applications or programs on the fly in terms of existing exertions. Jobs created this way might be used later with their own custom user interfaces that collect input from the user and update a job accordingly before its execution as a service-oriented program.
The FIPER (Federated Intelligent
Product Environment) project granted by
NIST is the precursor of the SORCER.