Апач-кокон
Эта статья нуждается в дополнительных цитатах для проверки . ( май 2022 г. ) |
![]() | |
Разработчик(и) | Фонд программного обеспечения Apache |
---|---|
Стабильная версия | 2.3.0 / 29 октября 2023 г |
Репозиторий | |
Написано в | Ява , XML |
Операционная система | Кросс-платформенный |
Тип | Фреймворк веб-приложений |
Лицензия | Лицензия Апач 2.0 |
Веб-сайт | кокон |
Apache Cocoon , обычно сокращенно Cocoon , представляет собой среду веб-приложений, построенную на концепциях Pipeline , разделения задач и веб-разработки на основе компонентов. Платформа ориентирована на публикацию XML и XSLT и построена с использованием языка программирования Java . Использование XML в Cocoon предназначено для улучшения совместимости форматов публикации, таких как HTML и PDF . Daisy . На основе платформы созданы системы управления контентом Apache Lenya и Cocoon также широко используется в качестве для хранения данных инструмента ETL или в качестве промежуточного программного обеспечения для транспортировки данных между системами.
Карта сайта
[ редактировать ]Apache 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 и простой текст .
Селекторы
[ редактировать ]Селекторы предлагают те же возможности, что и оператор переключателя . Они могут выбирать отдельные элементы запроса и выбирать правильную часть конвейера для использования.
Просмотры
[ редактировать ]Представления в основном используются для тестирования. Представление — это точка выхода в конвейере. Вы можете вывести XML-поток, который создается до этого момента. Таким образом, вы можете увидеть, правильно ли работает приложение.
Читатели
[ редактировать ]Публикуйте контент без его анализа (без обработки XML ). Используется для изображений и тому подобного.
Действия
[ редактировать ]Действия — это классы Java, которые выполняют некоторую бизнес-логику или управляют созданием нового контента.
Трубопровод
[ редактировать ]Конвейер получения используется для указания того, как различные компоненты Cocoon взаимодействуют с данным запросом для ответа . [1] Типичный конвейер состоит из генератора, за которым следуют ноль или более преобразователей и, наконец, сериализатор.
См. также
[ редактировать ]- Шаблон Reactor — шаблон проектирования, на котором основан Cocoon.
- XPoc — стандарт W3C для моделирования конвейера XML.
Ссылки
[ редактировать ]- ^ «Введение в Apache Cocoon 2.1» . Разработчик.com . 24 октября 2003 г. Проверено 26 мая 2022 г.