MARIST/IBM Joint Studies Project Cloud 9 a z-powered Learning Environment by Michael Lavacca, Sean Goldsmith, Deyaa Abuelsaad, and Sean Dunn June 13 15, 2010
Our Goal The enablement of the Sakai application on IBM s WebSphere Application Server and DB2 software, and the System Z Mainframe. June 13 15, 2010
What is Sakai? Sakai is an adaptable, interoperable, reliable, scalable, and flexible enterprise application that supports teaching, learning and scholarly collaboration. The Sakai Community develops and distributes the open-source Sakai CLE, an enterprise-ready collaboration and courseware management platform that provides users with a suite of learning, portfolio, library and project tools. Sakai s open approach allows institutions to deploy, host and modify the software in whatever manner best supports the institutions skills, needs and goals. Sakai s open development process allows local enhancements to be incorporated into future versions of the software. June 13 15, 2010 3
Overview of Sakai Sakai Functionality Announcements Drop Box Email Archive Resources Chat Room Forums Threaded Discussion Message Center Message Of The Day News/RSS Preferences Presentation Profile / Roster Repository Search Schedule Search Web Content WebDAV Wiki Site Setup Teaching Tools Assignments Gradebook Tests & Quizzes Module Editor Section Management Syllabus 160+ production sites 1M+ Users 110 institutional members 60 core developers Portfolio Tools Forms Evaluations Glossary Matrices Layouts Templates Reports Wizards June 13 15, 2010 4
Example - ilearn June 13 15, 2010 5
C CHALLENGES What did we overcome to achieve our goal? June 13 15, 2010
Challenges Sakai 2.6 was a moving target Our contributions affected multiple components Approximately 60 issues 4 critical, 45 major, 8 minor, 3 trivial Issues Differences between Sun JRE and IBM JRE Differences between Tomcat and Websphere Integrating with rsmart s DB2 work Resolved issues via coding or configuration changes June 13 15, 2010 7
Project Timeline (dates are 2008-2009 unless otherwise mentioned) Notified Sakai Foundation about our goal to implement Websphere and DB2 support (2/28) Created JIRA to track feature (4/21) Created screencast (5/29) Created Sakai Confluence section (6/13) Bootcamp (6/6) Initial test of Sakai on Websphere (6/13) Announced on Sakai devlist (6/17) Submitted CCLA and CLA and gained IBM OSSC approval Development - Continuous testing and bug fixing (6/16-9/17) Called for vote on Sakai devlist for merge (9/18) Accepted and merged (9/23) Code Freeze (9/29) QA and bug fixes (10/01/08 release of 2.6 on 07/15/09) Development to support 2.7 release (07/09 Present) June 13 15, 2010 8
Process Diagram Tester Lead Developer Developer Tool Owner Discover WAS related Issue Create JIRA issue Verify Issue & assign to appropriate developer Verify (reproduce) issue Develop & create fix Verify fix in Development Environment (WAS & Tomcat) Verify fix on Testing Environment (WAS & Tomcat) Review fix & assign JIRA to tester Create patch & attach to JIRA issue Commit patch to branch & request branch merge from tool owner Review patch & merge if approved June 13 15, 2010 9
Automated Testing Introducing Selenium IDE: The workhorse of QA! Selenium IDE is a Firefox Add-On developed by OpenQA that allows for Agile Testing. Selenium allows for quick and easy automated test creation through a combination of recordable actions and HTML. We chose Selenium as a testing tool because of the necessity for reusable, scalable, and automatable test scripts that could be executed in a much shorter time span than manual testing. June 13 15, 2010 10
Lessons Learned Implement a well-defined internal process that complements the community s development process Use available automated testing tools to keep up with the community s development pace Communicate with the community Start early in the project Use community tools to share information (JIRA s, Wiki, Weekly Calls, Sakai Devlist) The community is helpful, ask for guidance when needed Present at Sakai conference Consider partnering with an educational institute Provide access to the commercial components of your project June 13 15, 2010 11 July 2009 10th Sakai Conference - Boston, MA, U.S.A. 11
TUNING Z Optimizing Sakai on System Z June 13 15, 2010
Grinder Open-Source Java based load testing framework Can simulate hundreds of unique users on a web application Reports statistics for HTTP method calls to Grinder console June 13 15, 2010 13
Tuning Environment June 13 15, 2010 14
Tuning Results We found the optimal environment for Sakai using WAS/DB2 on zlinux to be: 2 virtual CPUs defined in Linux 2 GB of memory defined in Linux Two swap partitions 1.Swap-1 (97.644 MB) 2.Swap-2 (781.156 MB) WebSphere Servlet cache enabled WebSphere Heap Size set to 256 MB - 1280 MB Using these parameters, performance was found to increase by 185% for 25 users from the original configuration. A graph comparing the two configurations is shown below. June 13 15, 2010 15
WAS/DB2 Mainframe Original Config vs. New Config June 13 15, 2010 16
WAS/DB2 Mainframe vs. WAS/DB2 Blade June 13 15, 2010 17
SOLUTION The final product and present & future directions June 13 15, 2010
zsakai Environment June 13 15, 2010 19
Cloud 9 Environment June 13 15, 2010 20
Landing Page June 13 15, 2010 21
Sakai Skins June 13 15, 2010 22
AP/College Chemistry Course June 13 15, 2010 23
Marist/IBM Academic Cloud Learning Management Software Management Collaboration Content Collaborative Development Software Rational Team Concert RDz / Eclipse Linux Images Virtual servers for: Research Students Linux Foundation z/os Environment DB2 WAS CICS IMS ISPF z/os Test Drive Images Business Intelligence Business Analytics Cognos SPSS TM1 Virtual Desktops 24 June 13 15, 2010