Схемы разработки web-приложений. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Схемы разработки web-приложений.



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

Он создан для разработки приложений, начиная от самых малых и заканчивая объемными приложениями с тысячами страниц, над которыми работают большие распределенные команды разработчиков. Tapestry основан на 4-х принципах:

Простота - разработка веб-приложений не должна требовать незаурядных умственных способностей.

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

Производительность и масштабируемость.

Обеспечение обратной связи.

Эти четыре принципа обеспечивают основную идею фреймворка - самое правильное решение должно быть самым простым.

+ Rational Unified Process (RUP) — методология разработки программного обеспечения, созданная компанией Rational Software.

+модальный подход

+использование асинхронных сообщений (AJAX)

?????


Технология Struts

Apache Struts — фреймворк с открытым исходным кодом для создания Java EE веб-приложений. Основывается на Java Servlet API и расширяет его, в архитектурном плане реализует (или дает возможность реализовать) паттерн MVC. Фреймворк создан Крейгом МакКланаханом и передан Apache Foundation в мае 2000 года. Сначала находился в составе Apache Jakarta Project и был известен как Jakarta Struts. С 2005 года является проектом Apache верхнего уровня.

Предназначение Apache Struts и его структура

В обычном Java EE веб-приложении клиент, как правило, отправляет информацию на сервер из формы. Введённые данные передаются сервлету, который обрабатывает её, при необходимости взаимодействуя с базой данных, и формирует HTML ответ. Для больших проектов (например, для портала с сотнями страниц), такой подход является неадекватным, так как объединяет бизнес логику и логику отображения, что делает поддержку чрезвычайно сложной.

Struts был создан для того, чтобы чётко разделить модель (бизнес-логику), представление (HTML-страницы) и контроллер (отвечающий за передачу данных от модели к представлению и обратно). Struts предоставляет стандартный контроллер — сервлет под именем ActionServlet и различные средства для создания страниц представления. Разработчик веб-приложения отвечает за написание кода модели и создание конфигурационного файла struts-config.xml, который связывает воедино модель, представление и контроллер.

Запросы от клиента передаются контроллеру в виде «Actions» (действий), определённых в конфигурационном файле. Когда контроллер получает такой запрос, он передаёт его соответствующему Action классу. Последний взаимодействует с кодом Модели и возвращает контроллеру «ActionForward», строку, определяющую страницу для отправления клиенту. Информация передаётся между моделью и представлением в виде особых JavaBeans. Богатая библиотека тегов позволяет получать данные из бинов и записывать их без Java кода.

Struts также поддерживает i18n (интернационализацию), облегчает валидацию данных полученных из веб-формы и предоставляет механизм создания шаблонов под названием «Tiles», который кроме всего прочего позволяет наследовать веб-страницы.


Tехнология Apache Cocoon

Apache Cocoon — программный каркас для разработки веб-приложений. Он ориентирован на использование XML и построен с использованием языка программирования Java. Гибкость, завязанная на использование XML, позволяет публиковать содержимое в различных форматах, включая XML, PDF и WML. В частности, на основе данного программного каркаса создана мощная система управления содержимым Apache Lenya. Cocoon также широко используется как средство хранения данных, а также как промежуточное программное обеспечение для передачи данных между системами.

 


 

Технология

Прежде чем использовать технологию Lutris, разработчикам и проектировщикам необходимо договориться о том, в какие точки HTML-документа должны встраиваться идентификационные теги, обрамляющие части страниц, изменяющиеся в результате работы запрограммированных на Java процедур бизнес-логики.

Сервер Java/XML-приложений Enhydra

Благодаря этим тегам разграничивается создание программного кода инженерами и HTML-кода - дизайнерами.

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

Готовый HTML-файл пропускается через компилятор Lutris, преобразующий его сначала в формат XML (Extensible Markup Language - расширяемый язык разметки), а затем в Java-класс. Преобразование из XML в Java основано на спецификации Document Object Model (модель документного объекта) консорциума World Wide Web Consortium.

Java-класс, загрузка которого инициируется написанной программистом бизнес-логикой, упакован в JAR-файл, пригодный для исполнения в среде Enhydra или на любом другом сервере Java-приложений.

Технология Tapestry

Tapestry— объектно-ориентированный java фреймворк для создания веб-приложений реализующих модель MVC. Изначально Tapestry был создан Howard Lewis Ship (русск. Говард Льюис Шип), но впоследствии поддерживался и развивался организацией Apache Software Foundation. Основной акцент в Tapestry сделан на простоту, лёгкость использования, невозможность программистами создания больших кусков «glue code». Tapestry использует модульный подход к веб-разработке, используя биндинг между компонентами (объектами) пользовательского интерфейса на веб-странице и соответствующими им java-классами

В Tapestry 4 веб-приложения разбиваются на страницы и компоненты. Страницы описывают уровень компонент, в то время как компоненты определяют функциональность. Этот подход разделяет цельное веб-приложение на легкоуправляемые фрагменты кода, которые управляют взаимодействием с пользователем, бизнес логикой и состоянием (en). Компоненты также делятся на базовые (core) и дополнительные (supplemental). Базовые компоненты являются основными «строительными кирпичами» приложения, такие как валидаторы форм, средства для построения интерфейса или объекты состояния. Дополнительные компоненты определяют, каким образом группа базовых компонент может взаимодействовать с другими базовыми компонентами в группе.

Шаблоны компонентов в Tapestry представляют собой XHTML файлы. Как правило, маппинг между java-классами и XHTML-объектами, которыми они управляют описывается в XML файле. Взаимодействие между backend'ом (java класс) и frontend'ом (XHTML объект) осуществляется с помощью OGNL. Разметка страницы производится иным образом, нежели в PHP, ASP, и JSP, в которых используются специальные теги для разделения переменных шаблона и кода.

Разработка пятой версии Tapestry началась вскоре после релиза версии 4. Разработчики поняли, что оригинальная архитектура, основанная на наследовании от базовых классов, затрудняет улучшение и развитие фреймворка с сохранением обратной совместимости в каждом релизе. Кроме того, она не позволяла решить большое количество проблем преследовавших разработчиков которые использовали данный фреймворк. Новый подход (и новая кодовая база) основывался на POJO, аннотациях и конвенции об именовании. Аннотации и конвенции о наименовании полностью вытеснили файлы дескрипторов в формате XML предыдущих версий. Кроме того, была устранена необходимость в перекомпилировании, архивировании, деплое и перезапуске сервлетов при каждом изменении в коде. Данная возможность получила название «живая перезагрузка классов» («live class reloading»). Все перечисленные возможности делают Tapestry 5 необычайно гибким.



Поделиться:


Последнее изменение этой страницы: 2016-09-20; просмотров: 195; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.119.118.99 (0.005 с.)