College of Agricultural & Environmental Sciences Faculty and MSP Recruitment System (Recruitments) Content: Adam Getchell, Director of Information Technology, CA&ES Dean’s Office Executive Reviewer: Thomas Kaiser, Executive Assistant Dean, CA&ES Technical Reviewer: Scott Kirkland, Senior Application Architect, CA&ES Dean’s Office Business Reviewers: Julie Fritz, Assistant Dean, Academic Personnel, CA&ES Dean’s Office; Everett Wilson, AA/EEO Policy and Data Analyst, Offices of the Chancellor and Provost Description/Overview: The Recruitments system provides for Faculty and MSP recruitment as handled by the College of Agricultural & Environmental Sciences and associated units. Due to popular demand, usage of the system has grown to include position searches for 25 campus units across 6 schools at the University of California, Davis, and the system is being rewritten to provide better scalability. The system replaces various electronic and paper-based systems, and has business processes and graphic themes that can be customized for each unit using the system. Documents are stored in final form as PDFs in a secured SAN file system, although they may be uploaded in a number of formats; the system includes the ability to convert many document types on the fly into PDF. Notification, access rights, and roles can be managed in a decentralized way by delegating permissions to an Administrative role, which has the ability to create users, grant roles, and setup certain business rules (what document types to request, committee membership, etc.) and notification for a given recruitment. Recruitments may span numerous units, and application role access can be granted to anyone with a Kerberos ID (which can be obtained for users outside of UC Davis via the temporary affiliate form). Workflow is handled via email notifications. Applicants receive status and reminders visually within the application, as well as reminders via email, and the system generates and transmits email in response to defined workflow actions by specified roles. As of April 2009: 1,089 user accounts 23 open positions currently accepting applications; 33 total including closed and pending 802 fully submitted applications of 1,073 total 6,698 uploaded files of 7,220 total (including generated portfolios) occupying 2.95GB storage 617 persistent application committee members and 713 total committee members Business Need Faculty and MSP Recruitments are long, complex, high-profile affairs that generate extensive documentation per applicant, with decisive implications on the faculty and executive personnel in the College. The College Personnel Team in the Dean’s Office is charged with managing these procedures, which include cross-department, College, or organizational hiring and review committees that often serve as the cornerstone for new centers and initiatives. High workloads and excessive staff time has resulted in many of the largest units in the College and University developing an electronic system to mitigate this effort, beginning with a system instituted by the Department of Entomology more than 5 years ago, to the most recent efforts by the Department of Plant Sciences online recruitment system. Plant Sciences’ system, in particular, proved to be extremely successful and popular, resulting in its adoption by other departments and the Dean’s Office for management of many of its faculty hires. Extensive use and testing highlighted the many strengths in the system and its business process, but also showed certain shortcomings – in particular, the setup and customization required to make a specific Plant Sciences application more generally usable for other organizations. Based on this, the decision was made to look closely at the successful Plant Sciences model and rewrite a newer system incorporating the proven features, but with an eye towards broader generalization and customization of the specialized logic inherent in the Plant Sciences recruitments application. At the same time, the newer rewrite allowed for the use of newer technologies such as web services, AJAX, and object relational mapping (ORM), which would improve the customizability and user interface while moving the application towards enterprise-level stability, scalability, and maintainability. Since the development of Recruitments 1.0, extensive interest was shown by other Colleges and Schools at the University of California Davis, including the College of Letters & Sciences, the College of Engineering, the School of Graduate Management, the School of Veterinary Medicine, and the Office of Research. To accommodate interest and demand, we have made some modest changes to the current version of Recruitments, and have begun work on developing a 2.0 version which feature a completely rewritten roles database for better scalability, provide a friendlier and more responsive User Interface to reduce workload and support issues, and take advantage of hardware and software engineering advances for more reliability and security. The goal for Recruitments 2.0 is to provide a system that may be used for the entire campus while requiring minimal training and support from the College of Agricultural & Environmental Sciences. Stakeholder Value The number of existing online faculty and staff recruitment systems on campus gives an indirect measure of their value and usefulness to the campus, including the national faculty recruitment system used by the Department of Mathematics. Direct measure for the College of Agricultural & Environmental Sciences can be assessed by noting that there were 14 faculty recruitments in 2006-7 using the Plant Sciences system, at a cost of $1000 recharge per use. The benefits of using an online recruitment system seem to be well-appreciated by all in the business units. Infrastructure and Application Architecture The system provides for three levels of authentication: none, for anonymous users wishing to browse available jobs, a locally stored user profile based on e-mail for applicants wishing to apply for positions, and DistAuth/CAS (either, depending on a settings configuration) based authentication for faculty reviewers, committee members, and application administrators to utilize the system. As a note, we opted to include both authentication mechanisms to reduce our reliance upon the external Central Authentication Service in the event of system downtime. The physical layers of the system consist of (soon to be clustered) web application front ends and database back ends, separated by firewalls with “default-deny” ingress and egress rules, housed in the Data Center. The logical tiers of the system include a Web UI tier that handles client-side validation and display, a Business Object tier that handles business rules and validation, and a Data Objects tier that provides for data access via object relational mapping to the backend Microsoft SQL databases. Supporting tiers include a Service Oriented Architecture (SOA) based on web services to handle the upload/download/validation of files added/retrieved to the system, user authorization and roles management, and error handling frameworks (especially error handling for distributed systems using WCF transactions). Some service tiers use web services on other systems. The system has security features built into the system, including SSL certificates for encrypted communication, client and server side data validation, business object validation and database consistency, and separated database access accounts. Finally, the system has been developed using test-driven development, with software tests for essential functionality integrated into the build-compile cycle, and the use of source-control/project management/automated build management with Microsoft Team Foundation Server. Recruitments version 1 was developed in ASP.NET 2.0 on IIS 6.0, using the NHibernate Object Relational Mapper and a SQL Server 2005 backend. Recruitments version 2 is being developed in ASP.NET 3.5 on IIS 7.0, using NHibernate 1.2 on a SQL Server 2008 backend featuring jQuery 1.2.6 User Interface elements. Administrative Integration The system retains its own database and file store, housed on SQL servers and a SAN respectively. However, it has been written using SOA techniques, and so much of the data and functionality of the application can be exposed via web services for integration into other applications that use WSP. An example of this is a custom Microsoft Word 2007 plug-in written in VSTO (Visual Studio Tools for Office) that allows one to open a document in Microsoft Word and, using the Recruitments toolbar, directly submit the document into the recruitments system (automatically converting to PDF on-the-fly and using Active Directory for authentication). As mentioned previously, we are scheduling a second revision of the project (Recruitments 2.0) to include a friendlier interface (using jQuery) and more extensive separation of administrative roles so that Colleges and Schools are segregated and able to display their own graphical elements. We also plan to include more extensive internationalization (main applicant pages are already i18n-friendly), more thorough 504/508/ADA compliance (we are already almost completely complaint, with a few minor issues remaining that will require minimal investment of time), and any other features we can integrate within the Recruitments 2.0 project timeframe. Risks and Mitigations Duplication of Effort By partnering with interested units for Recruitments, we expect to garner appropriate business and technical feedback on the project. By using a Service-Oriented Architecture, we expect that inputs and outputs to the system to be relatively straightforward to other web service consumers. By using an agile development process with a strong project management scope, we expect that enhancements to the program can be made efficiently and quickly, adjusting the functionality of the application without too much application development disruption. Complexity The SOA and other software engineering approaches and separated logical application tiers allow for radical rewrites of particular features to be made without disrupting the entire scope of the program. Agile development allows us to consult frequently with our customers to ensure that the application is evolving according to their business needs and practices. Test-based development provide our applications development team with the ability to make incremental, well-tested changes to program logic with confidence that it will not break other, existing functionality. We have used these methods in past application development, and continue to refine our programming techniques, processes, and knowledge to reflect industry best practices. Technical Overview Assumptions See attached Project Description Infrastructure Windows 2003/IIS6/.NET 2.0 application server front-ends [future version: Windows 2008/IIS7/.NET 3.5] SQL Server 2005 backend [future version: SQL Server 2008] Exchange 2007 cluster for email delivery MPC 440 Storage Area Network for document storage in PDF format (raw storage capacity, 3 TB) Development Tools Visual Studio 2008 Professional or Team edition Integrated Development Environment (IDE) Team Foundation Server 2005 (Source Control, Project Management, Task and Bug tracking, automated nightly builds from daily source control check-ins) [future version: TFS 2008] NHibernate Object Relational Mapper for classdatabase translation and all database transactions (including granular tracking of database changes) Light use of AJAX and Javascript, where appropriate, to enhance the Web UI [future version: jQuery] Data and Class Design See attached database and class diagrams