Источник: http://www.distance-learning.ru/db/el/E4E941967A079996C3256C2400258636/doc.html



Как известно, разработка любого Интернет-проекта начинается с проработки пользовательского интерфейса – что и как должно быть представлено на экране, должны ли присутствовать аудио-видео или просто анимационные эффекты, какие технологии применить.
Системы дистанционного обучения, а особенно Web-ориентированные системы (WBTS, Web-Based Training System), все больше и больше привлекают внимание как коммерческих компаний, вузов, так и рядовых разработчиков. Однако до сих пор существует только несколько систем (их можно буквально посчитать на пальцах), в основу которых легли современные технологии разработки веб-сайтов.
Ошибочно говорить, что начинать разработку WBTS надо начинать с HTML. Да, это было допустимо в 1995-1998 гг., но не сейчас. Дело в том, что начиная с 1999 года, компания по Интернет-стандартизации W3C (www.w3c.org) приняла новый стандарт хранения и структуризации информации – XML. Технология XML, главным образом, предназначена для обмена информацией между неоднородными компьютерными системами, а также может быть использована для создания открытых баз данных.
В том же году была также принята на вооружение технология XSL, которая позволяет трансформировать XML-документы в другие типы через шаблонные описания. Итак, благодаря XSL можно, например, вытащить какие-то данные из XML-базы данных и трансформировать в HTML-поток для пользовательского браузера, в WML – для WAP-устройств, в PDF-документы и т.п.
Таким образом, наиболее гибких вариантом разработки шаблонов представления информации будет создание шаблонов на языке XSL, а не на HTML. Кроме того, XSL в отличие от HTML позволяет разделить данные и функциональный скелет. Изменяя данные, исчезает вероятность нарушить работоспособность системы в целом.
На веб-сайте W3C также можно найти информацию о такой весьма полезной технологии, как RDF (Resource Description Framework). В кратце, RDF – это оболочка описания ресурсов, хранящихся на веб-сайте. Ее цель заключается в способствовании обмену машиночитаемой информацией между Web-системами. Стандарт RDF предназначен в основном для автоматизированных систем поиска информации. Дело в том, что существующие поисковые системы, как правило, ориентируются на полнотекстовый поиск, а также на так называемые неинтеллектуальные агенты (unintelligent agents). Находя RDF-файл на целевом ресурсе, "поисковик" извлекает информацию о нем из предопределенных полей этого метафайла ("заголовок", "автор", "описание", "издательство" и т.п.). Всего в RDF-набор, так называемое Дублинское ядро (Dublin Metadata Core Element Set), входит 13 элементов: Title, Subject, Author, Publisher, OtherAgent, Date, ObjectType, Form, Identifier, Relation, Source, Language и Coverage.
Что касается графической стороны вопроса, то в настоящее время укоренилась технология Flash для разработки оригинальных графических пользовательских интерфейсов с элементами анимации, видео и звука. На Flash можно создавать полноценные игровые приложения и, соответственно, относительно просто учебные материалы для СДО. В это средство разработки встроена поддержка языка ActionScript, который по своему синтаксису сильно напоминает JavaScript, а кроме того он поддерживает работу с XML. Однако для большинства пользователей российской части Интернет Flash-ролики пока остаются головной болью при ожидании их загрузки.
На сайте консорциума W3C имеется информация о технологии SVG (Scaleable Vector Graphics), над которой работают несколько крупных всемирно известных компаний (Adobe, Corel, IBM, Microsoft и др.). Данная технология обещает быть открытой, и она предназначена для отображения векторной графики. Это весьма интересный проект, поскольку данные, на основе которых в браузере пользователя строится некоторый графический объект, представляются в формате XML. Во Flash для генерации роликов применяется механизм Flash Generator, который является весьма дорогим и, кроме того, медленным ПО. XML-файлы для SVG-проигрывателя (он, как и Flash-проигрыватель, поставляется как подключаемый модуль, plug-in, для браузеров) довольно быстро по сравнению с Flash можно загружать из Интернет. Кроме того, на SVG можно реализовать многие графические Flash-эффекты. Однако в SVG отсутствует возможность встраивать звук и воспроизводить его синхронно с проигрыванием какой-то определенной графической анимационной композиции.

Языки программирования

Системы программирования для реализации проекта могут отбираться по весьма разным критериям. Это может быть и бюджет компании-разработчика, и опыт работы программистов с тем или иным средством разработки, да и просто корпоративная политика в отношении средств разработки проектов. Однако лучше и правильнее было бы использовать какие-то определенные языки в зависимости от поставленных задач, целей проекта, его бюджета и опыта реального применения того или иного средства разработки программистами.
Например, если требуется, чтобы система работала на разнородных платформах, как Unix, Windows, Macintosh, OS/2, то необходимо применить какой-то кросс-платформенный язык программирования, как C++, Java, Perl, PHP или Python. Если времени на кросс-платформенный проект недостаточно, разработчики компании имеют малый опыт программирования на C++ и Java, но имели опыт программирования на JavaScript или Perl, то можно обратиться за помощью к PHP (именно в такую ситуацию попала наша компания при разработке web-проекта Sundown).

Базы данных

Как уже было сказано выше: "Правильные средства разработки – для правильных задач!" Таким образом, с появлением XML обычные базы данных никто не отменяет. Однако что делать, если необходимо синхронизировать данные нескольких гетерогенных баз данных? В данном случае поможет создание XML-представления данных, которое будет общим для всех источников данных, будь то MSSQL, Informix, InterBase или MySQL с Postgres. На W3C также появилась спецификация на новый язык запросов – XQL (eXtended Query Language) – XML-аналог SQL.

Web-серверы

В последние несколько лет никаких кардинальных изменений на рынке веб-серверов не случилось. В Интернет продолжают доминировать коммерческий Microsoft Internet Information Server и свободно распространяемый Apache. С появлением X-технологий (XML, XSL/XSLT, XQL) разработчики веб-серверов стали стараться встраивать их поддержку в свои продукты (msxml, msxsl). Кроме того, сторонние разработчики также предлагают свои решения для обработки XML-файлов (XSL – это тоже XML-файл), которые можно подключать к существующим веб-серверам. Наиболее популярными на данный момент являются такие процессоры, как Xalan, Saxon, Cocoone. Их разработчики стараются наиболее полно поддерживать стандарты обрабатываемых ресурсов.