![[Home]](images/bhome.gif)
![[What's New]](images/bnews.gif)
![[Products & Services]](images/bprdsrv.gif)
![[Contents]](images/btoc.gif)
![[Feedback]](images/bfeed.gif)

Enterprise Software Tools
There are a lot of good tools out today and, even though we could choose from any
of them, we chose the Progress toolkit. The reasons grow out of the realities
inherent in software design, development, maintenance and support. In order for a
development environment to be truly valuable it must be complete, multi-platform,
web-enabled, well-integrated, multi-data base, applicable to projects regardless of
project size, scaleable, conforming to and supporting industry standards, and have a low
cost of ownership.
In the all the environments we researched we ran into some difficulties.
- Many were not complete and forced us to drop out to C, C++, or some lower level
language to complete the work. That lengthens project times and raises costs.
- Many environments were limited to a small number of platforms. Some
"Enterprise" products are confined to the Windows operating system. Many
of our clients used other platforms.
- As the Web has become more important, the product needed to support Web development
that integrated with data base operations. Obviously we would like to use the same
business logic for the web site as for the client/server or hosted programs. Some
products forced the business logic to be rewritten in another language. This
required two sets of programming skills, two different languages, more people, and more
money. Further, changes in one environment had to be mirrored in the other.
The potential for errors is higher. A unified environment reduces these issues
dramatically.
- The toolkit should be well integrated so that the skills acquired in one portion of
the toolkit are transferable to the others. This improves the utilization of
programmers. The introduction of Java has made this entire issue more complicated.
In the case of Progress Corporation, they purchased a company that produced an
enterprise level Java development environment called Apptivity that supported open
standards. Further, they took steps to integrate some areas of the classic Progress
environment and the Apptivity environment. The result was a good situation. Both the
Progress and Apptivity environments can stand on their own. At the same time, they
can be used compatibly.
- The real world has many different data base vendors. In various projects we
have to connect to multiple data bases. Progress provided efficient connections to
all the major data bases using DataServer technology. ODBC is available for the
rest.
- Some projects are sophisticated and benefit from an Enterprise tool even though the
project may be small. Some tools are either too expensive or require so much support
or equipment that they are not economically viable for these specialized projects.
Progress has been a good fit in many cases of this type.
- Some projects start small and grow. Ideally you want to move the programs up
to more powerful environments without additional changes. User response time should
not change significantly as the scale of the environment increases. Further, the
cost of upscaling the environment should be reasonable, and this includes the costs of any
additions to the support staff that may be needed to support the larger environment.
Software development support staff and data base maintenance costs should go up
much more slowly than the number of users.
- There is still a move to Open Standards such as Corba. As we move forward we
know that there will be multiple environments out there on a host of platforms and in a
myriad of languages. The development environment should conform to and support open
standards so that we have a fighting chance of integrating multiple environments. The
solution is NOT to restrict users to a single set of environments. That approach is
not reasonable. Progress supports open standards and is throwing considerable
resources at ensuring that their tools will support those standards now and in the future.
- Finally, as software development has become a larger share of the IS budget, the
Total Cost of Ownership (TCO) has finally been recognized as a key financial component of
software systems. Initial purchase price, though important, is usually a small
fraction of the TCO. The development environment should be structured to keep the
long term costs lower. Our experience with Progress has shown it to have those lower
costs. As an important side benefit, the environments have been very stable.
This reduces the maintenance costs. It also lowers the incidence of events, such as
crashes, that create downtime and lower overall productivity.
We like Progress as an enterprise tool becomes it comes out on the plus side of
all the above issues. That's a benefit to both our clients and ourselves.
Investigate the issues yourself and see what we mean.