GSOC15 Ideas

Version 40

    JBoss Community Google Summer of Code 2015 Ideas

    JBoss Community Welcomes GSoC 2014 Students

     

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

     

    If you are a student looking forward to participate the GSoC 2015 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.

     

    If you want to suggest an additional idea, please use the page GSoC 15 Student Ideas (you'll need a free JBoss Community account to edit the page). Interested mentors can check the student ideas page and sign up to be a mentor by moving the idea onto the main page.

     

    You can also look at GSoC 2014 page for suggestions from last year.

     

     

    Administrators and Mentors

     

    The following people have agreed to serve as administrators and/or mentors for the GSoC 2015 program. Sometimes there should be some backing up mentors to mentor if the original mentor get busy with something for a short time period. In such case we need help.

     

     

    Idea Proposals

     

    Below is a list of the ideas that have been proposed for the GSoC 2015 program. The ideas are organized by category. Students are free to propose alternatives, but they should check with the potential mentors if the alternative subject is suitable.

     

    Category: Testing


    Category: Tooling


    Dynamic visual BPMN2 Diff tool for jBPM Web Designer

    Status: Draft

     

    Summary of idea:

     

    Being able to track how your Business Processes change over time is an important feature of BPM efforts.

    Text-based diff tools already exist but are not suitable/useful for comparing BPMN2 processes. Visual comparison

    between process versions should prove as a much more suited way of being able to compare business process

    changes over time.

    The work in this proposal deals with creating a plugin tool in jBPM Web Designer open-source web application

    to add ability to visually compare multiple BPMN2 process versions.

     

    Knowledge prerequisite:

    JavaScript, Java, SVG

     

    Skill level: Medium

     

    Contact(s): Tihomir Surdilovic

     

    Mentor(s): Tihomir Surdilovic

     

    Associated project(s): jBPM

     

    Smart Data Mapping and Associations  for jBPM Web Designer

    Status: Draft

     

    Summary of idea:

     

    jBPM Web Designer provides a web-based editing environment for creation of executable BPMN2 business processes.

    A part of creating executable business processes is providing execution semantics to the visual model such as

    defining process variables, data input/output sets, assignments and associations. This is currently a manual process

    which is time consuming and error-prone as the business model changes over time.

    The work in this proposal deals with developing a smart and intuitive/predicting way of working with data mapping and

    associations within a BPMN2 business process, all within the jBPM Web Designer open-source web application.

     

    Knowledge prerequisite:

    JavaScript, Java

     

    Skill level: Medium

     

    Contact(s): Tihomir Surdilovic

     

    Mentor(s): Tihomir Surdilovic

     

    Associated project(s): jBPM

     

    Notes:


    Docker Addon for JBoss Forge

    Status: Draft

     

    Summary of idea: The idea is to create a Docker addon that allows one to start/stop Docker containers and validate Dockerfiles against a set of predefined rules (a Java port of redhataccess/dockerfile_lint · GitHub should be implemented). It should also be possible to allow docker containers to be created based on the new project.

     

    Knowledge prerequisite: JBoss Forge 2 architecture, Docker

     

    Skill level: Intermediate

     

    Contact(s): Lincoln Baxter, III

    George Gastaldi

     

    Mentor(s): George Gastaldi

     

    Associated project(s): JBoss Forge

     

    Notes: ShrinkWrap Descriptors Docker · Arquillian should be used for the parsing and creation of Dockerfiles


    Implement a Database Migration system as a Forge addon

     

    Status: Proposed

     

    Summary of idea: The Grails plugin for database changes (http://grails.org/plugin/database-migration) may be good for inspiration, however the Forge version may not necessarily have the tightly coupled support as the Grails/Groovy domain models have, but something that supports JPA would be fabulous.

    Although a generic plugin for Liquibase or other database change management support could be useful, it would be left 'up to the developer' on how to use it which seems counter-intuitive to a more RAD-style development environment, per the specific of JPA-based data access (potentially OGM-based JPA as well).
    Usecase is for solving how to deploy database structure changes in an automated fashion to ensure the database schema does not go out of sync with the application.

    More info in https://issues.jboss.org/browse/FORGEPLUGINS-54

     

    Knowledge prerequisite: RDBMS, SQL, JPA, Java

     

    Skill level: Extremely High

     

    Contact(s): George Gastaldi

     

    Mentor(s): George Gastaldi

     

    Associated project(s): JBoss Forge

     

    Notes:


     

    Category: Application Development


    Hibernate Search with any JPA implementor


    Hibernate Search has been providing good Search capabilities (via Apache Lucene) for Hibernate users ever since it was created. Other JPA providers lack a way to integrate Lucene. Users that want to integrate Lucene into their JPA based project therefore have to do that on their own.

    However, Hibernate Search could theoretically be made compatible with any standard JPA implementation and enable non-Hibernate users to leverage the power of full-text search in their applications. How this can be achieved has to be explored and solutions/implementations for several parts have to be found:

    1. Find a way to support automatic (re-)indexing of entities. This is probably the hardest part of the process since JPA doesn’t have a event-system suitable for the needs of Hibernate Search.
    2. Integrate the automatic (re-)indexing feature with HSEARCH-1800 which will provide arbitrary support for users that want to use Hibernate-Search without a database. Features that are required by our JPA version might be added to this interface as well.
    3. Prototype an integration module which uses the interfaces defined in HSEARCH-1800 (or their evolution) and implements the JPA integration without using Hibernate specific APIs.


    Knowledge prerequisite: Java, Hibernate, JPA


    Skill level: Very High


    Contact(s): Sanne Grinovero's Profile | Hibernate and JBoss Developer

     

    Associated project(s): Hibernate Search

     

    Hibernate Search developer experience


    The goal is to improve the developer experience of people needing Hibernate Search. To achieve this, one should work on multiple different tooling areas, and also write great documentation.

    Some ideas could include CDI extensions, JBoss Forge plugins and/or extensions to the Hibernate Tools plugins for Eclipse, and/or create tutorials for integration with other frameworks such as Spring 4.

    Some tool which allows quick experimentation with FullTextQueries would also be very welcome; typically users of Apache Lucene use the Luke tool to inspect the index content; this works fine for Hibernate Search as well, but a better integration of this tool - for example awareness of the custom Analyzers it allows to define - would be a great improvement for developers having to diagnose issues.


    In terms of effort I don't expect a single student to work on all the subjects, but to pick a couple and take advantage of other developer experience he might have. Above all, the focus should not be on the quantity but on the ease of use and the documentation; for example one should dedicate some time on blog posts; creating some very short video tutorials would be very welcome as well.


    Knowledge prerequisite: Java, Hibernate, Apache Lucene


    Skill level: High


    Contact(s): Sanne Grinovero's Profile | Hibernate and JBoss Developer

     

    Associated project(s): Hibernate Search



    jBPM and MGWT


    The jBPM platform provides users (business and technical) the jBPM Console NG to interact with their business processes and tasks, but the application layout and design doesn't fit with the mobile world. By using MGWT we will be reusing the whole jBPM Console NG backend and just creating a more appropriate view for mobile devices. Working in this project you will learn a lot about how the current version of the tooling is working and you will gain deep understanding of the technology behind it.

    This blog post explains the idea and the initial development that was done to validate that the technology is the appropriate for the tooling that we are building: http://salaboy.com/2014/05/01/jbpm-mobile-task-lists-process-mgmt/


    Knowledge prerequisite: Java, GWT, some knowledge of (j)BPM


    Skill level: Medium


    Contact(s): Mauricio Salatino's Profile | JBoss Developer

     

    Mentor(s): Mauricio Salatino's Profile | JBoss Developer

     

    Associated project(s): jBPM


    jBPM on Android

     

    Status: Draft

     

    Summary of idea:

    The jBPM core engine itself is so lightweight that it could actually be run on android as well.  Based on an existing prototype, this could be extended so jBPM could actually be used to develop and execute simple applications on android.  This for example could include creating custom nodes for common android functions (like opening a web page, getting current location, etc.), configuring persistence to use the persistence mechanism offered by android, simple client interfaces for inspecting human task lists, managing process instances, etc.

    The blog entry describing a first prototype can be found here.

     

    Knowledge prerequisite: Java, some knowledge of (j)BPM and/or Android

     

    Skill level: Medium

     

    Contact(s): Kris Verlaenen

     

    Mentor(s): Kris Verlaenen

     

    Associated project(s): jBPM

     

    Notes:

    For other ideas related to jBPM, you can always visit the jBPM Projects page

    Don't hesitate to contact us if you have your own idea as well

     

    Integrating jBPM with your own preferred project(s)

     

    Status: Draft

     

    Summary of idea:

    jBPM allows you to integrate with external services by creating your own domain-specific nodes that are added to the process palette and can be used inside your business processes to model specific services.  While some of these services might be very specific to your problem domain, a lot of generic and reusable integrations could be implemented, like integration with Email, RSS feeds, Google Calendar, REST services, known web services to for example retrieve stock data, weather information, etc.  These could then be added to a repository or library of domain-specific nodes so that the process author could for example select which of those he wants to use as part of his process.

    We would like to extend the set of integrations that we support out-of-the-box by adding new integrations with existing services and projects.  This is an ideal opportunity to integrate jBPM with the some of the projects you love!

     

    Knowledge prerequisite: Java, some knowledge of (j)BPM

     

    Skill level: Medium

     

    Contact(s): Kris Verlaenen

     

    Mentor(s): Kris Verlaenen

     

    Associated project(s): jBPM

     

    Notes:

    For other ideas related to jBPM, you can always visit the jBPM Projects page

    Don't hesitate to contact us if you have your own idea as well.


    Category: Mangement and Monitoring



    Category: Monitoring

     

    Hawkular - pluggable data processors for metrics

     

    Status: Proposed

     

    Summary of idea: Hawkular (metrics) collects measurement data from various sources. Sometimes the user wants computed values out of the raw data. Simplest examples are minimum / maximum over a certain amount of time. Others could be nth-percentile, moving average, ... Not all of those can be known in advance, so it should be possible to plug them in (at runtime).

    This proposal is about to implement the infrastructure for such plugins inside Hawkular and also to implement some sample plugins.

     

    Knowledge prerequisite: Mathematical Statistics, Java; Good to have some NoSQL (Cassandra) knowledge.

     

    Skill level: Medium

     

    Contact(s): Heiko Rupp

     

    Mentor(s): Heiko Rupp

     

    Notes: Hawkular-metrics is currently called RHQ-metrics, but will move to the Hawkular org on GitHub soon

     

    Hawkular - iOS/Android client

     

    Status: Proposed

     

    Summary of idea: Hawkular is a system to monitor other systems. It collects data, stores it and is able to fire alerts on it.

    In this proposal you implement a client for iOS/ Android that is able to browse available resources and metrics, to

    display them graphically on the handheld screen. The client would also be able to display fired alerts and related resources.

    Implementations will use the respective libraries from Aerogear

     

    Knowledge prerequisite: REST, Java/Swift/ObjC

     

    Skill level: medium

     

    Contact(s): Heiko Rupp

     

    Mentor(s): Heiko Rupp

     

    Associated project(s): Hawkular, Aerogear

    Category: Security

    Keycloak - Certificate Management

     

    Status: Proposed

     

    Summary of idea:

    Mobile, Internet of Things, Bring Your Own Device and modern architects in general introduces a bigger demand for Public Key Infrastructure. Keycloak should be able to serve as a Certificate Authority and issue certificates for users, applications and devices. There should be a focus on easy of use and making all features available through the Keycloak Admin Console. An interesting extension point to the project would be to add support for automatic certificate management. This could be done by providing an implementation of the Automated Certificate Management Environment specification. If feasible this could also delegate to Let's Encrypt for public domains.

     

    Knowledge prerequisite: Java, PKI, Certificates, JavaScript/AngularJS

     

    Skill level: Medium/High

     

    Contact(s): Stian Thorgersen

     

    Mentor(s): Stian Thorgersen

     

    Associated project(s): Keycloak

    Keycloak - Audit Reporting and Intrusion Detection

     

    Status: Proposed

     

    Summary of idea:

    Keycloak can log events related to user activities, for example user login and password updates. Admins can view all events through the admin console, while users can view events associated with their own account through the account management console. We'd like to extend this to add support for generating reports, with sensible built-in reports as well as the capability of custom reports. Events should also be the basis for a built-in intrusion detection by aggregating multiple events into actions. As for reports there should be built-in patterns for intrusion detection as well as the ability to define custome patterns. The project should utilize a MapReduce framework and would most likely benefit from the RHQ Metrics project.

     

    Knowledge prerequisite: Java, MapReduce, NoSQL

     

    Skill level: Medium/High

     

    Contact(s): Stian Thorgersen

     

    Mentor(s): Stian Thorgersen

     

    Associated project(s): Keycloak

     

    Keycloak - IoT Security

     

    Status: Proposed

     

    Summary of idea:

    Internet of Things (IoT) is a big thing at the moment and the IoT market is expected to grow rapidly in the next few years. OpenID Connect should be a perfect match for IoT as it's a modern, light and simple protocol. We'd like to make sure Keycloak is ready for IoT and would like a student to investigate it's suitability and implement a POC. If there are improvements that can be made to Keycloak in this respect we'd also like the student to consider implementing these.

     

    Knowledge prerequisite: Java, IoT, OpenID Connect

     

    Skill level: Medium/High

     

    Contact(s): Stian Thorgersen

     

    Mentor(s): Stian Thorgersen

     

    Associated project(s): Keycloak

    Keycloak - Web Theme Editor

     

    Status: Proposed

     

    Summary of idea:

    Keycloak provides theme support that makes it possible to customize the look and feel of login pages, the account manangement console and the admin console. This makes it possible for developers to match the design to the design of their applications. Currently, themes can be created and modified by directly editing stylesheets and html templates through the file system. We would like to provide a UI through the admin console that allows configuring and editing themes. A simple mechanism to preview pages would also be useful.

     

    Knowledge prerequisite: Java, AngularJS

     

    Skill level: Medium

     

    Contact(s): Stian Thorgersen

     

    Mentor(s): Stian Thorgersen

     

    Associated project(s): Keycloak

    Keycloak - Internationalization Support

     

    Status: Proposed

     

    Summary of idea:

    Keycloak does not currently provide any internationalization support for login pages and the account management console. As these pages are aimed at end-users we need to add i18n support. It should be possible for applications to pass the users locale, but if none is specified Keycloak should also be able to detect the users locale. We'd also like the admin console to have support for configuring internationalization for a realm, including defining translations.

     

    Knowledge prerequisite: Java

     

    Skill level: Medium

     

    Contact(s): Stian Thorgersen

     

    Mentor(s): Stian Thorgersen

     

    Associated project(s): Keycloak

     

     

    Category: Asynchronous Messaging

     

    Category: Continuous Integration and Continous Improvement

     

    Category: Runtime Frameworks

     

    Category: Web Frameworks

     

    Category: Ceylon Programming Language

    Port Ceylon Herd from Play 1 to Cayla

     

    We want to rewrite our Ceylon Herd module repository from Play 1 in Java to Cayla in Ceylon. Cayla is a new Web Framework written in Ceylon which runs on Vert.x and we'd like to start using it for Herd. This involved porting functionality from the Play 1 version to the Cayla version, one bit at a time, and possibly help with the Cayla development as needed.

    Knowledge prerequisite: Ceylon, Java, Play, Web

    Skill level: Medium

    Contacts and mentors: Stéphane Épardaud, Julien Viet

     

    Make Ceylon scriptable

     

    We want to make it possible to write scripts in Ceylon, which means:

    • extending our grammar to allow Ceylon statements to appear at the toplevel in a script file (as opposed as within a method/class)
    • allowing module imports inside the script file
    • supporting the traditional UNIX #!/usr/bin/ceylon script header (mostly by ignoring/validating it in the grammar)
    • writing the script Ceylon command-line plugin, which will compile and run the Ceylon script
    • adding all required unit tests
    • documenting all this

    Knowledge prerequisite: Ceylon, Java, AntLR

    Skill level: Medium

    Contacts and mentors: Stéphane Épardaud, Tako Schotanus, Tom Bentley

    Notes: Refer to the Ceylon specification issue on scriptability for more information


    Make a Ceylon command-line plugin which generates architecture-dependent installable archives

     

    We'd like to be able to generate installable RPM, Debian archives for a given Ceylon module and version. Similarly we'd like to be able to export a Ceylon module to a Maven repository, with POM file, and generate Brew descriptors and ZIP archives. For all formats that support it, we are going to list the dependencies. This involves writing a new Ceylon command-line plugin calledexport.


    Knowledge prerequisite: Ceylon, Java, RPM, Deb formats

    Skill level: Medium

    Contacts and mentors: Stéphane Épardaud, Tako Schotanus, Tom Bentley


    Improve Herd, our Ceylon module repository web application

     

    We have many improvements we'd like to bring to Herd, our Ceylon module repository web application, such as features, bug fixes, improving usability or layout. This will involve all the usual skills required of web developers (front/back) and will make a big difference for all our users.Knowledge prerequisite: HTML 5, CSS 3, JavaScript, Play! Framework 1, Java, PostgreSQL, REST


    Skill level: Medium

    Contacts and mentors: Stéphane Épardaud, Tomáš Hradec

    Notes: Refer to the various open Ceylon Herd issues for more information.


    Improve the Ceylon IDE

    We have many improvements we'd like to bring to our Ceylon IDE, such as features, bug fixes, improving usability or layout. This will involve all the usual skills required of GUI desktop applications and will make a big difference for all our users.

    Knowledge prerequisite: Ceylon, Java, Eclipse

    Skill level: Medium

    Contacts and mentors: Stéphane Épardaud, Tomáš Hradec

    Notes: Refer to the various open Ceylon IDE issues for more information.

    Java to Ceylon code converter

    The Ceylon IDE (based on Eclipse) should support pasting code from a Java file into a Ceylon file, while tranlating the code to Ceylon.

    Ideally, outside Eclipse-specific glue, the conversion tool should be an independent library that can be reused in a Ceylon command-line convert plugin as well.

    Knowledge prerequisite: Ceylon, Java, Eclipse, AntLR

    Skill level: Medium

    Mentor: Stéphane Épardaud, Tomáš Hradec

    Notes: Refer to the Ceylon IDE issue for more information.

    Category: Mobile

     

    OAuth2 from Share extension in iOS8

     

    Status: Proposed

     

    Summary of idea:

    aerogear-ios-oauth2 already implements authz code grant with a secure external browser. In some cases though (like implementing share extension in iOS8), opening an external browser to trigger the danse is not allowed by the API. Provide an embedded web view approach as alternative to trigger the OAuth2 flow, share access and refresh tokens from containing app to extension and deal with background processing to provide a smooth experience when working with extension and oauth2 iOS lib. Test your sdk/demo app with OAuth2 providers like Google, Facebook, Twitter, Keycloak.


    Knowledge prerequisite: iOS8, Swift, Objective-C

     

    Skill level: Medium

     

    Contact(s): Corinne Krych

     

    Mentor(s): Corinne Krych

     

    Associated project(s): AeroGear, Keycloak

     

    Notes:

    aerogear-ios-oauth2

    aerogear-ios-cookbook

     

    Go Social

     

    Status: Proposed

     

    Summary of idea:

    aerogear-ios-oauth2 implements authz code grant for OAuth2 providers like Google, Facebook, Keycloak. Extract Social lib, (make it dependant on oauth2) and provide easy way for developers to implement their own social lib. Extend the list of social providers as much as you much and have fun with a crazy demo to demo it.


    Knowledge prerequisite: iOS8, Swift, Objective-C

     

    Skill level: Medium

     

    Contact(s): Corinne Krych

     

    Mentor(s): Corinne Krych

     

    Associated project(s): AeroGear, Keycloak

     

    Notes:

    aerogear-ios-oauth2

    aerogear-ios-cookbook

     

    WatchKit sdk for AeoGear

     

    Status: Proposed

     

    Summary of idea:

    Bring the features of AeroGear libs to the  Watch:

    push notification

    geofencing

    send a tweet from your wrist…

    Provide an extension to the existing AeroGear sdks to make them Apple Watch fit. Focus on high quality sdks also include work on how to unit test (mocking…) your app.

     

    Knowledge prerequisite: iOS8, Swift, Objective-C

     

    Skill level: Medium

     

    Contact(s): Corinne Krych

     

    Mentor(s): Corinne Krych

     

    Associated project(s): AeroGear, Keycloak

     

    Notes:

    aerogear-ios-oauth2

    aerogear-ios-cookbook

     

    Participating Projects

     

    You can find more information below about the participating projects.

     

    JBoss Forge

     

    Topic
    Details
    Project Description

    JBoss Forge is a core framework and next-generation shell for tooling and automation at a command line level; with APIs for integration in IDEs, exending built in functionality with plugins, and scripting for automating repeditive tasks, Forge is a tool every open-source developer should be looking at.

    Project Websitehttp://www.jboss.org/forge
    Project Logohttps://docs.jboss.org/author/download/attachments/11370498/Screen+Shot+2011-10-03+at+8.01.33+AM.png?version=1&modificationDate=1317654146000
    CategoryTooling and Automation
    Brief Description of the Idea

    1. Implement a Database Migration system as a Forge addon

    2. Docker Addon for JBoss Forge 2

    Programming / Knowledge RequirementJava, SQL, JPA, Database Migration Frameworks
    MentorLincoln Baxter, III
    Project IRChttp://webchat.freenode.net/?channels=forge
    Project Forums / Mailing Listforge-dev@lists.jboss.org

     

    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://aerogear.org/
    Project Websitehttp://aerogear.org/
    Project Logohttp://in.relation.to/service/File/22836
    CategoryMobile, Java, Ember
    Project IRCirc://irc.freenode.net/aerogear
    Project Communityhttp://aerogear.org/community/
    Project Sourcehttps://github.com/aerogear


    KeyCloak


    TopicDetails
    Project DescriptionIntegrated SSO and IDM for browser apps and RESTful web services.  Built on top of the OAuth 2.0, Open ID Connect, JSON Web Token (JWT) and SAML 2.0 specifications.
    Project WebsiteKeycloak - JBoss Community
    Project LogoKeycloak.png
    CategorySecurity
    MentorStian Thorgersen: stiant on IRC
    Project IRC

    #keycloak on irc.freenode.net

    Project issue tracker (JIRA)Keycloak - JBoss Issue Tracker
    Source codekeycloak/keycloak · GitHub
    Preferred communication channel for developersKeycloak development mailing list: https://lists.jboss.org/mailman/listinfo/keycloak-dev


    jBPM


    Topic
    Details
    Project Description

    Business Process Management (BPM) suite

    Project Websitehttp://www.jboss.org/jbpm/
    Project LogojBPM-large.gif
    CategoryApplication Development
    Brief Description of the Ideas

    See proposals above or jBPM Projects page

    Programming/Knowledge RequirementJava
    Mentor

    Kris Verlaenen, krisv on irc, @KrisVerlaenen on Twitter

    Mauricio Salatino, salaboy on irc @salaboy on Twitter

    Project IRC#jbpm on chat.freenode.net:6667
    Project Forumshttps://groups.google.com/forum/#!forum/jbpm-usage
    Project Demo Links (Youtube etc)jbpm.org and http://kverlaen.blogspot.com/
    Source Codehttps://github.com/droolsjbpm/jbpm

     

    Hawkular


    Topic
    Details
    Project Description

    Hawkular is a new open source monitoring solution. While it is under heavy development, this is also a great time to join discussions and why not even contribute. We know it's very rough at the moment and documentation is coming up but feel free to ask anything on IRC or by Email.

    Project Websitehttp://www.hawkular.org/
    Project Logohaw.png
    CategoryManagement and Monitoring
    Brief Description of the Ideas

    See proposals above or https://developer.jboss.org/wiki/GSOC15Ideas#jive_content_id_Category_Monitoring

    Programming/Knowledge RequirementJava
    Mentor

    Heiko Rupp

    Project IRC

     

    The Hawkular developers hang around on Internet Relay Chat (IRC) on irc://irc.freenode.net/#hawkular (check here of a Web-client if you can’t use a IRC client on your machine).

    Google Grouphttps://plus.google.com/u/0/b/100667078659222571663/100667078659222571663/about
    Mailing Listhawkular-dev Info Page   
    Source Codehawkular · GitHub
    Contribute Documentationhttps://github.com/hawkular.github.io


    Hibernate

     

     

    Topic
    Details
    Project DescriptionHibernate is a very popular open source framework used to map a Java domain model to persistent stores and provide an effective API to persist changes or execute queries. It is commonly used to map object to a relational database but is now also able to map data to data grids (Infinispan, Ehcache) and other NoSQL technologies (MongoDB, Neo4J, CouchBase, Cassandra, ..), or integrates with powerfull full text engines (Apache Lucene) to provide a state of the art search engine and some data mining capabilities. It is the foundation technology of the Java Persistence API.
    Project Website

    http://www.hibernate.org

    Project LogoHibernate logo
    CategoryPersistence, Data, Search
    MentorSanne Grinovero: sannegrinovero on IRC, @SanneGrinovero on Twitter
    Project IRChttp://hibernate.org/community/irc (requires to register your nickname on the IRC server)
    Project issue tracker (JIRA)https://hibernate.atlassian.net
    Source codehttps://github.com/hibernate
    Preferred communication channel for developersHibernate development mailing list: https://lists.jboss.org/mailman/listinfo/hibernate-dev (requires subscription)

     

    Ceylon

     

    Topic
    Details
    Project DescriptionCeylon is a new modern programming languge for the JVM and JavaScript VMs.
    Project Websitehttp://ceylon-lang.org/
    Project Logohttp://ceylon-lang.org/images/ceylon_homebanner_elephant.png
    CategoryProgramming languages
    MentorStéphane Épardaud
    Project Forumshttp://groups.google.com/group/ceylon-dev
    Source codehttp://ceylon-lang.org/code/source/

    Information for Potential Students

     

    1. Advise strongly to subscribe to the gsoc  AT  lists.jboss.org    (Sign up here: https://lists.jboss.org/mailman/listinfo)

    2. Join the IRC channel on freenode called #gsoc-jboss

    3. Read GSOC Advice for students at Google Summer of Code - Melange

     

    Resources