02- project & course overview september 12, 2005 02 ... · 02- project & course overview...

26
02- Project & Course Overview September 12, 2005 © Rick Adrion, 2005 (except as noted) 1 UNIVERSITY NIVERSITY OF OF M MASSACHUSETTS ASSACHUSETTS AM HERST M HERST D DEPARTMENT EPARTMENT OF OF COMPUTER OMPUTER SCIENCE CIENCE CMP MP SCI CI 520/620 520/620 FA LL A LL 2005 2005 02- Project Background & Course Overview Readings Eric Armstrong, Stephanie Bodoff, Debbie Carson, Maydene Fisher, Dale Green, and Kim Haase, The Java™ Web Services Tutorial, February 4, 2002 http://safariexamples.informit.com/0201768119/jwsd_kit/04_tutorial_faq/tutorial/doc/JavaW STutorial.pdf Eric Armstrong, Stephanie Bodoff, Debbie Carson, Ian Evans, Maydene Fisher, Dale Green, Kim Haase, Eric Jendrock, Monica Pawlan, and Beth Stearns, The J2EE™ 1.4 Tutorial, May 30, 2003 http://lux7.wu-wien.ac.at/j2eesdk/j2eetutorial14/doc/J2EETutorial.pdf Vasudevan Venu, A Web Services Primer http://www.xml.com/pub/a/2001/04/04/webservices/index.html Steven J. Vaughan-Nichols, “Web Services: Beyond the Hype,” Computer, February 2002 Heather Kreger, Web Services Conceptual Architecture (WSCA 1.0), May 2001 http://www-306.ibm.com/software/solutions/webservices/pdf/WSCA.pdf Barry J. Doyle and Cristina Videira Lopes, “Survey of Technologies for Web Application Development” June 2005 http://www.ics.uci.edu/~lopes/teaching/ics123S05/notes/web_programming_survey.pdf Copyright Rick Adrion 2005, unless otherwise noted UNIVERSITY NIVERSITY OF OF M MASSACHUSETTS ASSACHUSETTS AM HERST M HERST D DEPARTMENT EPARTMENT OF OF COMPUTER OMPUTER SCIENCE CIENCE CMP MP SCI CI 520/620 520/620 FA LL A LL 2005 2005 Update Rick Adrion 310 Computer Science Building (413) 545-2475 [email protected] Office Hours: Tuesdays 10:30a-noon & Wednesdays 3:00-4:00p Wendy Cooper 312 Computer Science Building (413) 545-2492 [email protected] TA: Sophie Koffler [email protected]

Upload: tranque

Post on 01-Dec-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

02- Project & Course Overview September 12, 2005

© Rick Adrion, 2005 (except as noted) 1

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

02- Project Background & Course Overview

ReadingsEric Armstrong, Stephanie Bodoff, Debbie Carson, Maydene Fisher, Dale Green, andKim Haase, The Java™ Web Services Tutorial, February 4, 2002http://safariexamples.informit.com/0201768119/jwsd_kit/04_tutorial_faq/tutorial/doc/JavaWSTutorial.pdfEric Armstrong, Stephanie Bodoff, Debbie Carson, Ian Evans, Maydene Fisher, DaleGreen, Kim Haase, Eric Jendrock, Monica Pawlan, and Beth Stearns, The J2EE™ 1.4Tutorial, May 30, 2003http://lux7.wu-wien.ac.at/j2eesdk/j2eetutorial14/doc/J2EETutorial.pdfVasudevan Venu, A Web Services Primerhttp://www.xml.com/pub/a/2001/04/04/webservices/index.htmlSteven J. Vaughan-Nichols, “Web Services: Beyond the Hype,” Computer, February 2002Heather Kreger, Web Services Conceptual Architecture (WSCA 1.0), May 2001http://www-306.ibm.com/software/solutions/webservices/pdf/WSCA.pdfBarry J. Doyle and Cristina Videira Lopes, “Survey of Technologies for Web ApplicationDevelopment” June 2005http://www.ics.uci.edu/~lopes/teaching/ics123S05/notes/web_programming_survey.pdf

Copyright Rick Adrion 2005, unless otherwise noted

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

UpdateRick Adrion

310 Computer Science Building(413) [email protected] Hours:Tuesdays 10:30a-noon & Wednesdays 3:00-4:00p

