Home | About

VHEFactory

The VHEFactory pattern provides a way to create manageable services on distributed and heterogeneous hosting environments.

It can be used when an ASP has to provide application capabilities to a client on the basis of an agreed contract. ASP is member of a VO. ASP is aware that it can provide the application capabilities but it does not know where the application capabilities are actually deployed as well as the status of the heterogeneous resources of the VO. To this purpose, the ASP delegates the selection of suitable hosting environments and the instantiation of the concrete services offering the required application capabilities.

It is appropriate to apply this pattern when:

In the next picture, it is shown a high level diagram of the main components of this pattern.

Following the GoF Façade pattern, the Provisioner acts as unique interface to the whole subsystems. The Provisioner acts also as a Broker service to support discovery of suitable hosting environments by interacting with a matchmaker that is able to match the application constrains against the profile of the endpoints of the hosting environments available in order to select the most suitable one.

The remaining parts of this pattern basically rely upon the GoF Abstract Factory pattern, providing a way to encapsulate a group of individual factories suitable for the several heterogeneous environments (in the picture, the component Concrete Factory for Environment X groups the factory of an application service and the factories of its associated management services), and the GoF Observer pattern, where the subject is the Application Service and the observers are the Management Services.

The Observer pattern allows separating the “Service” abstraction in its business and management parts.

In the picture, for simplicity, is depicted a single Hosting Environment but the VHE Factory can call Concrete Factory in several Hosting Environments.

VHEFactory

The participants are:

 

The Provisioner asks for the selection of the most suitable environment to the Matchmaker. The Matchmaker performs matchmaking on the basis of application requirements and profiles of the endpoints and returns a list of suitable hosting environments. Next, the Provisioner asks for the creation of manageable service instances.

The VHE Factory delegates the creation of a manageable service instance to a Concrete Factory which, in turns, create instances of the Management Services (the observers) and of the Application Service (the subject). The Application Service knows references of observers and perform the attach operation. When some state parameters change, the Application Service updates the Management Service.

The EPRs of the created instances are returned to the Provisioner.

VHEFactory collaboration