Harish Krishnaswamy: +1 (binding)
On Tue, 21 Sep 2004 10:21:32 -0400, Howard Lewis Ship <[EMAIL PROTECTED]> wrote: > Self explanatory: HiveMind 1.0 is ready to go, so we can focus on 1.1. > > I've worked on a comprehensive release notice for 1.0 ... the kind of > things that will be used on TSS.com to announce HiveMind (and will, > for many readers, be the first they've read of HiveMind). > > - - - - - - - - - - - - - - - - - - > > The Jakarta HiveMind team is proud to announce HiveMind 1.0 final release. > HiveMind is a services and configuration microkernel; an > infrastructure for all types of Java applications. HiveMInd encourages > the use of > best practices, as well as encouring the aggresive refactoring seen in > Test Driven Development. > > <p> > A HiveMind application stack consists of a <b>Registry</b> of services > and configurations: > > <p> > <img src="http://jakarta.apache.org/hivemind/images/FrameworkStack.png"/> > > <p> > The top zone, "Application", is your application, responsible for > creating the Registry and obtaining services from it. This may be a > <a href="http://jakarta.apache.org/tapestry/">Tapestry</a> > application, or any kind of servlet-based application, a command line > tool, or > a GUI built on Swing or AWT ... HiveMind doesn't know or care about > the application. > > <p> > Each service (represented as a yellow circle) is an interface combined > with a Plain Old Java Object (POJO) implementation of that interface. > These services are containers of business logic, in much the way that > stateless session beans are used in a typical J2EE application. In > many cases, > the few services exposed to the application are facades around larger > networks of services. > HiveMind is responsible for thread-safe just-in-time creation of your > services. > In addition, HiveMind uses the dependency injection pattern to connect > your services together. > > <p>Collaborating services are represented as objects (implementing an > interface) <i>injected</i> into a service implementation. A service > implementation never has to know anything about the lifecycle of a > collaborating service, it simply knows that an object with the right > interface is provided. This greatly simplifies unit testing, because > your unit tests can easily inject <em>mock</em> implementations of the > other services. > > <p> > HiveMind mates its rich services model to an equally rich configurations > model. > HiveMind configurations (the blue boxes in the diagram) are containers > of XML ... think of them as a kind of generic deployment descriptor > for any kind of data needed by your application. You define the > configuration point in terms of a simple schema (elements and > attributes) > and rules to convert contributed XML into Java objects; your services > see the end result: > a list of application-specific objects ready to be used by the > service. You get the benefits of flexible XML configuration without > the hassles! > > <p> > Combining the services model with the configurations model is > extremely effective; it allows significant data-driven solutions to be > assembled easily. Because > configurations can easily reference services, it becomes simple in > HiveMind to build all kinds of complex patterns: pipelines, factories, > strategies ... all of the > best design patterns become practical, even easy. > > <p> > HiveMind also includes a built-in documentation facility, <a > href="http://jakarta.apache.org/hivemind/hivedocs/index.html">HiveDoc</a>. > HiveDoc is a hypertext representation of all the services, > configurations and contributions in a Registry, allowing you to easily > see > exactly how your application is structured. > > <p> > HiveMind interoperates well with other frameworks; it is built > specifically with J2EE in mind (and explicitly addresses the thread > safety and class loader > issues implicit in using J2EE), and has explicit interoperability with > <a href="http://www.springframework.org"/>Spring</a>. > > <p> > HiveMind is based on the same four principals that have made <a > href="http://jakarta.apache.org/tapestry/">Tapestry</a> so successful: > <b>Simplicity</b>, > > <b>Consistency</b>, <b>Efficiency</b> and <b>Feedback</b>. > > <p> > HiveMind is available under the terms of the <a > href="http://apache.org/licenses/LICENSE-2.0.html">Apache Software > License 2.0</a>. > > <p> > HiveMind 1.0 has been in development for nearly a year and a half. The > HiveMind team consists of > James Carman, > Erik Hatcher, > Harish Krishnaswamy, > Howard Lewis Ship > and > Knut Wannheden. > > <p> > HiveMind's home page contains extensive documentation and examples: > > <p> > <a > href="http://jakarta.apache.org/hivemind/">http://jakarta.apache.org/hivemind/</a> > > <p> > HiveMind can be downloaded from Apache's network of mirror servers: > > <!-- THE ANCHOR WILL LIKELY CHANGE TO #hivemind-stable --> > > <p> > <a > href="http://jakarta.apache.org/site/binindex.cgi#hivemind-current">http://jakarta.apache.org/site/binindex.cgi#hivemind-current</a> > > -- > Howard M. Lewis Ship > Independent J2EE / Open-Source Java Consultant > Creator, Jakarta Tapestry > Creator, Jakarta HiveMind > http://howardlewisship.com > > --------------------------------------------------------------------- > 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]
