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

52

Upload: dmitry-nefedkin

Post on 03-Dec-2014

3.499 views

Category:

Technology


4 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Продуктивная разработка Java EE-приложений с применением Oracle ADF
Page 2: Продуктивная разработка Java EE-приложений с применением Oracle ADF

<Insert Picture Here>

Продуктивная разработка Java EE-приложений с применением

Oracle ADF.

Дмитрий Нефедкин

Oracle ISV Migration Center FMW Consultant

[email protected]

Page 3: Продуктивная разработка Java EE-приложений с применением Oracle ADF

“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

Page 4: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Технология Application Development Framework Продуктивная, функциональная, расширяемая, проверенная

Увеличение продуктивности разработчиков

Единый инструментарий для всех слоев приложения

Поддержка БД, EJB, Веб-сервисов и т.д.

Веб-приложения, мобильные клиенты, Excel, …

Базируется на стандартах, интегрирована с Ant, Spring, …

Основа Oracle Fusion Applications

Предоставляет полный технологический стек

Поддержка разнообразных back-end технологий

Поддержка разнообразных визуальных клиентов

Легко интегрируется с java инструментами и фреймворками

Зрелая технология, нацеленная на будущее

Уменьшает время для вывода продукта на рынок

Высокая

продуктивность

разработчика

Полный

технологический

стек

Поддержка

разнообразных

архитектур

Простота

интеграции и

расширения

Технология для

продуктивной разработки

Page 5: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Уменьшение Time To Market путем увеличения продуктивности разработчиков

Требования к

экранной форме:

• CRUD-операции

• Поддержка Master-detail

• Функции поиска

• Веб-интерфейс с

поддержкой Ajax

• Валидация данных

• Повторное

использование бизнес-

логики

Сколько времени вам потребуется для реализации?

Page 6: Продуктивная разработка Java EE-приложений с применением Oracle ADF

ADF – Продуктивность «на стеройдах»

• Настраиваемый поиск

• Единая валидационная логика

• Поддержка AJAX

• Использование в порталах в

качестве портлета

• Повторное использование бизнес-

логики в виде сервисов (СОА)

• Пользовательские кастомизации

и ВЫ тоже сможете

Мы можем разработать это за 10 минут - http://bit.ly/ADFIn10Minutes

и еще за 5 минут добавить это

Page 7: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Источники продуктивности ADF Благодаря чему мы достигаем это?

• Единый инстументарий на основе JDeveloper

• Декларативная разработка, основанная на метаданных

• Визуальные средства разработки

• Полный стек технологий: от БД до пользовательского

интерфейса в едином инструменте

• Богатый набор основанных на AJAX JSF-компонентов

• Концентрация на бизнес-задачах, а не на технологии

НУ И ЧТО?

Гм, пройдемте … F

Page 8: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Заказчики сталкиваются с

возрастающими бизнес-вызовами

• Повышение продуктивности сотрудников;

• Ускорение вывода на рынок новых продуктов/услуг;

• Гибкость;

• Простота внесения изменений;

• Высокая доступность;

• Производительность;

• Безопасность;

Что ожидают заказчики от своих ИТ-активов:

Page 9: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Пример реального приложения

Ок, а как насчет примера

реального приложения?

Page 10: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Пилотое приложение «Воронка продаж»

Разработать полнофункциональное приложение со следующими возможностями :

Создание/редактирование сотрудников (продавцов)

Создание/редактирование потенциальных клиентов

Возможности поиска по сотрудникам/потенциальным клиентам

Создание/редактирование потенциальных сделок

Возможность загрузить материалы, используемые при визите к клиенту

Отображение на карте потенциальных клиентов и сделок

Просмотр организационной структуры и показателей деятельности

подчиненных:

Выполнение годового плана продаж

«Воронка продаж» по сотруднику с сегментацией по клиентам

Закрытые и потенциальные сделки в разрезе сотрудников

«Приборная панель» для отображения по продавцу:

Выполнение плана продаж на текущий квартал

Прогноз на следующий квартал

Аналитика Размер сделки/Ожидаемая дата закрытия/Вероятность

Выделение потенциальных клиентов и сделок на карте

Требования к пилотному приложению

Page 11: Продуктивная разработка Java EE-приложений с применением Oracle ADF

