Building a production quality Rice Application at SJDC Kuali Days VI, Chicago Christopher...
-
Upload
meghan-newman -
Category
Documents
-
view
212 -
download
0
Transcript of Building a production quality Rice Application at SJDC Kuali Days VI, Chicago Christopher...
![Page 1: Building a production quality Rice Application at SJDC Kuali Days VI, Chicago Christopher Kirschenman – San Joaquin Delta Anthony Potts - rSmart 1.](https://reader036.fdocuments.in/reader036/viewer/2022083005/56649f0e5503460f94c22261/html5/thumbnails/1.jpg)
Building a production quality Rice Application at SJDC
Kuali Days VI, Chicago
Christopher Kirschenman – San Joaquin Delta
Anthony Potts - rSmart
1
![Page 2: Building a production quality Rice Application at SJDC Kuali Days VI, Chicago Christopher Kirschenman – San Joaquin Delta Anthony Potts - rSmart 1.](https://reader036.fdocuments.in/reader036/viewer/2022083005/56649f0e5503460f94c22261/html5/thumbnails/2.jpg)
About San Joaquin Delta College
Large community college in Stockton, CA
~13,000 Students per semester
~1,000 employees
Currently 6 developers (2 primarily Java)
Developed Student and HR System in Smalltalk
2
![Page 3: Building a production quality Rice Application at SJDC Kuali Days VI, Chicago Christopher Kirschenman – San Joaquin Delta Anthony Potts - rSmart 1.](https://reader036.fdocuments.in/reader036/viewer/2022083005/56649f0e5503460f94c22261/html5/thumbnails/3.jpg)
About rSmart
Provider of support and services for OSS in higher education
• Sakai CLE
• Kuali Financials
• Kuali Rice
• Kuali KRA (soon)
• Kuali Student (not so soon)
• Founding Partner of Kuali
• Founding partner of Open Source Portfolio Initiative
• Sakai Partner and board member
3
![Page 4: Building a production quality Rice Application at SJDC Kuali Days VI, Chicago Christopher Kirschenman – San Joaquin Delta Anthony Potts - rSmart 1.](https://reader036.fdocuments.in/reader036/viewer/2022083005/56649f0e5503460f94c22261/html5/thumbnails/4.jpg)
The Problem
• Current process highly manual• Thousands of timesheets printed each month• Errors common, lost papers, etc• Workflow goes through single person
(single point of failure!)
4
![Page 5: Building a production quality Rice Application at SJDC Kuali Days VI, Chicago Christopher Kirschenman – San Joaquin Delta Anthony Potts - rSmart 1.](https://reader036.fdocuments.in/reader036/viewer/2022083005/56649f0e5503460f94c22261/html5/thumbnails/5.jpg)
Previously Attempted Solution
Kronos:
• Many more features than required
• Chosen for the wrong reason
• Hard to integrate with existing system
• Project was passed around until it withered
5
![Page 6: Building a production quality Rice Application at SJDC Kuali Days VI, Chicago Christopher Kirschenman – San Joaquin Delta Anthony Potts - rSmart 1.](https://reader036.fdocuments.in/reader036/viewer/2022083005/56649f0e5503460f94c22261/html5/thumbnails/6.jpg)
Requirements
• Replicate current process (simplify!)
• Integrate with homegrown SIS/HR system
• Integrate with CAS / LDAP
• Implement workflow
6
![Page 7: Building a production quality Rice Application at SJDC Kuali Days VI, Chicago Christopher Kirschenman – San Joaquin Delta Anthony Potts - rSmart 1.](https://reader036.fdocuments.in/reader036/viewer/2022083005/56649f0e5503460f94c22261/html5/thumbnails/7.jpg)
Rice Framework Features
• Maintenance Documents
• Transactional Documents
• Workflow
• Web Services
• Quartz batch processes
7
![Page 8: Building a production quality Rice Application at SJDC Kuali Days VI, Chicago Christopher Kirschenman – San Joaquin Delta Anthony Potts - rSmart 1.](https://reader036.fdocuments.in/reader036/viewer/2022083005/56649f0e5503460f94c22261/html5/thumbnails/8.jpg)
Maintenance Documents
• XML-based
• Used for maintaining individual business objects
• Fully rules and workflow capable
• No HTML or JSP page
8
![Page 9: Building a production quality Rice Application at SJDC Kuali Days VI, Chicago Christopher Kirschenman – San Joaquin Delta Anthony Potts - rSmart 1.](https://reader036.fdocuments.in/reader036/viewer/2022083005/56649f0e5503460f94c22261/html5/thumbnails/9.jpg)
<dictionaryEntry>
<maintenanceDocument>
<businessObjectClass>org.kuali.contrib.timekeeping.bo.TimecardType</businessObjectClass>
<maintainableClass>org.kuali.core.maintenance.KualiMaintainableImpl</maintainableClass>
<documentAuthorizerClass>org.kuali.core.document.authorization.MaintenanceDocumentAuthorizerBase</documentAuthorizerClass>
<authorizations>
<authorization action="initiate">
<workgroups>
<workgroup>TIMEKEEPING_DEFAULT</workgroup>
</workgroups>
</authorization>
</authorizations>
<documentTypeName>TimecardTypeMaintenanceDocument</documentTypeName>
<label>Timecard Type Maintenance Document</label>
<maintainableSections>
<maintainableSection title="Edit TimecardType">
<maintainableItems>
<maintainableField name="name" required="true" />
<maintainableField name="description" required="true" />
</maintainableItems>
</maintainableSection>
</maintainableSections>
</maintenanceDocument>
</dictionaryEntry>
9
![Page 10: Building a production quality Rice Application at SJDC Kuali Days VI, Chicago Christopher Kirschenman – San Joaquin Delta Anthony Potts - rSmart 1.](https://reader036.fdocuments.in/reader036/viewer/2022083005/56649f0e5503460f94c22261/html5/thumbnails/10.jpg)
Transactional Documents
• Transient documents that may modify one or more business objects
• More coding than Maintenance Documents
• Question framework
• Extremely capable = potential for complexity
10
![Page 11: Building a production quality Rice Application at SJDC Kuali Days VI, Chicago Christopher Kirschenman – San Joaquin Delta Anthony Potts - rSmart 1.](https://reader036.fdocuments.in/reader036/viewer/2022083005/56649f0e5503460f94c22261/html5/thumbnails/11.jpg)
Workflow
• Keep it simple
• Easy to over engineer
• BSF:Groovy -> Java -> Web Service
11
![Page 12: Building a production quality Rice Application at SJDC Kuali Days VI, Chicago Christopher Kirschenman – San Joaquin Delta Anthony Potts - rSmart 1.](https://reader036.fdocuments.in/reader036/viewer/2022083005/56649f0e5503460f94c22261/html5/thumbnails/12.jpg)
Document XML <routePaths>
<routePath>
<start name="Adhoc Routing" nextNode="Assignment Manager Approval" />
<requests name="Assignment Manager Approval" nextNode="Assignment Supervisor Approval" />
<requests name="Assignment Supervisor Approval" />
</routePath>
</routePaths>
<routeNodes>
<start name="Adhoc Routing">
<activationType>S</activationType>
<mandatoryRoute>false</mandatoryRoute>
<finalApproval>false</finalApproval>
</start>
<requests name="Assignment Manager Approval">
<activationType>S</activationType>
<ruleSelector>Named</ruleSelector>
<ruleName>AssignmentManagerApproval</ruleName>
</requests>
<requests name="Assignment Supervisor Approval">
<activationType>S</activationType>
<ruleSelector>Named</ruleSelector>
<ruleName>AssignmentSupervisorApproval</ruleName>
</requests>
</routeNodes>
12
![Page 13: Building a production quality Rice Application at SJDC Kuali Days VI, Chicago Christopher Kirschenman – San Joaquin Delta Anthony Potts - rSmart 1.](https://reader036.fdocuments.in/reader036/viewer/2022083005/56649f0e5503460f94c22261/html5/thumbnails/13.jpg)
Rule XML
<rule>
<name>AssignmentManagerApproval</name>
<documentType>TimekeepingDocument</documentType>
<description>This rule requires an approval by manager</description>
<expression type="BSF:groovy">
import org.kuali.contrib.timekeeping.workflow.TimekeepingWorkflowUtils;
return TKWorkflowUtils.constructManagerApproval(routeContext, rule);
</expression>
</rule>
13
![Page 14: Building a production quality Rice Application at SJDC Kuali Days VI, Chicago Christopher Kirschenman – San Joaquin Delta Anthony Potts - rSmart 1.](https://reader036.fdocuments.in/reader036/viewer/2022083005/56649f0e5503460f94c22261/html5/thumbnails/14.jpg)
Real-time integration
• Direct Access to legacy database through BOs
• Database schema extremely limited
• permissions kept to a minimum, read-only
• Access to business logic through web services
Issues:
• Legacy database not normalized
• Database not necessarily accurate
• Security
14
![Page 15: Building a production quality Rice Application at SJDC Kuali Days VI, Chicago Christopher Kirschenman – San Joaquin Delta Anthony Potts - rSmart 1.](https://reader036.fdocuments.in/reader036/viewer/2022083005/56649f0e5503460f94c22261/html5/thumbnails/15.jpg)
Batch Integration
• Nightly Jobs
• Take advantage of idle servers
• Timecard Initialization
• Notification
• Finalization
15
![Page 16: Building a production quality Rice Application at SJDC Kuali Days VI, Chicago Christopher Kirschenman – San Joaquin Delta Anthony Potts - rSmart 1.](https://reader036.fdocuments.in/reader036/viewer/2022083005/56649f0e5503460f94c22261/html5/thumbnails/16.jpg)
Deployment Choice
• Embedded Rice– Simple Java access to Rice functions
• Separate database for Rice • Minimize number of tables added to application
database• Faster development cycle• Option to move to thin client at later date
16
![Page 17: Building a production quality Rice Application at SJDC Kuali Days VI, Chicago Christopher Kirschenman – San Joaquin Delta Anthony Potts - rSmart 1.](https://reader036.fdocuments.in/reader036/viewer/2022083005/56649f0e5503460f94c22261/html5/thumbnails/17.jpg)
Timecard ApplicationTimecard
Application
Legacy DBLegacy DB Rice DBRice DB
Rice Server (future)
Rice Server (future)KEWKEW
Legacy SIS/HR System
Web Services
17
KNSKNS
![Page 18: Building a production quality Rice Application at SJDC Kuali Days VI, Chicago Christopher Kirschenman – San Joaquin Delta Anthony Potts - rSmart 1.](https://reader036.fdocuments.in/reader036/viewer/2022083005/56649f0e5503460f94c22261/html5/thumbnails/18.jpg)
Future Plans for Rice at Delta
• Bringing on Kuali Financial and eventually Kuali Student
• Parts of Rice moved from embedded to standalone
• Legacy application integration with standalone rice
18
![Page 19: Building a production quality Rice Application at SJDC Kuali Days VI, Chicago Christopher Kirschenman – San Joaquin Delta Anthony Potts - rSmart 1.](https://reader036.fdocuments.in/reader036/viewer/2022083005/56649f0e5503460f94c22261/html5/thumbnails/19.jpg)
Timecard Application Future
• Source code going to be released to community
• Another sample application for Rice
• Community involvement should result in a better product over time.
19