Web Collaboration & Distance Education Technology, Experience & Futures ASC September 26 2002 Geoffrey Fox Professor of Computer Science, Informatics, Physics and Director PTLIU Laboratory.
Download ReportTranscript Web Collaboration & Distance Education Technology, Experience & Futures ASC September 26 2002 Geoffrey Fox Professor of Computer Science, Informatics, Physics and Director PTLIU Laboratory.
Web Collaboration & Distance Education Technology, Experience & Futures
ASC September 26 2002 Geoffrey Fox Professor of Computer Science, Informatics, Physics and Director PTLIU Laboratory for Community Grids Indiana University, Bloomington IN 47404 http://grids.ucs.indiana.edu/ptliupages/presentations
uri="gxos:/ptliupages/presentations/diste dtalkfeb02" email="[email protected]" 4/29/2020
1
High Level Overview
Originally (at Syracuse) built a collaborative environment Tango and used for online lectures and training sessions from 1997-2001 (2001 updated system)
•
Functionality fine but browser interface and network produced instability
•
Hard to build custom collaborative applications
Newer simpler ( Garnet ) system addresses these issues although network issues still being addressed
Use of XML meta-data and building Education or e learning as a set of Web Services gives interoperability
Use of Grid (as from IBM ) and peer-to-peer technology will give improved infrastructure (still quite primitive)
4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 2
Teaching Jackson State Fall 97 to Fall 2001
JSU Syracuse
4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 3
The Virtual University
Motivated either by decreased cost or increased quality of learning environment Will succeed due to market pressures (it will offer the best product) Assume that as with text books, only a few pedagogically excellent teachers will produce lectures; only a few charismatic souls deliver them “Centers of Excellence” (including “ One Professor Virtual University ”) are natural entities to produce and deliver classes supported by good technology and rich graphics/multi-media (instruction design) University acts as an integrator putting together a set of classes where it may only teach some 20% but acts as a mentor to all classes
4/29/2020
its students take
uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 4
• • •
Courses at Jackson State
Taught using Tango/Garnet since fall 97 over Internet twice a week from Syracuse/FSU/Indiana
•
Course material same style as online material for in-university classes Curricula, Homework, Grading, Facilities done by “me” Students get JSU NOT Syracuse/Indiana “Trivial” in that learning model identical courses – just changed interaction mode Credit to that in traditional Jackson State major MSI (Minority Serving) University many computer science graduates with Do not compete with base courses but offer addon courses with “leading edge” material (Web Technology, modern scientific computing) which give JSU (under)graduates skills that are important in their career Fall 99 Semester CPS640 offered and separately 40 at Syracuse to 40 students in 5 distant places
uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 4/29/2020 5
What did this lead to?
Jackson State students got access to curricula that was not otherwise available to them Developed quite good Information Technology and computational science curricula Jackson State faculty acted as mentors in course and now teach some of material in their own courses and to other MSI colleges
• Make rapidly changing and important curricula available to an MSI network -- could dramatically improve curricula opportunities for MSI students • JSU has institutional commitment to area
Used in High School Java , DoD wide training and Winter 00/01 semester as part of ERDC Graduate Institute Supports migrant teachers -- I have delivered course spring 00 semester from Syracuse, FSU and ERDC, Vicksburg
uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 4/29/2020 6
Saturday Java Academy
http://old-npac.ucs.indiana.edu/projects/k12javaspring99/
4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 7
Lessons from Past
“True” Shared Event flexible but too much work for most cases Shared Display – nearly always works Shared Export – used SVG PDF HTML X3D etc. can be re Integrate synchronous and asynchronous collaboration
Do not build into browser as not a reliable or standard virtual machine Build around uniform publish-subscribe style XML Event Model supporting archiving, customization, filtering – apply to all collaboration modes
Later we realized need to integrate with Peer to Peer and Web Services (straightforward as XML event model fits these architectures)
4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 8
• • • •
Object Web View of the World
“Everything electronic” is a resource Computers Programs Data (from sensors to this presentation to email to databases) People “Everything electronic” is a distributed object “All External Interfaces” are defined in XML whether this is a property (data-structure) or a method (service, function, subroutine)
•
We can assume that a data-structure property has getproperty() and setproperty(value) methods to act as interface
•
All resources have interfaces All resources are linked by messages with format and transport protocol to be discussed but as interfaces defined in XML, message structure must be specifiable in XML
4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 9
What is a Web Service
A web service is a computer program running on either the local or remote machine with a set of well defined interfaces (ports) specified in WSDL In principle, computer program can be in any language (Fortran .. Java .. Perl .. Python) and the interfaces can be implemented in any way what so ever
•
Interfaces can be method calls, Java RMI Messages, CGI Web invocations, totally compiled away (inlining) but The simplest implementations involve XML messages (SOAP) and programs written in net friendly languages like Java and Python Web Services separate the meaning of a port (message) interface from its implementation – are virtual XML WSDL Interfaces
uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 4/29/2020 10
Web Services in a Nutshell
WSDL Application or Content source Web Service
Ports: Messages to and from other web services, resources or users
Web Services codify a clear process for deploying distributed software components representing
• • • • •
Data and Information Sources (Sensors, Databases) Computers Application Software Learning Services like “Submit Homework”, “Grade” System services ( OGSA Open Grid Service Architecture) Distributed Message Passing Model We should be in some process of dividing applications (including e-learning) into components and giving them an XML “skin” defining input and output ports (data, remote procedure calls)
•
WSDL Web Service Definition Language
4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 11
Example of Application Web Services
Note Service model integrates sensors, sensor analysis, simulations and people An Application Web Service is a capability used either by another service or by a user
• •
It has input and output ports – data is from users, sensors or other services Big services built hierarchically from “basic” services
Data Analysis WS Sensor Data as a Web service (WS) Simulation WS Sensor Management WS Visualization WS Data Management WS 4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 12
Application Web Services
WS Filter2 WS
An Application Web Service
Filter3 WS Prog1 WS Prog2 WS
is a capability used either by another service or by
• • Build as multiple
It has input and output ports – data is from users, sensors or other services Big services built hierarchically from “basic” services
Data Analysis WS Sensor Data as a Web service (WS) Sensor Management WS Data Management WS 4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 13
Some General Grid or Web Services
4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 14
Some Science Web Services
These build on general (community) web services
4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 15
Education as a Web Service
Can link to Science as a Web Service and substitute educational modules “ Learning Object ” XML standards already exist from IMS/ADL http://www.adlnet.org
– need to update architecture Web Services for virtual university include: Registration Performance (grading) Authoring of Curriculum Online laboratories for real and virtual instruments Homework submission Quizzes of various types (multiple choice, random parameters) Assessment data access and analysis Synchronous Delivery of Curricula Scheduling of courses and mentoring sessions Asynchronous access, data-mining and knowledge discovery Learning Plan agents to guide students and teachers
4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 16
What is meant to Happen
One uses IMS/ADL
• • •
to define all needed properties in XML Such as Title of page; Address of student etc.
Ignore those sensitive to architecture; add some XML specifications such as those to define collaborative sessions One needs “ automation ”/”support tools” for process of generating meta-data
•
Such as prerequisites for courses; Author of web page etc.
One uses conventional authoring tools
• •
Uses portal technology to build curricula to integrate user-interfaces to multiple Web Services Unfortunately open approach not used in current Hopefully industry will build needed interoperability will allow picking and choosing between vendors rather than use of monolithic systems
• •
LMS or Learning Management Systems LCMS or tools as Web services Learning Content Management Systems and (Use non education specific system)
•
Authoring/Portals (I think it is best NOT to use education specific tools)
•
Collaborative Environments (shared applications)
•
Audio-Video Conferencing
4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 17
Current Status in a Nutshell
Systems such as Centra, WebEx, Garnet and Placeware offer similar functionality to our old system Tango for synchronous collaboration
•
Shared applications, chatroom, whiteboard, A/V conferencing Blackboard, WebCT, Lotus offer learning management systems
•
Not very consistent with modern architectures but can be used effectively today Access Grid (community e.g. classroom) and Polycom (etc.) are excellent audio-video systems I develop research system Garnet for education portals
•
Features hand-held and desktop clients, integrated collaboration and some “technical advances” – major use of XML and publish/subscribe systems
•
Audio-Video Conferencing as a Web Service
•
Improving network robustness
4/29/2020
including firewall tolerance
uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 18
Commercial Collaboration Systems
Centra WebEx
4/29/2020
Anabas
19
Learning Objects
Given changing technology, need standards to protect investment in authoring and administrative data generated and stored in databases Education community has unusually good set of community standards Educational Environment http://www.imsproject.org
Educause set up IMS – Instructional Management System with selection of companies and universities
•
IMS focus was changed to drop implementation work and is now “Global Learning Consortium” Inc.
Department of Defense (which has huge training needs) set up ADL Advanced Distributed Learning Initiative
•
www.adlnet.org
URL’s whose links section includes all other useful IEEE (Computing Community) set up P1484 Learning Technology Standards Committee LTSC
4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 20
“Learning Management System”
LMS
Server Client
LMS Model used by ADL
Content Server(s) External systems: HR, E-Commerce, ERP...
Learning Server Adapter Learning Server Migration Adapter
Course Interchange: Course Structure Format (CSF), Metadata
Services or Adapter
Critical Interchange Capability
Server Side API Adapter Browser Application Client Side HTML+
Runtime Environment:
Launch, API, Data Model
Antiquated Architecture
4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 21
•
Properties of Learning Objects
Metadata from IEEE and IMS Roughly Properties of educational objects thought of as “documents” (author, title …) Course Packaging ,
• •
Digital Repositories from SCORM and IMS How to form bigger units of instruction from smaller units Called Content Packaging by IMS and Course Structure Format (CSF) by SCORM which goes in greater depth than IMS Tests and Quizzes from IMS Specialized CSF descriptors from SCORM (via CMI)
•
Such as objectives , prerequisites , completion requirements LMS Runtime API from SCORM – I am doubtful about value Enterprise Properties
•
Link to people and from IMS organization databases (training, human resource, library, student administration) Learner Information Package
•
from IMS Name/Address, Goals, Skills, Grades etc.
“ Competencies ” from IMS “ Accessibility ” (universal access guidelines) from IMS
4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 22
Learning Management Systems
Most education and training stresses asynchronous or web support for conventional delivery WebCT Blackboard Lotus(IBM) and others offer LMS systems with limited synchronous capability
•
Support typical educational needs like grading, quizzes, homework, glossaries, group email
• •
Varying database backend and Varying authoring support Popular with colleges as supports not so expert faculty DoD use less clear as need for homework and other tools less critical than for University classes No built in support for areas like “programming labs” (VPL from NPAC did this)
4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 23
Hierarchical Delivery Model
One could teach to 1000 different students separate workstation but … – each at a
No real opportunity for questions so better to use broadcast technology – not conferencing
Further could better deliver to 40 classrooms – each with an average of 25 students
Each classroom has central high quality A/V conferencing, displays and
• •
A Mentor monitoring and helping students Each student could have wireless laptop or PDA
So synchronous systems must support simultaneously disparate clients – high end display to PC to PDA
4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 24
Authoring of Curriculum
Possible Market pressures push to high end authoring Authoring
• •
Basic approaches for the Web can include HTML Macromedia/Adobe/etc. packages like Dreamweaver, Illustrator Fireworks,
•
PowerPoint and Word exported Also can include RealNetworks or Microsoft or .. format Multimedia
•
Note Streaming multimedia formats have larger buffers than A/V conferencing formats Certainly use XML attractive portal to specify content and render this into SVG and SMIL standards
• •
are important 2D vector graphics and multimedia HTML does not give reproducible pages Flash can be thought of as “proprietary SVG”
uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 4/29/2020 25
Web Services as a Portlet
Each Web Service a user interface another port” naturally has specified as “just Application as a WS
General Application Ports Interface with other Web Services •
Customizable for universal access
WSDL
This gives each Web Service a Portlet view specified (in XML as always) by WSRP (Web services for Remote Portals)
Application or Content source Web Service W S R P
So component model for resources “automatically” gives a component model for user interfaces
•
When you build your application, you define portlet at same time
User Face of Web Service WSRP Ports define
WS as a Portlet
WSRP is Web Services for Remote Portals 1 st Meeting OASIS March 18 2002 4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 26
Integration of Portlets
Portals integrate Portlets into a complete user interface
Apache Jetspeed seems good open source technology supporting this model Application as a WS
General Application Ports Interface with other Web Services WSDL Application or Content source Web Service W S R P
Portal
User Profile Aggregate UI Fragments
Client Render User Face of Web Service WSRP Ports define
WS as a Portlet
Integrate Multiple Portlets User Customization at either Portal or if complicated at WS 4/29/2020 27
Online Knowledge Center built from Portlets
A set of UI Components
Web Services provide a component model for the middleware (see large “ common component architecture ” effort in Dept. of Energy)
Should match each WSDL component with a corresponding user interface component Thus one “must use” a component model for the portal with again an XML specification ( portalML ) of portal component
4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 28
Jetspeed Computing Portal: Choose Portlets
4 available portlets linking to Web Services I choose two
4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 29
Choose Portlet Layout
Choose 1-column Layout
4/29/2020
Original 2-column Layout
uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 30
Two Computing Portlets
4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 31
Audio-Video Conferencing
In problematical
• Tango
Video training, audio-video conferencing was always may or may not be necessary – Internet only supports “postage stamp” talking heads
•
Audio only requires a few kilobits per second but quality of service critical and not likely to be supported on current Internet
HearMe
“ordinary” phone lines which have:
• desktop audio ONLY:
Support general mix of internet and Quality of service and good echo canceling etc. on high-end phones
• •
Will work with modem (28.8 kilobits per second) Supports SIP standard like many VOIP products
Access-Grid community audio/video
: Supports multiple high quality audio and video streams
•
Each client client needs 20 megabits per second and multicast support
•
Use VRVS to integrate with other systems as not H323 , SIP compliant Polycom and similar commercial systems – somewhat expensive and support H323 standard Web Services can integrate these different approaches
4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 32
Fall 2001 Technology
Large Room Access Grid
Personal Access Grid + Garnet
Community A/V: The Access Grid 4/29/2020
Desktop A/V
33
H323 SIP JXTA
4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 34
SIP H323 JXTA
SIP
4/29/2020
H323
uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"
JXTA
35
H.323
Client
Web Service Architecture for Audio Video Conferencing
SIP Client Access Grid A/V Web-Service Gateway ( H.323) A/V Web-Service Gateway ( SIP ) A/V Web-Service Gateway ( AG ) A/V Media Server A/V Media Server Event Message Service A/V Media Server 4/29/2020 Session Server Session Server Core Collaboration MiddleWare Session Server uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 36
Registration Method
XGSP: Introduction
Session Command Method Query Method Session Channel Binding Method
Registration Method
registration server with its alias name and current location
Session Command Method
Membership Control Commands, Session Control Commands
Query Method
discover various properties about the system
Session Channel Binding Method
bind the RTP channels of a client into the media server
4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 37
XGSP: Example
XGSP: Example
H323 Client Polycom Netmeeti ng Administrator Clients User Clients H.323
Gateway H323 Signaling Channels A/V RTP Channels Collaboration Web Server ( Java Sevelets & JSP ) Web Interface Session Server Media Server Interface Media Server A/V RTP Channels Access Grid Multicast
Linking Clients and Servers
Current Implementation Polycom (H323) Access Grid Integration Talk Server W S D L HearMe MCU SIP Gateway Session Server Bridge Media Server W S D L Venues Server Multicast Cloud Future Project Link Proprietary MCU’s Illustrated for SIP (HearMe) and Access Grid HearMe 4/29/2020 Access Grid uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 40
Current Status
XGSP Specification stable
Demo prototype of Polycom (H323), Access Grid, Shared Display clients
H323 Gateway based on openh323
JMF (Java Media Framework) used for Media Server XGSP used Internally between audio, video and session control services Codec negotiation supported (No XGSP clients yet) Narada UDP Communication has been successfully tested 4/29/2020
XGSP MCU (Control) User Interface
uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 41
H323 Client (Polycom) in XGSP Session
4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 42
4/29/2020
Comparison with
43
Possible A/V Web Service Futures
Productize integration with our high performance messaging system Narada – needs more testing of Narada multi-protocol interface
•
Will this defeat firewalls that currently spoil my lectures?
Session Control Server can be used to define collaborative sessions for other shared applications
• •
Text chat etc.
Shared SVG, StarOffice, Internet Explorer, Word etc. (using “.net” event interface)
•
Integrate with JXTA interface using Narada-JXTA link Add RealMedia (Windows Media) SIP (VOIP) and native XGSP clients Integrate at server AccessGrid, VOIP (MCU) level for Polycom,
4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 44
PDA Collaboration Adaptor
4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 45
Batik Viewer on PC PowerPoint can be converted to SVG via Illustrator or Web export
SVG Sharing PC to PDA
uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 4/29/2020 46
MyProfessor on the PDA
4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 47
Collaboration: Shared Display
Sharing can be done at any point on “object” or Web Service pipeline
Shared Event Shared Web Service Shared Export
Shared Display
Object Object’ Object’’ Object Viewer Object Display
Master
Shared Display shares framebuffer with events corresponding to changed pixels in master client.
Event (Message) Service
Object Display As long as pipeline uses messages, easy to make collaborative Windows framebuffers and in fact most applications do NOT expose a message based update interface 4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" Object Display 48
Shared Input Port (Replicated WS) Collaboration
Collaboration as a WS Set up Session with XGSP F I R O Web Servic e U O F I WS Viewer WS Display
Master Event (Message) Service
4/29/2020 F I R O Web Servic e U O F I WS Viewer WS Display
Other Participants
F I R O Web Servic e U O F I WS Viewer uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" WS Display 49
Shared Output Port Collaboration
Web Service Message Interceptor Collaboration as a WS Set up Session with XGSP R F I O WSDL Application or Content source Web Service U O F I WS Viewer
Master
WS Display 4/29/2020
Event (Message) Service
WS Viewer WS Viewer uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" WS Display
Other Participants
WS Display 50