(+1) Binding. I guess this means I had better get my article finished up!
-----Original Message----- From: Howard Lewis Ship [mailto:[EMAIL PROTECTED] Sent: Tuesday, September 21, 2004 10:22 AM To: [email protected] Subject: [VOTE] Release HiveMind 1.0 (final) 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/hivemin d/</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://j akarta.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]
