|Developer:||Pima Community College|
|Level of Effort:||Advanced|
|Developer Resources:||1 Architect & 1 Developer|
|Delivery Medium:||Enterprise Middleware|
|API Platforms Used:||LearningStudio APIs, Banner Eventing|
A common challenge for institutions that offer online courses is keeping term, course, and student datasets in sync between the student information system (SIS) and learning management systems (LMS). This is a fluid and dynamic need as new course offerings continually occur throughout the year, e.g. 4-week, 5-week, 6-week, 8-week, etc... course offerings. Manually keeping the SIS and LMS in sync is problematic as it ties up finite technical and administrative resources with non-value added manual data processing. In addition, manual processing lends itself to more errors which result in a greater degree of lost time and productivity.
Most SIS and LMS vendors offer APIs that can be leveraged to help automate the data synchronization processing between the SIS and LMS systems. Pima's integration middleware leverages Banner eventing technology, using a publish-subscribe pattern, and LearningStudio's RESTful & SOAP APIs to synchronize term, course, and user data between Banner and LearningStudio. Pima's solution includes business logic that manages and determines when & how Banner data changes are pushed to LearningStudio.
Banner / LearningStudio Data Synchronization Workflow
How’d They Do It?
This solution leverages a combination of Banner and LearningStudio APIs to synchronize term, course, and user data between Banner and LearningStudio. Here's a quick overview of the use case where a user registers for a course section prior to the start of a new term:
Banner Event Publisher (Ellucian) - Using a publish-subscribe pattern, the Pima Integration Layer subscribes to Banner business events. When data changes in Banner events are raised and published by the Banner Event Publisher and delivered to the Pima Integration Layer subscription. The Pima Integration Layer analyzes the events and determines what data needs to be pushed to LearningStudio.
Term List (Pearson) - LearningStudio terms are queried to see if the term exists or needs to be created (REST API).
Create Term (Pearson) - If the term does not exist in LearningStudio the Pima Integration Layer creates the term (SOAP API).
Course List By Term (Pearson) - If the term exists then the course sections associated with the term are queried to see if the course section exists or needs to be created (REST API).
Copy Course & Content (Pearson) - If the courses section does not exist in LearningStudio the Pima Integration Layer creates the course section (SOAP API).
Users Enrolled in a Course (Pearson) - The course section roster is checked to see if the user needs to be enrolled in the course section (REST API).
User Management (Pearson) - If the user is not enrolled in the course section the Pima Integration Layer creates the enrollment for the user (SOAP API).