College Promise Data Integration Design (POC)
The College Promise application is the new form of the BOG Fee Waiver application, a fee-waiver for CCC enrollment fees for students with financial need. Currently, college's use a cumbersome, manual Download Client to import the data into their SIS.
This POC integrates the College Promise (formerly BOGFW) application and writes its data to the college's SIS.
- The current college promise application has a wizard-style interface that saves form data to a database using a Web Service.
- Once in the DB, a secondary process (CCC Apply Download Client) can take a data export and save it to the college. This is followed up with scripts to load the exported data into the college's SIS.
- After a successful transaction writing data to the College Promise database, a second (asynchronous) call will be made to API Gateway
- API Gateway translates/transforms the College Promise data model into the SIS model object
- Leverage existing college-adaptor workflows and API calls to write data into the SIS
Future work will migrate College Promise (CP) from web services to microservices. These microservices and user interface can sit behind the API Gateway and leave the client browser with a single entry point for all (UI, College Promise, College Adaptor, other orchestration endpoints) CCCTC services.
- When a student saves their financial aid data in the College Promise application, show that we can save that data into the college SIS.
- The save to the college SIS should be in real time, and without use of the CCCApply Download Client.
The Service Router, Service Conductor, and Service Workers for the College Promise data integration are detailed below.
Authorization and service routing (URI) for the College Promise data integration are described below.
Proper OAuth 2.0 credentials are required to access all endpoints. The caller must have the following security scope(s);
The URI below will be exposed to initiate the new route.
This URI will initiate the College Promise Workflow below.
The Service Conductor has the following workflow and task definitions for the College Promise data integration defined below.
There are two workflows for the Articulations public API:
- College Promise Workflow
College Promise Workflow
This workflow is responsible for transforming the inbound college-promise data model into a college-adaptor data model and then sending the request to the college adaptor microservice.
The existing JSON Transformations system task will be used to do the payload transformations.
For the college-adaptor, the existing college-adaptor-intake task will be used to process the request and save it to the college SIS.
No changes: By leveraging existing tasks, no new workers are needed.
This is an asynchronous send-and-forget call - it has no output back to the caller.
- This only processes a subset of the data from college-promise as it relates to the BOG Fee Waiver eligibility data. Prior work standardized the storage of this data in every SIS. Unfortunately, there is no normalization for the CCC Apply data from the download client or the entire dataset from college promise. The available data from college-promise can be seen in the college-promise-data example. We may want to expand the POC and BOGFW data here to include more data and standardize the CCCApply Download Client in every SIS.
- This is Proof Of Concept code. It hasn't been tuned, tested, or vetted to the level expected of enterprise software.