Skip to content

progress/Spark-Toolkit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Progress Spark Toolkit

Welcome!

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: v6.0.2 (April 2022) for OE 11.7.13+ and OE 12.2.8+

Requirements

For reference, the CCS libraries and newer Business Logic features are included with OpenEdge versions 11.7.8+ and 12.2.4+ though we recommend use of the latest LTS release or latest supported OpenEdge 12 release. Use of toolkit version 6.0.2 or later is highly recommended if you are on an earlier version. Current builds of the PL files in the following distribution directories are compiled using the following OpenEdge versions for proper compatibility:

  • /dist/oe11 - 11.7.13+ preferred
  • /dist/oe12 - 12.2.8+ preferred

Previous Release Requirements:

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)

Supporting Tools

  • Apache Ant 1.9.x+ (included with OE 11.7+/12.0+ at DLC/ant) executed as DLC/bin/proant
  • Progress Compile Tools, aka. "PCT" (included as of OE 11.7.3/12.0+ at DLC/pct/PCT.jar)

Project Usage

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.

  1. Copy the /dist/Spark.pl library to your project's AppServer directory.
  2. Add the procedure library to the PROPATH of your project.
  3. At deployment, copy any PL's into the CATALINA_BASE/openedge folder of your PAS instance.
  4. Add the procedure libraries to the PROPATH of your server instance.
  5. Copy the .json and .cp files from the /cfg/ folder to a new CATALINA_BASE/conf/spark/ directory.
  6. If intending to utilize OERealm security, copy the /cfg/Realm/SparkRealm.json file to CATALINA_BASE/conf/spark/ and /cfg/Realm/SparkRealm.cp to CATALINA_BASE/common/lib/.

CCS Note: As of release 4.6.0 the inclusion of the CCS source code and Ccs.pl has been discontinued and all related source is removed from this repository. As of OpenEdge 11.7.5 / 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 this PL file within your PROPATH or included as part of your code promotion processes.

Contributions / Changes

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.

Builds / Distribution

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

Documentation

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.