GSOC 12 Ideas

http://www.jboss.org/dms/GSoC/GSoC_commonbanner_1180px.png

 

 

All students and developers are welcome to participate in the Google Summer of Code program with the JBoss Community!

 

If you are a student looking forward to participate the GSoC 2012 with the JBoss Community, feel free to browse the growing idea list below. Please don't hesitate to contact the mentor(s) indicated in the proposal for any related clarification.

 

Project Proposal Template

 

Please add your idea under one of the category headings using the template below. If there is no heading yet for your category, please add it as a level-2 heading.

 

Project name

 

Status: (Proposed or Draft)

 

Summary of idea:

 

Knowledge prerequisite:

 

Skill level:

 

Contact(s):

 

Mentor(s):

 

Associated project(s):

 

Notes:

 

Project Proposals

 

Below is a list of the ideas that have been proposed for the GSoC 2012 program. The ideas are organized by category.

 

Category: Testing

Automate JavaScript tests in an integration environment using Arquillian

 

Status: Draft

 

Summary of idea:

 

The goal of this project is to make automation of JavaScript tests in an integration environment as simple as automating Java tests by tying into the Arquillian ecosystem. We also want to be able to achieve rapid development of those JavaScript tests in the IDE. Running the test suite in CI simply is important equally important to quick development turnaround.

 

We want to leverage existing test frameworks where possible. One possible approach is to create an Arquillian test runner for QUnit tests and use Arquillian Drone to handle controlling the browser. This stack integrates Selenium and QUnit tests so that QA does not need to configure the browser pool twice for Selenium and QUnit tests. To support quick turnaround in development, we can use another framework, JsTestDriver, to grab an existing browser session and reuse it. This avoids having to spawn a browser repeatedly.

 

When this project is complete, developer should be able to agree that running JavaScript tests in both the IDE and a continous integration environment is as simple as running Java tests.

 

Knowledge prerequisite: Java, JavaScript, IDE (Eclipse or IntelliJ), some familiarity with Arquillian

 

Skill level: Medium to High

 

Contact(s): Lukas Fryc, Aslak Knutsen

 

Mentor(s): Lukas Fryc

 

Associated project(s): Arquillian

 

Notes: More details can be found in the resources below:

 

 

The focus of this idea is running JavaScript only tests using JavaScript unit testing frameworks, not invoking JavaScript from Selenium tests, which is a separate idea.

 

Extend Arquillian to support Spring testing (beans and MVC controllers)

 

Status: Draft

 

Summary of idea:

 

Arquillian provides an extensible testing platform that can be used for testing any type of Java-based component. The initial focus for Arquillian was testing Java EE components, such as CDI beans, EJBs and JPA. However, Arquillian provides all the infrastructure and hooks necessary to make it an ideal testing platform for Spring applications.

 

It's already possible to test Spring beans using Arquillian by packaging the Seam 3 Spring library in the test archive and injecting Spring beans into the test by way of CDI. However, the use of CDI here is unnecessary, since Arquillian already provides an extension point for creating a custom "test enricher", specifically a dependency injection adapter. In the first phase of this project, the student will create an Arquillian extension that provides a test enricher that loads Spring and looks up Spring beans for Arquillian to inject into the test case. This functionality effectively emulates the Spring TestContext framework.

 

In the next phase of the project, the student will extend Arquillian to enable testing of Spring MVC controllers. This functionality is very similar to the Arquillian JSFUnit extension that enables testing of JSF inside the container. There is already some work that has been done for testing Spring MVC controllers using a Spring-centric approach in the Spring MVC Test project. This project can serve as a good model for what we want to achieve using Arquillian as the test platform.

 

Knowledge prerequisite: Java, Spring, Spring TestContext, some familiarity with Arquillian

 

Skill level: Medium

 

Contact(s): Marius Bogoevici, Dan Allen, Aslak Knutsen

 

Mentor(s): Marius Bogoevici, Dan Allen

 

Associated project(s): Arquillian

 

Notes: Refer to the following resources for more information:

 

 

Decouple GWT testing from Jetty and allow integration testing in any container

 

Status: Draft

 

Summary of idea:

 

Currently the GWT integration testing framework, gwt-test-utils, is coupled with Jetty. This limits guarantees of GWT integration tests, and increases the complexity of project setup, when Jetty is not the target deployment environment. The goal of this project is to decouple this test framework from Jetty and hook it up to the Arquillian test platform. By integration with Arquillian, it's possible to leverage the Arquillian container adapters to allow integration testing on any supported container (including Jetty).

 

