You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Sachin Patel <sp...@gmail.com> on 2005/08/03 19:18:21 UTC
Geronimo Tooling Roadmap
As we prepare moving Geronimo tooling to its new home, here is an
initial road map that I feel are the necessary first steps in creating a
robust and useful tooling environment for Geronimo.
(1) Build infrastructure
- Since Eclipse has not fully converted all their plugins from an
expanded directory structures to packaged jars it is not yet a
reasonable approach to build the tooling pieces purely with Maven since
dependency artifacts in Maven IIUC must be jars. So the approach I
think that needs to be taken is that we use the integrated Eclipse build
framework the PDE which can be invoked and run in a headless mode
through ant. I can probably steal some time from the Eclipse folks to
help get the necessary build scripts set up correctly. The PDE build
will be able to build and package the plugins and their features. A
source feature can also be created that will contain all the source as
well. Then we can wrap the PDE build with a maven goal that can be run
independently of the rest of the geronimo build. This way there is no
additional overhead for developers concerned primarily with server
development. So even if the decision is made to keep the source in the
same branch, they will and should be built independently by default.
(2) Jira Geronimo component needed for Tools. (Will need one of the
committers help to get this created).
(3) Generate the necessary EMF based infrastructure that can can be then
used to build additional features ,editors, views for the server
adapter. (In progress). EMF can be used to auto generate model code
(similar concept to Bean's), edit, and editor code, all based on the
deployment plan schema. The stubbed out and default implementations of
the generated edit and editor code can then be modified to provided user
friendly views, editors and context menu actions for and accessing
deployment plan data. Once of the nice thing about EMF is that all the
notification infrastructure is created with default implementations for
you. So multiple views representing the same data in different ways
will always be in sync... For example adding a resource ref in the
deployment plan using the deployment plan editor will refresh and update
a tree view in a completely separate window/view even workbench showing
the list of resource refs. EMF also provides a concept of a change
recorder where if multiple areas of the model have changed you can
receive a change description with what changed, containing both old and
new values.
(4) Auto generation of deployment plan files at project creation. For
example, if the the user chooses to create a web project and that web
project is target to be deployed on Geronimo, then the geronimo-web.xml
file should automatically be created. The user can then double click
the geronimo-web.xml file and the deployment plan editor will appear.
(Currently it is being created prior to deploy time).
(5) Deployment via JSR-88 (Done).
(6) Extensions to launch admin and debug console.
(7) Remote deployment. Should be able to deploy applications running a
remote server.
(8) JSR-75 Annotations for deployment plans.
Once these necessary initial steps are done, (1-6) I think the sky is
the limit. Once the friendly views and editors are created, we can the
focus on usability features helping to provide values for deployment
plan elements. For example, we could have a browse button on certain
entries in the deployment plan that would access the server for list of
existing data sources, gbeans, etc..basically anything that can be found
through JMX. So rather then modifying entries by hand which is very
error prone, values could in situations be provided for you. I think
alot of work can be done in the annotation space as well, creating
processors that can run as invoked as part of the java compiler that
will update the deployment plans. Alot of this infrastructure to be
able to do this will be addressed by upcoming JSRs.
Let me know your thoughts and or additional ideas and we can start
prioritizing them.
Thanks.
Sachin.