Drools (JBoss Rules) Platform Integration

Introduction

This is one of Pentaho's Google Summer of Code projects. Business rules allow a clear separation between java objects and business logic applied to them, thus enforcing modularity and easy customization of the business logic by domain users.

The aim of this project is to provide the Pentaho platform with a business rules engine to support business logic validation. The rules engine will be embedded in a Pentaho component, which will allow flexible deployment, interaction with other components and reuse throughout the system.

Licenses

Mozilla Public License 1.1

Resources

Development Methodology

We are using Open Scrum for this project - http://wiki.pentaho.com/display/OpenScrum/Home Any feedback about this methodology or this template will be gratefully received.

This is a small-scale project that will not require any major architectural changes to the Pentaho platform or Drools. As a result unified methodology is not required. The second iteration will involve some pre-work in the Pentaho platform to enable the integration to happen.

Expectations
We expect this project to complete in a couple of iterations and they will be aligned with the GSoC timeline. The Google Summer of Code timelines are listed here - http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline

Definition of 'Done'
For this project we mean that the features will be coded, unit tested, samples will be available, documentation will be complete and there will not be any severe defects. Since this project is aligned with the Google Summer of Code dates we are not including community hardening or acceptance in the definition of 'Done'.

Confidence levels
This project is not complicated or very risky so we're feeling pretty comfy about the whole thing at this point.

Anticipated Dates

The first iteration will end between July 7th and 14th
The second iteration will end between August 11th and 18th

Whether we release the results of this project in a milestone, RC or final version of the plug-in layer will depend on the feedback we get and where the release of V2 of the platform is as this project ends. Our best guess is that V2 will be finished in the second half of this year.

Team

James Dixon - Chief Geek at Pentaho, GSOC 'Mentor'
Alessio Tomasino - GSOC 'Student'
Role of Product Owner - James Dixon
Role of Unblocker - James Dixon

With a project and team of this size the distinction of a core team and extended team is not necessary

Communications

Sync Meetings: When? How? Who? Since this is a small team (at least initially) James and Alession will sync via IM or Skype as needed. If we get more participants we might change this.

The links for the forum and case tracking (JIRA) are listed in the resources section.

Features

Release Backlog

http://jira.pentaho.com/browse/BISERVER-1430

Iteration 1

Click here

Iteration 2

Click here

Specifications and Design

There are no major design issues to describe.

The Bits

Binaries

Will be available as part of the nightly builds of Pentaho platform V2.0. We might also post zipped binaries and samples here. Or create a sandbox in SVN. To be determined I guess.

Source code

Will be checked into subversion once available in the plugin project - http://source.pentaho.org/svnroot/bi-platform-v2/bi-platform-plugin/. We might also post zipped source here.

Documentation

Currently this is only in the JIRA cases - http://jira.pentaho.com/browse/BISERVER-1430

Quality

Testing

As part of the code development Alessio will provide unit tests.

Hardening

We will look to members of the Pentaho/Drools community to use these features to solve their use cases.

Acceptance

We will look to members of the Pentaho/Drools community for acceptance of the solution. Both 'I have a problem' and 'it works for me' feedback will help us greatly with this.

Contributions and Involvement

We are certainly interested any participation or involvement from the Pentaho or Drools communities.

Type

Wanted

Details

Requirements

Yes

As part of the Google Summer of Code the requirements have to be reasonably fixed for the scope of this project. The scope of this project is defined by the JIRA cases under the release backlog. If you have any ideas or questions please post them on the forum.

Code Development

No

As this is a Google Summer of Code project Alessio needs to write all of the code. Alessio will send code by email to James.

Use Cases

Yes

The more the merrier. Please put them on the forum. If you are going to use the results of this project in production we would love to hear about it.

Testing

Yes

If anyone would like to test the code as it is developed please get the binaries or source (directions above) and let us know how you get on by posting on the forum.

Blogging

Yes

Any blogging about this is welcomed. You can link this page and any of the URLs provided here.

Documentation

Yes

Alessio will be providing documentation as part of this project. Feedback on it would be great in the forum.

Localization

Yes

This project will not generate much user interface work so localization needs will be minimal. We will gladly accept localizations. The contribution process for these is not defined yet so post on the forum if you are interested.

Forum Help

Yes

Please jump in and help out.
The link to the forum is in the resources section at the top of this page