Package ome.services.licenses

Contains an add-on service and interceptor for license administration.

See:
          Description

Interface Summary
ILicense (CLIENT) Provides methods for acquiring and releasing server licenses.
LicenseStore Provides local extensions of ILicense for validating license tokens and tracking license timeouts.
 

Class Summary
LicenseBean Implementation of the ILicense service interface.
LicenseExceptionListener Listens for ConvertToBlitzExceptionMessage sent by IceMethodInvoker and converts LicenseException instances to omero.licenses.NoAvailableLicenseException et al.
LicenseI Implementation of the ILicense service.
LicenseSessionListener Listens for AbstractSessionMessages sent by ome.services.blitz.fire.SesssionManagerI and ServiceFactoryI and creates licenses when necessary for the user.
LicenseWiring Responsible for enforcing a generic licensing policy: All methods to ILicense are allowed.
Store Example LicenseStore implementation.
TokenInfo Example struct of the information that can be stored for used license.
 

Exception Summary
InvalidLicenseException (CLIENT) Exception thrown on a regular method call when the provided license token is rejected by the LicenseStore.
LicenseAPIException (CLIENT) Thrown by a properly functioning server only when the client has improperly used the licensing infrastructure (non-null LicensedPrincipal requirement).
LicenseException (CLIENT) Abstract superclass of all License exceptions.
LicenseTimeout (CLIENT) Exception thrown on a regular method call when a previously valid license has timed out as interpreted by the LicenseStore.
NoAvailableLicensesException (CLIENT) Exception thrown on license acquisition when no licenses are available.
 

Package ome.services.licenses Description

Contains an add-on service and interceptor for license administration.

The licenses jar produced by the tools/ build system contains a complete package (not split like the main OMERO components) of API (ILicense), conditions, service implementations (LicenseBean), and extension point (LicenseStore) which allows for third-parties to compile licensing into the OMERO application.

Some classes will be of no use to the client, but for ease of packaging and distribution the entire component is in a single jar.

Examples

  ServiceFactory sf = new ServiceFactory(new Server("my-host.example.com");
  RenderingEngine re = sf.createRenderingEngine();
  // initialize re and make calls
  re.close()
becomes
  LicensedServiceFactory lsf = 
                new ome.services.licenses.LicensedServiceFactory
                (null, new Server("my-host.example.com"), null);
  lsf.acquire();
  RenderingEngine re = lsf.createRenderingEngine();
  // as before
  re.close();
  lsf.release();

Details

The License service (ome.services.licenses.ILicense) is hooked into the server via the HardWiredInterceptor. See etc/local.properties.example and components/server/build.xml for more details.

Notes

To prevent tampering with the licensing service, it is necessary to run the server under a SecurityManager with the proper restrictions.

Related Documentation

For more information, please see:

See Also:
ome.logic.AbstractBean, HardWiredInterceptor


OmeroJava Api

Version: Beta-4.2.0-r7571-b29

Copyright © 2009 The University of Dundee. All Rights Reserved.