1 / 19

Building a production quality Rice Application at SJDC

Building a production quality Rice Application at SJDC. Kuali Days VI, Chicago Christopher Kirschenman – San Joaquin Delta Anthony Potts - rSmart. About San Joaquin Delta College. Large community college in Stockton, CA ~13,000 Students per semester ~1,000 employees

Download Presentation

Building a production quality Rice Application at SJDC

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Building a production quality Rice Application at SJDC Kuali Days VI, Chicago Christopher Kirschenman – San Joaquin Delta Anthony Potts - rSmart

  2. 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

  3. 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

  4. 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

  5. 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

  6. Requirements • Replicate current process (simplify!) • Integrate with homegrown SIS/HR system • Integrate with CAS / LDAP • Implement workflow 6

  7. Rice Framework Features • Maintenance Documents • Transactional Documents • Workflow • Web Services • Quartz batch processes 7

  8. Maintenance Documents • XML-based • Used for maintaining individual business objects • Fully rules and workflow capable • No HTML or JSP page 8

  9. <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

  10. 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

  11. Workflow • Keep it simple • Easy to over engineer • BSF:Groovy -> Java -> Web Service 11

  12. 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

  13. 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

  14. 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

  15. Batch Integration • Nightly Jobs • Take advantage of idle servers • Timecard Initialization • Notification • Finalization 15

  16. 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

  17. Timecard Application Rice Server (future) Web Services Legacy SIS/HR System KEW KNS Legacy DB Rice DB 17

  18. 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

  19. 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

More Related