Wendy Cooper312 Computer Science Building(413) [email protected]

TA: Sophie [email protected]

02- Project & Course Overview September 12, 2005

© Rick Adrion, 2005 (except as noted) 2

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

ProjectEach person will be assigned to a 3-4-person group. These

groups will carry out requirements, design, construction andtesting of a component to be deployed within a CourseManagement System using the Sakai Project framework.See http://www.sakaiproject.org/

The Sakai Project is a community source softwaredevelopment effort to design, build and deploy a newCollaboration and Learning Environment (CLE) for highereducation.

The Sakai Project's primary goal is to deliver the Sakaiapplication framework and associated CMS tools andcomponents for course management and researchcollaboration. The software is being designed to becompetitive with the best CMSs available.

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Project

Sakai Quick StartInstallation &

ExercizesRequirementsElicitation &

Defintion (SRS)

PreliminaryDesign

Detailed Design

Code, Test &Deploy

Final Demo &Project Report

Project 1

Project 2

Project 3

Project 0/HW1

Form Groups, ID Projects &

ID Stakeholders

TeamIndividual

02- Project & Course Overview September 12, 2005

© Rick Adrion, 2005 (except as noted) 3

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

AcronymsALE Adaptive Learning Environment; ALN Asynchronous LearningNetwork; ALT Advanced Learning Technology; CAI ComputerAssisted Instruction, Computer-Assisted Instruction, ComputerAided Instruction; CBE Computer Based Education; CBI ComputerBased Instruction; CBL Computer Based Learning, Computer-Based Learning; CLE Collaboration and Learning Environment,Client Learning Environment; CMS Content Management System,Course Management System; CSCL Computer SupportedCollaborative Learning, Computer-Supported CooperativeLearning; e-Learning Electronic Learning; ILS Integrated LearningSystem, (Integrated Learning Management System); ITS IntelligentTutoring Systems; KMS Knowledge Management System; LMSLearning Management System; MUD Multi-User-Dungeon; RLOReusable Learning Object; SCO Sharable Content Object; SCORMShareable Courseware Reference Model, Shareable ContentObject Reference Model; Webinar Web + Seminar; WebLE Web-Based Learning Environment

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Learning (Content) Management Systems

Learning Management Systemsenable the management and delivery of learning content andresources to studentsmost are web-based to facilitate "anytime, anywhere" accessto learning content and administration.at a minimum, usually allow for:

student registration,delivery and tracking of e-learning courses and content, and

testingbased on a variety of development platforms, from J2EE-based architectures to .NET, and usually employ the use of arobust database back-end

Learning Content Management Systemfacilitates organization of content from authoring tools andpresentation of this content to students via an LMS.

02- Project & Course Overview September 12, 2005

© Rick Adrion, 2005 (except as noted) 4

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

What’s out thereCommercial L(C)MS

ANGELBlackBoardeCollege AU+WebCTand many more ….

Open Source L(C)MSCHEFLON-CAPAMoodleSakai

CollaborativeEnvironmentsLotus NotesMicrosoft SharePoint

Collaborative FrameworksMoodle

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Why & WhatWhy Sakai?

Sakai attempts to be both a Learning ManagementSystem and a Collaborative PortalBoth “web services,” but as we shall see they are notcompletely compatible

Why web services?Changes in software development (OOS, Model-baseddevelopment, …), Business (EIS, B2B, …), ubiquity ofthe web

What are web services? Portals? Servlets?

02- Project & Course Overview September 12, 2005

© Rick Adrion, 2005 (except as noted) 5

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Progresssignificant progress in QoS-

enabled middleware,stemming in large part fromthe following trends:years of iteration,refinement, & successfulusematuration of middlewarestandards .NET, J2EE, CCMReal-time CORBAReal-time JavaSOAP & Web Services

maturation of componentmiddleware frameworks &patterns

Year1970 2005

ARPAnet

RPC

Micro-kernels

CORBA & DCOM

Real-timeCORBA

Component Models (EJB)

CORBA ComponentModel (CCM)

Real-time CCM

DCE

Web Services

Adapted from Douglas C. Schmidt, “Patterns, Frameworks, & Middleware: Their Synergistic Relationships”

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Web ServicesWhy web services and not middleware platform (RMI, Jini,

CORBA, DCOM etc.)? simplicity of access and ubiquitythe Web complements middleware by providing a uniform andwidely accessible interface and access to services that are moreefficiently implemented in a traditional middleware platform.from an n-tier application architecture perspective, the webservice is a veneer for programmatic access to a service whichis then implemented by other kinds of middleware.

