Google Summer of Code 2010: MyFaces Application Builder

Mentor: Gerhard Petracek

Student: Tobіas Ullrіch

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:

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

[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