UBC SIS to CDM Data Migration
Dec 31, 2015
UBC SIS to CDM Data Migration
Overview
•Ruby Dynamic language well suited for integration work•Ruby on Rails (ROR) application•Plugins used:
•activerecord-oracle_enhanced-adapter – to connect to UBC SIS (Student Information System) Oracle database•composite_primary_keys – composite primary keys for ROR•Savon – Ruby SOAP client to access LU Service
•CourseAdapter class handles mapping of UBC SIS legacy data to Kuali Student
CrrsCrsCatalogt
+create_course()+create_courses()
...
CourseAdapter
Savon::Client
Approach
•soapUI used to validate LU Service SOAP message structure•Converted SOAP message structure to a hash for Savon client•Benefits:
•Handles data conversion i.e. dates•Easier to read – name/value pairs
SOAP Message (RAW)
<soapenv:Header/> <soapenv:Body> <lu:createClu> <luTypeKey>?</luTypeKey> <cluInfo type="?" state="?" id="?"> <officialIdentifier type="?" state="?" id="?"> <code>?</code> <shortName>?</shortName> <longName>?</longName>…
Hash of SOAP Data
soap.body = { :luTypeKey => "kuali.lu.type.CreditCourse", :cluInfo => { :officialIdentifier => { :code => @code, :shortName => @short_name, :longName => @long_name, :level => @level, :division => @division,…
Summary
•Performance• 405 courses in 439 seconds• 3321 courses / hour
•Todo: update tool to utilize Course Business Service