Illustration from Steven J. Vaughan-Nichols, “Web Services: Beyond the Hype”

02- Project & Course Overview September 12, 2005

© Rick Adrion, 2005 (except as noted) 6

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

WS = XML + HTTP + SOAP + WSDL + UDDI

SOAP (Simple Object Access Protocol)a protocol specification that defines a uniform way of passingXML-encoded data and for using HTTP as the underlyingcommunication protocol to perform remote procedure calls

UDDI (Universal Description, Discovery and IntegrationService)provides a mechanism for clients to dynamically find otherweb servicesis layered over SOAP and assumes that requests andresponses are UDDI objects sent around as SOAP messages

WSDL (Web Services Definition Language)provides a way for service providers to describe the basicformat of web service requests over different protocols orencodingsused to describe what a web service can do, where it resides,and how to invoke it

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

From Static to Dynamic Web Services

Il lustrations from Barry J. Doyle and Cristina Videira Lopes, “Survey of Technologies for Web Application Development” June 2005

Adding plug-ins& scripting

Scable CGI

02- Project & Course Overview September 12, 2005

© Rick Adrion, 2005 (except as noted) 7

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Multi-Tiered Architectures

Il lustration from Barry J. Doyle and Cristina Videira Lopes, “Survey of Technologies for Web Application Development” June 2005

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

J2EE 3-Tier Architecture

ApplicationClient

Dynamic HTML Pages

EJB EJB

DB DB

JSP

J2EE Clients

WebClients

Browser

ClientMachine

J2EEServer

Machine

DBServer

Machine

ClientTier

WebTier

BusinessTier

EISTier

GUI

02- Project & Course Overview September 12, 2005

© Rick Adrion, 2005 (except as noted) 8

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

J2EE

Il lustration from Barry J. Doyle and Cristina Videira Lopes, “Survey of Technologies for Web Application Development” June 2005

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

The Sakai ProjectGoal: Develop an open-source collaborative learning environment

Suitable for use as a learning management systemSuitable for use as a small group collaboration system

Sakai is an extensible frameworkprovides basic capabilities to support a wide range of toolsand services

Sakai is a set of toolswritten and supported by various groups

Sakai is a producta released bundle of the framework and a set of tools whichhave been tested and released as a unit

Partners:The University of Michigan, Indiana University, MIT, Stanford,the uPortal Consortium, and the Open Knowledge Initiative(OKI) with a $2.4 million grant from Mellon Foundation

02- Project & Course Overview September 12, 2005

© Rick Adrion, 2005 (except as noted) 9

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

ReleasesSakai 1.0

All tools from CHEF, ported to Sakai Administrtive tools; Announcements; Assignments; Chat Room; Discussion;

Help; News; Schedule; WebDAVJava Server Faces 1.0 development environment with initial set of Sakaitags

Sakai 1.5Revised JSF 1.1 development environment IFRAME Portal integrationTools

Samigo (assessment); Syllabus Tool; Context Sensitive Help; PresentationTool (SEPP); Contributed Tools (Blackboard Import; Xwiki): Portfolio Tool -OSPI (R-Smart) (separate release)

Sakai 2.0Sakai Style Guide Improved content managementSakai APIs and framework completeSakai 2.0 (New Tools)

Melete (module editor); Gradebook; Contributed tools

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Sakai 3.0 Internationalization Portal Integration

WSRP JSR-168

Web Services Hardening, design documentation Possible:

JSP and/or JYTHON

02- Project & Course Overview September 12, 2005

© Rick Adrion, 2005 (except as noted) 10

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Sakai Technical GoalsProvide environment to write tools and services whichseamlessly move from one Sakai deployment to another

Provide environment where the addition of a new tooldoes not de-stabilize the existing tools

Provide environment to allow tools to exist both withinSakai and standalone (I.e. easy porting of externaltools into Sakai without requiring rewrite)

Provide capabilities so that Sakai services and toolscan be accessed using web services.

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Sakai Foundational DocumentsSakai Style Guide

describes in detail how Sakai tools are to look andoperate regardless of implementation technology

Sakai Java Frameworkdescribes the Sakai Application Framework (SAF) asimplemented in Java

