Вcтупление
Предисловие
Благодарности
Об авторах

ЧАСТЬ I. ПЕРВОЕ ЗНАКОМСТВО

Глава 1. Введение
Разработка web-приложений на Java и Eclipse
Что содержится в данной книге
Как построена эта книга
Примеры исходного кода
Web-сайт League Planet

Глава 2. О проекте Eclipse Web Tools Platform
История рождения WTP
Экономика WTP
….Снижение расходов на разработку
….Получение дохода
….Коммерческие программные продукты на основе WTP
….Коммерческие модули расширений WTP
….Серверы приложений J2EE и промежуточное ПО
….Поддержка клиентов WTP
….Услуги по разработке приложений J2EE
….Обучение работе с WTP
….Наставничество в проектах разработки приложений J2EE
….Услуги по разработке инструментов WTP
….Услуги по управлению инструментарием
Структура WTP
….Масштаб проекта WTP
….Подпроекты WTP
Архитектура WTP
….Подпроект WST
….Инструменты для серверов
….Инструменты для Интернета
….Фреймворк редактора структурированных текстов
….Инструменты для web-страниц
….XML-инструменты
….Инструменты для web-сервисов
….Инструменты для данных
….Вспомогательные компоненты
….Подпроект JST
….Инструменты для сервера
….Инструменты для J2EE
….Инструменты сервлетов и JSP
….Инструменты EJB
….Инструменты web-сервисов
Как принять участие в проекте WTP
….Станьте пользователем
….Станьте участником сетевой конференции
….Напишите отчет об ошибке
….Предложите улучшение
….Исправьте ошибку
….Напишите статью или учебное пособие
….Станьте коммиттером
….Увеличьте сообщество

Глава 3. Краткий обзор возможностей WTP
Введение
Итерация 1: web-приложения J2EE
….Добавление среды выполнения сервера
….Создание динамичного web-проекта
….Создание и редактирование JSP
….Выполнение JSP на сервере
Итерация 2: сервлеты и скриптлеты
….Добавление скриптлета Java на страницу JSP
….Отладка JSP
….Создание сервлета
….Отладка сервлета
Итерация 3: доступ к базе данных
….Подключение к базе данных
….Выполнение операторов SQL
….Обеспечение доступа к базе данных из web-приложения
Итерация 4: web-сервисы
….Развертывание web-сервиса
….Применение тестового клиента
….Мониторинг сообщений SOAP

Глава 4. Настройка рабочей среды
Установка и обновление WTP
….Компоненты, устанавливаемые в WTP
….Типы сборок WTP
….Установка с помощью Update Manager
….Установка с использованием zip-файлов
….Установка продуктов сторонних поставщиков
….Настройка JDK
….Проверка установки
….Обновление WTP
Конфигурирование WTP
….Настройки данных
….Настройки Интернета
….Настройки серверов
….Настройки валидации
….Web- и XML-настройки
….Настройки web-сервисов
….Настройки XDoclet
….Совместное использование настроек

ЧАСТЬ II. РАЗРАБОТКА WEB-ПРИЛОЖЕНИЙ НА ЯЗЫКЕ JAVA

Глава 5. Архитектура web-приложения и принципы его проектирования
Ландшафт сети Интернет
Web-приложения
….Web-приложения на Java
….Проектирование web-приложений на Java
….Проектирование многоуровневых web-приложений
….Уровень ввода данных
….Логика управления приложением
….Логика бизнес-процессов
….Долговременное хранение объектов
….Представление
….Технология MVC для web-приложений
….Контроллер ввода данных
….Контроллер приложения
….Представление
….Фреймворки Java-приложений
….Apache Beehive
….Apache Struts
….JavaServer Faces
….Spring
….Pico Container
….Hibernate
Сервис-ориентированная архитектура (SOA)
….Предоставление сервисов: уровень сервисов
….Использование сервисов: «оркестровка»
Учебный пример: League Planet

