Summary
The OSIDs (available from osid.org) are the service interface definitions. This wiki has information about the OSIDs and the Okapia open-source implementation.
Download
Getting Okapia jars from the maven repository.
Try An Example
Clone a sample application and OSID Provider:
% git clone git://git.assembla.com/osid-sample.git % cd osid-sample % make run
If you count nine planets, your OSID environment is working. Anything less then there was a serious problem.
net.okapia.osid.sample.Test illustrates the basics of consuming an OSID.
- Starting up the OSID Runtime environment.
- Loading a Resource OSID Provider
- Getting some stuff from it.
The Resource OSID Provider is net.okapia.osid.sample.providers.resource.solarsystem. It demonstrates:
- An OsidManager.
- Setting up the identity of the service provider.
- Implementing a simple OsidSession.
- Implementing an OsidRecord attached to an OsidObject.
Source Navigation
Resource OSID Consumer
net.okapia.osid.sample.Planets is the sample application. It performs the following:
- Starts up an OsidRuntimeManager via a Bootloader
- Gets the net.okapia.osid.sample.providers.resource.solarsystem.ResourceManager Resource OSID Provider via the OsidRuntimeManager.
- Gets a ResourceLookupSession via the ResourceManager.
- Gets a stream of Resources via the ResourceLookupSession.
- Iterates through the ResourceList and displays them.
- Shuts down the Resource OSID Provider and OSID Runtime.
Resource OSID Provider
The shaded rows indicate classes that directly implement an OSID. The others are supporting files.
file | purpose |
---|---|
net.okapia.osid.sample.providers.resource.solarsystem.ResourceManager | The entry point for OSID Providers. OsidManagers define what the OSID Provider supports and provides access to supported OsidSessions. |
net.okapia.osid.sample.providers.resource.solarsystem.ServiceProvider | Metadata for OsidManager implementations. |
net.okapia.osid.sample.providers.resource.solarsystem.ResourceLookupSession | The OsidSession for listing Resources. All the action happens in OsidSessions. |
net.okapia.osid.sample.providers.resource.solarsystem.Resource | An implementation of Resource. |
net.okapia.osid.sample.providers.resource.solarsystem.Planet | An enumeration of planets from which to create Resources. |
net.okapia.osid.sample.providers.resource.solarsystem.Bin | An OsidCatalog for collections of Resources. This provider defines only one. |
net.okapia.osid.sample.providers.resource.compliance.ResourceManager.xml | A configuration file for this provider. The OsidRuntimeManager feeds configuration data to OsidManager implementations via the initialize() method. |
Package Dependencies
The OSID Java Language Binding is in a jar OSID-<version>.jar. The other package dependencies are part of the Okapia OSID implementation framework.
Looking at the class files in the Resource OSID Provider, you can see that they extend classes in this framework and often make use of other Okapia tools in them.
Methods annotated with
@OSID @Override
directly implement an OSID method in an OSID.