Sakai Tool Portability Profiledescribes how to write tools and services to be portableacross Sakai systems (in progress)

02- Project & Course Overview September 12, 2005

© Rick Adrion, 2005 (except as noted) 11

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Service Oriented Architecture Decompose tool code into

presentation elements andservice elements

Provide an abstraction (API)which shields the tool codefrom the implementationdetails of the service code.

Allows separatedevelopment of the tools andservices.

Allows effective unit testingof services

Allows an implementation tobe replaced transparentlywith another implementationas long as the API contract isfully met

My Monolithic

Code

Persistence

Browser

PresentationCode

Persistence

Browser

ServiceCode

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Sakai Application FrameworkSAF - Kernel

an augmented webapplication which enables theSakai APIs to be called formthe web application - this is arich but not constrainingenvironment

SAF - Common Servicesa set of common servicesavailable to all tools(authentication, authorization,hierarchy, repository, others)

SAF - Presentation Servicesa set of Sakai specific JSFtags to handle presentationdetails and provide widgetssuch as a date-picker orWSYWIG editor.

SAF - Kernel

SAF - Common Services

Application Services

Tool Code (Java)

Tool Layout (JSP)

SAF - Presentation Services

02- Project & Course Overview September 12, 2005

© Rick Adrion, 2005 (except as noted) 12

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Sakai Integration/Development Develop a TPP Compliant Tool

Assured to be portable across Sakai environments Integrate a web application

Responsible for own presentation and compliance to styleguide (may use Sakai JSF tags if JSF is used)

Can operate both stand-alone and within Sakai Integrate via web-services

Capability

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Technology Portability Profile - TPPHow to write for software code mobility:

The Open Knowledge Initiative’s (OKI) Open ServiceInterface Definitions (OSIDs)The JSR-168 portlet specification implemented inuPortal 3.xExpanded uMichigan CHEF Framework for toolinteroperabilityUser interface abstraction for localization

02- Project & Course Overview September 12, 2005

© Rick Adrion, 2005 (except as noted) 13

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

What is OKI?The Open Knowledge

Initiative™ is a collaborationamong leading universitiesand specification andstandards organizations tosupport innovative learningtechnology in highereducation.Goal: to create an open andextensible architecture thatspecifies how the componentsof an educational softwareenvironment communicatewith each other and with otherenterprise systems.

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

OKI OSID InterfacesAssessmentAuthenticationAuthorizationCourseManagementDBCDictionaryDigitalRepositoryFilingHierarchyLoggingSchedulingSharedSQLUserMessagingWorkflow

Example:Authorization OSIDFunctional Description

The Authorization OSID allows anapplication to establish and query a user'sprivileges to view, create, or modifyapplication data, or use applicationfunctionality.

Why importantApplications that can change Enterprisedata need to manage a user's access tothat data. An application must provide afine degree of authorization granularity toreflect the complexity of a user'sinteraction with an application.

Use casesA graduate student TA has the systemprivileges to change the grades of thestudents in the course section that heteaches, but not the privilege to changehis own grades.

02- Project & Course Overview September 12, 2005

© Rick Adrion, 2005 (except as noted) 14

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Portlet FrameworksJSR 168

defines a standard Javaway to plug in portlets

enables portlets to bewritten once and used inmany different (Java)systems

WSRPcomplimentary to JSR 168specifies how a remoteportlet producercommunicates with, andthrough, a portletconsumer

Portal

JSR 168 Portlet WSAdapter

API

Service

WSAdapter

API

Web ServiceProtocol

WebAccess

Browser

WSRPProtocol

Portlet ProducerPortlet Consumer

WSRPAdapter

API

WSRPAdapter

API

Portlet

Browser

JSR168?

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Sakai Portal Integration Sakai TPP Tools will run in JSR-168 portals - “Write once run

anywhere”. An entire Sakai site can be included at some point in an enterprise

portal iFrames - separate sign on (or WebISO) WSRP - shared sign on via trust between portal and Sakai

Portions many Sakai sites, tools, or pages can be aggregated toproduce a personal federated view for an individual - moves toward apersonal learning and research environment.

02- Project & Course Overview September 12, 2005

© Rick Adrion, 2005 (except as noted) 15

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Sakai and Portals

The designers initially intended for Sakai to be a“portal plus a bunch of tools”

