Продуктивная разработка java ee-приложений с применением...
DESCRIPTION
TRANSCRIPT
<Insert Picture Here>
Продуктивная разработка Java EE-приложений с применением
Oracle ADF.
Дмитрий Нефедкин
Oracle ISV Migration Center FMW Consultant
“Oracle ADF is an end-to-end Java EE framework
that simplifies application development by
providing out of the box infrastructure services and
a visual and declarative development experience.”
ADF A Development Framework of Oracle WebLogic Server
Технология Application Development Framework Продуктивная, функциональная, расширяемая, проверенная
Увеличение продуктивности разработчиков
Единый инструментарий для всех слоев приложения
Поддержка БД, EJB, Веб-сервисов и т.д.
Веб-приложения, мобильные клиенты, Excel, …
Базируется на стандартах, интегрирована с Ant, Spring, …
Основа Oracle Fusion Applications
Предоставляет полный технологический стек
Поддержка разнообразных back-end технологий
Поддержка разнообразных визуальных клиентов
Легко интегрируется с java инструментами и фреймворками
Зрелая технология, нацеленная на будущее
Уменьшает время для вывода продукта на рынок
Высокая
продуктивность
разработчика
Полный
технологический
стек
Поддержка
разнообразных
архитектур
Простота
интеграции и
расширения
Технология для
продуктивной разработки
Уменьшение Time To Market путем увеличения продуктивности разработчиков
Требования к
экранной форме:
• CRUD-операции
• Поддержка Master-detail
• Функции поиска
• Веб-интерфейс с
поддержкой Ajax
• Валидация данных
• Повторное
использование бизнес-
логики
Сколько времени вам потребуется для реализации?
ADF – Продуктивность «на стеройдах»
• Настраиваемый поиск
• Единая валидационная логика
• Поддержка AJAX
• Использование в порталах в
качестве портлета
• Повторное использование бизнес-
логики в виде сервисов (СОА)
• Пользовательские кастомизации
и ВЫ тоже сможете
Мы можем разработать это за 10 минут - http://bit.ly/ADFIn10Minutes
и еще за 5 минут добавить это
Источники продуктивности ADF Благодаря чему мы достигаем это?
• Единый инстументарий на основе JDeveloper
• Декларативная разработка, основанная на метаданных
• Визуальные средства разработки
• Полный стек технологий: от БД до пользовательского
интерфейса в едином инструменте
• Богатый набор основанных на AJAX JSF-компонентов
• Концентрация на бизнес-задачах, а не на технологии
НУ И ЧТО?
Гм, пройдемте … F
Заказчики сталкиваются с
возрастающими бизнес-вызовами
• Повышение продуктивности сотрудников;
• Ускорение вывода на рынок новых продуктов/услуг;
• Гибкость;
• Простота внесения изменений;
• Высокая доступность;
• Производительность;
• Безопасность;
Что ожидают заказчики от своих ИТ-активов:
Пример реального приложения
Ок, а как насчет примера
реального приложения?
Пилотое приложение «Воронка продаж»
Разработать полнофункциональное приложение со следующими возможностями :
Создание/редактирование сотрудников (продавцов)
Создание/редактирование потенциальных клиентов
Возможности поиска по сотрудникам/потенциальным клиентам
Создание/редактирование потенциальных сделок
Возможность загрузить материалы, используемые при визите к клиенту
Отображение на карте потенциальных клиентов и сделок
Просмотр организационной структуры и показателей деятельности
подчиненных:
Выполнение годового плана продаж
«Воронка продаж» по сотруднику с сегментацией по клиентам
Закрытые и потенциальные сделки в разрезе сотрудников
«Приборная панель» для отображения по продавцу:
Выполнение плана продаж на текущий квартал
Прогноз на следующий квартал
Аналитика Размер сделки/Ожидаемая дата закрытия/Вероятность
Выделение потенциальных клиентов и сделок на карте
Требования к пилотному приложению
• Сколько времени вашей команде разработчиков
потребуется на реализацию подобного пилота?
10 дней ?
20 дней ?
1 месяц?
• Высокая степень повторного использования компонентов
• Реализация валидаций в соответствии с бизнес-правилами
• Реализация концепции «приборной панели» (Dashboard)
• Простота модификации приложения
• Современный Web 2.0 пользовательский интерфейс
• Возможность использования в рамках портала в качестве портлета
Пилотное приложение «Воронка продаж»
Критерии
Поиск / редактирование сотрудника
Создание/редактирование потенциальной
сделки
Потенциальные сделки на карте
Оргструктура команды продавцов
Анализ выполнения плана продаж
«Приборная панель» продавца
«Приборная панель» продавца
No.Months
% Probability
Демонстрация
4 Дня!
Пилотное приложение «Воронка продаж»
Как насчет мобильных приложений?
ADF Mobile Browser
Trinidad Components
Style
ADF
ОПТИМИЗИРОВАННЫЕ КОМПОНЕНТЫ ДЛЯ
МОБИЛЬНЫХ УСТРОЙСТВ
ЛЕГКО ДОБАВИТЬ К СУЩЕСТВУЮЩЕМУ
ADF-ПРИЛОЖЕНИЮ
ВЫСОКАЯ ПРОДУКТИВНОСТЬ
ADF
ДОСТУПЕН УЖЕ СЕЙЧАС
HTML5 ДЛЯ ADVANCED-КОМПОНЕНТОВ
Интерфейс для мобильных клиентов
ADF
Модуль-
ность F
Расширя-
емость F
Продуктив-
ность Средства
командного
взаимо-
действия
F
Эффективное
тестирование
и отладка
F
Простая
интеграция
со сторонним
ПО
F
Преимущества Oracle ADF Слагаемые успеха
Быстрая
разработка
F
Снижение Рисков F
Безопасность
F
Снижение TCO F
ADF
Расширя-
емость F
Модуль-
ность F
Безопасность
F
Снижение TCO F
Продуктив-
ность Средства
командного
взаимо-
действия
F
Простая
интеграция
со сторонним
ПО
F
Снижение
рисков F
Преимущества Oracle ADF Продуктивность – тестирование и отладка
Быстрая
разработка
F
Эффективное
тестирование
и отладка
F
Эффективное тестирование и отладка Интерактивная разработка в JDeveloper
• В Oracle JDeveloper
• Модель данных, созданная с помощью ADF BC, может быть
протестирована без полного развертывания приложения
• Все уровни приложения могут быть протестированы во
встроенном экземпляре WebLogic Server
• Код может быть изменен в процессе сессии отладки без
перезапуска сервера короткие циклы внесения
исправлений
• В JDeveloper 11.1.2 – использование Weblogic-
функциональности fast swap для внесения изменений без
полного redeploy.
Эффективное тестирование и отладка Автотесты и непрерывная интеграция
• Автоматизация модульного, регрессионного и
интеграционного тестирования
• Автоматическое создание ant-скриптов для проекта
• Автоматическое развертывание с применением Ant,
Maven или WLST
• Интеграция с Apache Maven* (JDeveloper 11.1.2)
• Непрерывная интеграция с Hudson/Jenkins
Hudson/Jenkins CI
ADF
Расширя-
емость F
Модуль-
ность F
Безопасность
F
Снижение TCO F
Продуктив-
ность
Эффективное
тестирование
и отладка
F
Простая
интеграция
со сторонним
ПО
F
Снижение
Рисков F
Преимущества Oracle ADF Продуктивность – командные взаимодействия
Быстрая
разработка
F Средства
командного
взаимо-
действия
F
Oracle Team Productivity Center Интегрирован в JDeveloper, бесплатен
• Гибкая настройка состава проектной команды
• Управление задачами
• Общение между участниками проекта
напрямую из JDeveloper
• Версионность артефактов проекта
• Интеграция с разнообразными ALM-
продуктами
• Готовые коннекторы к JIRA, Bugzilla, Microsoft
Project Server, Rally Software
• Документированный API для разработки
собственных коннекторов
Бесплатный сервер, клиент, коннекторы
ADF
Расширя-
емость F
Модуль-
ность F
Безопасность
F
Снижение
TCO F
Продуктив-
ность
Эффективное
тестирование
и отладка
F
Средства
командного
взаимо-
действия
F
Простая
интеграция
со сторонним
ПО
F
Снижение
Рисков F
Преимущества Oracle ADF Продуктивность – быстрая разработка
Быстрая
разработка
F
Продуктивные визуальные редакторы Для создания разнообразных компонентов
Графические редакторы
• Структура проекта
• Бизнес-компоненты
• Task Flows
• JSF-страницы
• и многое другое
Все в единой IDE
ADF
Расширя-
емость F
Модуль-
ность F
Снижение
TCO F
Продуктив-
ность
Эффективное
тестирование
и отладка
F
Средства
командного
взаимо-
действия
F
Простая
интеграция
со сторонним
ПО
F
Снижение
Рисков F
Преимущества Oracle ADF Расширенные функции безопасности
Быстрая
разработка
F
Безопасность
F
Подсистема ADF Security Декларативная, гибкая, основана на
стандартах
• Аутентификация - Java EE Web Container Security
• Авторизация на основе JAAS
• Контроль безопасности на уровне страниц, page
flows, бизнес-объектов, методов, атрибутов
• Декларативное описание ролей, доступов
• Проверка доступов в Expression Language или в Java
• Создание пользователей и групп для тестирования
• Единообразная настройка вне зависимости от
используемых источников идентификационных
данных (LDAP-каталоги, базы данных и т.д.)
ADF
Расширя-
емость F
Безопасность
F
Снижение TCO F
Продуктив-
ность
Эффективное
тестирование
и отладка
F
Средства
командного
взаимо-
действия
F
Простая
интеграция
со сторонним
ПО
F
Снижение
Рисков F
Преимущества Oracle ADF Модульность
Быстрая
разработка
F
Модуль-
ность F
Гибкая модульная архитектура
Интеграция со сторонним ПО ADF Faces – библиотека JSF-компонентов
• Основана на спецификации JSF
• Функционально разнообразные
компоненты с поддержкой AJAX
• Возможность использования за
пределами ADF: • JBoss Seam
• Spring
• etc.
• Визуальный редактор в
JDeveloper и Eclipse
Интеграция ADF с продуктами Oracle Используется другими компонентами
Oracle Fusion Middleware
• Вызов ADF Business
Components как Service Data
Objects из Oracle SOA Suite
• ADF Faces, Controller, Model
используются при разработке
форм Human Workflow
• ADF-приложения могут быть
интегрированы в портал
Oracle WebCenter
Достижение максимальной продуктивности Использование ADF на всех уровнях приложения
• Вся мощь ADF раскрывается
при сквозном использовании
на всех уровнях приложения
• Визуальное редактирование в
JDeveloper
• Единые валидационные правила
• Автоматическая поддержка master/detail
• Повторно используемые Task Flows
• Простота локализации приложений
• Кастомизация под специфичные требования
заказчика без внесения изменений в основной код
Core usage in Fusion Applications
При этом архитектура остается расширяемой и интегрируемой с другими компонентами и инструментами!
ADF – полный и унифицированный стек Снижение сложности разработки
Уровень ADF (Fusion App) Open Source-примеры
Представление ADF Faces (AJAX, Portlets, Rich
controls, etc.)
JSF library (IceFaces,
PrimeFaces, …)
JSP with tag
libraries
Контроллер ADF Controller JSF Controller Spring MVC
Data Binding ADF Model Seam JSP, Form
Beans
Бизнес-логика ADF BC EJB Spring beans
Доступ к данным ADF BC JPA Hibernate
Унифицированный и
преинтегрированный,
основанный на метаданных
фреймфорк
Несмотря на высокое качество
индивидуальных компонентов, отсутствие
единого инструментария и
преинтегрированности снижает
продуктивность разработчиков
ADF
Модуль-
ность F
Безопасность
F
Снижение TCO F
Продуктив-
ность
Эффективное
тестирование
и отладка
F
Средства
командного
взаимо-
действия
F
Простая
интеграция
со сторонним
ПО
F
Снижение
Рисков F
Преимущества Oracle ADF Расширяемость и интегрируемость
Быстрая
разработка
F
Расширя-
емость F
ADF – Функционально полный Но легко расширяемый и интегрируемый
• Все артефакты исходного кода - Java и XML
• Никаких непрозрачных бинарных артефактов!
• Простота расширения и кастомизации
• Java и XML
• Модульность
• поддержка разнообразных технологий для реализации бизнес-
логики и презентационного уровня
• Простота интеграции со сторонними инстументами,
библиотеками, фреймворками
• Ant, Maven, Hibernate, веб-сервисы, REST и т.д…
ADF
Модуль-
ность F
Расширя-
емость F
Продуктив-
ность Средства
командного
взаимо-
действия
F
Эффективное
тестирование
и отладка
F
Преимущества Oracle ADF Интеграция со сторонним ПО
Быстрая
разработка
F
Снижение
Рисков F
Безопасность
F
Снижение TCO F
Простая
интеграция
со сторонним
ПО
F
Интеграция ADF со сторонним ПО Множество способов реализации бизнес-
сервисов
• ADF Model - слой метаданных,
позволяющий “привязать”
разнообразные технологии
пользовательского интерфейса к
различным бизнес-сервисам
Live XML data sources
Object Relational Mapping
RSS
• Enterprise Java Beans
• Web Services
• Business Intelligence
• Business Activity Monitoring
• Plain Java Beans, Spring Beans
Интеграция с бизнес-процессами
Интеграция в портальное решение
ADF
Модуль-
ность F
Расширя-
емость F
Продуктив-
ность Средства
командного
взаимо-
действия
F
Эффективное
тестирование
и отладка
F
Простая
интеграция
со сторонним
ПО
F
Преимущества Oracle ADF Снижение общей стоимости владения
Быстрая
разработка
F
Снижение
Рисков F
Безопасность
F
Снижение TCO F
Снижение общей стоимости владения
Снижение TCO
Продуктив-ность
Управля-емость
Повторное использование
Интегри-руемость
• Высокая продуктивность
• Модульный дизайн
• Повторно использование
• С различными
фреймворками
• В веб, портальных и
мобильных приложениях
• В бизнес-процессах
ADF
Модуль-
ность F
Расширя-
емость F
Продуктив-
ность Средства
командного
взаимо-
действия
F
Эффективное
тестирование
и отладка
F
Простая
интеграция
со сторонним
ПО
F
Быстрая
разработка
F
Безопасность
F
Снижение TCO F
Снижение
Рисков F
Преимущества Oracle ADF Снижение рисков
Снижение рисков Безопасная архитектура с прицелом на
будущее
Снижение
рисков
Функции безопас-
ности
Используется внутри
Oracle
Основа Fusion
Applications
Адаптриру-емость к
использу-емым тех-нологиям
Понятный Roadmap
• Расширенные функции
безопасности
• Средство разработки
внутри Oracle
• Интеграция с различными
технологиями
• Понятные планы
развития продукта
Узнайте больше на Oracle Technology Network
http://bit.ly/OracleADF
Вопросы
©2010 Oracle Corporation
Дмитрий Нефедкин
Технический консультант по продуктам Oracle Fusion Middleware
Oracle ISV Migration Center
http://blogs.oracle.com/imc - блог команды Oracle ISV Migration Center
http://middletier.blogspot.com – мой блог о Fusion Middleware по-русски