Date: 2004-05-16T23:03:43
   Editor: 63.96.163.116 <>
   Wiki: Incubator Wiki
   Page: BeehiveProposal
   URL: http://wiki.apache.org/incubator/BeehiveProposal

   no comment

New Page:

'''Proposal for new project Beehive'''

''16 May 2004, Cliff Schmidt (cliff.schmidt at bea dot com)''

----

'''(0) rationale'''   

Beehive is an extensible Java application framework with an integrated 
metadata-driven programming model for web services, web applications, and 
resource access.  The framework leverages the latest innovations in the 
forthcoming JDK 1.5, particularly JSR 175 metadata annotations.  It currently 
builds on key Apache projects such as Tomcat, Struts, and Axis; we are also 
looking at integration with projects such as Maven and Portals.

There is a strong need for a cohesive, easy-to-use programming model for 
building J2EE applications.  Developers new to Java are forced to learn a 
myriad of APIs just to build simple applications; advanced J2EE developers are 
forced to write tedious plumbing code; and tools authors are limited in what 
they can do to simplify the experience due to the underlying complexity.  

The Beehive project will provide a consistent, abstract, and easily toolable 
programming model, providing a way for developers to more productively build 
applications leveraging the latest technology provided by JDK 1.5.  We expect 
this project will attract new users to a simpler way to build enterprise Java 
applications, while also attracting experienced J2EE programmers with a model 
that saves them from writing the same J2EE plumbing code over and over again.  
BEA's WebLogic Workshop developer community (see the "Community" section below) 
will provide a base for the Beehive community.  We are also hoping the 
innovative nature of this project will attract a strong developer community 
within Apache.

We believe the optimal structure for this work would be a Top Level Project, 
starting with two subprojects and adding a third in coordination with the JSR 
181 development.  While this proposal focuses on a framework consisting of 
these three subprojects, it is expected that the Apache community will come up 
with additional innovative ideas that will evolve into future subprojects.  The 
currently planned components include:

 * '''Controls''' -- The Control architecture is a lightweight component 
framework based upon annotated JavaBeans, exposing a simple and consistent 
client model for accessing a variety of J2EE resource types.  The framework 
provides a variety of functions including: JavaBean-based client access, 
configuration through JSR-175 metadata and external configuration data, 
automatic resource management, context services, and an extensible authoring 
model for creating new Control types.  
 
 * '''NetUI''' - NetUI Page Flow is a web application framework based on Apache 
Struts with an easy to use, single-file programming model based on JSR-175 
metadata.  It builds on the core Struts separation of model/view/controller 
elements, and adds features such as automatic state management and first-class 
integration with Controls, XMLBeans, and JavaServer Faces.

 * '''Metadata for Java Web Services''' � This component is an implementation 
of the JSR-181 specification and is a key piece of the Beehive framework.  JSR 
181 uses JSR-175 metadata annotations in Java methods and classes to easily 
build Web services.  


'''(0.1) criteria'''

''Meritocracy: ''

We plan to do everything possible to encourage an environment that supports a 
meritocracy.  One of the lessons that the XMLBeans committers have learned is 
that meritocracies don't just evolve from good intentions; they require 
actively asking the community for help, listing/specifying the work that needs 
to be done, and keeping track of and encouraging members of the community who 
make any contributions.  The committer list for this proposal includes people 
who will specifically be responsible for doing the work necessary to foster a 
meritocracy.

''Community: ''

BEA has been building a community around predecessors to this framework for the 
last two years.  There is currently an active 
[http://newsgroups.bea.com/cgi-bin/dnewsweb?cmd=xover&group=weblogic.developer.interest.workshop
 newsgroup] that should help us build a new community at Apache.  Several of 
