Post
by Dave Rabelink » 23 Feb 2006, 09:45
Posted by: Dave Rabelink
There are issues with classes, but if you follow a set of rules while
using dynalibs there should be no problems. I only found one issue
which is fundamental but if i'm right Gupta has made a businesscase
for it and hopefully it wil be resolved.
The largest project here uses mainly dynalibs. It is a (gui) feature
rich application where the main executable is only a few hundred KB
which offers only a MDI to the end user. All functionality and GUI's
are placed in dozens of dynalibs calling eachother and giving a
structured way to developers to add new modules.
This application was originally build in 16 bits SqlWindows (even
running on os/2 windows emulator) but was eventually getting too large
to handle. Compiling did take forever and release management was a
nightmare. When TD came up with dynalibs, we ported and redesigned the
application into clear functional modules which are fitted together.
All modules are around 1Mb in size and contains only code for the
functionality of that module, we designed them to be completely
blackboxes from outside. This has increased the development
productivity, increased performance and stability for the end users
and the source code is clearly seperated into functional blocks.
Some modules contain heavily use of ActiveX (COM), large domain layers
(all kinds of classes), standard and custom GUI components, WinAPI
functionalities (eg memory maps, kernel and shell stuff), database
access to SqlBase, DB2. Reading/writing XML messages and connections
to COBOL mainframe services. I think when all is considerated, we
really push the limits of what TD can do to it's limits, and all put
into dynalibs.
When a new subproject for this application is started which needs new
functionality for a new kind of enduser, mostly we only need to place
the new module into the application and use some editors to link
transactions to the new module in the database without having to
change any of the other parts of the application. This has also
increased the speeds of releases customers ask us to do. If the
framework is right, developers only have to worry about the module and
not about the whole of the application.
Today i'm going on holiday, but when i'm back in town i will start
writing an detailed article about dynalibs in general and explain a
possible implementation for a framework and also detailed information
about the issues found with dynalibs, the workarounds and to 'do and
donts'.
Dave
On Thu, 23 Feb 2006 07:59:12 +0100, ajghor