XML Based Learning Environment Prashant Karmarkar Brendan Nolan Alexander Roda
Scope An online repository of XML Tutorials A secure method of access to this repository A functional chat module A functional Bulletin Board A pertinent call schedule or calendar A grading module An administration feature for the professor A cosmetic customization piece for the student An active contact information area for students.
System Design Our approach is to leverage an existing open source solution - PHPNuke Nuke Free software released under the GPL Written 100% in PHP
Nuts and Bolts. Linux (operating system) Apache (web service) PHP – Nuke (advanced content management system) MySQL (backend database) Why use these technologies? Linux is free and modular, stability Apache is free also scalable PHP-Nuke is free, but also completely customizable, administrator has total control, no need to know html, configurable through a web browser.
Why Nuke? Managing large sites with only static HTML is too time consuming – a CMS is more efficient Modular structure enables developers to easily extend the functionality of the site (focus on coding not details of integrating feature into site) Easy to use and navigate from an end user standpoint Easy to administer – web forms enable modification of all aspects of the site Very granular level of security and administration – can add multiple admins who are restricted to only certain features It’s free
PHPNuke Architectural Overview
Basic Functionality? Authenticated Online Community Customized,Interactive IDE Tutorials Discussion Board Knowledge Base (Repository for Lecture Notes) Student Listings Open Source Solution
Extended Functionality? In addition to the base modules included with Nuke: Assignments – allows professor to post students grades Calendar – professor and students can post events to calendar for class (moderated calendar) IRC Chat – added a third party module to enable IRC Chatting XML_Validator – web form to validate an xml file against a DTD
Portal Walkthrough Administration Panel
Web Services Self Describing Self-Contained Modular Applications PublishedLocatedInvoked Over the web
What are Web Services, anyway? TCP/IP - Universal Networking Protocol HTML – Universal User Interface Java –Universal Coding Language XML – Language for Universal Data Open, Cross Platform Standards
Where is the Web heading More dynamic content Bandwidth is getting cheaper Storage is getting cheaper Pervasive Computing is becoming more important
Where do Web Services fit in? Web Services can be used to combine the content from various sources Web Service can now deliver types of content (streaming video or audio ) Web Service can deal with massive amounts of data intelligently (Databases, LDAP directories, caches and load balancing factors) Users need not require to run traditional browsers on some version of Windows.Web Service can be used to serve all sorts of devices, platforms and browser types
Enabling Technologies for Web Services XMLSOAP Binding Point Portal Binding Point Portal
Future Enhancements Schema validator More detailed error messages – translate code to give more detail Add more flexibility to the assignments module Web Service - interesting to utilize Eclipse with XMLBuddy and access a web service to get information about the site (who’s online, recently added calendar events, etc.)