choreos / choreos_middleware

CHOReOS will implement service middleware support, effectively enabling the deployment of adaptable, QoS-aware choreographies in the ULS Future Internet, integrating and further evolving the latest research advances in the area of Grid and Cloud computing, Enterprise Service Bus (ESB), and pervasive computing. Service-oriented middleware enables adaptable choreographies over ESB-based middleware, Grids, Clouds, and technologies for the Internet of Things, thus overcoming scalability and heterogeneity issues of the Future Internet.
http://www.choreos.fr
Mozilla Public License 2.0
9 stars 6 forks source link

Selecting a custom implementation of an extensible point #18

Open leonardofl opened 11 years ago

leonardofl commented 11 years ago

Currently the user can write a new CloudProvider or NodeSelector. But if he write the name of his custom class in the properties file, DeploymentManager will not be able to select his class. We must enable it. We must also ensure the user can use his own custom ContextSender and RecipeBuilder.

leonardofl commented 11 years ago

Obs: Since ServiceType and ArtifactType are intended to be extended, they cannot be simple enums. Solution (by Carlos Moraes): to use the type safe enum pattern. Create a class ServiceType, that has a private constructor and initializes a set of instances based on a config file. Default values can have constants pointing to them (e.g. SOAP = new ServiceType('SOAP')), but to access non-defualt values it is necessary something like ServiceType.getInstanceByName("JMS").

leonardofl commented 11 years ago

Done to NodeSelector: 18d67dd8e5b8babeda8116f9b2856ea29e966e1a