Roadmap Seven

Although from the outside based on the releases of the last year it might seem there is not much ongoing development on Seven but this is just outward appearance. The Cheiron repositories have seen a huge amount of changes in the last year that will make up Seven 1.0 for which a non exhaustive list is provided below.

Before the final 1.0 release there are 3 planned milestone releases that allow people to influence the final release and to get their hand on more stable releases than can be obtained from the weekly builds.

All release dates mentioned are tentative and serve only to give you an idea of the relative position of one release from another.

Seven 1.0 M1 (September 2007) - release notes

  • J2SE 1.4 language level, although you are recommended to deploy with J2SE 5.0 or higher;
  • JSC 0.1 based although many features of the JSC 1.0 Specification are ported to the Seven proprietary JSCX Specification;
  • JSCX API that provides access to advanced features to Seven that are not generic enough to get into the JSC Specification and a test bed for new features that might end up in a future JSC Specification. Features one should think of the ability to administer the container from within a JSC Service and to create class loaders that work properly in a Jini environment;
    can act as container for other code;
  • weekly builds will become publicly available again;
  • distributed security with support for all constraints, with dynamic updating of security configuration (all aspects not hindered by current Jini implementation);
  • security authorization plugin API with 2 default role based implementations when utilizing the XML configuration, allows you to integrate with enterprise authorization frameworks;
  • support for persistent services through JSCX API (leases and transaction participation);
  • service brought off-line for maintenance purposes;
  • huge increase of configurable parameters for the join and discovery process as well as other configuration aspects, all through simple attributes;
  • distributed configuration of XML configuration files in case of XML configuration plugin, no more editing on the file system. Custom formatting of XML files resulting in predictable location of attributes;
  • persistence engine based on JDBM improved in significant ways, support for data file integrity, implemented caching at various layers resulting in improvements depending on the type of operation that can be between 10 - 10000. This allowed the B-Tree mechanism to be usable as the persistence engine for leases, transactions, etc. When working with a snapshot based filesystem such as ZFS it will be possible to perform live backups of the complete
    container;
  • codebase boomerang versioning, the first step to tackle class versioning in Jini environments;
  • persistent JAR file cache that brings major performance improvement for WAN deployments and guarantees codebase reliability when you persist marshalled objects;
  • support for DI, currently Google Guice and Sping are supported through Cheiron Utils while Seven provides the hooks;
  • ability to configure port ranges for server endpoints;
  • allow for Platform customizations;
  • much improved configuration documentation as well as developer guide with chapters about implementing and configuring security.

Seven 1.0 M2 (November 2007) - release notes

  • iron out the bugs found in 1.0 M1 which given the huge amount and complexity of the work and the need to release early will bring with it;
  • configure discovery scope for service finding in a similar way as has been done with join management, in other words allow for externalizing the scope to be used in your program (this is for most people a hard thing to get right when developing JSC Services);
  • some improvements to the Seven GUI that provides better graphical support for new features, hopefully this includes the ability to get all defined expr-values, together with their default and the current value.

Seven 1.0 M3 (January 2008) - release notes

  • evolution of persistent services supported, this is the second stage in solving class versioning issues for long running services;
  • support for persistent services through JSCX API (event registrations);
  • Suite extended with 2 new services:
  • log service based on the Cheiron logging API, possibly with an administration interface that utilizes Lucene to search log records;
  • web application container that can act as a (secure) Jini client and service, that supports proper WAR file reloading. This services will be based on Jetty.

Seven 1.0 (March 2008) - release notes

 

Beyond Seven 1.0 there is no clear roadmap besides the fact that as soon as the Jini Platform moves to J2SE 5.0 language features we can release the JSC 1.0 specification which will be implemented by Seven as soon as possible. The version for Seven that will implement JSC 1.0 will be 2.0. Due to slow pace with which the Apache River project moves currently we can't give no estimate.

Another important aspects we want to provide support for is Jini across the firewall, but again due to Apache River we can't indicate whether that will be done in the Seven 1.x releases or the Seven 2.x releases.