our committers (including non-BEA people) are already actively involved with 
this user community.  Its success has also been enabled by solid documentation 
and sample code (see 
http://edocs.bea.com/workshop/docs81/doc/en/workshop/guide/netui/guide/navGuidetoBuildingWebApplications.html),
 including code samples provided by the user community (see 
http://dev2dev.bea.com/code/wlw.jsp).  While this isn't quite the same as 
running an open source community, we believe it gives us a strong base to build 
upon. 


''Core Developers:''

Half of the initial committers are key members of BEA's development, test, and 
project management team.  The rest are non-BEA developers who have had 
significant experience with the framework or the technologies it is built upon. 
 Some of these committers are contributing to this project on behalf of their 
employer, some of them are self-employed consultants, and some of them are just 
contributing as individuals.  Three of them have been committers on other 
Apache projects.


''Alignment:''

The initial code base is targeted to run within Tomcat, but the goal is to 
allow the framework to run on any compliant Servlet or J2EE container.  The Web 
services component, based on JSR-181, will leverage Axis.  The NetUI component 
builds on top of Struts.  The underlying Controls component framework uses 
Velocity.  There are other projects that we will need to work with, such as the 
Portals and Maven projects.

'''(0.2) warning signs'''

''Orphaned products: ''

The framework being proposed is an evolution of BEA's WebLogic Workshop 
framework, which has been getting very positive press and customer feedback, 
including several recent industry awards (including awards from PC Magazine, 
CRN Test Center, and Java Development Journal's "Best J2EE Application 
Development Framework" award).  Based on this feedback, BEA only wishes to 
invest further in the development and support of this technology.


''Inexperience with open source:''

Many of the committers have experience working on open source projects.  Four 
of them have experience as committers on other Apache projects.


''Homogenous developers:''

The current list of committers includes developers from several different 
companies plus many independent volunteers.  The committers are geographically 
distributed across the U.S. and Europe and are experienced with working in a 
distributed environment.

''Reliance on salaried developers:''

Approximately 2/3 of the developers are paid by their employers to contribute 
to this project; however, this includes four independent employers.  The 
remaining 1/3 of the developers are individual volunteers.

''No ties to other Apache products:''

As described in the Alignment section, this framework already has ties to many 
Apache products.  The framework is also already license-compatible with Apache 
products; in fact, it is currently licensed under the Apache License 2.0.


''A fascination with the Apache brand:''

The committers are intent on developing a strong open source community around 
the Beehive framework whether Apache is the right place or not; however, we 
believe that this project's current use of Apache products and potential for 
future synergies make Apache the ideal host community.  BEA is committed to 
supporting the future open source development of Beehive and to distributing 
the result of that development in future releases of its Weblogic product line.

'''(1) scope of the subprojects'''

See detailed information provided at:
 * http://dev2dev.bea.com/technologies/beehive/apache.jsp.


'''(2) identify the initial source from which the subproject is to be 
populated'''
 * http://dev2dev.bea.com/technologies/beehive/apache.jsp.
 
All code is already licensed under the Apache License 2.0.


'''(3) identify the ASF resources to be created '''


'''(3.1) mailing list(s) '''

 * beehive-general
 * beehive-controls-dev
 * beehive-controls-user
 * beehive-controls-cvs
 * beehive-jws-dev
 * beehive-jws-user
 * beehive-jws-cvs
 * beehive-netui-dev
 * beehive-netui-user
 * beehive-netui-cvs 
 
'''(3.2) CVS repositories'''

 * incubator-beehive
 * incubator-beehive-controls
 * incubator-beehive-jws
 * incubator-beehive-netui


'''(3.3) Jira '''

 * beehive-general
 * beehive-controls 
 * beehive-jws
 * beehive-netui

'''(4) identify the initial set of committers '''
 * Changshin Lee, (Axis committer)
 * Chris Judson, E2E Consulting
 * Cliff Schmidt, BEA (XMLBeans committer)
 * Craig Crutcher
 * Daryl Olander, BEA
 * Davanum Srinivas (Axis committer)
 * David Bau (XMLBeans committer)
 * David Karr (Struts committer)
 * David Read, BEA
 * Eddie O'Neil, BEA
 * Giridhar Rao, BEA
 * Heather Stephens, BEA
 * James Song, BEA
 * Kevin O'Connor, Documentum
 * Kyle Marvin, BEA
 * Matt Mihic, BEA
 * Michael Clark, SandCherry
 * Mike Kaufman, BEA
 * Rod Chavez
 * Rich Feit, BEA
 * Rotan Hanrahan, MobileAware
 * Scott Ryan 
 * Steve Tocco, BEA
 * Vince Salvato,  E2E Consulting


'''(5) identify apache sponsoring individual '''

 * Craig McClanahan, Champion and Mentor for the project,
 (as defined in 
http://incubator.apache.org/incubation/Roles_and_Responsibilities.html)

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to