Google Summer of Code 2009

JBoss.org is once again planning to be a mentoring organization for the Google Summer of Code program for university students.

 

Below you may find projects willing to be mentors along with suggestions for student projects.  Students may of course invent their own project ideas for their submission.  These are merely suggestions and recommendations.

 

If you find an idea you would like to work on, or if you want to propose your own, see the Getting Started Guide here:

 

http://groups.google.com/group/redhat-summer/web/gsoc-getting-started

JBoss-Rails

Homepage: http://oddthesis.org/
Mentors
Project Ideas
  • Integrate JBossCache for fragment caching.
  • Use JGroups memcached personality for CachedModel (or other caching) support.
  • Integrate with Mobicents SIP and provide a starter project.
  • Integration with Drools to provide first-class support for JRuby objects.
  • Hibernate integration to replace/augment ActiveRecord.

 

JBoss-Cloud

Homepage: http://oddthesis.org/
Mentors
Project Ideas
  • Create a JOPR plugin for mod_cluster.
  • Provisioning tool with web-based access.
  • Port JBoss-Cloud to your favourite distro.

 

Change driven test selection

 

Use code coverage data (e.g. emma) and version control (e.g. svn) logs to dynamically select and order tests such that recently modified code gets exercised first. This should help builds (e.g. ant, mvn) and continuous integration systems (e.g. hudson) provide faster feedback on changes. See http://www.jboss.org/community/docs/DOC-10787 for more.

Mentors
  • Jonathan Halliday

 

Cloud based testing

Extend the hudson CI server with a cloud plugin (probably targeting amazon EC2), so that the system can dynamically add or remove slave nodes in response to demand, such as the length of the build queue. See http://www.jboss.org/community/docs/DOC-10787 for more.

Mentors
  • Jonathan Halliday

 

Drools

Mentors
  • Michael Neale
  • Mark Proctor

 

Project Ideas
  • Rule refactoring - Drools rules are statically strongly typed, so it is possible to create a refactoring tool to allow bulk changes in names, model evolution etc. This should be a library that is invocable from both eclipse and the web tooling (guvnor) - and needs to understand the various formats that rules can be stored in and deal with each one accordingly.
  • Full DRL suport for Guided Editor - The web based guided editor, written in GWT, supports a sub set of the Drools Rule Language. It would be nice to update this so the full rule language can be supported complete with drl round tripping. Bonus points if that work can be ported to the Eclipse version of the tool too.
  • Extend the Guided Editor with business focused features. This includes support for templating, frozen areas, nested DSLs and various constraint mechanisms.
  • Drl clean-up/reformatting, annotation hints/warnings. In Eclipse it would be nice to have formatting control and to also apply verification warning and hints.

 

Mentors
  • Vladimir Ralev
  • Jean Deruelle
Project Ideas
  • Help us build the most advanced open-source Java VoIP PBX. This is a mixed Web and VoIP application using Sip Servlets (JSR289), Mobicents Media Server, JBoss Seam, JBoss Seam Telco framework, Richfaces and other frameworks. Possible tasks:
    • Add a voicemail feature with Web User Interface for individual users.
    • Add a global call monitoring and administration function where the administrator can record all calls going throught the system and listen to them from the Web UI, observe and listen to ongoing calls, terminate ongoing calls, view call statistics and so on.
    • Implement DTMF interface for PBX functions. Right now everything is controlled from the Web UI, but users may want to forward calls, mute conference participants or invite other participants using DTMF without the Web UI.
    • Implement Web-based text/images chat between subsribers where SIP messages are also shown.
  • Add Support for TURN and ICE protocols to Mobicents for NAT Traversal
  • Implement STUN Server for Mobicents
  • Add an example to Mobicents Sip Servlets showcasing REST integration (preferably leveraging the JBoss Rest Easy project)
  • Implement the different IMS components (xCSCF) for Mobicents Sip Servlets
  • Add Support for Jabber/XMPP in Mobicents Sip Servlets to be able to bridge SIP Services and XMPP network + create an example showcasing interop between GTalk and a SIP client
  • Support for Parlay X webservices
  • Provide adaption layer for JRuby-Rails app to handle SIP Servlets Requests/Responses in JRuby-Rails app
  • Extend the current Eclipse plugins by new wizards, supporting multiple phones, test signal playback and recording or others

 

