Resource Model

One of the most important features allowing cooperation between loosely-coupled services is discoverability, which ensures that any service needing to interact with another service, so as to deliver its expected functionality, must be able to reach the service it needs. In D-NET the presence of this feature is particularly stressed because of

  • the modelling of system entities in terms of discoverable system resources
  • the dynamism of the pool of available resources.

There are two main kind of resources, service and data structure resources. The former represent Web Service running instances that can be system added/removed only by humans, i.e., System Administrators, while the latter represent local resources managed by service resources; services create, remove, update data structures on corresponding system requests.

In addition to the above classification, system resources are further categorised into types of resources. A Resource Type gathers resources that behave in the same manner, hence that offer the same functionality although with different quality.

The dynamism of the infrastructure is the second factor to consider: resources can be added or removed from the system at run-time. Interestingly, while service resources are somehow stable, i.e., cannot be automatically generated on demand by the system, data structure resources can be dynamically created, removed, and modified at run-time by the system in order to fulfill specific application needs.

In such dynamic environment, individual resources cannot be aware of the status of the overall system. The role of the Information Services (IS) is to provide an ever updated picture of the resources constituting the infrastructure and of their operational state. Indeed, whenever a resource is added to the system, the IS receives a description of the resource, called profile and registered it. A profile bears information about the Type of the resource and the specific properties of the resource instance, thus it represents the existence of a resource and supports its discovery. Similarly, whenever a resource is removed from the system, or modified by run-time operations, the profile into the IS must be deleted or updated respectively.

  • In D-NET resources have a PROFILE, i.e. description of their functionalities and their status.