• Сколько времени вашей команде разработчиков

потребуется на реализацию подобного пилота?

10 дней ?

20 дней ?

1 месяц?

• Высокая степень повторного использования компонентов

• Реализация валидаций в соответствии с бизнес-правилами

• Реализация концепции «приборной панели» (Dashboard)

• Простота модификации приложения

• Современный Web 2.0 пользовательский интерфейс

• Возможность использования в рамках портала в качестве портлета

Пилотное приложение «Воронка продаж»

Критерии

Page 12: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Поиск / редактирование сотрудника

Page 13: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Создание/редактирование потенциальной

сделки

Page 14: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Потенциальные сделки на карте

Page 15: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Оргструктура команды продавцов

Page 16: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Анализ выполнения плана продаж

Page 17: Продуктивная разработка Java EE-приложений с применением Oracle ADF

«Приборная панель» продавца

Page 18: Продуктивная разработка Java EE-приложений с применением Oracle ADF

«Приборная панель» продавца

No.Months

% Probability

Page 19: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Демонстрация

Page 20: Продуктивная разработка Java EE-приложений с применением Oracle ADF

4 Дня!

Пилотное приложение «Воронка продаж»

Page 21: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Как насчет мобильных приложений?

Page 22: Продуктивная разработка Java EE-приложений с применением Oracle ADF

ADF Mobile Browser

Trinidad Components

Style

ADF

ОПТИМИЗИРОВАННЫЕ КОМПОНЕНТЫ ДЛЯ

МОБИЛЬНЫХ УСТРОЙСТВ

ЛЕГКО ДОБАВИТЬ К СУЩЕСТВУЮЩЕМУ

ADF-ПРИЛОЖЕНИЮ

ВЫСОКАЯ ПРОДУКТИВНОСТЬ

ADF

ДОСТУПЕН УЖЕ СЕЙЧАС

HTML5 ДЛЯ ADVANCED-КОМПОНЕНТОВ

Page 23: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Интерфейс для мобильных клиентов

Page 24: Продуктивная разработка Java EE-приложений с применением Oracle ADF

ADF

Модуль-

ность F

Расширя-

емость F

Продуктив-

ность Средства

командного

взаимо-

действия

F

Эффективное

тестирование

и отладка

F

Простая

интеграция

со сторонним

ПО

F

Преимущества Oracle ADF Слагаемые успеха

Быстрая

разработка

F

Снижение Рисков F

Безопасность

F

Снижение TCO F

Page 25: Продуктивная разработка Java EE-приложений с применением Oracle ADF

ADF

Расширя-

емость F

Модуль-

ность F

Безопасность

F

Снижение TCO F

Продуктив-

ность Средства

командного

взаимо-

действия

F

Простая

интеграция

со сторонним

ПО

F

Снижение

рисков F

Преимущества Oracle ADF Продуктивность – тестирование и отладка

Быстрая

разработка

F

Эффективное

тестирование

и отладка

F

Page 26: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Эффективное тестирование и отладка Интерактивная разработка в JDeveloper

• В Oracle JDeveloper

• Модель данных, созданная с помощью ADF BC, может быть

протестирована без полного развертывания приложения

• Все уровни приложения могут быть протестированы во

встроенном экземпляре WebLogic Server

• Код может быть изменен в процессе сессии отладки без

перезапуска сервера короткие циклы внесения

исправлений

• В JDeveloper 11.1.2 – использование Weblogic-

функциональности fast swap для внесения изменений без

полного redeploy.

Page 27: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Эффективное тестирование и отладка Автотесты и непрерывная интеграция

• Автоматизация модульного, регрессионного и

интеграционного тестирования

• Автоматическое создание ant-скриптов для проекта

• Автоматическое развертывание с применением Ant,

Maven или WLST

• Интеграция с Apache Maven* (JDeveloper 11.1.2)

• Непрерывная интеграция с Hudson/Jenkins

Hudson/Jenkins CI

Page 28: Продуктивная разработка Java EE-приложений с применением Oracle ADF

ADF

Расширя-

емость F

Модуль-

ность F

Безопасность

F

Снижение TCO F

Продуктив-

ность

Эффективное

тестирование

и отладка

F

Простая

интеграция

