С помощью этой технологии можно реализовать удаленное использование пакета Mathematica через сеть Интернет. Пользовательским интерфейсом в такой реализации будет Web-браузер на клиентском компьютере, расчетной частью будет ядро Mathematica. Взаимодействие между пользовательским интерфейсом и ядром будет происходить посредством Web-сервера и работающего под его управлением CGI-модуля, как наиболее гибкой и эффективной в настоящее время технологии. CGI-модуль может быть реализован на любом языке программирования, но лучшим, с точки зрения скорости работы, является использование языка Си, что хорошо укладывается в вопрос сопряжения модуля с ядром Mathematica при помощи интерфейса MathLink.
Рис.1 Схема взаимодействия клиента и сервера при работе с Web-интерфейсом
Опишем вкратце процесс взаимодействия пользователя с пакетом Mathematica через сеть Интернет, изображенный на рис.1. Пользователь получает с Web-сервера HTML-документ, содержащий поле ввода команд на языке Mathematica. Вводит в это поле команды, описывающие расчеты, которые должна выполнить Mathematica; ввод завершается нажатием на кнопку «Выполнить». При этом Web-браузер посылает введенные пользователем данные Web-серверу по протоколу HTTP, который, в свою очередь, передает их CGI-модулю, используя интерфейс CGI. CGI-модуль обрабатывает полученные данные и передает их ядру при помощи интерфейса MathLink. Ядро производит синтаксический разбор полученной информации и производит необходимые расчеты. Результаты и сообщения об ошибках посредством интерфейса MathLink передаются CGI-модулю, который на их основе создает динамический HTML-документ и через интерфейс CGI передает его Web-серверу. Web-сервер посылает документ по протоколу HTTP Web-браузеру, который отображает его на экране клиентского компьютера.
В представленной схеме проведения расчетов наиболее сложной и непонятной частью является организация взаимодействия между CGI-модулем и расчетным ядром пакета Mathematica. MathLink, который и организует это взаимодействие по сути является библиотекой функций, которая включает протокол посылки и получения сообщений пакету Mathematica. Нужно отметить, что все имена функций интерфейса MathLink начинаются с букв ML, которые означают принадлежность к указанному интерфейсу.