You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@jakarta.apache.org by "Nayak, Prashant" <Pr...@webct.com> on 2003/11/11 18:34:42 UTC

[Proposal] HiveMind Service Framework

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

hivemind-user@jakarta.apache.org -- User discussions
hivemind-dev@jakarta.apache.org -- 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 <hl...@apache.org>
Prashant Nayak <pr...@webct.com>
Martin Bayly <ma...@webct.com>
Christian Essl <ch...@yahoo.de>
Harish Krishnaswamy <hk...@comcast.net>
Knut Wannheden <kn...@paranor.ch>

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:  prashant.nayak@webct.com 


---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@jakarta.apache.org
For additional commands, e-mail: general-help@jakarta.apache.org


Re: [Proposal] HiveMind Service Framework

Posted by Rodney Waldhoff <rw...@apache.org>.
On Wed, 12 Nov 2003, Henning Schmiedehausen wrote:

> I still ask myself why we can't put HiveMind as its own project under
> the Jakarta umbrella.

Isn't that what this proposal is proposing?  If it isn't, then
general@jakarta is the wrong list to propose it to.

>
> We have projects with a much smaller scope as "normal" jakarta projects
> and we have and had framework projects such as Cocoon, Avalon or Turbine
> outside of the commons.
>
> IMHO the scope of HiveMind is already to big for the commons which I see
> as "software snacks": Small, easy to swallow and a side order for larger
> projects.
>
> 	Regards
> 		Henning
>
>
> On Tue, 2003-11-11 at 20:23, Martin Cooper wrote:
> > 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
> > >
> > > hivemind-user@jakarta.apache.org -- User discussions
> > > hivemind-dev@jakarta.apache.org -- 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 <hl...@apache.org>
> > > Prashant Nayak <pr...@webct.com>
> > > Martin Bayly <ma...@webct.com>
> > > Christian Essl <ch...@yahoo.de>
> > > Harish Krishnaswamy <hk...@comcast.net>
> > > Knut Wannheden <kn...@paranor.ch>
> > >
> > > 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:  prashant.nayak@webct.com
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: general-unsubscribe@jakarta.apache.org
> > > For additional commands, e-mail: general-help@jakarta.apache.org
> > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: general-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: general-help@jakarta.apache.org
>

-- 
- Rod <http://radio.weblogs.com/0122027/>

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@jakarta.apache.org
For additional commands, e-mail: general-help@jakarta.apache.org


Re: [Proposal] HiveMind Service Framework

Posted by Henning Schmiedehausen <hp...@intermeta.de>.
I still ask myself why we can't put HiveMind as its own project under
the Jakarta umbrella.

We have projects with a much smaller scope as "normal" jakarta projects
and we have and had framework projects such as Cocoon, Avalon or Turbine
outside of the commons.

IMHO the scope of HiveMind is already to big for the commons which I see
as "software snacks": Small, easy to swallow and a side order for larger
projects.

	Regards
		Henning


On Tue, 2003-11-11 at 20:23, Martin Cooper wrote:
> 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
> >
> > hivemind-user@jakarta.apache.org -- User discussions
> > hivemind-dev@jakarta.apache.org -- 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 <hl...@apache.org>
> > Prashant Nayak <pr...@webct.com>
> > Martin Bayly <ma...@webct.com>
> > Christian Essl <ch...@yahoo.de>
> > Harish Krishnaswamy <hk...@comcast.net>
> > Knut Wannheden <kn...@paranor.ch>
> >
> > 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:  prashant.nayak@webct.com
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: general-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: general-help@jakarta.apache.org
> >
> >
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: general-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: general-help@jakarta.apache.org
-- 
Dipl.-Inf. (Univ.) Henning P. Schmiedehausen          INTERMETA GmbH
hps@intermeta.de        +49 9131 50 654 0   http://www.intermeta.de/

Java, perl, Solaris, Linux, xSP Consulting, Web Services 
freelance consultant -- Jakarta Turbine Development  -- hero for hire

