D-NET Resource Framework
The services in the D-NET Enabling Area (Information Service, Manager Service, Authorization and Authentication Service, Result Set Service) enable a service-oriented infrastructure, capable of managing a pool of resources (e.g. services) to be shared in the infrastructure by a number of participating organizations (POs). Resources can join or leave the infrastructure at any time, and therefore require to register to the system (in a peer-to-peer fashion) in order for other resources to discover and use them.
Several application patterns are supported, based on resource discovery or resource subscription. Resources can be designed to discover and use the resources they need on demand or to subscribe to system events, be notified when these occur, and consequently perform actions. Furthermore, as a combination of the two methodologies, Manager Services have been designed to automatically monitor resources in an infrastructure and orchestrate them to perform distributed transactions of arbitrary complexity. Due to their potential impact, such resources are typically configured by the responsible organization (RO) of the infrastructure.
The resulting environment delivers the following immediate benefits to POs:
- Dynamicity: resources are designed to be agnostic with respect to the status of the infrastructure, i.e., differently from distributed applications they do not make assumptions on the existence and location of the resources they need;
- Sharing and compositionality: new applications can be built by sharing and re-using existing resources, possibly provided by other POs, thus limiting development to the missing application components;
- Self-administration (autonomicity): Manager Services allow for the orchestration and monitoring of the existing resources, and to perform corrective actions when necessary;
- Distribution: distribution is an effective and low-cost approach to availability, workload distribution, and robustness; however, when running on the same host, D-NET services are designed to behave as software modules of the same application.
Overall, D-NET infrastructure provides an environment where multiple POs can collaboratively build their applications by sharing hardware, software, competence and therefore reduce the overall sustainability costs.