Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 19 Current »

Summary

Kilimanjaro is an Okapia implementation of the OSID Runtime environment that manages the loading and configuration of OSID Providers.

Kilimanjaro

Kilimanjaro is an Okapia implementation of the OSID Runtime environment. There are currently two flavors:

  1. native OSID Runtime for use by standalone applications
  2. tomcat OSID Runtime for use in tomcat/jboss web application environments

Instantiating OSID Runtime

BootLoader bootstraps the runtime.

Getting an OSID Runtime
net.okapia.osid.kilimanjaro.BootLoader loader = new net.okapia.osid.kilimanjaro.BootLoader();
org.osid.OsidRuntimeManager runtime = loader.getRuntimeManager("myApp");

The BootLoader handles the startup of the OSID Runtime. The OSID Runtime is instantiated once. Once the OSID Runtime has been acquired, it is kept for the life of the application. The OSID Runtime is responsible for both the location and operation of other OSID Providers. Shutting down the OSID Runtime shuts down all services accessible through the OSID Runtime. 

Getting OSID Providers

OSID Providers are accessed through the OSID Runtime.

Getting OSID Providers
org.osid.repository.RepositoryManager repositoryManager = (org.osid.repository.RepositoryManager) getManager(org.osid.REPOSITORY,
                                           														             "net.tom.impl.FunRepositoryManager",
                                           											                         net.okapia.osid.kilimanjaro.Versions.LATEST.getVersion());
 
org.osid.tracking.TrackingProxyManager trackingManager = (org.osid.tacking.TrackingProxyManager) getManager(org.osid.TRACKING,
                                           														            "net.tom.impl.TrackingProxyManager",
                                           														            net.okapia.osid.kilimanjaro.Versions.LATEST.getVersion());

However, the puppet strings between the OSID Consumer and OSID Provider increase as more OSID Providers are named and requested through the OSID Runtime. The Orchestration OSID is a useful tool to minimize this touch point in OSID Consumers.

Getting Orchestrated OSID Providers
org.osid.orchestration.OrchestrationManager orchestration = (org.osid.orchestration.OrchestrationManager) getManager(org.osid.Orchestration,
                                           														                     "net.tom.impl.MyOrchestrationManager",
                                           											                                 net.okapia.osid.kilimanjaro.Versions.LATEST.getVersion());
 
org.osid.repository.RepositoryManager repositoryManager = orchestration.getRepositoryManager();
org.osid.tracking.TrackingProxyManager trackingManager  = orchestration.getTrackingProxyManager();

The Orchestration OSID provides a single touchpoint to access OSID Providers encapsulating a number of issues such as identity of the other OSID Providers and the reusability of an OSID Provider instance. Even if every application had it's own customized Orchestration OSID Provider, this extra insulation is worth it whenever there is more than one OSID in play. OSIDs should have only permitted Orchestration OSID Providers to be instantiated through its runtime. This is the useful consumer-facing service bus and moves the configuration of other OSID Providers out of the OSID Consumers.

 

  • No labels