Difference between revisions of "Virtual Platform"
From Gcube Wiki
Manuele.simi (Talk | contribs) (→Design) |
Manuele.simi (Talk | contribs) (→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 21: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 }