...
Currently, the following provider source code is located in https://mware.ucdavis.edu/svn/ucdsakai/branches/ucd-enterprise-data-service, and is deployed on sakai-dev.ucdavis.edu.
Current design of ucd-enterprise-data-service module in SVN
...
- include "Provider" functionality, as identified by a Provider Service implementation
- include a batching mechanism for batching course sites
- include capability for other services such as breeze, etc. to access enterprise level data
Current provisioning strategy for Sakai, UC Davis campus pilots
Current implementation of the providers includes:
- auto-provisioning user accounts via UCDavisUserDirectoryProvider implementation (also handles WebDav authentication)
- auto-provisioning rosters from external data (mViews from Banner dev), via UCDavisCourseManagementProvider
- Course sites are created (currently in an advanced time period before term starts) via Quartz Jobs in Sakai
Data Sources and Data Provisioning
1. UC Davis' implementation of the Sakai UserDirectoryProvider is located in the UserDirectoryProviderServiceImpl class in the source tree: Provides both the user authentication and user provisioning into Sakai. UC Davis' implementation of Sakai will perform authentication and user provisioning in the following manner:
a. User authentication: Users are authenticated via DistAuth. In combination with the UC Davis Distributed Authentication Filter LOCATE, user's will be authenticated via SecureWeb. In cases where WebDav is accessed (basic auth), the authentication occurs via the KDC.
b. User provisioning: User's are provisioned upon login via SecureWeb. A query of UC Davis' Mothra (by means of views in external database) will provide all the necessary data to Sakai for creation of user accounts.
Class Diagrams: TODO, Activity Diagrams: TODO
2. UC Davis' implementation of the Sakai GroupProvider is located in the GroupProviderServiceImpl class in the source tree: Associates Sakai roles to users, based on particular sites they are accessing. The group provider queries necessary UC Davis external views that contain roles (enterprise level roles such as access, maintain, student, etc.) and also Sakai specific authorization roles at the tool level, component level, etc.
a. Enterprise level roles: These are provided currently via external views, but may be replaced by Grouper or some other mechanism at the campus level.
b. Sakai specific roles: These will be initially provided by Sakai's internal table data, then moved to a central enterprise level lookup table for campus implementation.
Class Diagrams: [TODO, Activity Diagrams: TODO
3. UC Davis' implementation of the Sakai CourseManagementProvider is also located in the CourseManagementProviderServiceImpl class in the source tree: Provides all course related data from Banner via materialized views, and other school data sources as necessary.
a. Banner materialized views: These materialized views are real time data that can be directly queried via Sakai. Materialized views provide the best mechanism for providing real-time data to Sakai because they are isolated from the Banner system during Banner downtime, and are effectively "snapshots" of the current data. These views are read-only.
Class Diagrams: TODO, Activity Diagrams: TODO
Miscellaneous providers: Other providers may be needed to properly account for other site types, site migration, etc. The need for these providers or services need to be evaluated further. One possibility for such provisioning tools is Course Scheduling/Calendar functions. This functionality is currently limited to the CalendarService in Sakai.
UC Davis Sakai Provisioning Architecture Diagram
See SVN documentation at:
GET NEW REFERENCE..https://mware.ucdavis.edu/svn/sakai/providers/trunk/AnalysisDocumentation/Providers%20and%20Sakai%202.ppt