Difference between revisions of "Virtual Platform"

From Gcube Wiki
Jump to: navigation, search
(Design)
(Design)
Line 9: Line 9:
  
 
* to model the basic behavior of a virtual platform (package ''org.gcube.vremanagement.virtualplatform.model'')
 
* to model the basic behavior of a virtual platform (package ''org.gcube.vremanagement.virtualplatform.model'')
* to offer a way to instantiate and interact with a concrete virtual platform implementation (package ''org.gcube.vremanagement.virtualplatform.image'')
+
* to offer a platform-independent way to instantiate and interact with a concrete virtual platform implementation (package ''org.gcube.vremanagement.virtualplatform.image'')
 +
 
 +
 
 +
== Creating a new virtual platform ==
 +
 
 +
 
 +
== Instantiating and managing platforms ==
 +
 
 +
<source lang="java">
 +
import org.gcube.vremanagement.virtualplatform.image.PlatformConfiguration;
 +
import org.gcube.vremanagement.virtualplatform.image.VirtualPlatform;
 +
 
 +
List<PlatformConfiguration> configurations = Platforms.listAvailablePlatforms(new File(GHNContext.getContext().getVirtualPlatformsLocation()));
 +
for (PlatformConfiguration config : configurations){
 +
  VirtualPlatform vp = new VirtualPlatform(config)
 +
  //plays with the platform
 +
}
 +
</source>

Revision as of 22:23, 15 July 2011

Role

The Virtual Platform is a model to be extended for transparently interfacing a potentially unlimited number of hosting environments. This library has been designed and implemented to bridge and manage the lifecycle of execution units running on a different platform than gCore.

The gCube enabling technology is capable of dynamically instantiating platforms (along with their resources) compliant to such a model. When new software designed to run on a specific platform is uploaded in the software repository and then requested for deployment, a virtual image of the target platform is created to manage such software.

Design

The library has been designed having in mind its two-fold role:

  • to model the basic behavior of a virtual platform (package org.gcube.vremanagement.virtualplatform.model)
  • to offer a platform-independent way to instantiate and interact with a concrete virtual platform implementation (package org.gcube.vremanagement.virtualplatform.image)


Creating a new virtual platform

Instantiating and managing platforms

import org.gcube.vremanagement.virtualplatform.image.PlatformConfiguration;
import org.gcube.vremanagement.virtualplatform.image.VirtualPlatform;
 
List<PlatformConfiguration> configurations = Platforms.listAvailablePlatforms(new File(GHNContext.getContext().getVirtualPlatformsLocation()));
for (PlatformConfiguration config : configurations){
   VirtualPlatform vp = new VirtualPlatform(config)
   //plays with the platform
}