со сторонним

ПО

F

Снижение

Рисков F

Преимущества Oracle ADF Продуктивность – командные взаимодействия

Быстрая

разработка

F Средства

командного

взаимо-

действия

F

Page 29: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Oracle Team Productivity Center Интегрирован в JDeveloper, бесплатен

• Гибкая настройка состава проектной команды

• Управление задачами

• Общение между участниками проекта

напрямую из JDeveloper

• Версионность артефактов проекта

• Интеграция с разнообразными ALM-

продуктами

• Готовые коннекторы к JIRA, Bugzilla, Microsoft

Project Server, Rally Software

• Документированный API для разработки

собственных коннекторов

Бесплатный сервер, клиент, коннекторы

Page 30: Продуктивная разработка Java EE-приложений с применением Oracle ADF

ADF

Расширя-

емость F

Модуль-

ность F

Безопасность

F

Снижение

TCO F

Продуктив-

ность

Эффективное

тестирование

и отладка

F

Средства

командного

взаимо-

действия

F

Простая

интеграция

со сторонним

ПО

F

Снижение

Рисков F

Преимущества Oracle ADF Продуктивность – быстрая разработка

Быстрая

разработка

F

Page 31: Продуктивная разработка Java EE-приложений с применением Oracle ADF

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

Графические редакторы

• Структура проекта

• Бизнес-компоненты

• Task Flows

• JSF-страницы

• и многое другое

Все в единой IDE

Page 32: Продуктивная разработка Java EE-приложений с применением Oracle ADF

ADF

Расширя-

емость F

Модуль-

ность F

Снижение

TCO F

Продуктив-

ность

Эффективное

тестирование

и отладка

F

Средства

командного

взаимо-

действия

F

Простая

интеграция

со сторонним

ПО

F

Снижение

Рисков F

Преимущества Oracle ADF Расширенные функции безопасности

Быстрая

разработка

F

Безопасность

F

Page 33: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Подсистема ADF Security Декларативная, гибкая, основана на

стандартах

• Аутентификация - Java EE Web Container Security

• Авторизация на основе JAAS

• Контроль безопасности на уровне страниц, page

flows, бизнес-объектов, методов, атрибутов

• Декларативное описание ролей, доступов

• Проверка доступов в Expression Language или в Java

• Создание пользователей и групп для тестирования

• Единообразная настройка вне зависимости от

используемых источников идентификационных

данных (LDAP-каталоги, базы данных и т.д.)

Page 34: Продуктивная разработка Java EE-приложений с применением Oracle ADF

ADF

Расширя-

емость F

Безопасность

F

Снижение TCO F

Продуктив-

ность

Эффективное

тестирование

и отладка

F

Средства

командного

взаимо-

действия

F

Простая

интеграция

со сторонним

ПО

F

Снижение

Рисков F

Преимущества Oracle ADF Модульность

Быстрая

разработка

F

Модуль-

ность F

Page 35: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Гибкая модульная архитектура

Page 36: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Интеграция со сторонним ПО ADF Faces – библиотека JSF-компонентов

• Основана на спецификации JSF

• Функционально разнообразные

компоненты с поддержкой AJAX

• Возможность использования за

пределами ADF: • JBoss Seam

• Spring

• etc.

• Визуальный редактор в

JDeveloper и Eclipse

Page 37: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Интеграция ADF с продуктами Oracle Используется другими компонентами

Oracle Fusion Middleware

• Вызов ADF Business

Components как Service Data

Objects из Oracle SOA Suite

• ADF Faces, Controller, Model

используются при разработке

форм Human Workflow

• ADF-приложения могут быть

интегрированы в портал

Oracle WebCenter

Page 38: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Достижение максимальной продуктивности Использование ADF на всех уровнях приложения

• Вся мощь ADF раскрывается

при сквозном использовании

на всех уровнях приложения

• Визуальное редактирование в

JDeveloper

• Единые валидационные правила

• Автоматическая поддержка master/detail

• Повторно используемые Task Flows

• Простота локализации приложений

• Кастомизация под специфичные требования

заказчика без внесения изменений в основной код

Core usage in Fusion Applications

При этом архитектура остается расширяемой и интегрируемой с другими компонентами и инструментами!

