• VOICE XML
Голосовой XML - еще один язык представления, базирующийся на словаре XML'. С его помощью создаются сайты и приложения с поддержкой голосовых функций. С помощью словаря XML можно озвучивать фразы, воспринимать тональные сигналы и т. д. Получить дополнительные сведения о Voice XML можно на сайте W3C.
Архитектура, основанная на может оказаться полезной, если предпо
лагается, что веб-сайт или приложение будут использовать большое число языков представления. Об основанных на XML архитектурах мы расскажем далее в этой главе.
Архитектура, основанная на
Идея архитектуры, основанной на XML, заключается в том, что уровень логики приложения генерирует данные XML, которые с помощью XSLT можно преобразовать в любой требуемый язык представления (рис. 15.3):
В системе публикации в Интернете с использованием XML создание содержимого разбивается на три этапа: • Создание XML
Владельцы содержимого создают и развивают файлы XML. Им не требуются какие-либо знания о способах обработки или представления содержимого. В наших приложениях за генерацию XML-содержимого отвечает уровень бизнес-логики. Некоторые СУБД предоставляют возможность непосредственно создавать данные XML из команд SELECT.
♦ Обработка XML
Файл XML подвергается обработке. Здесь применяется вся промежуточная логика. Этот этап может быть исключен в зависимости от того, как осуществляется этап 1. Пример обработки XML имеется в главе 21.
♦ Вывод с помощью XSL
С помощью таблиц стилей XSL выводится документ, сгенерированный на этапе 2. Применяется специальное форматирование, результатом которого становится документ, приемлемый для сделавшего запрос клиента. Возможен вывод документа в виде HTML, PDF, WML, XML и др.
Разделение уровней
Теперь, разобравшись с теорией разработки многозвенных приложений, попробуем ее реализовать. Основная задача состоит в том, чтобы разделить указанные уровни в приложении и свести к минимуму взаимодействие между ними. Почему? Потому что при модификации одного уровня изменения, необходимые в других уровнях, пропорциональны степени связи между уровнями. Если уровни связаны очень сильно, изменение в одном уровне обычно влечет необходимость изменений в другом.
Поскольку модификация уровней требует программирования, мы хотим уменьшить количество изменяемых строк кода и время, необходимое для изменения системы. Это самое практическое определение сопровождаемос- ти программного обеспечения.