Presentation is loading. Please wait.

Presentation is loading. Please wait.

Building a production quality Rice Application at SJDC

Similar presentations


Presentation on theme: "Building a production quality Rice Application at SJDC"— 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 Replicate current process (simplify!)
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 BSF:Groovy -> Java -> Web Service
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"> <ruleSelector>Named</ruleSelector> <ruleName>AssignmentManagerApproval</ruleName> </requests> <requests name="Assignment Supervisor Approval"> <ruleName>AssignmentSupervisorApproval</ruleName> </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 Take advantage of idle servers Timecard Initialization Notification
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) Legacy SIS/HR System KNS KEW
Web Services Legacy SIS/HR System KNS KEW 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


Download ppt "Building a production quality Rice Application at SJDC"

Similar presentations


Ads by Google