Аргерих Л. О языке РНР. Часть 4. Страница 3


VOICE XML

Голосовой XML - еще один язык представления, базирующийся на слова­ре XML'. С его помощью создаются сайты и приложения с поддержкой го­лосовых функций. С помощью словаря XML можно озвучивать фразы, воспринимать тональные сигналы и т. д. Получить дополнительные све­дения о Voice XML можно на сайте W3C.

Архитектура, основанная на может оказаться полезной, если предпо­

лагается, что веб-сайт или приложение будут использовать большое число языков представления. Об основанных на XML архитектурах мы расскажем далее в этой главе.

Архитектура, основанная на XML

Идея архитектуры, основанной на XML, заключается в том, что уровень ло­гики приложения генерирует данные XML, которые с помощью XSLT мож­но преобразовать в любой требуемый язык представления (рис. 15.3):

В системе публикации в Интернете с использованием XML создание содер­жимого разбивается на три этапа: • Создание XML

Владельцы содержимого создают и развивают файлы XML. Им не требу­ются какие-либо знания о способах обработки или представления содер­жимого. В наших приложениях за генерацию XML-содержимого отвеча­ет уровень бизнес-логики. Некоторые СУБД предоставляют возможность непосредственно создавать данные XML из команд SELECT.

Обработка XML

Файл XML подвергается обработке. Здесь применяется вся промежуточ­ная логика. Этот этап может быть исключен в зависимости от того, как осуществляется этап 1. Пример обработки XML имеется в главе 21.

Вывод с помощью XSL

С помощью таблиц стилей XSL выводится документ, сгенерированный на этапе 2. Применяется специальное форматирование, результатом которо­го становится документ, приемлемый для сделавшего запрос клиента. Возможен вывод документа в виде HTML, PDF, WML, XML и др.

Разделение уровней

Теперь, разобравшись с теорией разработки многозвенных приложений, по­пробуем ее реализовать. Основная задача состоит в том, чтобы разделить указанные уровни в приложении и свести к минимуму взаимодействие меж­ду ними. Почему? Потому что при модификации одного уровня изменения, необходимые в других уровнях, пропорциональны степени связи между уровнями. Если уровни связаны очень сильно, изменение в одном уровне обычно влечет необходимость изменений в другом.

Поскольку модификация уровней требует программирования, мы хотим уменьшить количество изменяемых строк кода и время, необходимое для изменения системы. Это самое практическое определение сопровождаемос- ти программного обеспечения.