Глава 6. Организация вашего проекта разработки
Типы web-проектов и приложения J2EE
….Web-проекты
….Модули J2EE
….Создание приложений
Создание EJB-приложения
Создание корпоративных приложений
Создание нового web- или EJB-модуля в EAR
Добавление существующего web- или EJB-модуля в EAR
Редактирование модулей EAR
Современные web-проекты
Моделирование представления разработчика
Ресурс
Модуль
Зависимый модуль
Примеры проектов
Основное корпоративное приложение
Разделение web-модуля на несколько проектов
Применение Maven для разработки web-приложений
«Мавенизация» проекта
Дополнительные возможности Maven
….Блочное тестирование с помощью Maven
Информация о проекте и отчеты

Глава 7. Уровень представления
Введение
Проектирование взаимодействия
Проектирование графического интерфейса
Структура уровня представления
Итерация 1: статичные web-проекты, HTML и редакторы структурированных исходных текстов
….Статичные web-проекты
HTML
….Редакторы структурированных исходных текстов
….Шаблоны
….Фрагменты текста
Итерация 2: CSS
Итерация 3: JavaScript
….Сокрытие адреса электронной почты
….Проверка достоверности введенных в форме данных
Итерация 4: XML и XSLT
….XML
….XSLT
Итерация 5: DTD
Итерация 6: Серверы, динамичные web-проекты и сервлеты
….Серверы
….Динамичные web-проекты
….Сервлеты
Итерация 7: JSP
Итерация 8: Мониторинг сеансов HTTP
….Сеансы HTTP
….Монитор TCP/IP
….Просмотр сеансов HTTP с помощью монитора TCP/IP
….Модификация и повторная отправка сообщения

Глава 8. Уровень логики бизнес-процессов
Проект уровня бизнес-процессов
Итерация 1: модель предметной области
….Проекты утилит J2EE
….Модель объекта
….Уровень сервисов
….Уровень доступа к данным
….Тестирование
Итерация 2: Разработка сеансовых EJB-компонентов
….Добавление JBoss
….XDoclet
….Проекты EJB
….Создание сеансовых компонентов
….Создание web-клиента
….Выполнение приложения
….Разработка компонента EJB 3.0 с помощью WTP
Итерация 3: компоненты, управляемые сообщениями
….Краткое введение в компоненты MDB
….Создание MDB
….Добавление очереди в сервер JBoss
….Создание web-клиента JMS

Глава 9. Уровень долговременного хранения данных
Варианты дизайна уровня персистентности
….Использование API-интерфейсов JDBC для отображения объектов в базе данных
….Использование компонентов сущностей для отображения объектов в базе данных
….Использование объектно-реляционных инфраструктур для отображения объектов в базе данных
Обзор итераций
Итерация 1: Создание базы данных
Итерация 2: Уровень данных
….Встроенный режим Derby
Итерация 3: Компоненты сущностей
….Подготовка JBoss, Derby и XDoclet
….Добавление CMP-компонента
….Добавление методов ejbCreate и finder
….Добавление CMP-объекта доступа к данным IceHockey
….Тестирование CMP-реализации
….Разработка JPA с помощью WTP

Глава 10. Web-сервисы
WSDL
SOAP
REST
Web-сервисы стиля REST
Обзор итераций
Итерация 1: Разработка web-сервисов нисходящим методом
….XSD
….WSDL
….Развертывание web-сервисов
….Реализация web-сервиса
….Тестирование с помощью проводника Web Services Explorer
Итерация 2: Разработка web-сервисов восходящим методом
….Разработка Java-реализации сервиса
….Развертывание сервиса
Итерация 3: Генерирование прокси клиентов web-сервиса
….Генерирование прокси Java-клиента и тестового JSP-клиента
….Использование тестового JSP-клиента
Итерация 4: Тестирование web-сервисов на взаимодействие
….Проверка сообщений на соответствие требованиям WS-I
Итерация 5: Использование web-сервисов в web-приложениях
….Генерирование клиента web-сервиса Query
….Создание сервлетов
….Импортирование кода пользовательского интерфейса
….Тестирование пользовательского интерфейса
Итерация 6: Распознавание и публикация web-сервисов
….UDDI
….WSIL

