org.gcube.vremanagement.resourcemanager.impl.brokerage
Interface Broker

All Known Implementing Classes:
InternalBroker, ServiceBroker

public interface Broker

Models the expected behavior of a Broker. A Broker is an entity that can create Deployment Plans for a set of ScopedDeployedServices to be deployed

Author:
Manuele Simi (ISTI-CNR)

Method Summary
 void initialize(GCUBEScope scope)
          Initializes the Broker instance
 void makePlan(Session session, java.util.Set<ScopedDeployedService> services, java.lang.String[] suggestedGHNs)
          Creates a deployment plan for the given services
 void sendFeedback(Session session)
          Sends feedback to the broker about the execution of the plan for the given session
 

Method Detail

initialize

void initialize(GCUBEScope scope)
                throws java.lang.Exception
Initializes the Broker instance

Parameters:
scope - the scope where the broker will act
Throws:
java.lang.Exception - if the initialization fails (depends on the broker's nature)

makePlan

void makePlan(Session session,
              java.util.Set<ScopedDeployedService> services,
              java.lang.String[] suggestedGHNs)
              throws java.lang.Exception
Creates a deployment plan for the given services

Parameters:
session - the current session
services - the services to deploy
suggestedGHNs - the (eventually) GHNs suggested for the deployment, if specified, only these nodes will be used by the planner
Throws:
java.lang.Exception - if the preparation of the plan fails

sendFeedback

void sendFeedback(Session session)
                  throws java.lang.Exception
Sends feedback to the broker about the execution of the plan for the given session

Parameters:
session - the current session
Throws:
java.lang.Exception - if the broker is not able to manage the feedback