Initially this seemed simple enough Buttons and rectangles Collection of tools deployed in various

configurations with various administration options Portals and Learning Management systems

turned out to be very different problems to solve Sakai needs to work both in a portal and LMS

environment (a bit stressful)

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Portals vs. LMSPortals

Organized by enterpriseand are often driven by theoffice of communications(Library, HR, Athletics,President)Often geared to individualcustomizationMany small rectangles toprovide a great deal ofinformation on a singlescreenPortals think of rectanglesoperating independently -like windowsThink “Dashboard”

LMSOrganized by academicaspects and are driven bythe registrar (Colleges,Departments)LMS’s are customizable byfaculty or departments butnot typically by studentsLMS’s like one tool on thescreen at a time.LMS’s think of navigationas picking a tool orswitching from one class toanotherThink “Application”

02- Project & Course Overview September 12, 2005

© Rick Adrion, 2005 (except as noted) 16

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Why engineer software?Scope and Impact on SocietyEconomicsQuality

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Scope and Impact on Societyrange of applications

simple ⇒ “super” systemscurrent methods do not scalenew and expanding applications

increasing complexity of embedded systems

Why engineer software? Scope and Impact on Society Economics Quality

02- Project & Course Overview September 12, 2005

© Rick Adrion, 2005 (except as noted) 17

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Scope and Impact on Society There have been many (in)famous software failures:

National long-distance telephone outage London Ambulance Service disaster European Space Agency booster destruction

If you fly, your life depends on software Airbus AA flight in Cali, Columbia

Your bank account depends on software New York bank reconciliation failure

Medical devices are controlled by software Therac-25

… and so onWhy engineer software?

Scope and Impact on Society Economics Quality

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Scope and Impact on SocietySafety

Security and privacy

"O Ring effect"

"Firewall effect"

Why engineer software? Scope and Impact on Society Economics Quality

02- Project & Course Overview September 12, 2005

© Rick Adrion, 2005 (except as noted) 18

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Economics A trillion dollar a year industry? Software can represent major (the majority of) costs of

A “make or break” key competency for

Software can cost hundreds or thousands of dollars per line

Why engineer software? Scope and Impact on Society Economics Quality

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Quality deliver prototypes "leave it to the marketplace" unsophisticated consumers

Look at what I bought!!

Why engineer software? Scope and Impact on Society Economics Quality

02- Project & Course Overview September 12, 2005

© Rick Adrion, 2005 (except as noted) 19

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

QualityAnalogyThere are many recalls for automobiles; ifsomething is not right, then it has to be fixed andusually for free.A defect in software will be “fixed” in “the next”release (at some cost to upgrade) or as a part of“maintenance” (also at some cost)

Why engineer software? Scope and Impact on Society Economics Quality

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Barriers to engineering software

industry’s short term focus shortage of skilled personnel inadequate investment in R&D coupling -- tend to "toss over the fence" lack of infrastructure standards

02- Project & Course Overview September 12, 2005

© Rick Adrion, 2005 (except as noted) 20

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Past Approaches Use more people

Create "better" programming languages

Design before writing code

Are you are designing the right program?

Test programs longer

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

More Approaches Train managers better

Software tools to help people write programs better

Use superior software processes

Train people better

02- Project & Course Overview September 12, 2005

© Rick Adrion, 2005 (except as noted) 21

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

New ApprochesAgile MethodsAspect Oriented ProgrammingExtreme ProgrammingFeature-Driven DevelopmentPair ProgrammingRefactoringTest Driven Development

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

There are products that share some of itscharacteristics

Software Is not unique

Studying such analogs can be useful: Help us learn about computer software Find points of similarity Suggest successful approaches to be

emulated Avoid known mistakes

02- Project & Course Overview September 12, 2005

© Rick Adrion, 2005 (except as noted) 22

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Problem: Create aproduct thatprovides shelter,sanitation, foodpreparationfacilities, recreation

Solution Medium:Dwelling unit

Lots ofinterconnectionand interactionamong thesecomponents

Analogy 1: Custom Home Building Product Components

Customer needs

Constraints

Preliminary design

Detailed design

Construction

Maintenance & Evolution

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Strengths of Analogy 1

02- Project & Course Overview September 12, 2005

© Rick Adrion, 2005 (except as noted) 23

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Weakness of Analogy 1

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Problem: Create aproduct to meet needsof citizens or solveproblems, such asCommon defense,domestic tranquility,establish justice

