Bug 188427 - De-couple Rhino & Derby from the deployment
Summary: De-couple Rhino & Derby from the deployment
Status: NEW
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: BIRT (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: Future   Edit
Assignee: Wei Yan CLA
QA Contact:
URL:
Whiteboard:
Keywords: plan
Depends on:
Blocks:
 
Reported: 2007-05-22 14:34 EDT by malcolm davis CLA
Modified: 2008-02-05 20:08 EST (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description malcolm davis CLA 2007-05-22 14:34:46 EDT
Rhino and Derby is built into Java 6.0.  However, for backward compatible there is a need to keep Rhino and Derby as part of the deployment.  

Questions:
a.  Can Derby be made optional?  Is there any reason that Derby needs to be part of the main deployment?

b.  Can Rhino be de-coupled from the code, allowing optional deployment mechanism?  

Ideally, Rhino would not only be optional, but BIRT allow other scripting languages to be used.  I thought part of the goal of Apache’s Bean Scripting Framework (BSF) was to accomplish this goal.

Use a generic interface, and then allow the selection of the Rhino implementation.
Comment 1 Wenfeng Li CLA 2007-07-10 19:52:42 EDT
1. Consider separation of the language used in expression builder and scripting:
  1) support other scripting languages, in addition to Java and JavaScript.
  2) support structure expression (in addition to java scripting expression) in   dataset and data binding to enh performance of data set/result set calculation.
Only after we made both change above, can we make  Rhino dependency optional.

2. Derby is for the model car demo database and sample reports, the goal is to use sample reports to show BIRT features.  It is in the runtime package as well since we want to let user use it to verify BIRT engine is deployed correctly.  For those want minimal foot print, it is safe to remove the deby plugin and zip up the war file again.


3. When BIRT supports JRE 6.0, I suggest we provide a BIRT runtimr package for JRE 6.0 that removes deby and Rhino.  schedule to 2.3 for this enhancement.  

Add plan key word for #3 above.
Comment 2 Wenfeng Li CLA 2007-11-06 01:11:09 EST
Wei, is M5 the milestone to use Java 6.0's Rhino and Derby?  What is the plan if the app server still requires Java 5?
Comment 3 Wei Yan CLA 2008-02-03 00:31:20 EST
SUN embedded the rhino as the default script engine in JDK1.6. The package name are changed to sun.org.mozilla.* and exported the javax.script API. 

As BIRT uses the rhino directly, so it is hard for BIRT to use the script engine in JDK1.6 directly. To do so, BIRT should first support a general script lanager, the script language should b evalauted by a general script engine, either the javax.script or apache's script engine.

For the Derby, the user can safely remove the Derby plugin from the BIRT build as it is only used by the sample report.

defer the first problem to future.
Comment 4 Wenfeng Li CLA 2008-02-05 20:08:22 EST
Shall we consider in next release following enhancement?

1. Consider separation of the language used in expression builder and
scripting:
  1) support other scripting languages, in addition to Java and JavaScript.
  2) support structure expression (in addition to java scripting expression) in
  dataset and data binding to enh performance of data set/result set
calculation.