Upload
ralph
View
43
Download
0
Embed Size (px)
DESCRIPTION
Education as a Web Service Technology, Experience & Futures. Geoffrey Fox Chief Scientist Anabas Inc. Professor of Computer Science, Informatics, Physics and Director PTLIU Laboratory for Community Grids - PowerPoint PPT Presentation
Citation preview
04/22/2304/22/23
uri="gxos:/ptliupages/presentations/disteuri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"dtalkfeb02" email="[email protected]"
11
Education as a Web ServiceTechnology, Experience & Futures
Geoffrey FoxChief Scientist Anabas Inc.
Professor of Computer Science, Informatics, Physicsand Director PTLIU Laboratory for Community Grids
Indiana University, Bloomington IN 47404http://grids.ucs.indiana.edu/ptliupages/presentations
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 222/22/2001 JSUFall97Master http://www.npac.syr.edu [email protected]
1
Programming for the WebProgramming for the WebGeneral IntroductionGeneral Introduction
Course at Jackson State University Spring98 Course at Jackson State University Spring98 and Fall 97and Fall 97
http://www.npac.syr.edu/users/gcf/jsufall97introNancy McCracken
Geoffrey Fox, Tom ScavoSyracuse University NPAC
111 College PlaceSyracuse NY 13244 4100
3154432163
JSU
Syracuse
Teaching Jackson State Fall 97 to Fall 2001
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 33
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 its students take
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 44
Courses at Jackson State Taught using Tango/Anabas 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 Credit
Jackson State major MSI (Minority Serving) University with many computer science graduates
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 to 40 students in 5 distant places and separately 40 at Syracuse
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 55
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
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 66
Saturday Java Academy
http://old-npac.ucs.indiana.edu/projects/k12javaspring99/
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 77Desktop A/VCommunity A/V: The Access GridPersonal Access Grid + Anabas
Large Room Access Grid
Fall 2001 Technology
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 88
Lessons from Past “True” Shared Event flexible but too much work for
most cases Shared Display – nearly always works Shared Export – SVG PDF HTML X3D etc. can be re-
used 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)
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 99SVG Sharing PC to PDA
PowerPoint can be converted to SVGvia Illustrator or Web export
Batik Viewer on PC
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 1010
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
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 1111
The 3 Critical XML Interfaces Data (sort of
dumb) Information User
Rendering
(Virtual) XML Data Interface
Raw Data
Processing
Information/Knowledge
(Virtual) XML Information Interface
Render to XML Display Format
RawResources
Server
Clients
(Virtual) XML Rendering Interface
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 1212
ResourceDatabase
ResourceSoftware
Software
XMLSkin XML
Skin
MessageOr EventBasedInterConnection
XML Defined Resourcesconnected by XML defined messages
Implementation of resource andconnection may or may not be XML
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 1313
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 – WSDL Interfaces are virtual XML
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 1414
Role of Web Services Define interfaces of web applications so that computer-computer
interactions are enabled• Defines virtual XML for all system and application services
WSDL is XML versions of Class and Method definitions SOAP is XML version of message UDDI or WSIL catalogs WSDL based services enabling precise
linkage of them ( WSFL and WSCL are candidate linkage languages
Security Catalog
PaymentCredit Card
WarehouseshippingWSDL interfaces
WSDL interfaces
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 1515
etc.XML WS to WS Interfaces
(Virtual) XML Knowledge (User) Interface
Clients
(Virtual) XML Data Interface
Raw DataRawResources
Raw Data
WSWS
Web Service (WS)
WS
WSWS WS WSWS
Render to XML Display Format
(Virtual) XML Rendering Interface
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 1616
Some General Grid or Web Services
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 1717
Some Science Web Services These build on general (community) web services
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 1818
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
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 1919
UDDI & Content Management Consider content to consist of “curricula pages” and
meta-data We have meta-data stored in LDAP, flat files, UDDI,
databases (Oracle 9i), XML databases, WebDAV, Web page header tags, JMS topics
Content meta-data and content linked by URI. In general content & meta-data stored separately
Managing meta-data is hardest problem – view as federation of multiple independent heterogeneous databases with separate access and lookup services• Each component is a web service supporting query, access,
store etc. UDDI will be replaced by this more general view Most of education is meta-data …….
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 2020
LCMS as a Web Service For meta-data, just build federated database as a Web
Service• Storage, update, lookup of objects• Registration of different control engines
For content, if W3C DOM and Java API as for SVG and “decent” XHTML browsers, then can wrap DOM as a web service for all interface functions• Can of course do this for IE5 but document object model
unreliable Build collaboration systems as sharing Web Service
interfaces (not COM or other object API)
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 2121
Integration of XML/Web Services into an Enterprise I
You are the CIO of a little known state’s (call it Xanadu) education system and been tasked to position it as a 2005 leader in technology enhanced education
Your initial review reveals a multitude of incompatible existing information systems distributed over Xanadu’s 50 campuses
Your cradle to grave community education mandate (which got the Governor elected) implies integration of all aspects of education in your information system
You note that performance issues are much less important in this application than interoperability (it currently takes months to get anything done so what's an extra millisecond or so at a WSDL interface) , so even in current primitive/immature state Web services look attractive
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 2222
Enterprise Web Services II We start a requirements analysis and a catalog of existing “raw
resources”. This will lead to the clean internal XML(WSDL) interfaces XIF and to the external XML interfaces (XEF) to the raw resources
What is Xanadu Internal Framework (XIF) ? We find that The Grid Forum community has defined computing
interfaces which we will adopt to support infrastructure needed for use of simulations and data repositories in curriculum
We find that Microsoft, the Liberty Alliance and the Grid have Security schemes but are relieved that with a little bit of XSLT (transformations) we can map between them and can define authentication & access control as a Web Service
We join the IMS consortium and adopt their standards for learning meta-data and user related information
We adopt the AICC and ADL SCORM standards for “learning objects” (course pages)
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 2323
Enterprise Web Services III We define Xanadu educational agents which use XIF plus
RDF/DAML-OIL to be able to capture educational goals We expect commercial standards compliant solutions will be
available for most other needed Educational web services We find that we must interface with a dreadful collection of
external raw resources coming from legacy PeopleSoft SAP Oracle and Microsoft products• As our new model is object (XML) and open standards based we build a
separate XII (Xanadu Information Infrastructure) supporting XIF objects We analyze structure of legacy systems and their relation to XIF
and define the external framework XEF which captures much of the raw resources• This XEF Schema is extensible to capture quirks of each legacy system• We build a set of Web services that convert XEF into XIF
We inform vendors that we will only install XIF compliant systems in all future purchases
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 2424
CollabWS: Collaboration as a Web Service This includes Audio-Video conferencing, Instant
Messengers, shared applications and tools There are basic standards H323 and SIP There are peer to peer collaboration approaches like
JXTA from Sun The various commercial products – Anabas …Centra
…Webex … Groove Networks effectively defines some shared application interfaces
CollabWS defines a superset of collaboration properties and subservices in XML/WSDL
Then you provide several bindings of collabws.wsdl to new transports and old ones (binary H323)
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 2525
H323 SIP
JXTA
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 2626
SIPH323 JXTA
H323 JXTA
SIP
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 2727
A Typical SIP Message REGISTER sip:registrar.biloxi.com
Via: SIP/2.0/UDP 10.4.1.4:5060To: Bob (sip:[email protected])From: Bob (sip:[email protected]);tag=456248Call-ID: [email protected]: 1826 REGISTERContact: (sip:[email protected])Expires: 7200Contact-Length: 0
Initially build a wrapper that accepts such messages and converts to …..
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 2828
Collaboration as a Web service - now
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 2929
SIP as XML <sipasxml>
<register> sip:registrar.biloxi.com</register><via> SIP/2.0/UDP 10.4.1.4:5060</via><to> Bob (sip:[email protected]) </to><from tag="456248" > Bob (sip:[email protected]) </from><call-id> [email protected]</call-id><cseq> 1826 REGISTER </cseq><contact> (sip:[email protected]) </contact><expires> 7200 </expires><contact-length> 0 </contact-length></sipasxml>
So this is either an internal format to which we map SIP messages or it is an external format used for Collaboration Web Service
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 3030
Future Collaboration Web Service
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 3131
Messaging/Events as a Web Service We can implement messaging subsystem (between
WSDL resources) with either direct messages or by a queued system where you publish messages to queues and subscribe as receiver to particular queues
There are many different publish/subscribe models• JMS is a cluster of central servers• JXTA is a very dynamic Peer to Peer model where pipes are
queues and topics (metadata) are service advertisements One could have different ports in Messaging/Event Web
Service corresponding to the different JMS or JXTA fault tolerance/reliability semantics• Could use JMS as long distance “carrier” between JXTA peers• JXTA provides higher performance than JMS for nearby
recipients
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 3232
Event Web Service
Filter is mapping to PDA or slow communication channel (universal access) – see our PDA adaptor
Workflow natural as all messages “intercepted” by Event Web Service
Routing illustrated by JXTA Destination-Source matching illustrated by JMS
Web Service 1
(Virtual)Queue
Web Service 2
Destination Source Matching FilterRouting workflow
WSDLPorts
WSDLPorts
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 3333
Broker Network
Database
Resource
Broker
Broker
Broker
Broker
Broker
Broker
Software multicastP2P: Brokers are clients
Brokers created dynamicallywhen needed for a new cluster of resources
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 3434
Narada JXTA/JMS Integration http://grids.ucs.indiana.edu/ptliupages/projects/narada/ Is a network of event brokers which can reliably deliver XML
specified events Using openJMS selection module, becomes a distributed or
conventional Java Message Service Linking special JXTA
proxies, it can link JXTA communities
Think of JXTA JMS and“native” Narada as different bindings (ports) in anevent/messagingweb service
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 3535
Peer to Peer Grid
DatabaseDatabase
EventBroker
EventBroker
EventBroker
EventBroker JMS
JXTA
JXTA
Peer to Peer GridCommunity Grid
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 3636
PDA Collaboration Adaptor
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 3737
MyProfessor on the PDA
04/22/2304/22/23 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 3838
Component –based Portal
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