Showing posts with label gsoc. Show all posts
Showing posts with label gsoc. Show all posts

Monday, April 27, 2015

jBPM in GSoC 2015

We try to participate every year in the Google Summer of Code, where students can contribute to their favorite open-source project (and even get paid for it).

This year we again have three proposals accepted for jBPM:

Dynamic visual BPMN2 Diff tool for jBPM Web DesignerRoman Procopenco 
A visual diff tool created for JBPM Web Designer. The tool will provide Change Tracking Graphs that will give to the users an immediate idea about the changes made on the business process. The tool will have different options to help the users understand the changes made on the process such as a comparison of the whole graph, as well as comparison between two sub parts of the process.


Application Development with jBPM and MGWTrorogarcete 
[Based on a previous prototype where we use GWT for Mobile to develop a mobile UI]  I'll improve the design of the application by doing two things: 
1. Migrate existing application to version 2.0 of MGWT. 
2. Add new functional features that support the mobile world in a clear and transparent way devices.

jBPM on AndroidSupun Athukorala 
jBPM is a flexible Business Process Management (BPM) Suite which can be accessed by a web based workbench. But cannot be accessed by mobile users. Therefore the idea of the project is to create an [Android] mobile UI of the jBPM-console where mobile users can interact some of the features of the jBPM-console. The jBPM core engine itself is a lightweight workflow engine which can be run on android as well. Therefore apart from the mobile UI, a prototype of jBPM on android will be also created.

Congratulations and good luck to the students, and I'm sure we'll get some great results!

These 3 proposals where amongst the 13 accepted proposals as JBoss.

Tuesday, March 4, 2014

Looking for student contributions: GSoC 2014

http://www.jboss.org/dms/GSoC/GSoC_commonbanner_1180px.png 
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.