Difference between revisions of "Service Model"

From GCube System
Jump to: navigation, search
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
gCube does not make stringent assumptions on the structure of its services.  
 
gCube does not make stringent assumptions on the structure of its services.  
 
gCore and gCF, on the other hand, define their facilities with respect to a more explicit model of the key components of a gCube service.
 
gCore and gCF, on the other hand, define their facilities with respect to a more explicit model of the key components of a gCube service.
We will describe the model incrementally throughout the Guide, but we start here to fix some basic concepts and terminology.
+
We describe the model incrementally throughout the Guide, but we start here to fix some basic concepts and terminology.
  
At the outset, a gCube service is characterised by one or more '''port-types''', where each port-type exposes a number of functionally related operations that may be invoked on RIs of the service (''incoming calls''). In turn, the RIs may invoke operations exposed by the port-types of other services (''outgoing requests''). Requests may trigger a response, or else report a ''fault''.
+
[[Image:model.jpg]]
 +
 
 +
A gCube service is a compile-time abstraction for the implementation of functionality that can be consumed over a network in a standard fashion. The implementation is structured in '''components''' and its functionality exposed through an '''interface''' of operations logically grouped in one or more '''port-types'''.
 +
 
 +
The service acquires run-time existence when it is deployed, statically or dynamically,  on a gCube Hosting Node (gHN). The runtime counterpart of a deployed service is a Running Instance (RI), an abstraction in which port-types are bound to addressable locations, or '''endpoints'''.  Zero or more RIs of a given service may be available in a gCube infrastructure at any time, as a result of deploying the service in zero or more gHNs. 
 +
 
 +
Using the endpoints of a RI, the operations of the port-types may be invoked by '''service clients''' (''incoming requests''). In turn, the RI may invoke operations exposed by the port-types of other '''target services''' (''outgoing requests''), and thus act as a client for them. Incoming and outgoing requests may trigger a response, or else report a '''fault''' that clients may handle, report, or simply propagate to their own clients, if they have any.
 +
 
 +
Besides interface and implementation, the service includes non-programmatic '''configuration''' components that describe the service, its deployment and interface, and that govern its implementation.

Latest revision as of 10:16, 24 April 2009

gCube does not make stringent assumptions on the structure of its services. gCore and gCF, on the other hand, define their facilities with respect to a more explicit model of the key components of a gCube service. We describe the model incrementally throughout the Guide, but we start here to fix some basic concepts and terminology.

Model.jpg

A gCube service is a compile-time abstraction for the implementation of functionality that can be consumed over a network in a standard fashion. The implementation is structured in components and its functionality exposed through an interface of operations logically grouped in one or more port-types.

The service acquires run-time existence when it is deployed, statically or dynamically, on a gCube Hosting Node (gHN). The runtime counterpart of a deployed service is a Running Instance (RI), an abstraction in which port-types are bound to addressable locations, or endpoints. Zero or more RIs of a given service may be available in a gCube infrastructure at any time, as a result of deploying the service in zero or more gHNs.

Using the endpoints of a RI, the operations of the port-types may be invoked by service clients (incoming requests). In turn, the RI may invoke operations exposed by the port-types of other target services (outgoing requests), and thus act as a client for them. Incoming and outgoing requests may trigger a response, or else report a fault that clients may handle, report, or simply propagate to their own clients, if they have any.

Besides interface and implementation, the service includes non-programmatic configuration components that describe the service, its deployment and interface, and that govern its implementation.