This pattern provides a way to integrate and expose application capabilities through a single access point that is configured to manage the execution of the exposed capabilities and forward requests to the application capabilities.
In a VO there can be the need to expose application capabilities, for direct usage or for composition, as network hosted services in order to avoid direct and unmanaged access of VO members to VO resources.
It is appropriate to apply this pattern when there is the need to:
In the following picture, it is shown an high level diagram of the main components of this pattern. In the picture there are notes evidencing that some components relates to other BEinGRID patterns. This means that, for instance, the Policy&Rules component can be designed according to the patterns proposed by the General Security area.
The Application Virtualisation component follows the GoF Façade pattern and it is in charge to invoke the other classes of the system in order to execute the virtualisation process.
The Application Virtualisation, the Runtime Monitor and the Management Service can iterate the Observer pattern. Management Service Instances notify the Runtime monitor with the updates of some parameters and the Runtime Monitor can notify violation to the Application Virtualisation.
If the Application Virtualisation component is also the Gateway, when a request for accessing a service arrives, the Application Virtualisation can operate according the GoF Chain of Responsibility and pass the request along a chain of handlers.
The participants are:
The Application Virtualisation asks for mapping of EPR of the application instance to the EPR of the Service Gateway that will act as central point of access and management. Next, it sets the EPR of the management services to the Runtime Monitor that is in charge to control the execution of the application service instance, to understand if the associated contracts are guaranteed and, in case, to generate a violation.
The Application Virtualisation, then, asks for application of policies and rules and, eventually, activates the instance (e.g. set a flag evidencing that the Gateway is configured for the instance access), publish the EPR into a VO level registry and return the EPR to the client.