Help with architecture [message #449428] |
Fri, 12 May 2006 21:23  |
Eclipse User |
|
|
|
Originally posted by: tarungec.yahoo.com
Hi,
I needed some help with the architecture of an application i am developing.
To start with I have the following modules:
1. UI plugin for displaying graphic charts
2. persistence layer
3. an layer for accepting input from user
4. A report generation module
The user enters some info, based on that a database is accessed and a chart is displayed. The user could also ask for a report instead of the graphic chart.
How should i go about designing my RCP application. Should i develop all the modules as different plugins. But then how do i access another plugin from inside a plugin. Do i need to write my own extension points and later extend them. The data in the graph changes every few minutes. How can i achieve this. Can hibernate or write my own persistence layer. Is there some existing plugin for implementing the report functionality?
Any help would be greatly appreciated.
Thanks,
Tarun
|
|
|
|
|
Re: Help with architecture [message #449436 is a reply to message #449428] |
Sat, 13 May 2006 19:06  |
Eclipse User |
|
|
|
tbahadur wrote:
> Hi,
> I needed some help with the architecture of an application i am developing.
> To start with I have the following modules:
> 1. UI plugin for displaying graphic charts
> 2. persistence layer
> 3. an layer for accepting input from user
> 4. A report generation module
I agree that splitting up your application's various layers by plug-in is
good. Your classes in one plug-in can use classes in another plug-in if
one depends on the other. I have several low level library plug-ins that
provide various common services and classes other plug-ins just define a
dependency and use them like normal. Writing your own extension points is
the way to go if you plan to offer other (3rd party, customer
customizations etc.) to plug-in to your architecture an add additional or
enhanced functionality.
My application does not yet define any extension points (although I do
plan to add some later). My basic functionality is broken down into
several shared library type plug-ins that can offer value to any
application I write (when ever I write code in one application that can be
generally useful in others I re-factor it and put the base classes /
interfaces in these libraries). Depending on those I have the database
access plug-in. Depending on that I have my domain model plug-in. In
addition to that I have a plug-in that defines an editor for the model
another that defines two views on the database and then the RCP
application plug-in itself. Several of these use existing extension
points (for views, editors, new wizards etc.). I will be re-factoring
later (once I get closer to my Beta) to offer the ability to customize the
way one of the views and the editor displays their data. My current basic
functionality will be re-factored to use those extension points and I will
offer an added value set of plug-ins to do more.
Just a few thoughts,
Ian
|
|
|
Powered by
FUDForum. Page generated in 0.03608 seconds