Секция 7 - MATLAB в образовании и Интернете (1250002), страница 11
Текст из файла (страница 11)
При клике указателем «мышки» по гиперссылке, которая в окне браузера будет в данномслучае отображена в виде текста «Излучение релятивистской частицы»,произойдет переход на страницу с результатом работы приложения. Добавив атрибут target=”_blank”, можно указать, чтобы результат расчета всегда выводился в новое окно, что особенно полезно для сравнения нескольких расчетов.В-третьих, результат работы приложения можно встроить в любуюHTML страницу с помощью тега <iframe src=“…”>.
При этом родительская страница может находиться на другом сайте, а его посетители могут1873Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»даже не догадываться, что «картинка позаимствована». Необходимы специальные меры защиты от подобного заимствования, если оно нежелательно.Наконец, параметры задачи можно задавать, формируя их с помощью HTML формы. Только этот, четвертый, способ позволяет обеспечитьистинную интерактивность взаимодействия пользователя с расчетной программой.
HTML форма формирует запрос примерно в том виде, как он былвыше продемонстрирован в примере с адресной строкой, однако обычнопараметры запроса передаются так, что пользователь не видит их в адресной строке.Изложенные выше принципы адаптации приложения MATLAB кразмещению на веб сайте позволяют одинаково успешно использовать этоприложение с любым веб интерфейсом.6. Продвинутый интерфейс с использованием HTML формНачальные сведения о разработке HTML формы можно почерпнутьиз любого учебника по языку разметки гипертекстов HTML.
Документацияпо MWS таких сведений почти не содержит. На сайте MATLAB.tutornet.ruпомимо своей основной функции отправки данных на сервер, HTML форма делает много других полезных вещей.Во-первых, она осуществляет предварительную проверку введенныхданных перед их оправкой на сервер (проверку на стороне клиента). Мыиспользуем как пассивную проверку на стороне клиента (с помощью запрета ввода очень длинных текстовых строк в полях ввода), так и активную проверку (с помощью скриптов JavaScript).Во-вторых, HTML форма накапливает информацию о скорости соединения между веб клиентом и веб сервером. На основе этой информациипроизводится выбор параметра качества изображения (quality).
Пользователю также предоставлена возможность ручного выбора этого параметра.В-третьих, HTML форма собирает информацию о свойствах веббраузера клиента, размерах экрана и его разрешающей способности, а также о глубине цвета. В настоящее время эта информация реально не используется, однако в будущем она может быть использована при выборепараметров изображения, генерируемого задачей.В четвертых, HTML форма реализует определенный сценарий сменыизображения в информационном кадре задачи. На Рис. 3-5 он находитсяслева от панели ввода параметров.1874Секция 7.
MATLAB в образовании и ИнтернетеРис. 3. Окно задачи перед началом расчета.Рис. 4. Окно задачи при загрузке результата расчета.Первоначально в информационный кадр загружаются сведения о задаче и расчетной модели (Рис. 3). После нажатия пользователем кнопки«Показать» в панели ввода параметров форма вводит небольшую задержку(0,5-1 сек.) перед отправкой данных на сервер, достаточную чтобы загрузить в информационное окно сообщение о предполагаемом времени расчета (не показано). После завершения расчета в информационном окне в варианте для Internet Explorer появляется сообщение о начале загрузки изо1875Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»бражения (Рис.
4). После завершения загрузки данное сообщение заменяется сгенерированным изображением, которое предварительно масштабируется под размер информационного кадра.Рис. 5. Окно задачи с результатом расчета.Все используемые приложениями HTML файлы и скрипты JavaScriptавтоматически создаются для каждой задачи разработанным нами генератором веб интерфейса. Заметим, что этот же генератор формирует блокпроверки входной структуры в m-файлах приложений MATLAB, поэтомуреально разработчик задачи может всего лишь обозначить место в текстеm-файла, где такая проверка должна быть выполнена.Исходная информация для генератора интерфейса извлекается изописания задачи на расширяемом языке разметки XML.
Использованиеединого источника информации с описанием задачи обеспечивает согласованность проверки входных параметров на стороне клиента и на сторонесервера. Использование генератора веб интерфейса освобождает разработчика задачи от рутинной работы по разработке HTML файлов, собственносоставляющих веб интерфейс приложения.В настоящее время каждое приложение использует как минимум 6HTML файлов:1. default.htm — главный файл веб интерфейса, определяющий расположение, структуру и размеры панели ввода параметров и информационного окна;2. info.htm — файл описания задачи, содержащий ее краткое описание иинструкции для пользователя по выбору значений входных параметров;3.
panel.htm — файл панели ввода параметров для веб браузеров с ограниченными возможностями;1876Секция 7. MATLAB в образовании и Интернете4. panelx.htm — файл панели ввода параметров для Internet Explorer;5. ouput.htm — HTML шаблон для генерации возвращаемого потока в случае веб браузеров с ограниченными возможностями;6. ouputx.htm — HTML шаблон для генерации возвращаемого потока длябраузера Internet Explorer.Все HTML файлы создаются генератором веб интерфейса из XMLописателя задачи путем последовательного наложения на него XSL стилей.Генератор веб интерфейса написан на языке JavaScript и работает подуправлением Windows Script Host, являющегося штатным компонентомоперационной системы Windows.
На Рис. 6 представлен вид окна справкигенератора веб интерфейса.Рис. 6. Генератор веб интерфейса.Генератор может работать как в оконном, так и в консольном режиме. После создания HTML файлов он производит проверку конфигурациинастройки веб сервера и сервера MATLAB. В частности он устанавливаетзапрет на доступ анонимного пользователя Интернета к исходному текступриложений MATLAB, размещенных непосредственно на веб сервере.Практическое применение генератора веб интерфейса чрезвычайнопросто. Для обновления интерфейса всех задач, размещенных на сайте,достаточно в проводнике Windows Explorer захватить указателем «мышки»каталог со всеми приложениями (или группы каталогов с выбраннымиприложениями) и «опустить» его на иконку генератора.
Можно также использовать вызов генератора через bat-файл, если требуется изменить параметры генерации, используемые по умолчанию. Это позволяет в течениинескольких секунд вносить отлаженные изменения в интерфейс всех задач,1877Труды II научной конференции «Проектирование инженерных и научных приложений в среде MATLAB»размещенных на сайте. Необходимой предпосылкой успешной работы генератора является использование стандартизованной структуры каталоговприложений и применение описанной в настоящей статье библиотекифункций ввода-вывода в тексте расчетных функций.7.
ЗаключениеНастоящая работа является логическим продолжением статьи [2], гдеизложены первоначальные сведения об использовании и настройке MWS.Мы рассчитываем, что описанный выше опыт авторов по разработке учебных задач по курсу классической электродинамики, размещенных на авторском сайте MATLAB.tutornet.ru (http://MATLAB.tutornet.ru/eldin/) и насайте физического факультета НГУ (http://www.phys.nsu.ru:8000/eldin/),будет полезен не только преподавателям университетов, которые стремятся расширить свой арсенал средств обучения студентов, но и научным работникам, которые работают в составе коллективов, объединяющих усилия нескольких исследовательских организаций.Работа выполнена при финансовой поддержке Президента Российской Федерации (грант для поддержки ведущих научных школ № НШ229.2003.2) и Министерства общего и профессионального образования РФ(программа «Интеграция науки и высшего образования России на 20022006 годы», государственный контракт №Ф0051).Литература1.
MATLAB Web Server — документация к программному обеспечениюMATLAB.— MathWorks, Inc., 2002.2. Котельников И. А., Черкасский В. С. MATLAB Web Server: вычисленияв Интернете // Exponenta Pro. Математика в приложениях.— 2004.—№1.3. Ландау Л.Д., Лифшиц Е.М. Теория поля.— М.: Наука, 1988.4. Котельников И. А., Матвеенко А. Н., Черкасский В. С. Разработка обучающих программ с использованием MATLAB Web Server // Тез. докл.Всероссийской науч.
конф. «Проектирование научных и инженерныхприложений в среде MATLAB» (28–29 мая 2002). — М.: ИПУ РАН,2002.— С.207.5. Котельников И. А., Матвеенко А. Н., Черкасский В. С. Разработка и использование моделирующих программ для дистанционного и самостоятельного обучения с использованием MATLAB Web Server. // Тез. докл.международ. науч.-метод.