Google Summer of Code 2010: MyFaces Application Builder
Mentor: Gerhard Petracek
Student: Tobіas Ullrіch
Contents
Proposal
Abstract
This project will create a MyFaces Application Builder (MAB), an application builder for MyFaces which enables the user to easily generate a MyFaces application. The MAB will use the OpenWebBeans CDI implementation to enable the users to create add-ons and to render the MAB as flexible and extensible as possible.
Description
The MAB itself will provide a command-line interface (CLI) and a facility for the generation of configuration and code. All other features will be implemented as add-ons. The simple CLI enables the user to configure the project. Add-ons are able to extend the CLI's functionality. Based on the configuration, the MAB and the add-ons will generate all necessary parts. To realize the add-on system, CDI's event notification facility will be heavily used.
Within the scope of the GSoC, a number of initial add-ons for the following tasks will be created:
- add-on for creating a Maven configuration
add-on for creating all necessary MyFaces-Core configurations
add-on for generating an application which uses one of the MyFaces Component Libraries (striving for creating add-ons for all component libraries)
- add-on for generating an application which uses CDI (OWB, maybe Weld too)
add-on for generating an application which uses MyFaces Extensions
If time allows, add-ons to generate a full stack application will be created (at least add-ons for generating JPA entities and Session Beans).
Timeline
Date |
Description |
04/27/2010 |
Begin of Community Bonding Process |
04/27/2010 - 05/04/2010 |
Getting started with CDI, experiment w/ Weld and OWB |
05/05/2010 - 05/23/2010 |
Detailed requirements specification, drafting the design, finalizing the design, creation of project structure, start with CLI, prototyping of add-on system |
05/24/2010 |
Start of implementation phase |
05/25/2010 - 07/11/2010 |
Implementation of basic framework and add-ons |
07/12/2010 |
Mid-term evaluations, Milestone release |
07/13/2010 - 07/27/2010 |
Implementation of remaining features and add-ons. |
07/28/2010 - 08/08/2010 |
Profiling, bug fixing, complete test coverage, example add-ons |
08/09/2010 - 08/15/2010 |
Final phase: Improving documentation, preparing tutorials, code cleanup, tidy up loose ends |
08/16/2010 |
Final evaluations |
08/30/2010 |
Submitting required code samples to Google |
Criteria
Meritocracy: This Project will follow the guidelines of the Apache Foundation.
Community: This projects's aim is to enable people to easily generate a MyFaces Application. Thus, making it easier for beginners to start with Myfaces and by that, possibly increase the user base. Furthermore, it enables advanced users to speed up their development of applications based on MyFaces. Since this project only uses MyFaces components w/o changing them, the impact on the current implementation is limited. The usage of OWB as CDI implementation could help finding bugs or improvements and thereby help improving OWB.
Additional Information
Links
[https://issues.apache.org/jira/browse/MYFACES-2635]
Background
At the moment, I am matriculated at the WWU Münster (Westfälische-Wilhelms Universität Münster) from which I will graduate in the next semester. Until now, my participation in open source software (apart from using it) was limited to minor bug fixes and bug reports. My experience as software developer includes design and development of a JEE and Python based Active Learning Platform for NLP and Information extraction for Siemens Healthcare USA, Inc. in Mountain View, CA, the design and development of a Java based multi purpose VoIP platform, and several solutions in the area of medical informatics (e.g. a RIS platform to share DICOM pictures) for local companies. I'm an active member of the local Java User Group, co-manager of the local Google Technology User Group and co-organzier of "Talklets Münster", a regular series of tech talks centered around software development topics. Currently, I am applying with two colleagues for an entrepreneur seed grant for university spin-offs, financed by the German Federal Ministry of Economics and Technology and the European Union.
Apart from the GSoC, I do not have other commitments at the moment. There are some exams in August but the dates are not fixed yet. I am able to commit about 20-30 hours every week to this project.
Contact
E-Mail: gsoc AT dump DOT netvanced DOT eu