incubator-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From c..@incubator.apache.org
Subject [Incubator Wiki] New: BeehiveProposal
Date Mon, 17 May 2004 06:03:43 GMT
   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: cvs-unsubscribe@incubator.apache.org
For additional commands, e-mail: cvs-help@incubator.apache.org


Mime
View raw message