Page 39: Продуктивная разработка Java EE-приложений с применением Oracle ADF

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

Унифицированный и

преинтегрированный,

основанный на метаданных

фреймфорк

Несмотря на высокое качество

индивидуальных компонентов, отсутствие

единого инструментария и

преинтегрированности снижает

продуктивность разработчиков

Page 40: Продуктивная разработка Java EE-приложений с применением Oracle ADF

ADF

Модуль-

ность F

Безопасность

F

Снижение TCO F

Продуктив-

ность

Эффективное

тестирование

и отладка

F

Средства

командного

взаимо-

действия

F

Простая

интеграция

со сторонним

ПО

F

Снижение

Рисков F

Преимущества Oracle ADF Расширяемость и интегрируемость

Быстрая

разработка

F

Расширя-

емость F

Page 41: Продуктивная разработка Java EE-приложений с применением Oracle ADF

ADF – Функционально полный Но легко расширяемый и интегрируемый

• Все артефакты исходного кода - Java и XML

• Никаких непрозрачных бинарных артефактов!

• Простота расширения и кастомизации

• Java и XML

• Модульность

• поддержка разнообразных технологий для реализации бизнес-

логики и презентационного уровня

• Простота интеграции со сторонними инстументами,

библиотеками, фреймворками

• Ant, Maven, Hibernate, веб-сервисы, REST и т.д…

Page 42: Продуктивная разработка Java EE-приложений с применением Oracle ADF

ADF

Модуль-

ность F

Расширя-

емость F

Продуктив-

ность Средства

командного

взаимо-

действия

F

Эффективное

тестирование

и отладка

F

Преимущества Oracle ADF Интеграция со сторонним ПО

Быстрая

разработка

F

Снижение

Рисков F

Безопасность

F

Снижение TCO F

Простая

интеграция

со сторонним

ПО

F

Page 43: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Интеграция 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

Page 44: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Интеграция с бизнес-процессами

Page 45: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Интеграция в портальное решение

Page 46: Продуктивная разработка Java EE-приложений с применением Oracle ADF

ADF

Модуль-

ность F

Расширя-

емость F

Продуктив-

ность Средства

командного

взаимо-

действия

F

Эффективное

тестирование

и отладка

F

Простая

интеграция

со сторонним

ПО

F

Преимущества Oracle ADF Снижение общей стоимости владения

Быстрая

разработка

F

Снижение

Рисков F

Безопасность

F

Снижение TCO F

Page 47: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Снижение общей стоимости владения

Снижение TCO

Продуктив-ность

Управля-емость

Повторное использование

Интегри-руемость

• Высокая продуктивность

• Модульный дизайн

• Повторно использование

• С различными

фреймворками

• В веб, портальных и

мобильных приложениях

• В бизнес-процессах

Page 48: Продуктивная разработка Java EE-приложений с применением Oracle ADF

ADF

Модуль-

ность F

Расширя-

емость F

Продуктив-

ность Средства

командного

взаимо-

действия

F

Эффективное

тестирование

и отладка

F

Простая

интеграция

со сторонним

ПО

F

Быстрая

разработка

F

Безопасность

F

Снижение TCO F

Снижение

Рисков F

Преимущества Oracle ADF Снижение рисков

Page 49: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Снижение рисков Безопасная архитектура с прицелом на

будущее

Снижение

рисков

Функции безопас-

ности

Используется внутри

Oracle

Основа Fusion

Applications

Адаптриру-емость к

использу-емым тех-нологиям

Понятный Roadmap

• Расширенные функции

безопасности

• Средство разработки

внутри Oracle

• Интеграция с различными

технологиями

• Понятные планы

развития продукта

Page 50: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Узнайте больше на Oracle Technology Network

http://bit.ly/OracleADF

Page 51: Продуктивная разработка Java EE-приложений с применением Oracle ADF

Вопросы

©2010 Oracle Corporation

Дмитрий Нефедкин

Технический консультант по продуктам Oracle Fusion Middleware

Oracle ISV Migration Center

[email protected]

http://blogs.oracle.com/imc - блог команды Oracle ISV Migration Center

http://middletier.blogspot.com – мой блог о Fusion Middleware по-русски

Page 52: Продуктивная разработка Java EE-приложений с применением Oracle ADF