|
Hi ,
My application includes many windows with main components inputField
,action buttons and subcanvas(instead of labels,we use input fields in
readOnly mode with some text in it).
The complete information for building the windows comes from
database(information like the co ordinates of window and fields,type of
fields and the format of values that is valid for each field, labels of
buttons and background and selection colours of buttons and fields
...etc). We have 7 database tables in which we keep these info(we call
them Base tables) in which we have altogether some 50000 rows(the
project is in the initial stage and the value can grow to the order of
millions)
The application works fine with default memory settings in VisualWorks,
provided the database (we use the HOP framework for DB interaction.So we
assume it is independent of the type of DB. Also we don't use any stored
procedure/functions,now) resides in the same LAN.
But when we have to deal with some centralized database systems(i mean a
remote db server outside the LAN,common for many users) it takes too
much time to build the forms. Most of this lag is caused by the time
needed to fetch the form building data from DB. The application seems to
be too dynamic (the attire of one single form can be entirely different
in looks-if not in functionality for different users/login)for us to
keep them in the form of normal spec (example #windowSpec).
We have been developing this application for more than 2 years with a
team of 10 and i think it is too late for us to change the basic design.
So my doubt is
Is there some better way to build the windows with much less delay
without compromising on its dynamical advantage?
The suggestions from my team was the following
1. Keep the Entire form building data (all data from 7 base tables)
fetched from db(in RAM),once the application is started.
This causes problem for us in the default memory settings even now.And
we need to consider the possibility of the future growth in the number
of data.
2.Collect all data for form building in Disc (with two options for it)
#1 inside VisualWorks---Not certain, but we would like to try something
like the class side protocol 'interface specs'(we find some difficulty
in that because we are not sure whether it will be possible not to loose
the dynamicity of the forms and also we think it will increase the
application too big to handle easily-even as parcel at deployment)
#2 outside VisualWorks---we don't know much about this option, but we
would like to try object BOSSing
and updating the information for each start up of the application (for
changes in the window configuration, user will have to restart the
application)
Do you have some suggestions to solve these problems (better to be
within VisualWorks)?
|