The next phase of the project, the student will tackle using ShrinkWrap micro-deployments for integration testing GWT. The lack of support for fine-grained, quick turnaround integration testing is a major missing piece of GWT. The GWT compiler could be forced to compile only portion of UI logic which could be tested in separation. This decreases time needed to compile deployment and allows testing units in separation.

 

When this project is complete, GWT tests will be much more flexible and efficient. It will be possible to run GWT tests on any container supported by Arquillian, tests will be more fine-grained, resulting in faster turnaround and developers will be able to experiment with other available Arquillian extensions for GWT testing.

 

Knowledge prerequisite: Java, GWT, some familiarity with Arquillian

 

Skill level: Medium to High

 

Contact(s): Christian Sadilek, Aslak Knutsen

Mentor(s): Christian Sadilek

 

Associated project(s): Arquillian, Errai, RHQ

 

Notes: See the following resources for more information about this project:

 

 

Participating Projects

 

You can find more information below about the participating projects.

 

AeroGear

 

 

Topic
Details
Project DescriptionProject AeroGear will be developing and integrating new mobile, native, and HTML5 based frameworks that solve the hard issues that enterprise developers care about - such as offline data synchronization, security, JBoss AS7 integration, and support across a broad range of devices. More info at http://www.jboss.org/aerogear/WhatisAeroGear.html
Project Websitehttp://www.jboss.org/aerogear
Project Logohttp://in.relation.to/service/File/22836
CategoryMobile/HTML5
Brief Description of the Idea
Expected Results
Programming/Knowledge Requirement
MentorJay Balunas
Project IRCirc://irc.freenode.net/aerogear
Project Forumshttp://community.jboss.org/en/aerogear
Project Demo Links  (Youtube etc)https://community.jboss.org/en/aerogear
Other Information

 

TorqueBox

 

Topic
Details
Project Description

Project TorqueBox is a new kind of Ruby application platform that integrates popular technologies such as Ruby on Rails, while extending the footprint of Ruby applications to include built-in support for services such as messaging, scheduling, and daemons.

TorqueBox provides an all-in-one environment, built upon the latest, most powerful JBoss AS Java application server. Functionality such as clustering, load-balancing and high-availability is included right out-of-the-box.

Project Websitehttp://torquebox.org/
Project Logohttp://bob.mcwhirter.org/blog/assets/torquebox-logo.png
CategoryRuby
Brief Description of the Idea
Expected Results
Programming/Knowledge Requirement
MentorBob McWhirter
Project IRCirc://irc.freenode.net/torquebox
Project Forumshttp://torquebox.org/community/mailing_lists/
Project Demo Links (Youtube etc)http://torquebox.org/podcasts/
Other Information

 

Arquillian

 

Topic
Details
Description

Arquillian is revolutionary platform that greatly simplifies integration testing for Java middleware. No more mocks. No more container lifecycle and deployment hassles. Just real tests!

Websitehttp://www.jboss.org/arquillian
Logohttp://design.jboss.org/arquillian/logo/ui/images/success/arquillian_ui_success_256px.png
CategoryTesting
LeadAslak Knutsen
Project IRChttp://webchat.freenode.net/?channels=jbosstesting
Project Forumshttps://community.jboss.org/en/arquillian?view=discussions
Source Codehttps://github.com/arquillian

 

 

Topic
Details
Project Description

Project PicketLink is a pure open source Identity Management project that provides Single Sign On capabilities to web applications. Apart from support for SAML and WS-Trust, there is support for OpenID and OAuth standards in various manner.

Project Websitehttp://www.jboss.org/picketlink
Project Logohttps://www.jboss.org/dms/picketlink/images/picketlink-banner-1180px.png
CategoryIdentity Management and Security
Brief Description of the IdeaA module for ROR/Ruby apps to provide SAML based SSO
Expected ResultsA separate module for Project PicketLink that is written in Ruby/ROR that allows Ruby apps to perform SAML based web sso.
Programming/Knowledge RequirementRuby required
MentorAnil Saldhana
Project IRChttp://webchat.freenode.net/?channels=picketlink
Project Forumshttps://community.jboss.org/en/picketlink?view=discussions
Project Demo Links (Youtube etc)
Other Information