EJBBuilder

EJBBuilder is a plugin for the eclipse platform. It will provide the ability to build and deploy EJBs within the eclipse platform. The target is to have an oss end-to-end solution including build, o/r mapping, (re-)deploy, debug.

EJBBuilder consists of different (sometimes remotely) related components to reach the final goal at some point in time.

TOC

Components and State

Enterprise JavaBean Wizard

This wizard will allow creation of EJB's, with support for Entity, Session, and Message-Driven Beans. All source files necessary for each type will be created. If an ejb-jar.xml file already exists, the bean descriptor information will be added to it, otherwise a new one will be created first. Eventually, support for application-server specific deployment descriptors will be added. First candidate as target environment is likely JBoss to be.

Status: There is a pre-alpha, but working, version of the wizard in the cvs repository, though its feature reachness holds some potential ;-) Loads of stuff is not implemented, but it shows how it should basically work.

Before pushing it to a release it is likely to rework the code generation. We are considering velocity, a template engine, as the future core of our code generation.Any thoughts on that?

Enterprise JavaBean View
This view will provide an EJB-centric view of all EJB's in the current project. The intention is to provide a tree view similar to the Package View in the JDT, with the files for each EJB placed under a bean node representing the EJB. The files will expand to display the type info just as the Package View povides. An example of the tree view might look like this: A collection of simple refactorings will be available from this view, allowing the user to do things such as add or rename a method or property, which will make the necessary changes to any files that need it. For example, adding a new property to an Entity Bean requires adding a new getters/setters in both the local/home interfaces and the bean implementation class, the ejb-jar.xml, and possibly an application-server specific deployment descriptor.

Status: planning.

Application Server Launcher

This will provide the ability to launch an application server inside eclipse to allow integrated running and debugging of the EJB's. The goal is to initially provide a JBoss (http://www.jboss.org) launcher, with others added in a future version.

Status: pre-planning (varporware ;-).

Enterprise JavaBean Packager

This will provide the ability to package the EJB project into an ejb jar file suitable for deployment into application servers. The packaging will consist of creating a jar file containing the EJB class files, any required deployment desriptor files, and any other supporting files identified by the developer.

Status: pre-planning.

Enterprise JavaBean Deployer

A deploy/undeploy mechanism will be made available to easily deploy and undeploy ejb jars into an application server. Initially support will be included for JBoss, but others will be added in the future.

Status: pre-planning.

JNDI Browser

This will be a view where JNDI servers can be configured and browsed. Probably this will be implemented via JMX.

Status: planning.

SQL Browser

The main motivation for the SQL Browser is to give developers the ability to browse an existing data model and execute db queries inside eclipse. It is intended to be used by developers rather than database administrators.

So reagarding the datamodel it is read-only. It is not in scope yet to empower the user build a data model, but to support developers using a database.

I just found out (8th of June) that there is another plugin in development with a much broader scope ecldbtool. Maybe you should check it out too.

And another one... (5th of July) eclipsedata. I am not sure if this project is still active though?

Status: pre-alpha.

It is likely that an alpha of SQL Browser will be released until mid of June '02.

To Dos for 0.0.1 (alpha) (mid June)
To Dos for 0.0.2 (beta) (end of July?)
To Dos for 0.0.3 (rc1) (end of August)
Feature List 0.1 Future Enhancements

The listed features are ideas and the order represents the current way of thinking. Nobody knows when or if at all these features will see the light of the day.

  1. Multi Threading - Currently the GUI locks up when executing long lasting calls
    1. Integrate Connection Pooling
  2. Enhance the queries to be parameterizable
  3. Execute Updates too
  4. Save Queries and Datasource defintions in the project itself instead of globally persisting them to the workbench
  5. Provide wizards for adding Data Sources and Queries
  6. ?? Use GEF to render tables and relationships??
  7. ?? Build an editor for SQL queries with support for syntax highlighting and "codecompletion" based on the actual data model??
Downloads

Have a look at sourceforge.

You can access the source code via anonymous cvs. You can also browse the code online.

General To Dos
Open Questions and Participation

We would appreciate input on these questions a lot. Please send feedback to the developers list.

You are also invited to join the party. Contribute bug reports (be the first ;-)[pending: link], feature requests [pending: link], documentation or code.

The commmunication is done using two mailing lists:

Developer ListIntended for discussions about the development of the pluginun-/subscribearchive
User ListIntended for discussions about the usage of the plugin (be the first ;-)un-/subscribearchive

How to add drivers at runtime? (SQLBrowser)

Currently only the postgresql and Oracle JDBC drivers are contained in the plugin (to have Oracle in there is hopefully no licence breach). How to tell eclipse to use jar files not delivered with the plugin? Is changing the plugin.xml file and adding the libs by hand a/the only solution?

How to add multi-threading? (SQLBrowser)

Currently the ui locks up on long lasting calls, e.g. accessing a slow database. Regarding the article "How to use the JTree Viewer, FAQ Section" [pending: link] the proper solution to that is to use multi-threading.

This would likely make it neccessary to add connection pooling. A candidate component for that is DBCP from jakarta-commons [pending: link]

How to add cvs mails? (Site)

How is it to be accomplished that cvs does send a message to a mailinglist after a commit happened?

How to specify the default rights for scp? (Site)

When uploading files to sourceforge via scp the created files only allow rw access for the owner. Is there anyway to change that behavior? Does scp/ssh execute some script when logging in?

Contributors

Hosted by SourceForge Logo

$Revision: 1.1 $