Projects
- FWD
FWD (pronounced "Forward") is technology to convert a Progress ABL application to Java and to execute that converted code as a drop-in replacement of the original application.
This technology was originally referred to by the name "P2J", an acronym for "Progress 4GL to Java". It was a functional name which has now been replaced by the name FWD (pronounced "Forward"). This database has hundreds of thousands of existing references to P2J which will not be changed. When you see P2J, please read that as exactly equivalent to FWD and vice versa.
The public web site for the project can be found at FWD. You are currently in the project management system (a.k.a. Redmine) which is used to track bugs, track feature requests, participate in forums, download the code, access documentation and otherwise interact with the operations of the FWD project. If you want to find out details about what the FWD technology does and why it is useful, please see FWD.
Need help? Golden Code, the inventors of FWD, provide full service and support.
Quick Links:
Getting Started (this is best starting point for conversion and/or deployment in Java)
Code Analytics (this provides powerful ABL Code Analytics tools, no need to convert to Java to use these)
Documentation
Downloads
FAQ
Development Priorities
LicensingSupported ABL Features
Not Yet ABL Supported Features
Develop in ABL and Deploy in Java
4GL EnhancementsTesting Process
Development Process
Coding Standards
© 2004-2020 Golden Code Development Corporation. ALL RIGHTS RESERVED.
- Bugs
This is used to track bugs that haven't yet been categorized into the proper runtime or conversion sub-project.
- Build and Source Control
This project manages work associated with scripts/tools for building FWD from source code and for managing the versions of the source code.
- Core Development
All planned development work for FWD (both the conversion and runtime technology).
- Base Language
Work associated with the addition to and improvement of the Progress ABL/4GL base language support. This includes work on both the conversion as well as the runtime.
- Conversion Tools
This project organizes the work associated with the core conversion toolset in FWD. This includes reporting, gap analysis, the preprocessor, lexer, parser, the conversion driver and so forth.
TRPL is not included here (there is a dedicated project for TRPL itself). Conversion rules written in TRPL for specific ABL/4GL features are not included here (the work on those rules would be done in the FWD sub-project based on the type of feature, e.g. base language, database, UI)....
- Database
Work associated with the addition to and improvement of the Progress ABL/4GL-compatible database processing and features. This includes work on both the conversion as well as the runtime. In FWD, this is referred to as the persistence layer.
- Runtime Infrastructure
Tasks involved in the development and maintenance of the application server (and client) code that is generic (or mostly generic). This code involves the directory, security manager, the net package and other common code. This code has little or nothing to do with the Progress ABL/4GL....
- User Interface
Work associated with the addition to and improvement of the Progress ABL-compatible user interface support. This includes work on both the conversion as well as the runtime.
- Documentation
This organizes the work for writing, editing and reviewing the FWD documentation.
- Harness
This is an Automated Testing Harness (a.k.a. the Harness) released as an open source project. It provides a mechanism to execute tests on multiple threads, coordinate complex test scenarios between those threads, track results and report on the results as hyperlinked HTML documents. All processing is done in a batch (headless). The multi-threaded nature make it especially powerful for testing simultaneous users.
As of v1.1, the Harness offers tools for interactively driving TTY (Character UI or ChUI) applications and for web services calls (REST and SOAP). In the future there are places to extend the project for direct database access and for driving GUI applications.
- TRPL
This is for work associated with the TRee Processing Language or TRPL technology. This includes the syntax/language itself, low level AST processing facilities, the pattern engine and any general purpose workers.
Also available in: Atom