Solution Medium:Congress, ExecutiveAgencies, Petition,

Lots ofinterconnectionand interactionamong thesecomponents

Analogy 2: Legislation Product Components

“Customer” needs

Constraints

Preliminary design

Detailed design

02- Project & Course Overview September 12, 2005

© Rick Adrion, 2005 (except as noted) 24

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Analogy 2: Legislation Product Components

Construction

Maintenance & Evolution

Problem: Create aproduct to meet needsof citizens or solveproblems, such asCommon defense,domestic tranquility,establish justice

Solution Medium:Congress, ExecutiveAgencies, Petition,

Lots ofinterconnectionand interactionamong thesecomponents

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Strengths of Analogy 2

02- Project & Course Overview September 12, 2005

© Rick Adrion, 2005 (except as noted) 25

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Strengths of Analogy 2

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Weakness? of Analogy 2Look at two simple examples:FY05 State budget (funding, outside sections)GovernorHouse Ways & MeansHouse 1 (amended)SenateConferenceGovernor’s vetosLegislative overrides

Social Security “Windfall Elimination”What are other analogies?

Plays and Movies? Recipes? Driving instructions (eg.rallyes)

Products?Process?

02- Project & Course Overview September 12, 2005

© Rick Adrion, 2005 (except as noted) 26

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Example

University of Massachusetts For the operation of the University of Massachusetts; provided, thatnotwithstanding any general or special law to the contrary, the university may establish andorganize auxiliary organizations, subject to policies, rules and regulations adopted by the board, toprovide essential functions which are integral to the educational mission of the university; providedfurther, that notwithstanding any general or special law to the contrary, the university may enter intoleases of real property without prior approval of the division of capital asset management andmaintenance; provided further, …; provided further, that no fundsappropriated in this item may be used for the issuance or renewal of student or employeeidentification cards which display a student or employee’s social security number; provided further…; and provided further.. .......................................................... $337,864,464

SECTION 242. Section 633 of chapter 26 of the Acts of 2003 is hereby amended by striking out thesecond and third paragraphs and inserting in place thereof the following paragraphs:-Notwithstanding any general or special law to the contrary, the board of trustees for the university ofMassachusetts system and the president of the university are hereby authorized and directed toestablish a two year pilot program for out of state tuition retention at the flagship campus of theuniversity at Amherst. The board shall promulgate…Notwithstanding any general or special law to the contrary, for employees of public higher educationinstitutions who are paid from tuition retained pursuant to this section, fringe benefits shall be fundedas if those employees’ salaries were supported by state appropriations. …

UUNIVERSITYNIVERSITY OFOF M MASSACHUSETTS ASSACHUSETTS AAMHERSTMHERST •• D DEPARTMENTEPARTMENT OF OF CCOMPUTER OMPUTER SSCIENCE CIENCE •• CCMPMPSSCI CI 520/620520/620 FFALL ALL 20052005

Another example

SECTION 1. WINDFALL ELIMINATION PROVISION RESTRICTED TO TOTALMONTHLY AMOUNTS IN EXCESS OF $2,000. (a) IN GENERAL- Section 215(a)(7) of theSocial Security Act (42 U.S.C. 415(a)(7)) is amended-- (1) in subparagraph (A), by inserting after `service'),' the following: `if the sum of theindividual's primary insurance amount under paragraph (1) of this subsection and theportion of the monthly periodic payment which is attributable to noncovered serviceperformed after 1956 (with such attribution being based on the proportionate number ofyears of such noncovered service) is greater than $2,000, then'; (2) in the second sentence of subparagraph (B)(i), by striking `(with such attribution beingbased on the proportionate number of years of such noncovered service)' and inserting `(asdetermined under subparagraph (A))';(3) in the last sentence of subparagraph (B)(i), by striking `the larger of' and all that followsthrough `subsection (i))' and inserting the following: `the primary insurance amountdetermined under paragraph (1), reduced (before the application of subsection (i)) by theapplicable percentage specified in clause (iii) of the excess of such amount over the largerof the two amounts computed under the preceding two sentences,'; and(4) by adding at the end of subparagraph (B) the following new clause: `(iii) For purposes ofclause (i), the applicable percentage in connection with any individual shall be thepercentage specified in connection with such individual in the following table: