p2j isv broch
TRANSCRIPT
-
8/16/2019 p2j Isv Broch
1/4
Progress 4GL
to Java
Conversion
For Independent Software Vendors
(ISVs)
Progress 4GL to Java Conversion
is a service offering which uses a proven
methodology and unique tools to automate
the process of converting a Progress 4GL
application into a functionally identical pure
Java application. The database schema is
converted and all data in the Progress database
is migrated into the relational database of
your choice. The converted application
looks, behaves and processes exactly as the
original. While the source code is re-factored
and transformed into a completely different
form, the users of the application cannot tell
the difference. This allows for a drop-in
replacement without user retraining or other
adverse business impacts.
Using high levels of automation allows Golden
Code to offer this service at a reasonable fixed
price and with an elapsed time to completion
measured in months rather than years. As a
result, this unique service offering
profoundly changes the economics of
switching away from the Progress 4GL.
It is now feasible for all Progress 4GL ISVs
to quickly and permanently increase profit
margins by eliminating all payments to
Progress Software Corporation.
-
8/16/2019 p2j Isv Broch
2/4
The “Catch-22”
There are many reasons driving ISVs
to leave the Progress environment. But
with a huge investment in 4GL tech-
nology, the corresponding switching
costs have often been large enough tokeep organizations captive. Until now.
Golden Code’s unique service offering
profoundly changes the economics of
switching. The high level of automation
and the proven track record virtually
eliminate the risk of switching. For ISVs,
switching away from Progress is now
the best choice.
Preserve the Huge
Investment in a Custom
Software Product. Large soft-
ware products (such as ERP applica-tions) can take hundreds of person
years and decades of elapsed time to
build. The millions of lines of source
code encode an immense amount of
knowledge upon which a business is
based. Hundreds or thousands of cus-
tomer organizations are trained for and
are dependent upon your application.
The value of such a software product is
enormous.
Shed the Language
“Handcuffs.” Expert knowledgeembedded in a software product has
been encoded in the Progress 4GL, a
form not easily transported. The soft-
ware product is the basis for a thriving
business but its dependence upon the
Progress language environment can
come with a very high annual cost.
Despite a large financial incentive, most
ISVs cannot justify the cost and risk of
moving to an alternative environment
using traditional approaches. Many
organizations are held captive by their
investment in this major asset which is
locked into a proprietary environment.
Remove Artificial Limits on
Profits. Most large Progress 4GL
applications are licensed and main-
tained with an embedded 4GL runtime.
This usually translates into a require-
ment to share a percentage of applica-
tion revenue with Progress Software
Corporation. For this reason, there is
a permanent percentage of an ISV’s
revenue which can never be claimed by
that ISV. For large ISVs this percentage
can run into millions or tens of millions
of dollars annually. While the applica-
tion is dependent upon the Progress
4GL runtime, such fees represent a
significant and permanent reduction in
net income.
Move to a Modern Language.
The core design of the Progress 4GL
was made in the early to mid-1980s.
That design pervades all aspects of the
language despite incremental improve-
ments made over time. A language’s
design not only defines what an applica-
tion can easily do, it likewise defines
a set of limits and constraints. Compli-
cating this problem, the Progress 4GL
language was not designed to be easilyextended:
● While it is possible for third parties to
provide APIs in Progress, it is neither
easy nor does the result appear as a
natural part of the language.
● Progress Software Corporation
(PSC) has incrementally added to
the language over time, but every
such attempt has taken the language
further away from the promise of
English-like syntax without ever
breaking out of the core designlimitations.
Bridge the Technology Gap.
Since a single vendor controls Progress’
evolution and maintenance, the envi-
ronment simply cannot keep pace with
more modern environments like Java,
which enjoys industry-wide support.
Java has a more modern design and
has always provided a very extensible
environment. Its evolution is managed
by an open process known as the Java
Community Process, whose member-
ship ranges from large multinationals
to individual, independent develop-
ers. Java has attracted over 5 million
developers. It runs on a huge range of
hardware platforms. There are countless
libraries, tools, books and other facilities
available, with the majority coming from
organizations outside of Sun Micro-
systems. Since Java now has an open
source (GPL) reference implementation,
it is a completely non-proprietary
Increase Profit: Permanently eliminate all
payments to Progress
Software Corporation.
Gain Freedom:
Realize complete
independence from
Progress Software Corp.
Improve Technology:
Re-factor / modernize the
application and move to
the Java platform which is
a significantly more vibrant
technology ecosystem.
-
8/16/2019 p2j Isv Broch
3/4
environment. There is an entire industry
investing actively in Java. By com-
parison the Progress 4GL ecosystem
is small. Every day, the technical gap
widens.
Eliminate the Soft Costs ofPlatform Captivity. Improve-
ment of a Progress application over
time is artificially limited. External data
access and application integration is
difficult with Progress 4GL, especially
when compared with Java. PSC has
control over what technology is available
and how partners can compete in the
ecosystem. Opportunity costs to an ISV
of missing features or integration are
usually measured in lost sales, but this
can be hard to quantify.
Enjoy Comparable or Better
Long Term Productivity. Many
long time Progress 4GL developers
claim that the Progress environment is
the most productive application develop-
ment environment. As a rule however, it
is the quality of the development team
-- not the language -- that yields the
best result in the shortest period of time.
And when considering Java’s object ori-
ented programming model, code reuse
capabilities, tools, and the broad range
of third party libraries and open sourceprojects, the Progress 4GL productivity
claim is much less certain. Furthermore,
any 4GL application of real complexity is
likely to be harder to maintain over the
long term than the equivalent in Java:
● 4GL syntax is significantly morecomplex than 3GL syntax.
● 4GL syntax is often inconsistent,in many cases it is arbitrary orconfusing.
● The large amount of implicit behaviorcauses many material aspects of a
program to be hidden.
● Lack of modern features for structur-
ing and/or reusing code causes heavy
reliance upon shared variables, cut
and paste, the preprocessor and
other techniques which increase
maintenance effort.
Due to these factors, developer pro-
ductivity in Progress 4GL over the long
term arguably is no better -- and may be
worse -- than in Java.
Options for Switching. Over
the long term, the costs and limitations
of the Progress 4GL are significant,
leading organizations to reach their own
individual “tipping points” where they
find that making a switch is preferable to
“doing nothing”. Each such organization
must choose from one of the following:
● Traditional Option: Rewrite the
application using a dedicated
development team.
● New Option: Automated con-
version of the current Progress
4GL application to a functionallyequivalent pure Java version.
ComparingSwitching Options
Traditional Option:
Rewrite
A parallel development team writes the
replacement while some number of
additional development resources main-
tain the current application. Completinga functionally equivalent application
requires 5+ years. Development costs
for larger applications may be $40MM+.
The replacement application is not com-
patible (in user interface and behavior)
with the original, so there is a huge effort
and barrier to customer upgrades. Such
projects are open ended and success
cannot be determined until after the proj-
ect is finished. There is a very high rate
of failure due to the extreme complexity,
long lead times and often remote nature
of the development team (for offshore
resources).
A NEW OPTION:
Automated Conversion
Golden Code Development (GCD)
has invented the technology and
methodology to enable the auto-
mated conversion of arbitrarily largeapplications from a closed/propri-
etary language into an open and
modern language (such as Sun
Microsystem’s Java). GCD has also
implemented a set of conversion
rules and a completely compatible
runtime environment to fully handle
90%+ of the Progress 4GL language
features. The remaining features
are being added over time based on
client requirements. The resulting
application contains all the unique
business logic and an identical look
and feel such that it is a “drop in”
replacement for the original applica-
tion. From an end-user perspective,
there is no difference! The depen-
dence upon the original proprietary
environment is completely elimi-
nated while all business functionality
and behavior is preserved. All data
is retained and taken forward for the
replacement application. As part of
the service, the database structure
is converted and the data itself ismigrated from the proprietary envi-
ronment into the client’s choice of
open/standard database.
-
8/16/2019 p2j Isv Broch
4/4
Benefits ofAutomated Conversion
Greatly Improved Profits. The
conversion costs are fixed and one-time
only, but the elimination of fees to Prog-
ress Software Corporation is perpetual.
This yields a potentially huge permanent
boost to net income.
Quick Turnaround. The automated
process and tools allow a team to
handle a large conversion project in as
little as 6-12 months.
Fixed Price. This greatly reduces risk
to the client.
Retain Existing BusinessProcesses. No expensive business
re-engineering projects get in the way of
selling customer upgrades.
No User Retraining. The users are
unaware of the transition.
Seamless Cut-over. Customers see
no disruption during implementation.
The old system continues running until
the new system is in place. The switch
can occur literally overnight.
Technological Freedom. Propri-
etary language and platform limitations
are eliminated. Any relational database
can be used. The client obtains the eco-
nomic benefits of an open and vibrant
ecosystem.
Vendor Independence. Included
with the project is a source license to the
Progress-compatible runtime environ-
ment created by Golden Code. There
are no ongoing fees associated with the
use, distribution or modification of the
runtime. There are no tie-ins to Golden
Code or any other vendor.
Database Independence. Through
the use of Hibernate and Java Database
Connectivity (JDBC), even the back-
end relational database choice is now
open. All popular databases (and many
less popular ones) are supported, from
proprietary to open source. No source
code changes are required to change
relational databases. The choice is one
that can be made at the time the appli-
cation is implemented in production.
Lowest Cost Alternative. Auto-
mated conversion costs significantly less
than a rewrite.
Technical Improvements.
(partial list):
● The programs are re-factored (to the
extent possible while maintaining full
compatibility) to separate UI, busi-
ness logic and data access.
● Dead code and dead files are re-
moved. Duplicate code is removed
in some cases. All code is emitted in
a more consistent format. There is
reduced reliance on implicit behavior.
Golden Code Development Corporation
5450 McGinnis Village Place, Suite 101
Alpharetta, GA 30005 USA
TEL: 770-360-9755
EMAIL: [email protected]
WEB: www.goldencode.com
Copyright © 2006-2007, Golden Code Development Corporation. Golden Code and the GC logo are registered trademarks of the Golden CodeDevelopment Corporation. Visit us at www.goldencode.com.
Progress is a registered trademark of Progress Software Corporation.Java and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc.
● A compatible schema is maintained,
but some improvements are made
(e.g. relational integrity is added).
● The application gets a single,
common, standard directory-based
security and configuration model.
● The runtime security model is signifi-
cantly stronger than that possible with
Progress 4GL.
● Standardized runtime facilities
provide deep visibility via auditing
and logging. This may be important
for initiatives such as Sarbanes-Oxley
compliance.