Post on 05-Jul-2015
transcript
Oracle Weblogic 12.1.3
Повышение эффективности Java
приложений. Новые возможности
сервера приложений WebLogic 12c
Владимир Дмитриев, консультант
Oracle, Россия
Safe Harbor Statement
The following is intended to outline our general product direction. It is
intended for information purposes only, and may not be incorporated
into any contract. It is not a commitment to deliver any material,
code, or functionality, and should not be relied upon in making
purchasing decisions.
The development, release, and timing of any features or functionality
described for Oracle’s products remain at the sole discretion of
Oracle.
� Полнота
� Открытость
� Интегрированность
� Лучшее в классе
� Готовность к
облачности
User Engagement
Identity Management
Business Process
Management
Content Management
Business Intelligence
Service Integration Data Integration
Development Tools
Cloud Application Foundation
Enterprise Management
Web Social Mobile
Облачная платформа нового поколенияOracle Cloud Application Foundation
Cloud Application Foundation
Traffic Director/Web Tier
WebLogic Server
Coherence Tuxedo
Virtual Assembly Builder
Oracle Cloud
Exalogic Elastic Cloud
WebLogic Server – релизы и дальнейшее развитие
WebLogic Server
11g PS5 (10.3.6) +
Coherence 3.7.1.1
• Fusion Middleware
11g PS5 (11.1.1.6+)
• Java SE 6 and 7
• JDev, OEPE, NetBeans
• Active GridLink for
RAC Session Affinity
• Transaction logs in DB
• JMS Distributed Topics
Update
• Java Cloud Service (EE
5 with some EE 6)
• EM Cloud Control
• Coherence 3.7.1.1
• Exalogic Optimizations
Released
Dec 2011
Released
Dec 2011
Released
Feb 2012
Released
Feb 2012
Released
July 2013
Released
July 2013Released
June 2014
Released
June 2014
WebLogic Server 12c
(12.1.1) +
Coherence 3.7.1.1
• Pre-Fusion Middleware 12c
• Java EE 6
• Java SE 6 and 7
• Maven integration updates
• Glassfish to WebLogic
• OEPE, NetBeans
• Active GridLink for RAC
Session Affinity
• Transaction logs in DB
• JMS Distributed Topics
• EM Cloud Control
• Coherence 3.7.1.1
• Exalogic optimizations
• Seamless upgrade
WebLogic Server 12c
(12.1.2) + Coherence 12c
(12.1.2)
• FMW Infrastructure
w/ADF
• OUI/Opatch
• Java SE 7
• JDev, Eclipse, NetBeans
• Maven updates
• OSGi in WLS applications
• WebSockets/HTML5
• TopLink Data Services
• Managed Coherence
Servers
• Dynamic Clusters
• Database 12c Integration
• JMS Resource Adapter
• JMS - JAX-WS WSDL
• Exalogic Optimizations
Partial Java EE 7, Java SE 8, Cloud
(12.1.3)
• SOA, ODI, more FMW… • Java EE 7 APIs• Java SE 7 and 8 • Lightweight WebLogic• Maven Updates• Server-Sent Events• TopLink Data Services+• WebSocket Emulation• Database 12c
integration+• WSM for Elastic JMS• Auto-scale Dynamic
Clusters• Managed Coherence+• FMW Control updates • RESTful Mgmt Updates• Oracle Cloud updates• Exalogic optimizations
Full Java EE 7, Java SE 8,
Cloud (12.2.1)
• FMW 12c Platform• Multi-Tenant Apps• Auto-Scaling Dynamic
Clusters• Elastic Clusters and REST
Mgmt• JavaEE & Development• Java EE 7, JDK 8 • Lightweight WebLogic• Maven Updates• Server-Sent Events• TopLink Data Services+• WebSocket Emulation• Database 12c integration+• WSM for Elastic JMS• Auto-scale Dynamic
Clusters• Managed Coherence+• FMW Control updates • RESTful Mgmt Updates• Oracle Cloud updates• Exalogic, HA and MAA
Release
CY 2015
Release
CY 2015
WebLogic Server 12.1.3Современная платформа разработки
• Server-Sent Events
• JAX-RS 2.0
• WebSocket – JSR 356
WebLogic Server
12.1.3
Clients
HT
ML5
clien
ts
ADF Mobile
Proxies
HTTP/S, JSON/XML
WebSocket, Server-Sent
Events, Long polling
OTD
Apache
OHS
Web Sockets (JSR 356)
TopLink Data Services
Server-Sent Events
JAX-RS 2.0
Avatar (post-GA)
HT
ML5
clien
t
em
ula
tion
• TopLink Data Services
• WebSocket Client Emulation
• Avatar
• Maven improvements
• Classloader Analysis Tool
updates
JPA
Change
Notification
Database
Oracle WebLogic Server 12.1.3 Новые ключевые возможности
• Частичная поддержка Java EE 7 (Java Persistence API 2.1, JAX-RS
2.0, JSON-P 1.0, WebSockets 1.0)
• Поддержка последних интеграционных решений Spring 3.0.x,
3.1.x, and 4.0.x
• Внедрение Apache Felix OSGI
• Обновлённая интеграция проектов на основе Apache Maven
(Plugin, Artifacts, Archetypes, Maven Synchronization)
Oracle WebLogic Server 12.1.3 Новые ключевые возможности (продолжение)
• Server sent event – функция позволяет непрерывно посылать
обновления/сообщения браузерам
• JSON-P или JSON для решения кросс доменных проблем
безопасности
• Avatar – позволяет разрабатывать и внедрять JavaScript
Services без навыков Java
• Обновлённый Classloader Analysis Tool (CAT)
FMW 12.1.3 – для разработчиковСредства разработки: Maven, Spring, IDE, OSS
• Усовершенствован процесс установки: WebLogic, JDeveloper и компоненты Fusion Middleware устанавливаются из единого релиза.
• Введены новые компоненты: Enterprise Scheduler (ESS), Managed File Transfer (MFT)
• Новые JCA-адаптеры (LDAP, Coherence, MSMQ)
• Поддержка REST, Mobile Channel Enablement
• Поддержка облачных приложений
• Новый встроенный тестер для SOA в том числе и CI (Maven/Hudson)
• Продвинутый SOA composer
• Новая версия консоли управления EM CAT
FMW 12.1.3 – для разработчиковСредства разработки: Maven, Spring, IDE, OSS (продолжение)
• Введена оптимизация для исполнения в среде Exalogic
• Последняя версия отладчика ошибок (Error Hospital)
• Прирост производительности за счет Composite Lazy Loading и оптимизации схемы БД
• Введен отладчик композитов
• Улучшена система доступа
• Переработан компонент B2B
• Улучшен сервис Oracle Event Processing
• В EM введена консоль управления OSB
• JDBC 12c driver
• Classloader Analysis Tool (CAT)CAT
Ускорение выхода на рынокСовременная платформа разработки и интеграция со средствами разработки
Java Cloud
Service
Classloader
Analysis Tool
БЫСТРАЯ РАЗРАБОТКААВТОМАТИЗАЦИЯ
� Поддержка частных
репозиториев Maven
� Сквозная целостность
разработки
� Эффективное использование
централизованных ресурсов
Maven
Упрощение интеграции с MavenПлагины обновлений, arch-типы и POM
Product JARs POMs
Private Repository
Современная платформа разработкиПоддержка Maven в WebLogic Server 12.1.3
• Плагин синхронизации
– Синхронизирует локальные удаленные репозитории с ресурсами: jars, POM, arch-типы
– Синхронизация методом Patch/Resync
• Плагин Maven для WebLogic
– Развертывание приложений
– Повсеместное использование репозиториев
– Добавлены новые Arch-типы: WebApp, WebApp/EJB, Web Service, MDB
• Стандартизация
– Использование лучших практик Maven
– Целостность всего FMW
Build
Manager
Developer
Shared Private Repository
Product JARs POMs<project>
<groupId>com.oracle.weblogic</groupId>
<artifactId>webservices</artifactId>
<version>12.1.2</version>
<packaging>jar</packaging>
</project>
Archetypes
Local Repository
Product JARs POMs<project>
<groupId>com.oracle.weblogic</groupId>
<artifactId>webservices</artifactId>
<version>12.1.3</version>
<packaging>jar</packaging>
</project>
Archetypes
Sync
plugin
WebLogic
plugin
Sync
plugin
Интеграция с серверами непрерывного внедрения
• Панель управления
информирует о статусе
• Релизы автоматически
«собираются» при изменениях в
репозиториях (SCM)
• Задания могут быть созданы
напрямую из проекта Maven
• Используются Maven “install”
lifecycle
• Executes build, package, test,
integration-test phases
• Hudson CI Server
Интеграция с серверами непрерывного внедрения
CI Server
Code
Repository WebLogic
Server
Compile &
Package
Интеграция с серверами непрерывного внедрения• Напрямую тестируются приложения установленные на WLS
@Test
public void calculatorServletErrorIT() throws Exception {
int p1 = 1;
int p2 = 2;
int res = 0;
String test =
String.format("http://localhost:7001/demo-wls-
maven/CalculatorServlet?p1=%s&p2=%s", p1, p2);
String expect = String.format("%s+%s=%s", p1, p2, res);
final WebClient webClient = new WebClient();
final HtmlPage page = webClient.getPage(test);
final String pageAsText = page.asText();
assertTrue(pageAsText.contains(expect));
}
@Test
public void calculatorServletErrorIT() throws Exception {
int p1 = 1;
int p2 = 2;
int res = 0;
String test =
String.format("http://localhost:7001/demo-wls-
maven/CalculatorServlet?p1=%s&p2=%s", p1, p2);
String expect = String.format("%s+%s=%s", p1, p2, res);
final WebClient webClient = new WebClient();
final HtmlPage page = webClient.getPage(test);
final String pageAsText = page.asText();
assertTrue(pageAsText.contains(expect));
}
ClassLoader Analysis Tool (CAT)
• Библиотеки приложений часто «конфликтуют» с библиотеками сторонних производителей используемых WebLogic
– Очень не просто диагностировать конфликт между классом и библиотекой
• Фунция «Filtering Classloader» позволяет приложениям использовать собственные библиотеки
– Правильная конфигурирование – сложная задача
• «Classloader Analysis Tool» находит и быстро решает такие конфликты
– CAT «преоткрывает» секреты «черного ящика» classloader
– Показывает иерархию и источники classloader
– Позволят находить class/resource в classloader
– Показывает class definitions, interfaces
– Анализирует конфликты classpath, создаёт отвечающую данному classloader конфигурацию
CAT
CAT - ClassLoader Analysis Tool
CAT - Анализ конфликтов в сlasspath
• ClassLoader Analysis tool показывает места конфликтов
• Это позваляет выявлять конфликтующие библиотеки, места их расположения и советут как разрешить конфликт
CAT - ClassLoader Configuration Suggestion
• ClassLoader Analysis tool создаёт необходимый для Filtering ClassLoader конфигурационный XML файл
• Это в разы облегчает весь конфигурационный процесс
• Данная возможность поддерживается начиная с версии WebLogic 10.3.4
Упрощение операцийВстроенная поддержка облачного управления
� Унификация установки, обновлений,
исправлений
� Общая инфраструктура
администрирования
� Управляемые серверы Coherence
Общая методология для управления изменениямиУнификация установки, обновлений, исправлений
Integrated Tooling
Уменьшение цены
установки, обслуживания
� Целостность Web-слоя, серверов
приложений, Data Grid
� Oracle Universal Installer (OUI)
� Утилита Opatch
� Мастер (пере-)конфигурации
Common Provisioning Framework
Install Patch Upgrade
WebLogicWeb Tier Coherence
Управляемые серверы Coherence
Обеспечение непрерывной разработки и управления для распределенных приложений
Coherence Grid Archive (GAR) Соответствует модели Java EE
Консолидация конфигураций в единый модуль развертывания
Обеспечение изоляции уровня приложения и жизненного цикла
Работает для управляемых и отдельных кластеров
• Использует инфраструктуру WebLogic:Контейнер Coherence аналогичен EJB, JMS и JCA
Управляется через консоль, WLST, JMX, FMWC
Разворачивается как приложение Coherence (GAR)
Node Manager для управления жизненным циклом
Использует classpath сервера – нет необходимости упаковывать библиотеки в архив приложения
Managed
Server
Admin
Server
WebLogic Domain
WebLogic
Cluster
Coherence
Client
Managed
Server
Coherence
Client
Managed
Server
WebLogic
Cluster
Coherence
Server
Managed
Server
Coherence
Server
Coherence Cluster
Enterprise Manager 12cSimplify Operations with Native Cloud Management
Обновлённый Enterprise Manager 12c (EM 12c)
• Увеличена производительсть
• Введено администрирование приложений и JMS
• Дополнен Restful management API для дополнительного мониторинга, поддержки Deployment, Datasource
Эффективность: Сквозное Управление
• Единое комплексное решение вместо точечных разрозненных продуктов
�Управление производительностью
�Управление конфигурациями
�Управление жизненным циклом
�Управление качеством приложений
�My Oracle Support
Управление
Внутри уровняУправление
Через уровни
Enterprise Manager
(EM 12c)
Централизированное управление и мониторинг
• Единая система управления
• Области мониторинга
– Кластеры и серверы
– Приложения (servlets, JSPs, EJBs)
– Ресурсы (JDBC connection pool, data sources)
• Предопределенные метрики
– Производительность и доступность
– Журнал-монитор
– Real-time мониторинг
– Аналитика хранимых данных для прогнозирования и отчётности
Мониторинг ВСЕХ приложений, ВСЕХ доменов из одной консоли(EM 12c)
EM 12c - Анализатор и диагностика Middleware
• Диагностика проблем и поиск предполагаемых решений, а не просто отображение текущего статуса системы
• Поиск вероятных решений на основе:
– Различных метрик от (JMX, JVM Diagnostics, зависимых компонент)
• Возможностью управления жизненными циклами и незамедлительное решение проблем средствами встроенной интеграции
Решение проблем с помощью поиска возможных решений
Диагностика JVM (EM 12c)
• Real-time, ретроспективная диагностика
и мониторинг
• Без дополнительных инструментов и рестарта серверов
• Полный надзор за JVM stack heap and потоками
• Дву-направленный анализ JVM to DB,
DB to JVM
• Внедрение на любой JVM (i.e. HotSpot, JRockit, IBM)
Ускорение диагностики JVM с минимальными затратами
Before
Расширенная консоль управления Coherence
• Новый UI на основе ADF
• Интуитивная навигация
Более качественное и эфективное управление Coherence
• Детализация компонент
• Анализ всех cache на всех нодах
After
(EM 12c)
Интерация с Java Flight Recorder (EM 12c)
• Возможность для пользователя JVMD использовать данные JFR (dump) изконсоли Cloud Control
• Использовать данные JFR (dump) для коррекции значений метрик JVMD при привышении допустимого порога
• Управление списком значений, удаление отработанного материала
• Возможность закачивать данные Mission Control для последующего анализа
Глубокая аналитика проблем (EM 12c)
• Возможно добавлять новые метрики к существующим правилам
• Управлять множеством правил
• Отмечать метрики как ресурсы
• Непрерывный мониторинг даже при отсутствии правил
• Набор метрик для конкретных задач и поиска проблем
• Улучшенный UI
Выпуск приложений нового поколенияОблачная платформа для критически важных систем
� Контейнерность Oracle
Database 12c
� Гибкая динамическая
кластеризация
� Оптимизация для Exalogic
WEBLOGIC, DATABASEИНТЕГРАЦИЯ
� Доступность приложений и защита
транзакций
� Поддержка контейнеров Oracle
Database
� Масштабируемость и пул
соединений
Application
Continuity
Database
Resident
Connection
Pool
Global Data
Services
Multi-
Tenant
Database
WebLogic Server
Доступность, контейнеры, масштабированиеOracle WebLogic Server 12c, Oracle Database 12c
Интеграция WebLogic с подключаемыми БД
• Подключаемые БД
• Одна из многих «виртуальных» БД размещается в одной контейнерной
• Обеспечивает изоляцию между подключаемыми БД одновременно со всеми преимуществами единой БД
• Эффективность (CPU, Disk)
• Унифицированный доступ и безопасность
• Упрощенное обновление
• Интеграция WebLogic и подключаемых БД
• Встроенная интеграция из коробки
• Автоматическая поддержка контейнерности
Увеличена плотность и масштабируемость
Get Connection
Tenant1
Set Container
PDB1
Set Container
PDB2
Data Source
WebLogic Cluster
Mgd Svr 2Mgd Svr 1
App 1
App 2
App 1
App 2 Get Connection
Tenant2
Container Database
PDB1
Tenant 1
PDB2
Tenant 2…
Database Resident Connection Pooling
• Database Resident Connection Pooling
(пул соединений на уровне БД)
– Пул соединений и сессий находятся в самой БД
– Увеличивает эффективность использования ресурсов БД
• Интеграция WebLogic и постоянного пула соединений
– Active Gridlink и Generic Data Sources
– Пул коннектов в WebLogic – это отражение части пула соединений в БД
Виртуализация соединений с БД улучшает масштабируемость
DRCP
WebLogic WebLogic
WebLogic WebLogic
12c Database
Интеграция WebLogic и Global Data Services
• Global Data Services
• Централизованное управление распределенными и облачными БД
• Динамическая миграция сервисов и балансировка нагрузки
• Масштабирование на уровне RAC
• Запуск «упавшего» сервиса на доступной БД
• Интеграция «Облака» БД
• GridLink datasources поддерживает GDS
• GridLink datasource конфигурируется для локального региона (primary) и может иметь доступ ко всем регионам
• Перенаправление на новый сервис происходит с помощью событий FAN (fast application notification)
Улучшенная производительность, масштабируемость
GridLink Data Source
WebLogic Cluster
Machine 2Machine 1
Managed
Server 1
RAC
Cluster DataGuard,
GoldenGate
Region: MOSCOW
RAC
Cluster
RAC
Cluster
RAC
Cluster
Service1 Service2
FAN Events
Service2 Service1
Внимание! Service2 перегружен!
GDS
Region: VLADIVOSTOK
Managed
Server 2
Оптимизации WebLogic для ExalogicExabus - оптимизация web запросов, cжатие JMS сообщений
� Сжатие JMS сообщений
уменьшает ввод-вывод
� Дает 3x прирост
производительности, если
сообщение сохраняется в файл
или БД
СБАЛАНСИРОВАННОСТЬ
Экстремальная
производительность
Without Compression With Compression
3X
JM
S M
essa
ge
s/S
ec
JMSJMS
Exalogic StorageExalogic Storage
ApplicationApplication
JMSJMS
Exalogic StorageExalogic Storage
ApplicationApplication
Oracle Exalogic: Что это и для чего используется
• Это - сверхбыстрая интегрированная система для работы Java-приложений на платформах Linux или Solaris
• Шина Exabus и Exalogic Elastic Cloud Software:
o Имеет сверхбыструю пропускную способность без обычных узких мест (значительно меньшие задержки, разгрузка процессоров и т.д.)
o Улучшает масштабируемость
o На Exalogic в среднем примерно в 2-3 раза требуется в меньше вычислительных ресурсов (ядер), чем в обычных серверах
• Упрощение развертывания приложений и уменьшение сложности обслуживания, облачные технологии (поддержка CDN)
• Увеличение надежности и доступности приложений
• Виртуализация, балансировка нагрузки, программно-аппаратная изолированность приложений и решение вопросов безопасности
• Встроенная управляемость комплекса от диска до приложения
В итоге – высочайшая производительность, надежность, гибкость управления и невысокая общая стоимость владения системой
HTTP ClientHTTP Client
Exabus: Оптимизация обработки web-запросов для Weblogic
Оптимизированный пул потоков улучшает масштабируемость приложений, делающих HTTP вызовы к другим сервисам (Web Services/SOA applications), существенно сокращает загрузку ЦПУ (с 82% до 8%)*
Client
Applications
Client
Applications
Обычный сервер
Создание нового
потока на каждый
запрос
Server
Applications
Server
Applications
Server
Applications
Server
Applications
HTTP ClientHTTP Client
Client
Applications
Client
Applications
Exalogic
Пул потоков
для повторного
использования
Server
Applications
Server
Applications
Server
Applications
Server
Applications
*Для портального приложения делающего SOAP-запросы – 10 портлетов на странице
Стандартное
железоEL 2.х
2X
Webзапросов
в сек
Exabus: Оптимизация Weblogic
• Оптимизированный Socket Direct Protocol (SDP) для JDBC и обмена данными
• Work Manager и оптимизацияввода/вывода
o Векторный ввод/вывод
o Оптимизированный self tuning thread pool
• Active GridLink для Real Application Cluster (load balancing and failover)
В 3-5 раз выше
производительность
960 Gigabits/second
Exalogic Exadata
Увеличение производительности и плотности Exalogic
• Ускорение производительности и временидоступа
– MessageBus исполняется в WebLogic
– Расширенная поддержка за счет технологии Coherence
– Связи между OTD-WLS, WLS-WLS
– Снижение латентности и ускорение SLA
• Увеличение плотности компонент
– Усиление концепци multi-tenancy
– Совместное управление памятью
– Динамические кластеры
Exabus: Оптимизация сетевого ввода-вывода I/O
WebLogic Server
1.5K 1.5K
Standard WebLogic
with standard read write IO
10Gb/s Ethernet with 1.5K
Maximum Transmission (MTU)Size
WebLogic Server
Read/write collections of 4K chunks
x
4K4K 4K4K 4K4K 4K4K
64K 128K
40Gb/s Infiniband with 64K MTU
for IPoIB or >=32K MTU for SDP
x
WebLogic on ExalogicwithScatter/Gather IO
Read/write 4K standalone chunks
4K4K 4K4K 4K4K 4K4K
Standard WebLogic WebLogic Server on Exalogic
� Сбор пакетов в наборы (chunks) для пересылки
� Увеличение размера MTU
� Увеличение пропускной способности и уменьшение задержек
1.5K
WebLogic Server 12.2.1
• Планируется выпустить в 2015 году
• Основной приоритет для FMW 12с
• Полная поддержка Java EE 7, JDK 8
• Увеличение производительности
Exalogic
• Планируемые улучшения WebLogic
• Современная платформа
разработки
• Облачная платформа для
задач критической важности
• Внедрение концепции multi-
tenancy
WebLogic Server 12.2.1 – Полная версия Java EE 7 и SE8
Присоединяйтесь к сообществу WebLogic
Посетите www.oracle.com/weblogic
WebLogic/OracleWebLogic@OracleWebLogic Blogs.oracle.com/
WebLogicServer
/OracleWebLogic
4