Project

General

Profile

Learn About FWD

Introduction

FWD is a complex technology that has 2 sides: conversion and runtime. To learn FWD, one must understand both areas.

The FWD documentation is public and can be found at Documentation.

Conversion

The conversion is an automated process of language to language translation. It has many aspects of compilers, translators, parsers, lexers, preprocessing, tree manipulation.

1. Read Conversion Technology Architecture.

2. Read How Conversion Projects Work.

3. Skim the Conversion Handbook and the Conversion Reference. You don't need to read all of this, just review it enough to understand what is there.

4. Learn TRPL. Read all of those chapters and make sure to review the links at the bottom of the expressions chapter.

Runtime

The runtime is the compatibility environment that enables converted Java applications to run as a drop-in replacement to the original 4GL. This is a custom application server and clients that have extensive libraries for compatibility.

1. Read Runtime Architecture.

2. Read the FWD Project Source Code Tour.

3. Review the Javadoc for these key 4GL compatibility packages:

com/goldencode/p2j/main (this includes the bootstrapping code for both the application server and the clients)
com/goldencode/p2j/util (most of the base language 4GL compatibility stuff is here including the data types and the block/transaction processing)
com/goldencode/p2j/persist (database layer)
com/goldencode/p2j/ui (user-interface layer)

4. To learn about some key parts of the FWD application server infrastructure, review these links:

https://proj.goldencode.com/artifacts/javadoc/latest/api/com/goldencode/p2j/security/package-summary.html#package.description
https://proj.goldencode.com/artifacts/javadoc/latest/api/com/goldencode/p2j/net/package-summary.html#package.description
https://proj.goldencode.com/artifacts/javadoc/latest/api/com/goldencode/p2j/directory/package-summary.html#package.description

5. Review the classes/interfaces in the following packages to get a better understanding of the runtime code:

com/goldencode/p2j/main/ (this includes the bootstrapping code for both the application server and the clients)
com/goldencode/p2j/util/ (most of the base language 4GL compatibility stuff is here including the data types and the block/transaction processing)
com/goldencode/p2j/persist/ (database layer)
com/goldencode/p2j/ui/ (user-interface layer)


© 2004-2022 Golden Code Development Corporation. ALL RIGHTS RESERVED.