Апач Кокон - Apache Cocoon

Apache Cocoon
Apache Cocoon logo.svg
Разработчики) Фонд программного обеспечения Apache
Стабильный выпуск
2.2.0 / 15 мая 2008 г . ; 12 лет назад  ( 2008-05-15 )
Репозиторий Отредактируйте это в Викиданных
Написано в Java , XML
Операционная система Кроссплатформенность
Тип Фреймворк веб-приложений
Лицензия Лицензия Apache 2.0
Веб-сайт кокон .apache .org

Apache Cocoon , обычно называемый просто Cocoon , представляет собой структуру веб-приложений, построенную на концепциях конвейера , разделения задач и веб-разработки на основе компонентов. Фреймворк ориентирован на публикацию XML и XSLT и построен с использованием языка программирования Java . Гибкость, обеспечиваемая сильной зависимостью от XML, позволяет быстро публиковать контент в различных форматах, включая HTML , PDF и WML . Системы управления контентом Apache Lenya и Daisy созданы на основе фреймворка. Cocoon также обычно используется в качестве инструмента ETL для хранилища данных или в качестве промежуточного программного обеспечения для передачи данных между системами.

Карта сайта

Карта сайта лежит в основе Cocoon. Именно здесь разработчик веб-сайта настраивает различные компоненты Cocoon и определяет взаимодействия клиент-сервер в том, что Cocoon называет конвейерами .

Составные части

Компоненты Cocoon сгруппированы по функциям.

Матчеры

Сопоставители используются для сопоставления пользовательских запросов, таких как URL-адреса или файлы cookie, с шаблонами подстановочных знаков или регулярных выражений . Каждый пользовательский запрос проверяется на сопоставлениях в карте сайта, пока не будет найдено совпадение. Именно в сопоставлении указывается ответ на конкретный запрос.

Генераторы

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

XSP

Одним из типов генераторов является XML-страница сервера ( XSP ), XML-документ, содержащий директивы на основе тегов, которые определяют, как генерировать динамический контент во время запроса. При обработке Cocoon эти директивы заменяются сгенерированным контентом, так что полученный расширенный XML-документ может быть подвергнут дальнейшей обработке (обычно XSLT-преобразованию). XSP преобразуются в производителей Cocoon, обычно в виде классов Java, хотя также можно использовать любой язык сценариев, для которого существует процессор на основе Java.

Директивы могут быть встроенными («XSP») или определяемыми пользователем тегами обработки, оба из которых определены в логических таблицах . Теги определяются с помощью шаблонов XSLT, которые описывают, как теги (представленные в виде узлов XML) преобразуются в другие узлы XML или в процедурный код, такой как Java. Теги используются для встраивания процедурной логики, заменяющих выражений, извлечения информации из среды веб-сервера и других операций.

Обратите внимание, что XSP устарел в последних выпусках Cocoon.

Трансформеры

Трансформаторы берут поток данных и каким-то образом его изменяют. Наиболее распространенные преобразования выполняются с помощью XSLT для преобразования одного формата XML в другой. Но есть также преобразователи, которые принимают другие формы данных ( например, команды SQL ).

Сериализаторы

Сериализатор превращает поток событий XML в последовательность байтов (например, HTML), которые могут быть возвращены клиенту. Существуют сериализаторы, которые позволяют отправлять данные во многих различных форматах, включая, например, HTML , XHTML , PDF , RTF , SVG , WML и простой текст .

Селекторы

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

Взгляды

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

Читатели

Публикуйте контент без его анализа (без обработки XML ). Используется для изображений и прочего.

Действия

Действия - это классы Java, которые выполняют некоторую бизнес-логику или управляют производством нового контента.

Трубопровод

Трубопровод используется , чтобы определить , каким образом различные компоненты Cocoon взаимодействуют с данной просьбой произвести ответ . Типичный конвейер состоит из генератора, за которым следуют ноль или более трансформаторов и, наконец, сериализатор.

Смотрите также

Внешние ссылки