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.
No comments:
Post a Comment