The Progress Spark Toolkit is a CCS-compliant reference implementation from Progress meant to aid in creating an ABL application which provides RESTful API's for microservices. This repository primarily contains ABL artifacts and was built specifically for the Progress Application Server for OpenEdge to provide the back-end (server-side) support for exposing ABL logic via HTTP/HTTP.
Latest Release: v7.0.0 (Sept. 2025) for OE 12.2.8+
For reference, the CCS libraries and newer Business Logic features are included with OpenEdge version 12.2.4+ and we recommend use of the latest OpenEdge 12 LTS release. Current builds of the PL files in the following distribution directories are compiled using the following OpenEdge versions for proper compatibility:
- /dist/oe122 - 12.2 LTS through 12.7
- /dist/oe128 - 12.8 LTS (Preferred)
- /dist/oe130 - 13.0.x (TBD)
Previous Release Requirements:
OE 11.7.x for v6.0.x (retired product, deprecated support)
OE 11.7.5+ or OE 12.1+ for v5.0.x (deprecated)
OE 11.7.4+ or OE 12.0+ for v4.4.0 through 4.6.x (deprecated)
OE 11.7.3+ for v4.3.0 (deprecated, upgrade required)
- Apache Ant 1.9.x+ (included with OE 12.0+ at DLC/ant) executed as
DLC/bin/proant - Progress Compile Tools, aka. "PCT" (included since OE 12.0+ at DLC/pct/PCT.jar)
As previously mentioned, the Progress Spark Toolkit library is intended for use with the Progress Application Server for OpenEdge (PASOE) as the target for deployment of applications. As such, projects utilizing the framework are expected to be of type "ABL Web App" and deployed to a PAS instance with the exposed Data Services.
- Copy the
/dist/Spark.pllibrary to your project's AppServer directory. - Add the procedure library to the PROPATH of your project.
- At deployment, copy any PL's into the
CATALINA_BASE/openedgefolder of your PAS instance. - Add the procedure libraries to the PROPATH of your server instance.
- Copy the .json and .cp files from the
/cfg/folder to a newCATALINA_BASE/conf/spark/directory. - If intending to utilize OERealm security, copy the
/cfg/Realm/SparkRealm.jsonfile toCATALINA_BASE/conf/spark/and/cfg/Realm/SparkRealm.cptoCATALINA_BASE/common/lib/.
CCS Note: As of OpenEdge 12.1 all CCS class interfaces are already included within the product and are utilized to build the Spark.pl library. Therefore, it is no longer necessary to include a separate ccs.pl file within your PROPATH or included as part of your code promotion processes.
This repository should be ready to use as-is within Progress Developer Studio for OpenEdge by importing as an existing project from the /src/ directory. At this time the contribution model allows fixes from any interested party, subject to accepting the contribution agreement upon check-in of changes. Please see the CONTRIBUTING.md file for more information. Pull requests may still be reviewed prior to acceptance.
To create an updated distribution of the PL libraries, utilize the "ant" program from within the /src/ directory. Running "ant" without options will display basic usage instructions. For example, to build the Spark.pl file you would use the target build_spark_pl which requires a variable version to be set. The following command would produce a new version of the PL in the /dist/ folder, reflecting the format of "major.minor.revision":
ant build_spark_pl -Dversion=Ma.Mi.Rv
Please view the "docs" folder to view various forms of documentation for the available code (ABLDuck and PCTDoc). These formats can be re-generated using the same "ant" script as noted above for builds according to the usage instructions. Supplemental guides and supporting resources may be found in this directory as well.