Accepting this proposal as currently written would also involve the acceptance of five new individuals as Apache committers. Based on where the HiveMind repo currently is/was, that implies giving five unknowns (to me, anyway) access to Jakarta Commons as a whole. I'm not so sure I'd be willing to sign up for that.
-- Martin Cooper On Tue, 11 Nov 2003, Nayak, Prashant wrote: > > Proposal for the HiveMind Project > > (0) Rationale > > HiveMind is a simple framework for creating pluggable, configurable, > reusable services. > > Simple: HiveMind is a way to create a network of services in terms of > Java interfaces and classes; it cherry picks the most useful ideas from > Service Oriented Architectures such as J2EE, JMX and SOAP, but removes > the aspects that are typically overkill for most applications, such as > service remoteability and language neutrality. HiveMind creates a > natural network of related services and configuration data, all > operating within a single JVM. > > Pluggable: HiveMind enforces a complete separation of service definition > and implementation. This is manifested by a division of services into an > interface definition and a service implementation as well as a split > between defining a service (as part of a HiveMind module) and providing > the implementation of that service (potentially, in a different module). > > Configurable: HiveMind integrates a service oriented architecture to a > sophisticated configuration architecture; the configuration architecture > is adapted from the Eclipse plug-in model, wherein modules may define > configuration extension points and multiple modules may provide > contributions to those extension points. > > Reusable: HiveMind is a framework and container, but not an application. > The HiveMind framework and the services it provides may be easily > combined with application-specific services and configurations for use > in disparate applications. > > The API for HiveMind allows thread-safe, easy access to services and > configurations with a minimal amount of code. The value-add for HiveMind > is not just runtime flexibility: it is overall developer productivity. > HiveMind systems will entail less code; key functionality that is > frequently an after-thought, such as parsing of XML configuration files, > logging of method invocations, and lazy creation of services, is handled > by the HiveMind framework in a consistent, robust, and well-documented > manner. > > HiveMind fits into an area that partially overlaps the Apache Avalon > project, with significant differences. HiveMind's concept of a > distributed configuration is unique among the available service > microkernel's (Avalon, Keel, Spring, Picocontainer, etc.). Avalon is > firmly rooted in a type-1 inversion of control pattern (whereby services > must explicitly, in code, resolve dependencies between each other using > a lookup pattern similar to JNDI). HiveMind uses a mix of type-2 and > type-3 IoC, whereby the framework (acting as container) creates > connections between services by setting properties of the services > (type-2) or making use of particular constructors for the services > (type-3). > > HiveMind represents a generous donation of code to the ASF by WebCT > (http://www.webct.com). HiveMind originated from internal requirements > for a flexible, loosely-coupled configuration management and services > framework for WebCT's industry-leading flagship enterprise e-learning > product, Vista. Several individuals in WebCT's research and development > team in addition to Mr. Howard Lewis Ship contributed to the > requirements and concepts behind HiveMind's current set of functionality > including Martin Bayly, Diane Bennett, Bill Bilic, Michael Kerr, > Prashant Nayak, Bill Richard and Ajay Sharda. HiveMind is already in use > as a significant part of Vista. > > (1) Scope of the package > > The package shall entail a core framework JAR (containing essential > classes and services), a standard library JAR (containing generically > useful services), along with ancillary artifacts such as Maven plug-ins > and, of course, documentation, all distributed under the Apache Software > License. > > (1.1) Interaction with other packages > > HiveMind has dependencies on several standard commons packages, > including: commons-lang, commons-beanutils, commons-collections and > commons-logging. > > HiveMind makes use of the Javassist bytecode generation library, which > is available under the MPL (Mozilla public license). > > (2) Identify the initial source for the package > > The initial code base has been developed by Howard M. Lewis Ship within > the Jakarta Commons incubator. > > http://jakarta.apache.org/commons/sandbox/hivemind > > (2.1) Identify the base name for the package > > org.apache.hivemind > > Note: the current code base reflects an alternate package name, > org.apache.commons.hivemind. Subsequent research has shown that > HiveMind is not a suitable candidate for the Jakarta Commons. The > existing code base will be migrated to the new package during the > transition out of the sandbox. > > (2.2) Identify the coding conventions for this package > > The code follows a modified version of Sun's standard coding > conventions, with the following stylistic changes: > - instance variables are prefixed with an underscore > - a newline is inserted before all braces > > (3) Identify any Jakarta resources to be created > > (3.1) mailing lists > > [EMAIL PROTECTED] -- User discussions > [EMAIL PROTECTED] -- Developer discussions and CVS update > notifications > > (3.2) CVS repositories > > The package will use a root branch of the hivemind CVS repository (to be > created). > > (3.3) Bugzilla > > The package should be listed as top level component, "HiveMind". > > (4) Identify the initial set of committers to be listed in the Status > File. > > Howard M. Lewis Ship <[EMAIL PROTECTED]> > Prashant Nayak <[EMAIL PROTECTED]> > Martin Bayly <[EMAIL PROTECTED]> > Christian Essl <[EMAIL PROTECTED]> > Harish Krishnaswamy <[EMAIL PROTECTED]> > Knut Wannheden <[EMAIL PROTECTED]> > > This list represents the most active HiveMind participants within WebCT > and on the Jakarta Commons Developer mailing list. Notably, Mr.s Essl, > Krishnaswamy and Wannheden, among others, have already been actively > mentoring other interested users on the mailing list in how to use > HiveMind as well as contributing design ideas and patches to the > framework itself. > > --- > > Prashant Nayak > Senior Architect, WebCT Inc. > Email: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]