Manifest Oplets

The ORE makes implementing com.nortelnetworks.ore.Oplet more convenient by providing some support classes that do much of the work for you. To use this facility, you implement com.nortelnetworks.ore.ManifestOplet instead of directly implementing Oplet. The ORE will provide an oplet implementation that extracts information from extra headers in the oplet JAR file manifest.

The SDK provides a simple utility that creates an empty skeleton oplet that can be used as a starting point for new ManifestOplets.

The lifecycle of a ManifestOplet

The ORE takes care of most of the issues surrounding the manifest oplet lifecycle, but it does need some extra help when creating, starting and stopping the oplets services. If you are implementing ManifestOplet, you have to provide implementations for the following methods:

Manifest headers

ManifestOplet makes use of the following headers:

Oplet-Dependencies
A list of services that this oplet depends on. Each service is described with a straightforward syntax.
Oplet-JarFiles
A list of JAR files that provide resources that this oplet depends on.
Oplet-Services
A list of descriptions for the services that are provided by this oplet.
Oplet-Description
Oplet-DocUrl
Oplet-ContactAddress
These headers are use to construct the OpletInfo for this oplet. The ORE also uses the standard Java versioning headers.
Oplet-Package
Future versions of the ORE will include facilities for package sealing. This header is in support of that mechanism.

The syntax for service descriptions

The syntax for service descriptions is under design. Currently, it is simply the fully qualified name of the service interface. The service-specific name cannot be represented.

An example

Here is an example of the manifest headers for a simple oplet based on ManifestOplet:

Oplet: mypackage.MyOplet
Oplet-Services: mypackage.MyService
Oplet-Dependencies: otherpackage.OtherService
Oplet-JarFiles: resources.jar
Oplet-Description: An example oplet
Oplet-DocUrl: http://openet.baynetworks.com
Oplet-ContactAddress: roduncan@nortelnetworks.com

This declares that the oplet JAR file contains an oplet implemented by a class with the fully qualified name mypackage.MyOplet which provides a service with the fully qualified name mypackage.MyService. In addition, this oplet uses facilities from the otherpackage.OtherService service provided by another oplet. This means that this oplet has a dependency on otherpackage.OtherService. The oplet also uses some resources contained in a JAR file resources.jar that it provides. The other informational headers should be self-explanatory.


Top ORE SDK V0.3.0, Mon Feb 14 14:00:19 PST 2000
Rob Duncan