"Außerdem können in Deutschland alle Englisch. [...] so entfällt die
Notwendigkeit [...] Deutsch zu lernen." 
            -- Johan Micoud auf die Frage warum er kein Deutsch spricht.
                   (http://www.spiegel.de/spiegel/0,1518,273205,00.html)




---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@jakarta.apache.org
For additional commands, e-mail: general-help@jakarta.apache.org


Re: [Proposal] HiveMind Service Framework

Posted by Henri Yandell <ba...@generationjava.com>.
Quoting:

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

Although Commons-Sandbox access is open to all of Jakarta [or even
Apache], I think we can be pretty limited on the Commons access as
Hivemind is proposing being a new Jakarta sub-project.

Hen

On Tue, 11 Nov 2003, Martin Cooper wrote:

> 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
> >
> > hivemind-user@jakarta.apache.org -- User discussions
> > hivemind-dev@jakarta.apache.org -- 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 <hl...@apache.org>
> > Prashant Nayak <pr...@webct.com>
> > Martin Bayly <ma...@webct.com>
> > Christian Essl <ch...@yahoo.de>
> > Harish Krishnaswamy <hk...@comcast.net>
> > Knut Wannheden <kn...@paranor.ch>
> >
> > 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:  prashant.nayak@webct.com
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: general-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: general-help@jakarta.apache.org
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: general-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: general-help@jakarta.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@jakarta.apache.org
For additional commands, e-mail: general-help@jakarta.apache.org


Re: [Proposal] HiveMind Service Framework

Posted by Martin Cooper <ma...@apache.org>.
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
>
> hivemind-user@jakarta.apache.org -- User discussions
> hivemind-dev@jakarta.apache.org -- 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 <hl...@apache.org>
> Prashant Nayak <pr...@webct.com>
> Martin Bayly <ma...@webct.com>
> Christian Essl <ch...@yahoo.de>
> Harish Krishnaswamy <hk...@comcast.net>
> Knut Wannheden <kn...@paranor.ch>
>
> 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:  prashant.nayak@webct.com
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: general-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: general-help@jakarta.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@jakarta.apache.org
For additional commands, e-mail: general-help@jakarta.apache.org


RE: [Proposal] HiveMind Service Framework

Posted by Mike <ja...@comcast.net>.
Please turn off your receipt request when posting.

::>-----Original Message-----
::>From: Nayak, Prashant [mailto:Prashant.Nayak@webct.com]
::>Sent: Tuesday, November 11, 2003 12:35 PM
::>To: Jakarta General List
::>Subject: [Proposal] HiveMind Service Framework
::>
::>
::>
::>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
::>
::>hivemind-user@jakarta.apache.org -- User discussions
::>hivemind-dev@jakarta.apache.org -- 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 <hl...@apache.org>
::>Prashant Nayak <pr...@webct.com>
::>Martin Bayly <ma...@webct.com>
::>Christian Essl <ch...@yahoo.de>
::>Harish Krishnaswamy <hk...@comcast.net>
::>Knut Wannheden <kn...@paranor.ch>
::>
::>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:  prashant.nayak@webct.com 
::>
::>
::>---------------------------------------------------------------------
::>To unsubscribe, e-mail: general-unsubscribe@jakarta.apache.org
::>For additional commands, e-mail: general-help@jakarta.apache.org
::>

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@jakarta.apache.org
For additional commands, e-mail: general-help@jakarta.apache.org


Re: [Proposal] HiveMind Service Framework

Posted by Henri Yandell <ba...@generationjava.com>.
Daft question, possibly, but could someone summarise the IP issue that was
happening over HiveMind and how it is currently resolved.

I've not been following the thread, but I've seen the noise. Is everything
squared away and happy?

Hen

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
>
> hivemind-user@jakarta.apache.org -- User discussions
> hivemind-dev@jakarta.apache.org -- 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 <hl...@apache.org>
> Prashant Nayak <pr...@webct.com>
> Martin Bayly <ma...@webct.com>
> Christian Essl <ch...@yahoo.de>
> Harish Krishnaswamy <hk...@comcast.net>
> Knut Wannheden <kn...@paranor.ch>
>
> 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:  prashant.nayak@webct.com
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: general-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: general-help@jakarta.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@jakarta.apache.org
For additional commands, e-mail: general-help@jakarta.apache.org