Version 131

    JBoss Google Summer of Code 2012 Ideas

    JBoss Community Welcomes GSoC 2012 Students

     

    All students & developers are welcome to participate in the Google Summer of Code 2012 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.

     

    If you want to suggest an additional idea, please use the page GSoC 12 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.

     

     

    Administrators and Mentors

     

    The following people have agreed to serve as administrators and/or mentors for the GSoC 2012 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 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:

     

    Idea Proposals

     

    Below is a list of the 29 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: Proposed

     

    Summary of idea:

     

    The goal of this project is to make automation of JavaScript tests in an integration environment as simple as Java tests by tying execution into the Arquillian ecosystem. We also want to be able to achieve rapid development of the JavaScript tests in the IDE. Running the test suite in continous integration (CI) is equally as important as 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, JavaScript testing, IDE (Eclipse or IntelliJ)

     

    Skill level: Medium

     

    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.

     

    Discussion: Regarding GSoC Idea-Automate JavaScript tests in an integration environment using Arquillian

     

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

     

    Status: Proposed

     

    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 bridge. 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 (with proper isolation of the test archive of course).

     

    In the next phase of the project (if there is time), 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, JUnit or TestNG

     

    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:

     

     

    Discussion: GSoC - Arquillian Spring Integration

     

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

     

    Status: Proposed

     

    Summary of idea:

     

    Currently GWT integration tests using GWTTestCase are 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).

     

    In 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:

     

     

    Integrate Sahi into Arquillian Drone for automated browser testing

     

    Status: Proposed

     

    Summary of idea:

     

    Arquillian Drone is an abstract layer over browser controllers such as Selenium, WebDriver and HtmlUnit that integrates with the Arquillian testing platform to automate browser testing. Drone provides extension points to allow any browser controller with a Java API to be supported. Some developers prefer Sahi over Selenium for testing rich web applications such as those written using GWT. The goal of this project is to add support for Sahi in Arquillian Drone.

     

    Knowledge prerequisite: Java, Sahi or Selenium, JUnit or TestNG

     

    Skill level: Low to Medium

     

    Contact(s): Heiko Rupp, Karel Piwko

     

    Mentor(s): Karel Piwko

     

    Associated project(s): Arquillian

     

    Notes: Sahi testimonial

     

    Discussion: https://community.jboss.org/thread/197736

    Integrate Robotium into Arquillian Drone and Android extensions for complete automated application testing on Android

     

    Status: Proposed

     

    Summary of idea:

     

    The goal of this project is to add support for native Android application testing in Arquillian, leveraging Arquillian Drone as the controller. This focus of the project is on bringing together several well-established testing frameworks into a single, powerful stack.

     

    The Arquillian Android extension is an integration layer between Android SDK and Arquillian. It allows you to start and stop Android emulators, connect real devices and install arbitrary packages. It's basically a way to control the Android Debug Bridge from Java environment. Currently, the Android extension supports testing web-based applications via integration with Arquillian Drone and the Selenium AndroidWebDriver.

     

    Robotium is a framework based on top of Android SDK activity and  testing, which allows you to do a blackbox testing of the native application running on an Android device. An activity represents a part of the application (e.g., a screen) the user can interact with in order to do something. Robotium resembles Selenium in many aspects, except it works on native screens instead of web pages.

     

    Arquillian Drone is an abstraction layer over browser controllers such as Selenium, WebDriver and HtmlUnit that integrates with the Arquillian testing platform to automate browser testing. Drone provides extension points to allow any browser controller with a Java API to be supported. Since Robotium allows you "to browse" Android applications, it can be used as a browser from Arquillian Drone.

     

    This project can devided into two distinct phases. The first one focuses on decoupling InstrumentationTestRunner from Android SDK and integrating into Arquillian. This will allow running any Android integration tests directly in Arquillian. The second phase is about adding Robotium into Arquillian Drone as a supported browser.

     

    By integrating Robotium, developers will be able to focus on writing test logic and let Arquillian handle the integration work and automation. The developer will profit from much simpler configuration and possibly from integration with other Arquillian extensions.

     

    Knowledge prerequisite: Java, Android testing, JUnit or TestNG, Arquillian a plus

     

    Skill level: Medium

     

    Contact(s): Karel Piwko

     

    Mentor(s): Karel Piwko

     

    Associated project(s): Arquillian

     

    Notes: Robotium, Android Activity Testing

     

    Discussion: https://community.jboss.org/thread/197458

    Add support for scriptable data sets in DBUnit, building on the Arquillian Persistence Extension

     

    Status: Proposed

     

    Summary of idea:

     

    The key strength of Arquillian as testing platform is its extensibility. Arquillian Persistence Extension is one of many add-ons. The main rationale behind it is to remove boilerplate code needed to prepare the database and make you a happy and productive programmer!

     

    This extension uses DBUnit to populate test data. DBUnit is a popular and mature tool aiming to help developers with data driven tests. It provides an abstraction to manipulate test data called DataSet (in the form of XML, Excel file or formats added by the Arquillian Persistence Extension, such as YAML and JSON). The DataSet represents a collection of tables (rows) used to seed the database. However it's static nature is not sufficient in many cases. Imagine testing time sensitive data. It could be really handy to have possibility of defining date as "three days from today" or having current time by simply invoking "now()" function. With the power of a scripting language at your disposal it should be achieved very easy.

     

    The goal of this project is to extend the Arquillian Persistence Extension usage of DBUnit and introduce the concept ScriptableDataSet. By leveraging "Scripting for the Java Platform" (JSR 223) introduced in JDK 6 we can use plethora of languages to add dynamic flavor to our data driven tests.

     

    Knowledge prerequisite: Java, some basic knowledge of scripting languages (JSR-233, could be Groovy, Python, JavaScript, Ruby), DBUnit, JUnit, TestNG

     

    Skill level: Low - Medium

     

    Contact(s): Bartosz Majsak, Aslak Knutsen

     

    Mentor(s): Bartosz Majsak

     

    Associated project(s): Arquillian

     

    Notes:

     

     

    Provide an object-oriented format for defining test data for the Arquillian Persistence Extension

     

    Status: Proposed

     

    Summary of idea:

     

    DBUnit data sets are low-level, database oriented test fixtures. Hence it's often quite cumbersome to write them by hand, especially when there are relationships between entities/tables. The goal of this project is to introduce an alternative way of describing test data in external, human-readable text files representing object structure (entities), not rows as it's in DBUnit case. Considered formats are YAML or JSON.


    Knowledge prerequisite:
    Java, some familiarity with testing techniques and frameworks such as JUnit or TestNG.

     

    Skill level: Low

     

    Contact(s): Bartosz Majsak, Aslak Knutsen

     

    Mentor(s): Bartosz Majsak

     

    Associated project(s): Arquillian


    Notes:

     

    Integrate test data generation into Arquillian

     

    Status: Proposed

     

    Summary of idea:

     

    Combinator libraries such as Haskell's QuickCheck are designed to generate boundary test cases based on some assertions about logical properties that given behaviour should fulfill. The goal of this project is to provide such functionality for Arquillian-powered tests. Already existing solutions such as ScalaCheck, JCheck or Quickcheck could be leveraged to achieve it.


    Knowledge prerequisite:
    Java, some familiarity with testing techniques and frameworks such as JUnit or TestNG.

     

    Skill level: Medium

     

    Contact(s): Bartosz Majsak, Aslak Knutsen

     

    Mentor(s): Bartosz Majsak

     

    Associated project(s): Arquillian


    Notes:

     

    Unleash the Jester on integration tests by adding support for mutation testing in Arquillian

     

    Status: Proposed

     

    Summary of idea:

     

    Mutation testing is a software testing method which is based on the idea of modifying source or bytecode in order to capture weakneses of your test suite. In other words using this technique you can test your tests! By applying different mutations, such as changing operators, variable names or throwing exceptions, to your test code you have a chance to locate issues in your code.

     

    The goal of this project is to research the possibilities of integrating Arquillian with mutation testing tools such as PIT. Another angle would be to investigate how we can leverage Byteman in this context (some work has already been done to integrate Byteman into Arquillian).


    Knowledge prerequisite: Java, some familiarity with testing techniques and frameworks such as JUnit or TestNG.

     

    Skill level: Medium to High

     

    Contact(s): Bartosz Majsak, Aslak Knutsen

     

    Mentor(s): Bartosz Majsak

     

    Associated project(s): Arquillian


    Notes:

     

     

    Automated Client-Side Profiling

     

    Status: Proposed

     

    Summary of idea:

     

    An optimization of the client-side performance for web applications is based on optimizing the application

    source code in order to allow fluent loading of resources and fluent rendering.

     

    To provide optimized loading, it's necessary to keep set of best practices each developer should have in mind when coding application [1].

    There are several tools which can detect violation of some of these rules [2].

     

    The detail of a page loading process can be then displayed as graph. There are several browser tools

    which are able to collect and display these informations [3].

     

    Periodical checking of these informations may be time-consuming, especially for big applications with many application views. But the process can be automated using browser automation tools like Selenium [4].

     

    At first, basic informations about page needs to be collected - the violation of performance rules, number of HTTP requests for page load, the time needed for displaying the page, the time before executing first script. These informations needs to be compared to historical data and significantly worse results needs to be considered as failure.

     

    At second, the whole detailed profile of page loading can be retrieved from browser, to be able review the real data and compare them with historical progress.

     

    There are two projects which enables similar functionality: commercial DynaTrace [5] and open-source BrowserMob Proxy [6] together with HAR Viewer [7].

     

    The goals of this project are:

    1. deepen the knowledge about the page loading with data provided directly by browser

    2. write simply-to-setup automation using Selenium

    3. automated analysis of data and system of failure detection

    4. integrate with Arquillian framework (Arquillian Drone)

     

    [1] http://developer.yahoo.com/performance/rules.html

    [2] http://code.google.com/speed/page-speed/ , http://developer.yahoo.com/yslow/

    [3] http://code.google.com/chrome/devtools/ , http://code.google.com/speed/page-speed/

    [4] http://seleniumhq.org/

    [5] http://www.dynatrace.com/en/

    [6] https://github.com/webmetrics/browsermob-proxy

    [7] http://www.softwareishard.com/blog/har-viewer/

     

    Selected resources:

    http://www.theautomatedtester.co.uk/blog/2010/client-side-profiling-with-selenium-2.html

    http://www.eviltester.com/index.php/2010/03/04/selenium-as-a-performance-and-load-test-tool-with-browsermob/

    http://www.youtube.com/watch?v=6BZ_eHTulIg&feature=youtu.be


     

    Knowledge prerequisite: Browsers, JavaScript, Java

     

    Skill level: Medium, High

     

    Contact(s): Lukas Fryc

     

    Mentor(s): Lukas Fryc

     

    Associated project(s): http://code.google.com/chrome/devtools/ , http://code.google.com/speed/page-speed/

     

    Notes:

     

    Automated Visual Verification

     

    Status: Proposed

     

    Summary of idea:

     

    The visual verification of web applications is time-consuming and error-prone process.

    The idea of this project is avoiding as big part of the process with employing automated verification tools.

     

    The goal of the project is writing client, which would allow QA engineers to hook into functional tests and automatically collect screenshots of the tested pages after each simulated user interaction.

     

    The tool automatically generates sequence of screenshots for each test case. First run of the tool generates sample set of images, which needs to be reviewed manually. In any further run of the tool, sample set of images is compared with new screenshots. Any deviation is reported as needs to be reviewed manually.

     

    The first part of implementation builts on top of Arquillian Drone and Arquillian Graphene extensions and allows automatic screenshot collection.

     

    Second part of implementation is a desktop tool for loading and analyzing of the results of comparison with the easy-to-review listing of results.

     

    Knowledge prerequisite: Java, image processing, HTML, CSS

     

    Skill level: Medium

     

    Contact(s): Lukas Fryc

     

    Mentor(s): Lukas Fryc

     

    Associated project(s): Arquillian RushEye, Arquillian Graphene, Selenium 2

     

    Notes: Kick-off discussion on Arquillian forum

     

    Server-Side Performance Testing Framework reusing Arquillian Core

     

    Status: Proposed

     

    Summary of idea:


    The testing of the performance of the Java enterprise application isn't as simple as it could be.

    In ideal state, user defines only how "request" to application looks and the rest can be managed by

    testing framework.

     

    The idea behind this project is to allow API for performing client testing (where mock request is emited outside of container) as well as in-container testing (allow to interact with internal server APIs accessible from deployed application).

     

    The goal of this work is to design tool for distributed performance testing, which would allow use following components: application server, load balancer, load generators (clients), measurement tools (CPU, Memory, bandwidth), performance data collectors.

     

    The collected results will be plotted to graphs to enable simple reviewing process in continuous integration systems.

     

    The proposal of the work is to use decoupled eventing system similar to CDI or Arquillian Core, which would allow to plug into the process and enhance/overwrite implementation where necessary. Obviously, the eventing system needs to be designed with high-throughput in the mind.

     

    The target platform is Arquillian framework. As reference implementation of application server, JBoss Application Server 7 should be used.

     

    Knowledge prerequisite: Java, Concurrency/Parallelism, Distributed Systems

     

    Skill level: High

     

    Contact(s): Lukas Fryc

     

    Mentor(s): Lukas Fryc

     

    Associated project(s): http://www.jboss.org/arquillian

     

    Notes:

     

    Category: Tooling

     

    Implement a Plugin to add "Undo" functionality to Forge

     

    Status: Proposed

     

    Summary of idea: Implement a Forge plugin to decorate execution of all commands to allow undo functionality (a Git time-machine).

     

    Since Forge makes changes directly to the project, users might get nervous about using the commands or accidently put the project in a state they want to revert. We want to provide an exit scenario. Upon completion of a command, the changes should be saved as a new revision in a git history branch. Of course, this will require stashing unstaged changes to avoid messing up the git workspace. From the branch, the user can test that the project was changed in the way they expect. If everything looks good, Forge will help the user merge the changes back into the their main working branch, reapplying any stashes as necessary. If things don't look good, the user can ask Forge to nuke the temporary branch, effectively rolling back all changes to the state before the command was executed. (See more details here: https://issues.jboss.org/browse/FORGE-320 ) This should behave a bit like a Git time-machine.

     

    Knowledge prerequisite: Java, Git

     

    Skill level: High

     

    Contact(s): Lincoln Baxter, III

     

    Mentor(s): Lincoln Baxter, III

     

    Associated project(s): Forge (See below for more information.)

     

    Notes:

     

    Implement a Forge plugin to create RHQ plugins

     

    Status: Proposed

     

    Summary of idea: Implement a Forge plugin that helps generating RHQ plugins. This could be in a sort of standalone way (much like the existing rhq plugin generator) or better in a form that you can instrument your app, generated by Forge with code points that expose application metrics, that can then be picked up by the RHQ plugin.

     

    Knowledge prerequisite: Java

     

    Skill level: Medium to High

     

    Contact(s): Heiko Rupp

     

    Mentor(s): Heiko Rupp

     

    Associated project(s): RHQ (see below for more information about RHQ), Forge

     

    Notes:


    BPMN2 based Web App for replaying and stepping through activity information captured from a business transaction executing within a SOA

     

    Status: Draft

     

    Summary of idea:

     

    As part of the SOA governance initiative within jboss.org, we are developing service activity monitoring capabilities to capture the activities associated with business transactions as they execute across services within a SOA.

     

    This information will include details regarding interactions between services, as well as details related to the internal tasks executed to achieve the business goal.

     

    The BPMN2 Web App will use a Choreography model (describing the end-to-end business process) to represent the communications that occur between services, and a Process model per service to either (a) elaborate the internal logic implemented by each service, where that services is using a BPMN2 execution engine, or (b) the abstract externally observable behavior where the service is implemented using a different technology.

     

    The user will be able to retrieve activity information regarding the execution of a particular business transaction instance, and observe how it executed across services (at the Choreography level), as well as being able to drill into the individual services (using the Process model representation) to examine further levels of detail.

     

    Knowledge prerequisite: BPMN2, Java, GWT, SVG

     

    Skill level: Medium to High

     

    Contact(s): Gary Brown

     

    Mentor(s): Gary Brown Jeff Yu

     

    Associated project(s): Savara Overlord

     

    Notes:

    Further questions about this task can be asked on this Savara dev forum thread.

     

    UML class editor-like Fact Type Editor for Drools Guvnor

    Status: Draft

     

    Summary of idea:

     

    UML class editor -like editor for editing the Drools declarative

    models and Java POJOs in Drools Guvnor. The work consists of creating

    the view for the UML-like editor screen and improving the existing

    asset editor screens.

     

    Knowledge prerequisite:

    Java, GWT

     

    Skill level: Medium

     

    Contact(s): Toni Rikkola

     

    Mentor(s): Toni Rikkola

     

    Associated project(s): Drools, Guvnor

     

    Notes:

     

    Integrate Drools Guvnor's GWT components into Eclipse SWTBrowser and decouple from JCR

    Status: Draft

     

    Summary of idea:

     

    Drools Guvnor has grown immensely in function and form leaving the asset editors in Drools Eclipse plugin behind. In order to

    minimise the effort to develop and support two divergent code-bases offering the same authoring tools this project would look to

    provide re-use of GWT based widgets in Eclipse. Furthermore the dependency Guvnor has on a JCR repository is to be removed,

    allowing assets edited within Eclipse to be stored as files under the control of Eclipse and any Version Control System the

    Eclipse user may have configured.

     

    Knowledge prerequisite:

    Java, GWT, Eclipse, SWT

     

    Skill level: Medium to high

     

    Contact(s): Michael Anstis

     

    Mentor(s): Michael Anstis

     

    Associated project(s): Drools, Guvnor

     

    Notes:

    Generic state management for Drools Guvnor for undo, redo and saved state

    Status: Draft

     

    Summary of idea:

     

    Provide a generic framework to record and allow playback of operations performed on assets within Drools Guvnor to

    facilitate the provisioning of undo-redo features. Furthermore, once complete, the concept of a list of changes (or undo

    log) made to assets will allow the identification of whether an asset has changed and hence prompt user before closing

    such with unsaved amendments.

     

    Knowledge prerequisite:

    Java, GWT

     

    Skill level: Medium

     

    Contact(s): Michael Anstis

     

    Mentor(s): Michael Anstis

     

    Associated project(s): Drools, Guvnor

     

    Notes:

    JavaScript-based visualizer for Drools Verifier verification data

    Status: Draft

     

    Summary of idea:

     

    Javascript-based visualizer for Drools Verifier verification data.

    Drools Verifier produces a XML report about the defects found from

    Drools rule language code and about the relationships between the

    rules and facts used in the code. The goal is to create a read only

    report that visualizes this data. The end result will be similar to

    what you would get when you merge JavaDocs and a FindBugs report. 

     

    When this project is complete, the report will be used in CI-server

    builds and inside Drools Guvnor.

     

    Knowledge prerequisite:

     

    Javascript/Coffeescript, jquery or similar

     

    Skill level: Low

     

    Contact(s): Toni Rikkola

     

    Mentor(s): Toni Rikkola

     

    Associated project(s): Drools

     

    Notes:

    If the student gets the view done fast, then the work will include

    adding the report creation to Drools Guvnor, Drools ant task and maven

    plugin.

     

    Support FormFlow driven by jBPM with the jBPM Form Designer

    Status: Draft

     

    Summary of idea:

     

    jBPM has a powerful form builder with UI Bindings. However currently either all of the form is displayed or it's not. Typically form entry will be done in stages via  "next/previous" tab, where you can't go to the next tab until the current one is complete enough. Possibly the "next" page needs to be completed by someone else.

     

    The developer will take the existing jBPM form design and extend it for "pages" or "page regions" that are only displayed when the code decides, typically driven by some jBPM form or simple validation engine.

     

    Knowledge prerequisite:

     

    Javascript/Coffeescript, GWT, jquery or similar

     

    Skill level: Low

     

    Contact(s): Mark Proctor

     

    Mentor(s): Mark Proctor

     

    Associated project(s): Drools

     

    Notes:

    If the student gets the view done fast, then the work will include

    adding the report creation to Drools Guvnor, Drools ant task and maven

    plugin.

     

    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

     

    Notes:

     

     

    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:

     

    Category: Application Development

    Replace old graphs in RHQ with GWT ones

     

    Status: Proposed

     

    Summary of idea: Replacement of old graphing with a new GWT implementation. This can be done with the help of existing graphing libraries for GWT. The replacement does not need to be 1:1, but there is freedom to implement different representations. A nice extension would be to be able to define a formula that translates the graph on the fly or where multiple metrics could be combined via formula.

     

    Knowledge prerequisite: Java and GWT

     

    Skill level: Medium

     

    Contact(s): Heiko Rupp

     

    Mentor(s): Heiko Rupp

     

    Associated project(s): RHQ (see below for more information about RHQ)

     

    Notes:


    Design and implement a generic wizard on top of the REST api

     

    Status: Proposed

     

    Summary of idea: Design and implement a generic wizard on top of the REST api to create e.g. alert definitions or to start operations. This is part of a bigger picture to use RHQ as a data hub, where several clients can deliver and request data from. This means to have a web page that uses the HATEOAS principles to guide the user through the steps and options to create an alert definition or to start an operation

     

    Knowledge prerequisite: HTHM, JavaScript, REST principles (perhaps Java to extend the REST api if needed)

     

    Skill level: Medium

     

    Contact(s): Heiko Rupp

     

    Mentor(s): Heiko Rupp

     

    Associated project(s): RHQ (see below for more information about RHQ)

     

    Notes:

     

    Implement a RHQ storage backend using Infinispan

     

    Status: Proposed

     

    Summary of idea: Implement a backend for data storage based on Infinispan (e.g. for metric data). Currently all (metric) data is stored in a relational database. With cheap memory, one could replace parts of this with alternative backend storage, that is memory based. Infinispan is a powerful data grid, which also provides the ability to run jobs on the local nodes, so that e.g. baseline computation can run on the Infinispan backend.

     

    Knowledge prerequisite: Java

     

    Skill level: Medium to High

     

    Contact(s): Heiko Rupp

     

    Mentor(s): Heiko Rupp

     

    Associated project(s): RHQ (see below for more information about RHQ)

     

    Notes:

     

    Implement a big screen dashboard for RHQ

     

    Status: Proposed

     

    Summary of idea: Implement a "big screen dashboard" on top of the REST api. The idea is to have a huge screen, that shows many metric graphs (like those you see in the NASA control room when satellites are launched). The user should be able to select the graphs to be shown and also the position on screen. The graphs should be able to display multiple metrics and availability (and perhaps other indiators) and thus allow to give a quick overview over the system state. There already exists a prototype with the help of jQuery and D3.js

     

    Knowledge prerequisite: JavaScript, HTML

     

    Skill level: Medium

     

    Contact(s): Heiko Rupp

     

    Mentor(s): Heiko Rupp

     

    Associated project(s): RHQ (see below for more information about RHQ)

     

    Notes:

     

    Implement an RHQ agent in Python

     

    Status: Proposed

     

    Summary of idea: Write a RHQ-agent in Python and make it interface with Matahari to pick up metrics that are provided by Matahari from Fedora or RHEL systems. The agent would talk to the RHQ server via the REST api and push metrics to RHQ etc. This agent will not implement the full functionality of the RHQ java agent.

     

    Knowledge prerequisite: Python, Linux system administration, qpid

     

    Skill level: Medium to High

     

    Contact(s): Heiko Rupp

     

    Mentor(s): Heiko Rupp

     

    Associated project(s): RHQ (see below for more information about RHQ)

     

    Notes:

     

    Implement a Mobile Document Collaboration App

     

    Status: Proposed

     

    Summary of idea: Create an HTML5/JS/PhoneGap based application from start to deployed in app stores (iTunes, Android, etc..) that allows for simultaneous document collaboration between any number of users. Users can edit an online document at the same time and see each others changes in real time using websockets. There should also be an area for user chat and possibly file sharing again using websockets for chat and native file system access, camera access, etc. for sending and receiving files. Also, local storage or device storage could be leveraged for offline document creation/initialization and once a connections is established, a collaborative document is created from the locally stored version.

     

    This project is ambitious and will be challenging!  However it will also involve some of the most advanced and sought after technologies in the mobile industry.  Taking this application through the app store process is also incredibly valuable to understand, and paves the way for future efforts.  We'll be looking for 1-3 motivated applicants to make this a reality!

     

    Knowledge prerequisite: HTML5, JavaScript (including libraries like jQuery, Backbone.js, PhoneGap/Cordova, etc.)

     

    Skill level: Medium to High

     

    Contact(s): Jay Balunas, Kris Borchers, Doug Campos, Wesley Hales

     

    Mentor(s): Jay Balunas

     

    Associated project(s): AeroGear

     

    Notes:

     

    Demo: Implementing native features in mobile applications

     

    Status: Proposed

     

    Summary of idea: Expand an existing mobile application by incorporating native features such as: geolocation, photography and photo management, contacts handling, social integration (e.g. Twitter, Facebook). Describe the process in an accompanying tutorial.

     

    Knowledge prerequisite: Java, HTML5, JavaScript (including libraries like jQuery, Backbone.js, PhoneGap/Cordova, etc.)

     

    Skill level:

     

    Contact(s): Marius Bogoevici

     

    Mentor(s): Marius Bogoevici

     

    Associated project(s): Trailblazer SIG

     

    Notes:

     

    Demo: Implement a ticket reservation system using Infinispan

     

    Status: Proposed

     

    Summary of idea: Use Infinispan's distributed caching capabilities for implementing an online ticket reservation system capable of: temporarily holding seats in a concert hall, expiration after a given deadline, persistent storage of reservation status. The reservation system must be accessible through local and remote APIs (e.g. REST).


     

    Knowledge prerequisite: Java

     

    Skill level:

     

    Contact(s): Marius Bogoevici

     

    Mentor(s): Marius Bogoevici

     

    Associated project(s): Trailblazer SIG

     

    Notes:


    JBoss AS Quickstarts: Hibernate

     

    Status: Proposed

     

    Summary of idea: JBoss offers a collection of quickstarts - simple applications which demonstrate a single use case or feature of JBoss AS 7. A full list can be viewed at https://docs.jboss.org/author/display/AS71/Contributing+a+Quickstart. This project involves building out three new quickstarts to show off Hibernate Search, and multitennancy for Hibernate ORM. Additionally the project should research and develop two further use cases for the Hibernate group of projects that show off common uses of Hibernate in JBoss AS 7.

     

    You should have a strong interest in building examples, and showing people how to use technology. Domain expertise can be provided if needed.

     

    Knowledge prerequisite: Java

     

    Skill level:

     

    Contact(s): Pete Muir

     

    Mentor(s): Pete Muir, Sande Gilda, Burr Sutter

     

    Associated project(s): Trailblazer SIG

     

    Notes:


    JBoss AS Quickstarts: JBoss AS management, services and modules

     

    Status: Proposed

     

    Summary of idea: JBoss offers a collection of quickstarts - simple applications which demonstrate a single use case or feature of JBoss AS 7. A full list can be viewed at https://docs.jboss.org/author/display/AS71/Contributing+a+Quickstart. This project involves building out three new quickstarts to show creating modules for JBoss AS 7, scripting JBoss AS 7 using the management API, and stripping down the application server.

     

    You should have a strong interest in building examples, and showing people how to use technology. Domain expertise can be provided if needed.

     

    Knowledge prerequisite: Java

     

    Skill level:

     

    Contact(s): Pete Muir

     

    Mentor(s): Pete Muir, Sande Gilda, Burr Sutter

     

    Associated project(s): Trailblazer SIG

     

    Notes:

     

    Implement human task as a process in jBPM5

    Status: Proposed

     

    Summary of idea:

     

    Human tasks can be an important part of a business process, when human actors need to participate.  jBPM5 uses a human task service (based on the WS-HumanTask specification) to manage the life cycle of these task (like for example claiming, starting and completing tasks but also reassignment, escalation, etc.).  While the current life cycle of these tasks is currently hardcoded as defined in the WS-HT specification, one could also use a business process to define the life cycle of a human task.

    Goal

    The goal would be to create an alternative implementation of the human task service where the jBPM5 engine itself is used to manage the life cycle of the human tasks. It will not only increase the quality and understandability of jBPM5 code, but also allow human tasks to be modified and extended much easier by changing the life cycle process.

    Knowledge prerequisite: Java, BPMN2

     

    Skill level: Hard

     

    Contact(s): Mauricio Salatino

     

    Mentor(s): Mauricio Salatino

     

    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

     

    Drools Planner: Genetic algorithms solver phase

     

    Status: Draft

     

    Summary of idea:

    Planner supports several optimization algorithms to optimize planning problems. Each of family of optimization algorithms, such as local search or brute force, is implemented as a SolverPhase. Learn what a genetic algorithm is and implement it as a new SolverPhase in Planner. Reuse the existing components of Planner (just like the other SolverPhase implementions), such as the score calculation, solution model, termination conditions, ... Use the benchmarking toolkit to benchmark your new optimization algorithm on the existing examples (such as TSP, vehicle routing, nurse rostering or course scheduling) in Planner. If you reused the existing components succesfully, that should be easy. Try to beat the results of the existing optimization algorithms in Planner for at least one of the examples.

     

    Knowledge prerequisite: Java,

     

    Skill level: Medium

     

    Contact(s): Geoffrey De Smet

     

    Mentor(s): Geoffrey De Smet

     

    Associated project(s): Drools

     

    Notes:

    It does not need to be an exact genetics algorithms implementation: another evolutionary algorithm, such as evolutionary strategies is also welcome.

    Category: Security

     

    SAML-based SSO in Ruby

     

    Status: Proposed

     

    Summary of idea:

     

    Create a module for Ruby on Rails apps (or a Ruby gem) to provide SAML based SSO. This project will be a separate module for PicketLink that is written in Ruby that allows Ruby apps to perform SAML based web SSO.

     

    Knowledge prerequisite: Ruby, SAML

     

    Skill level: Medium

     

    Contact(s): Anil Saldhana

     

    Mentor(s): Anil Saldhana

     

    Associated project(s): PicketLink

     

    Notes:

     

    Simple Certificate Management System

     

    Status:Proposed

     

    Summary of idea:

     

    The Java Key Store has historically been used to manage certificates and keys.  This idea is to create a simple certificate management system for PicketLink that will have database/ldap storage and a nice interactive scripts for usage.

     

    What I envision is Java code that will deal with the certificate mgmt system to CRUD certificates.  The scripts (*.sh and *.bat) should just call the Java code dealing with Cert MS.

     

    Knowledge prerequisite: Java, X509 Certificates basics.

     

    Skill level: Medium

     

    Contact(s): Anil Saldhana

     

    Mentor(s): Anil Saldhana

     

    Associated project(s): PicketLink

     

    Notes:

     

     

    Category: Asynchronous Messaging

     

    Atmosphere/WebSocket integration for JBoss AS 7

     

    Status: Proposed

     

    Summary of idea:

    The WebSockets are upcoming standard for real-time asynchronous messaging, but since it haven't been standardized yet, it's hard to manage all the complexities in end-user applications.

     

    Atmosphere project focuses on bridging the gap of standardization and supports not only WebSockets integration with various containers like Glassfish and Jetty, but it also offers graceful degradation to Comet mechanism when no support detected on the client or server, which allows you to bring the asynchronous client/server messaging to the current applications with broad support of clients.

     

    The goal of this project is to extend Atmopshere's support for WebSockets in JBoss Application Server 7.

    The JBoss AS7 is based on Tomcat implementation, which already contains experimental WebSocket support.

     

    The project comprises of writing extensions for both, AS7 and Atmosphere and making sure that all the Atmosphere

    samples works.

     

     

    Knowledge prerequisite: Java, WebSockets, JavaScript

     

    Skill level: High

     

    Contact(s): Lukas Fryc

     

    Mentor(s):

     

    Associated project(s): Atmosphere, JBoss AS 7

     

    Notes: Discussion about idea on Atmosphere forum

     

     

     

    Category: Data Grids, NoSQL and distributed caching

    Support Google App Engine

    This task adds Google App Engine support for Infinispan.  See this page for more details.

     

    Skill level and langauge: Advanced (Java)

    Contact: Manik Surtani

    Mentor: Manik Surtani

    Associated Project: Infinispan

    ODATA for Infinispan

    Update Infinispan's REST API to support the ODATA protocol.  See this page for more details.

     

    Skill level and language: Intermediate/Advanced (Java/Scala/REST)

    Contact: Manik Surtani

    Mentor: Manik Surtani

    Associated Project: Infinispan

     

    Implement topology change updates for Infinispan's Ruby and Python clients for the Hot Rod protocol

    See this page for more details.

     

    Skill level and language: Intermediate (Python/Ruby)

    Contact: Manik Surtani

    Mentor: Manik Surtani

    Associated Project: Infinispan

     

    Write a JBoss Forge plugin for Infinispan.

    More details here.

     

    Skill level and language: Beginner/Intermediate (Java)

    Contact: Manik Surtani

    Mentor: Manik Surtani

    Associated Project: Infinispan

     

     

    Write a C client for the Hot Rod wire protocol.

    More details here.

     

    Skill level and language: Intermediate/Advanced (C/C++)

    Contact: Manik Surtani

    Mentor: Manik Surtani

    Associated Project: Infinispan

     

    Write a .NET client for the Hot Rod wire protocol.

    More details here.

     

    Skill level and language: Intermediate/Advanced (C#/.NET)

    Contact: Manik Surtani

    Mentor: Manik Surtani

    Mentor: Mircea Markus

    Associated Project: Infinispan

     

    Category: Continuous Integration and Continous Improvement

     

     

    A Jenkins plugin to visualize Jacoco code coverage reports

    Status: Not submitted yet


    Summary of idea:

    Jacoco is becoming the main Code Coverage tool on the JVM, mainly because of how easy it is to set up. However, Jacoco is still young and missing some integrations with some other pieces of a Continous Improvement plaftorm. The major missing integration is the lack of Jacoco plugin for Jenkins/Hudson. Such a plugin would allow to get metrics and see line-by-line reports about code coverage using a jacoco.exec file provided by the buld. The aim of this proposition is to develop this plugin, which will be first widely used in the JBoss Community and that will be shared with the whole Jenkins/Hudson community as it is the case for other coverage plugins.

     

    Contact: Jonathan Fuerth ( jfuerth@redhat.com )

    Mentor: Jonathan Fuerth ( jfuerth@redhat.com )

    Associated projects: Jenkins, Hudson, JBoss Tools

     

    Category: Runtime Frameworks

     

     

    Provide ShrinkWrap with Export to: RPM, ISO, RAR, BZIP Formats

     

    Status: Proposed

     

    Summary of idea:

    Currently, ShrinkWrap (an Archive API for Java, functions as a virtual filesystem) supports export to ZIP, TAR, and TAR.GZ formats.  In order to expand ShrinkWrap's use outside of an EE context, it'd be beneficial to have export options for the RPM, ISO, and/or RAR format, as well as a filter to provide BZIP compression.

     

    Knowledge prerequisite:

    No external dependencies, so anyone decent at I/O, the java.io package, and willing to research the protocols above are good candidates.  Mentor will provide some assistance to those new with Git (version control), running the build and the tests, etc.

     

    Skill level:

    Beginner to Intermediate; a good place for students familiar with the Java Language and some common programming structures to start in open source.

     

    Contact and Mentor:

    Andrew Rubinger

     

    Associated project(s):

    Arquillian

     

    Notes:

    ShrinkWrap | Development and Contribution

     

    Discussion: Re: GSoC: ShrinkWrap Tasks

     

    CDI (Weld) for Android/Dalvik

     

    Status: Student Proposal

     

    Summary of idea:

    Weld extends CDI outside of Java EE 6 to Servlet and Java SE environments. One place it hasn't ventured yet is Android. Android developers have to instantiate services the old-fashioned way, using the new operator. This student project would focus on getting Weld to run inside of Android/Dalvik as a way to bring CDI to Android. Once Weld is running, the next step is to research building custom scopes for a single activity, nested activities (conversation) and for sessions that span multiple passivations of an application. Not only will developers benefit from having dependency injection, but also simplified state management.

     

    Knowledge prerequisite:

    understanding of the CDI programming model and the Android SDK

     

    Skill level:

    Intermediate

     

    Student:

    Kevin Sapper

     

    Contact and Mentor:

    Ales Justin

     

    Associated project(s):

    Weld

     

    Notes:

    Proposal and comments on Google Melange

     

    Category: AS7 extensions

     

    Add annotation indexing support to Spring deployments

     

    Status:Proposed


    Summary of idea:Provide an extension to the Spring Framework that can take advantage of AS7 annotation indexing support for deployments and apply it for speeding up the startup of Spring applications in JBoss AS 7.

     

    Knowledge prerequisite: Spring framework, Java, JBoss AS7 architecture is desirable, but not a KO criterion (mentor will provide guidance on that).

     

    Skill level: Intermediate to advanced

     

    Contact and mentor: Marius Bogoevici

     

    Discussion: Snowdrop projects for GSoC

     

    Associated projects: Snowdrop

     

    Participating Projects

     

    You can find more information below about the participating projects.

     

    Infinispan

     

     

    Topic
    Details
    Project DescriptionInfinispan is an open source data grid platform and in-memory, key/value NoSQL storage engine.  It is distributed and offers a data store that is elastic and highly available.
    Project Website

    http://www.infinispan.org

    Project Logoinfinispan_logoupdate_256px.png
    CategoryData grids, distributed caching, NoSQL, clustering
    MentorManik Surtani, Mircea Markus
    Project IRCirc://irc.freenode.net/infinispan

     

    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
    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

     

    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 IdeaA plugin to enable "Undo" functionality in Forge, using the Git version control system
    Expected Results

    A Forge plugin to decorate execution of all commands. If a command executed successfully, changes should be saved as a new revision in a git history branch. If commands the user should be prompted to ignore, or roll back all changes to the state before the command was executed. (See more details here: https://issues.jboss.org/browse/FORGE-320 )

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

     

    TorqueBox

     

    Topic
    Details
    Project Description

    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
    MentorBob McWhirter
    Project IRCirc://irc.freenode.net/torquebox
    Project Forumshttp://torquebox.org/community/mailing_lists/
    Project Demo Links (Youtube etc)http://torquebox.org/podcasts/

     

    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

     

    ShrinkWrap

     

    Topic
    Details
    Description

    ShrinkWrap is a simple, fluent API to create archives in Java.

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

     

     

    Topic
    Details
    Project Description

    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
    MentorAnil Saldhana
    Project IRChttp://webchat.freenode.net/?channels=picketlink
    Project Forumshttps://community.jboss.org/en/picketlink?view=discussions

     

    RHQ

     

    Topic
    Details
    Project Description

    RHQ is a systems management and monitoring suite that can be extended via Plugins

    Project Websitehttp://rhq-project.org/
    Project LogoRHQ-logo-wallpaper.png
    CategorySystems management and monitoring
    Brief Description of the Ideas

    See proposals above

    Programming/Knowledge RequirementJava required (except for 6) and GWT for the 1st idea
    MentorHeiko Rupp, hwr@redhat.com, pilhuhn on irc, @pilhuhn on Twitter
    Project IRCirc://irc.frenode.net/#rhq
    Project Forumshttps://community.jboss.org/en/rhq?view=discussions
    Project Demo Links (Youtube etc)http://rhq-project.org/display/RHQ/Videos

    Drools

     

    Topic
    Details
    Project Description

    Integrated platform for Rules, Workflow and Event Processing

    Project Websitehttp://drools.org/
    Project LogoRHQ-logo-wallpaper.png
    CategoryKnowledge authoring and management
    Brief Description of the Ideas

    See proposals above

    Programming/Knowledge RequirementJava and GWT or JavaScript
    MentorToni Rikkola trikkola@redhat.com, Rikkola on irc, @Rikkola on Twitter
    Project IRCirc://irc.codehaus.org/#drools
    Project Forumshttp://www.jboss.org/drools/lists
    Project Demo Links (Youtube etc)http://blog.athico.com/
    Source Codehttps://github.com/droolsjbpm

     

    Trailblazer SIG

     

    Topic
    Details
    Project Description

    The Trailblazer Special Interest Group (SIG) is focused on creating tutorials and examples that help developers write applications using the standard Java EE platform and APIs combined with additional tools and technologies from the JBoss Community. The goal of the group is to curate these technologies into step-by-step tutorials and examples that gradually introduce developers to this platform, or refresh the memory of developers coming back to it.

    Project Websitehttps://community.jboss.org/groups/trailblazer
    Project LogoTBD
    CategoryTutorials and examples development
    Brief Description of the Ideas

    See proposals above

    Programming/Knowledge RequirementJava, JavaScript
    MentorMarius Bogoevici, mariusb@redhat.com, mariusbogoevici on Twitter, mbg on IRC
    Project IRCTBD.
    Project Forumshttps://community.jboss.org/groups/trailblazer?view=discussions

     

     

    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 IRCirc://irc.codehaus.org/#jbpm
    Project Forumshttps://community.jboss.org/en/jbpm?view=discussions
    Project Demo Links (Youtube etc)http://www.jboss.org/jbpm/screenshots and http://kverlaen.blogspot.com/
    Source Codehttps://github.com/droolsjbpm/jbpm

     

    Snowdrop

    Topic
    Details
    Project Description

    Spring extensions for JBoss AS7

    Project Websitehttp://www.jboss.org/snowdrop
    Project Logohttp://design.jboss.org/snowdrop/logo/images/snowdrop_logo_200px.gif
    CategoryFramework integration
    Brief Description of the Ideas

    See proposals above

    Programming/Knowledge RequirementJava
    MentorMarius Bogoevici, mbg on irc, @MariusBogoevici on Twitter
    Project Forumshttps://community.jboss.org/en/snowdrop?view=discussions
    Source Codehttps://github.com/snowdrop

     

     

    Information for Potential Mentors

    1. You should register yourself (preferably with gmail id) at http://www.google-melange.com/gsoc/homepage/google/gsoc2012

    2. Then sign up as a mentor on that site by choosing "JBoss Community".  (Click "Home" link and at the bottom of the page, you see a picture for mentors to apply)

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

    4. Join the IRC channel on FreeNode called #gsoc-jboss

    Information for Potential Students

    1. You should register yourself (preferably with gmail id) at http://www.google-melange.com/gsoc/homepage/google/gsoc2012

    2. Then sign up as a student on that site and submit proposals on "JBoss Community".

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

    4. Join the IRC channel on FreeNode called #gsoc-jboss

    5. EXTREMELY IMPORTANT: All your proposals have to be done via the google melange site (<===NOTE THIS)

    6. Read GSOC Advice for students at http://code.google.com/p/google-summer-of-code/wiki/AdviceforStudents

     

     

    Resources