MathML Logo


#Call for Papers

#General Information

#Registration

#Accommodations

#Travel

#Tutorials

#Presentations

#Schedule

    

Essential Ingredients for Mathematical Content Deployment on the Web: The MapleNet Experience

Paul Mansfield
Waterloo Maple Inc.


Abstract

Summary

Although MathML is a relatively recent standard, it has already achieved one major goal - it has established a real sense of optimism among academics, vendors, and others within the mathematics computation community that large-scale, broad-based adoption of innovative, interoperable math technologies can finally be achieved. This presentation offers details on Waterloo Maple's product directions in response to this emerging market dynamic - in particular, we will describe how MathML is used to connect the components of the MapleNet framework for deploying "live" mathematical content to the Web.

Live mathematics on the Web requires more than just server-based versions of computational math systems such as Maple or Mathematica. The MapleNet framework addresses related needs of all participants in an institutional deployment of Web-based mathematical content. Correspondingly, we assessed the requirements for installation, maintenance, development and publishing of live content, assessment, etc. This presentation offers an overview of our conclusions as well as details on design and implementation of the MapleNet components to address these requirements. MathML has played a critical role, enabling these components to exchange and store mathematical information.We will conclude with comments on future directions.


Design considerations

An effective technology platform must offer flexibility, scalability, and interoperability in a way that is defined well-enough that it is easy to configure but general enough that it can meet the needs of a diverse market. In order to achieve this, we have developed a series of modular components that can be composed and customized to suit the needs of a given institution. It is clear that interoperability standards are an essential ingredient. MathML is used as the mathematical interchange format between all participating components, making it easy to develop components independently and integrating with third party systems. As a secondary benefit, this component approach also benefits the core Maple user community. The Maple system has already benefited tremendously from introduction of MathML, XML, and network connectivity features.


Architecture Overview

The MapleNet framework is composed of four major components

  1. Content creation and publishing: MathML is used as the base format for creating and storing mathematical content

  2. Server: The MapleNet server interfaces all components of the framework. It uses MathML and SOAP to communicate with other components of the framework. The purpose of this server is to insert a layer between user interface clients, content creation, computational engines, etc. This approach provides scalability, suthentication, ease of maintenance and administration as well as an abstraction layer on top of the computational engine.

  3. User interface clients: The interface to the MapleNet framework from a user's perspective is usually a web browser, likely augmented with Java applets. Mathematical content is displayed using MathML and WebEQ.

  4. Service modules: These modules plug into the server by means of a corresponding driver and can provide functionality from performing a mathematical computation to connectivity to a database. The Maple computational engine is one example of such a module. MathML is used to encode mathematical expressions at this level as well.


    Software Demonstration

    Prior to MapleNet our experience with MathML was mainly on creating tools for authoring, publishing and computing with MathML, which are available within Maple. During the MapleNet project we were able to appreciate MathML from a user perspective. We have used MathML to connect components of a large framework and found it to be an enabling technology that allows the MapleNet framework to use independently developed components both on the client and server side and also allows larger applications to easily integrate MapleNet, as long as these applications also use MathML.

    Our demonstration will touch on all aspects of the MapleNet framework and will illustrate user interactions from the perspecitves of a content author, an end user as well as of a MapleNet site administrator.