Mobicents Media Server

Mentors
  • Oleg Kulikoff
  • Amit Bhayani
Project Ideas
  • Add Support for RTCP protocols to Mobicents Media Server
  • Add Support for SRTP protocol to Mobicents Media Server
  • Integrate the Automatic Speech Recognition engine to Mobicents Media Server. You can look at Sphinx-4 project which is open source

 

JBoss DNA

Homepage: http://www.jboss.org/dna

Mentors:
Project Ideas
  • Write repository connector to use Hadoop, allowing persistent storage of DNA repository content in Hadoop.
  • Write repository connector to use S3, allowing DNA to federate content stored in S3.
  • Write DDL sequencer (using ANTLR).

 

JBoss Netty

Homepage: http://www.jboss.org/netty/

Mentors
Project Ideas

Implement:

  • a Bayeux (Cometd) protocol
  • STOMP (Streaming Text Orientated Messaging Protocol)
  • SMTP (Simple Mail Transfer Protocol)
  • an OSGi HTTP Service

on top of Netty.

 

JBoss Portal

Homepage: http://www.jboss.org/jbossportal

Mentors
Project Ideas
  • Webapp clipping portlet, to be able to insert any existing web application in a portal

 

JBoss jBPM

Mentors
Project Ideas

 

Jopr

Mentors
Project Ideas
  • Baselining that respects hourly and weekly variances to get better out-of-bounds conditions
  • Proactive alerting - alerting operators of bad conditions before they actually happen
  • Correlation of arbitrary input values to generate new results - often one input parameter is not enough to determine if a bad condition is in place
  • Multidimensional multimetric multidevice graphing of measurement values
  • Portal-UI for Jopr so that users can compose their own UI. This includes adding of other related consoles

 

 

Hibernate Search

Mentors
  • Emmanuel Bernard
  • Hardy Ferentschik
Project Ideas
  • clustering
    Today we do clustering based on JMS (to send changes) and file copy (to push new indexes) We would like to explore different approaches using clustering:
    - wo JMS (porbably using the communication library JGroups)
    - by pushing file changes faster (again pushing data with JGroups).
    - by distributing the cache using JBoss Cache
    There are three mini subjects
  • faceted search
    It's a vague notion but the idea is to do restrict a query based on a previous search or by self constructed categories. Solr does that in one way and we would like to explore how useful that can be.

The clustering proposal is probably more appropriate because it's better framed at the moment. Faceted search is kind of a shot in the water at that stage.

 

Seam / Web Beans / JBoss Tools

Mentors
  • Dan Allen
  • Max Andersen
Project Ideas
  • seam-gen redesign (seam-gen encore)

    The time has come to redesign seam-gen as a modular, reusable archetype (possibly based on Maven 2) for creating Seam projects in a cafeteria style (i.e., pick an choose the features you want to include). Please see the seam-gen encore page for details about the project.

 

seam-gen is very important to the Seam, Web Beans and JBoss Tools projects because it provides a way for developers to quickly get a fresh project generated so that they can spend their valuable time evaluating the capabilities of the frameworks and JBoss Tools rather than going through the trial an error of getting a project stood up from a blank canvas. Many developers have found the build put in place by seam-gen to be sufficient for their project's needs long term.

 

---

 

You can copy/paste the template below for your own project

 

http://www.jboss.org/community/docs/DOC-11184

 

PROJECT_NAME

Mentors
  • Mentor #1
  • Mentor #2
Project Ideas
  • Idea #1
  • Idea #2