Глава 11. Тестирование
Автоматическое тестирование
Обзор итераций
Итерация 1: Блочное тестирование с помощью JUnit
….Создание тестового проекта
….Тестовый пример JUnit
….Комплект тестов JUnit
Итерация 2: Интеграционное тестирование с помощью Cactus
Итерация 3: Системное тестирование с помощью HttpUnit
Итерация 4: Тестирование производительности с помощью TPTP
….Создание проекта теста производительности
….Тест с регистрацией HTTP
….Генерация отчета
Итерация 5: Профилирование с помощью TPTP

ЧАСТЬ III. РАСШИРЕНИЕ WTP

Глава 12. Добавление новых серверов
Обзор способов добавления обобщенного адаптера сервера
Среда выполнения сервера GlassFish
Подключаемые модули адаптеров серверов
Добавление поддержки для новой среды выполнения сервера
Добавление нового типа сервера для среды выполнения
Добавление нового обработчика целевой среды выполнения
Аспекты и компоненты среды выполнения
Расширение пользовательского интерфейса для инструментария сервера
Определение обобщенного сервера
Средства публикации
Тестирование адаптера сервера

Глава 13. Поддержка новых типов файлов
Создание подключаемого модуля расширения DocBook
Валидатор DocBook
….Инфраструктура валидации WTP
….Реализация валидатора DocBook
Лучшие практические приемы применения валидаторов
Создание индивидуального типа маркера
Объявление типа контента DocBook
Инфраструктура редактирования структурированных текстов – Structured Source Editing (SSE) Framework

Глава 14. Создание расширений WSDL
Создание подключаемого модуля расширения WSDL
Расширение редактора WSDL
….Индивидуальная настройка элементов расширяемости в окне дизайна редактора
….Добавление элементов расширяемости в редактор
….Добавление индивидуальных действий в вид дизайна WSDL-редактора
Расширение валидации WSDL
….Добавление в валидацию WSDL 1.1
….Добавление индивидуальных правил валидации
Глава 15. Настройка метода определения местонахождения ресурсов
Создание подключаемого модуля расширения определения местонахождения ресурсов
Добавление ресурсов в каталог XML
….Каталог XML
Добавление одного ресурса в каталог XML
….Добавление каталога ресурсов в каталог XML
Реализация индивидуальной стратегии определения местонахождения ресурсов
Инфраструктура разрешения URI
Использование инфраструктуры разрешения URI в ваших инструментах
Создание распознавателя URI для папки

ЧАСТЬ VI. ПРОГРАММНЫЕ ПРОДУКТЫ И ПЛАНЫ
Глава 16. Другие web-инструменты на основе Eclipse
Web-инструменты для языка Java
….BEA Workshop
….CodeGear JBuilder
….Exadel Studio
….Программное обеспечение IBM Rational Application Developer для WebSphere
….JBoss IDE для Eclipse
….MyEclipse
….ObjectWeb Lomboz
….SAP NetWeaver Developer Studio
….W4T Eclipse
Web-инструменты для языка Perl
….EPIC
Web-инструменты для языка PHP
….Проект Eclipse PHP Development Tools
….PHPEclipse
Web-инструменты для языка Python
….PyDev
Web-инструменты для языка Ruby
….RadRails

Глава 17. Планы на будущее
Проект Eclipse Data Tools Platform (DTP)
Проект Eclipse JavaServer Faces (JSF) Tools
Проект Eclipse Dali Java Persistence Architecture (JPA) Tools
Проект Eclipse AJAX Tools Framework (ATF)
Java Enterprise Edition 5
Apache Axis2 и W3C WSDL 2.0
Проект Eclipse PHP Development Tools
Проект Eclipse SOA Tools Platform (STP)
Глоссарий
Дополнительная литература