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.
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.
|