Tuesday, March 11, 2014

Looking for student contributions: GSoC 2014

Students can participate in the Google Summer of Code (GSoC) annual program, where they can work on their favorite free and open-source project during the summer and where Google awards stipends (US$5,500) to all students who successfully complete a requested and approved project.
JBoss is participating again this year, so make sure to submit your proposal in time (by March 21st) to be able to participate in this unique opportunity !
There's a large list of possible topics you can choose from, but you can always submit your own ideas as well.
An up-to-date list of project ideas related to jBPM is maintained on this page, and includes the following ideas you could pick on from if you're interested.

jBPM on android

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.

Integrating jBPM with your own preferred project(s)

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!

jBPM performance on steroids

Using a business process engine always add a certain amount of overhead to your application.  How minimal this overhead might be in some cases (depending on the features you have currently configured), optimization can usually speed up your execution significantly.  In this case, we would like to investigate whether processes could be translated to Java code so they can be executed more efficiently.  Based on a simple prototype that already demonstrates this is possible, we would like to extend this approach for more constructs and use cases (for example translate parts of your process to Java on the fly to speed up execution).

Document management system

jBPM allows you to basically invoke any external service by adding custom nodes to the palette to interact with these services, so they can be used directly inside your processes.  One common service that does show up on a lot of wish lists is a document management system.  This would allow you to create, retrieve and update documents as part of the business process, while using an existing document management system to keep track of these documents.  This could also include extensions to the current task forms to allow viewing, uploading and/or updating documents, etc.

Mobile client(s) for jBPM

BPM becomes more and more effective if it integrates well with the everyday tasks and tools of the business users that are responsible for executing and monitoring these processes.  While jBPM provides a lot of services out-of-the-box, integrating these in a mobile device like a mobile phone or a handheld device would make it easier for business users and end users to start using these.  This could include running our web-based process designer on a handheld device, or mobile client applications to start processes, manage task lists or monitor execution.

From BPEL to BPMN2

We would like to investigate whether it would be possible to translate business processes using the BPEL language into the new BPMN 2.0 specification, as supported by jBPM5.  While a transformation from BPMN2 to BPEL is currently available for a large subset of the BPMN2 specification, the transformation in the other direction has mostly been neglected.  This would however enable you to migrate your existing BPEL processes to the new BPMN2 format and execute them on jBPM5.

Social BPM using jBPM

Social BPM is all about integration new social features like collaboration, tagging, mashups, linking, and other Web 2.0 features into business process modeling, execution and management.  This could include collaboration features between different authors on the same process, using for example RSS feeds or new social media to notify changes, the use of tagging on business processes so this information could for example be used for searching, auditing, etc.

Process mining for jBPM

Process mining is almost a complete research area on its own, compared to business process manamagent.  We would like to investigate how existing process mining techniques (both for detecting and analysing business processes or history logs) and tools could be applied and integrated into the jBPM space.

jBPM and Drools for access control

While jBPM is a generic business process engine and Drools is a generic business rules engine, it could easily be applied in different application domains.  One of these domains is security and access control, where both technologies can be used for managing and enforcing access control.  Business rules could be used to describe authorization rules, business processes could be used to describe the different approval processes necessary to grant privileges, the jBPM and Drools engine could be extended with additional authentication and authorization features, etc.

jBPM and Drools for clinical decision support

The advanced capabilities of jBPM for modeling adaptive and flexible processes make jBPM an excellent candidate for describing and executing clinical processes, like for example to describe the treatment of patients.  Business rules can be used to augment these care plans with additional logic to handle exceptional situations, handle data-driven decisions, etc.  The goal of this project is to define a reference architecture that could be used to describe and execute a few specific use cases in this area and implement representative examples as part of a prototype.



  1. Minecraft is the fastest growing Java game in the Internet history.
    Minecraft servers is a server game of favorite players. This is because it allows you to create Minecraft Skins,Minecraft Maps, Minecraft Resource Pack and other creative possibilities. This is a war game that requires fighting against monsters appear at night and survive by fleeing them, provide for the basic needs of you, gather food, wood, etc. Because this game has many options and entertainment graphics should it become popular all over the world.

    Minecraft free download is a sandbox game (sandbox) have been shaped independently by Swedish programmer Markus Persson and is then developed and published by Mojang. Full PC version was released in late 2011. In May 2012 game shape, to cooperate with developers 4J Studios, to be released for the XBOX360.

    All Minecraft Games the updated version of Minecraft. The creative aspect of the game and building allows players to build constructions from the block in the 3D world working under certain rules. Other activities include exploring the world, collecting resources, working and fighting, minecraft maps, minecraft game, texture pack minecraft, minecraft adventure maps, minecraft skins, minecraft mods

  2. Re: running jBPM on Android, I could run your code great, thanks. But this recent note talks about integrating jBPM persistence with Android persistence mechanism.
    Is there a more complete example that shows how that is done?
    from another blog, it said that this is rather difficult for a couple of reasons: need to remove compile-on-demand of Java code, lack of SQLite JDBC driver, etc.

  3. Never ever recycle a friend's or a college's essay. The second tip in writing a classic essay is to focusing on you. http://www.essaypanda.org/blog/apa-research-paper-format-samples Students should choose a topic which they are well conversant with.