June 13 – 15, 2010 Project Cloud 9 a z-Powered Learning Environment by Michael Lavacca, Sean Goldsmith, Deyaa Abuelsaad, and Sean Dunn MARIST/IBM Joint Studies
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, 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 What is Sakai? 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, Overview of Sakai 160+ production sites 1M+ Users 110 institutional members 60 core developers Teaching Tools Assignments Gradebook Tests & Quizzes Module Editor Section Management Syllabus Sakai Functionality Portfolio Tools Forms Evaluations Glossary Matrices Layouts Templates Reports Wizards Announcements Drop Box 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
June 13 – 15, Example - iLearn
June 13 – 15, 2010 C HALLENGES What did we overcome to achieve our goal?
June 13 – 15, 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, Project Timeline (dates are 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, Process Diagram TesterDeveloperTool Owner Discover WAS related Issue Create JIRA issue Verify (reproduce) issue Develop & create fix Lead Developer Verify fix in Development Environment (WAS & Tomcat) Verify Issue & assign to appropriate developer Review fix & assign JIRA to tester Create patch & attach to JIRA issue Verify fix on Testing Environment (WAS & Tomcat) Commit patch to branch & request branch merge from tool owner Review patch & merge if approved
June 13 – 15, 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, Lessons Learned July th Sakai Conference - Boston, MA, U.S.A. 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 T UNING Z Optimizing Sakai on System Z
June 13 – 15, 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, Tuning Environment
June 13 – 15, 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 ( MB) 2.Swap-2 ( MB) WebSphere Servlet cache enabled WebSphere Heap Size set to 256 MB 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, WAS/DB2 Mainframe Original Config vs. New Config
June 13 – 15, WAS/DB2 Mainframe vs. WAS/DB2 Blade
June 13 – 15, 2010 S OLUTION The final product and present & future directions
June 13 – 15, 2010 zSakai Environment 19
June 13 – 15, Cloud 9 Environment
June 13 – 15, Landing Page
June 13 – 15, Sakai Skins
June 13 – 15, AP/College Chemistry Course
June 13 – 15, 2010 Marist/IBM Academic Cloud 24 Learning Management Software Management Collaboration Content Business Intelligence Business Analytics Cognos SPSS TM1 Virtual Desktops 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