A SOLUTION: 2X REMOTE APPLICATION SERVER. 2X REMOTE APPLICATION SERVER.
Oracle9 i Application Server
description
Transcript of Oracle9 i Application Server
Oracle9i Application Server
Комплект технологий выполнения и интеграции приложений
Oracle DBInternet Developer SuiteInternet Application Server
Всего 3 продукта
Oracle Web Server WebDBApache и Mod_plsql
История
Clustering &Caching
Web Services
Application Integration
Any Data Source
Wireless & Mobile
Portal
Business Intelligence
J2EE
Management &Security
Packaged Apps
B2B Apps
Oracle DB Non-Oracle
Web Services
Wireless
Browser
Архитектура Oracle9iAS
Распределенные архитектуры
HTML/XML-приложенияпримеры API: JSP, PHP, Servlet
Oracle9Oracle9ii Application Server Application Server
Java ServletJava Servlet
JSPJSP
PerlPerl
PL/SQL, PSPPL/SQL, PSP
Распределенные архитектуры
Многоуровневые Java-приложениятехнологии J2EE, в частности EJB
Oracle9Oracle9ii Application Server Application Server
Java ServletJava Servlet
JSPJSP
PL/SQL, PSPPL/SQL, PSP
JavaJava EJB / BC4JEJB / BC4J
Oracle PL/SQL Web Toolkit
Компонент Oracle9i Database HTML/XML-приложения: PL/SQL и PSP
PL/SQLPL/SQLmod_plsqlmod_plsql
HTTP ServerHTTP Serverpowered by Apachepowered by Apache
HTTP ServerHTTP Serverpowered by Apachepowered by Apache
PL/SQL Web Toolkit and PSP
CREATE OR REPLACE PROCEDURE home_page AS
BEGIN
htp.htmlOpen;
htp.headOpen;
htp.title('My home page');
htp.headClose;
htp.bodyOpen;
htp.print
('This is the home page of ' || user || ' generated on ' || sysdate || '.');
htp.bodyClose;
END;
CREATE OR REPLACE PROCEDURE home_page AS
BEGIN
htp.htmlOpen;
htp.headOpen;
htp.title('My home page');
htp.headClose;
htp.bodyOpen;
htp.print
('This is the home page of ' || user || ' generated on ' || sysdate || '.');
htp.bodyClose;
END;
<HTML>
<HEAD>
<TITLE>My home page</TITLE>
</HEAD>
<BODY>This is the home page of <%= user %>
generated on <%= sysdate %>.
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE>My home page</TITLE>
</HEAD>
<BODY>This is the home page of <%= user %>
generated on <%= sysdate %>.
</BODY>
</HTML>
Web ToolkitWeb Toolkit PL/SQL Server PagesPL/SQL Server Pages
Стратегия Java – ключевые слова
Современные API – Поддержка J2EE– Хранимые процедуры, SQLJ, JDBC
Сервер J2EE уровня предприятия– Скорость, рост, надежность
Интегрированная среда разработки: Oracle9i JDeveloper
Интегрированные средства управления: Oracle9iAS Enterprise Manager
Apache(9iAS)
Apache(9iAS)
Browser
JSPJSP ServletsServlets
JTA
JMS
JND
I
Java Mail
JAA
S
JDK Java VM
9iAS
JDB
C
J2EE ContainerJ2EE Container
JCA
EJBsEJBs(Session, Entity, MDBs)(Session, Entity, MDBs)
EJBClientEJB
Client
CORBAClient
CORBAClient
RMI
http
RMI-over-IIOP
Разработка приложений J2EE
TopLink: СУБД Java
Пять архитектур TopLink
Server
CMP Entity Beans: Аналогично предыдущему, но вызовы TopLink для картирования, запросов проходят через контейнер.
BMP Entity Beans: Расширение предыдущей модели, доступ к перманентным данным происходит через Entity Beans (Beans Managed Persistence).
Session-Beans with Java Objects: Расширение трехзвенной архитектуры, в которой доступ к перманентным объектам Java идет через Session Beans. Часто используется совместно с JTS.
Трехзвенная: TopLink располагется на Java-сервере. Доступ происходит через серверные компоненты, клиентsы Web, Java и XML/CORBA.
Двухзвенная: Java клиенты соединяются с СУБД через TopLink
TL
TL
… DB
DBTL…
Server
DBTL…
SB
SB…
Server
DBTL… EB
BMP Container
Server
DBTL… EB
CMP Container
Oracle9iAS: поддержка J2EE 1.3
Реализация J2EE 1.3 в Oracle9iAS v.9.0.3J2EE APIsJ2EE APIs OC4J SupportOC4J Support
JSPJSP 1.21.2
ServletServlet 2.32.3
EJBEJB 2.02.0
JDBCJDBC 2.0 Extension2.0 Extension
JMSJMS 1.01.0
JNDIJNDI 1.21.2
ConnectorConnector 1.01.0
JTAJTA 1.01.0
JavaMailJavaMail 1.11.1
JAFJAF 1.01.0
JAXPJAXP 1.11.1
Поддержка кластерных архитектурМасштабируемость и высокая надежность
Расширения архитектуры HTTP Server/ J2EE
Oracle9i Application Server
Элементы архитектуры Oracle9iAS
Отказоустойчивость: OPMN– Death Detection– Рестарт сбойных
процессов Конфигурирование: DCM
– Развертывание на кластерах
– Репозиторий Балансировка нагрузки:
mod_oc4j– Маршрутизация
запросов– Runtime конфигурации
9iAS Instance
FirewallLoad BalancerWeb Cache
http
OHS
OC4JOC4J
OC4J
OPMNOPMN
DCMDCM
mod_oc4j
AJP
Расширяемость
LoadLoadBalanceBalance
Apache (9iAS)
ProcessPool
mod_OC4J(Conn Pool)
Apache (9iAS)
Apache (9iAS)
9iAS
JDBCJDBC
JDBCJDBC
JDBCJDBC
J2EE1(Thread 1)
J2EE2(Thread 2)
J2EE3(Thread 3)
StateState
StateState
StateState
9iAS
JDBCJDBC
JDBCJDBC
J2EE2(JVM 1)
J2EE3(JVM 2)
StateState
StateState
LoadLoadBalanceBalance
Кластер Кластер Oracle9Oracle9iiASAS
JDBCJDBCJ2EE1(JVM 1)
StateState
NodeNodeAA
NodeNodeBB
NodeNodeCC
NodeNodeDD
RDBMSRDBMSDispatcherDispatcher
PoolPool
Кластер СУБДКластер СУБД
Производительность J2EEТесты ECPerf: Oracle9iAS №1 !!!
Oracle9iAS Java Object Caching
Oracle9iAS WebCache
Oracle9i Application Server
Архитектура победного теста ECPerf
J2EE Server #1Sun Fire 3800
8x900 MHzUltraSPARC III
32 GB RAM
J2EE Server #1Sun Fire 3800
8x900 MHzUltraSPARC III
32 GB RAM
J2EE Server #2Sun Fire 3800
8x900 MHzUltraSPARC III
32 GB RAM
J2EE Server #2Sun Fire 3800
8x900 MHzUltraSPARC III
32 GB RAM
J2EE Server #3Sun Fire 3800
8x900 MHzUltraSPARC III
32 GB RAM
J2EE Server #3Sun Fire 3800
8x900 MHzUltraSPARC III
32 GB RAM
Sun StorEdgeT3
9x36 GB Disks
Sun StorEdgeT3
9x36 GB Disks
Driver EmulationSun Fire 380012x900 MHz
UltraSPARC III24 GB RAM
Driver EmulationSun Fire 380012x900 MHz
UltraSPARC III24 GB RAM
Database ServerSun Fire 680016x900 MHz
UltraSPARC III32 GB RAM
Database ServerSun Fire 680016x900 MHz
UltraSPARC III32 GB RAM
Java Object Cache
Производительность: SQL-to-Java Масштабируемость: Share J2EE Objects Распределенность: In-Proc, Cross-Proc Скорость - Distributed Object Creation Настраиваемость - Group, Pool, Pin Сериализация - File System Синхронизация обновления
Java Object Caching
9iAS
J2EE1(Thread 1)
J2EE2(Thread 2)
J2EE3(Thread 3)
SharedSharedObjectObject
SharedSharedObjectObject
SharedSharedObjectObject
СУБДСУБД
NodeNodeAA
NodeNodeBB
NodeNodeCC
NodeNodeDD
SQLSQL
9iAS
J2EE1(JVM 1)
J2EE2(JVM 2)
SharedSharedObjectObject
SharedSharedObjectObject
9iAS
J2EE1(JVM 1)
SharedSharedObjectObject
1 Shared1 SharedCopyCopy
9iAS
Cache(Cross-Threads)
Cache(Cross-JVM, CPU)
SQL-JavaSQL-JavaMappedMapped
БалансировкаБалансировканагрузкинагрузки
Apache 9iAS
FileFile
1 Shared1 SharedCopyCopy
Page
Настройка производительности
Отчеты Oracle Enterprise Manager– поиск загруженных и спящих компонентов
DMS - Dynamic monitoring services:– выявление узких мест производительности
JDeveveloper Code Coach:– Визуальная оценка проблем
производительности, выявление проблемных участков кода, рекомендации по оптимизации кода
Performance Tuning Guide
Увеличение быстродействия за счет кэширования
Distributed Distributed Web CachesWeb Caches(INTRANET)(INTRANET)
TriggerTriggerTriggerTrigger
DatabaseDatabase
IBM, BEA
MicrosoftASP
JSP
Intelligent Intelligent InvalidationInvalidation
9iAS
Servlet
PERL
ContentContentDeliveryDeliveryNetworkNetwork
ContentContentDeliveryDeliveryNetworkNetwork Web
Cache 1
WebCache 2
WebCache 3
WebCache(Local)
INTERNETINTERNET
FailoverFailover
ClusterCluster
Управление связностью кэша
Триггер СУБДТриггер СУБД
ПрограммноПрограммно
Admin Console
Вручную или через пакетное заданиеВручную или через пакетное задание
Oracle9iDatabase
Клиент
Data Center
OHS / OC4JOracle9iAS Web Cache
Два метода:
• Правила инвалидации (предсказуемые изменения)
• Сообщения инвалидации (непредвиденные изменения)
– Программные интерфейсы Java и PL/SQL
9i9iСеть
Безопасность и управлениеИнфраструктура безопасности
Enterprise Manager
Oracle9i Application Server
Oracle Internet Directory – ядро инфраструктуры безопасности
Масштабируемость– > 500 млн записей– тысячи клиентов
Надежность– свойства Oracle9i
Безопасность Стандарты
– LDAP v3
КлиентыLDAP
Ведениекаталогов
OracleInternetDirectoryServerLDAP через SSL
Инфраструктура безопасности
Oracle9iAS
Single Sign-OnServer
Oracle DBWeb
Cache
Oracle9iAS
LDAP(Internet
Directory)
Oracle HTTP Server
mod_osso
J2EE/JAAS
PL/SQL Apps
SingleSingleSign-OnSign-On
HTTP-SHTTP-S
HTTP-SHTTP-S
FIREWALLFIREWALL
Single Sign-Single Sign-On with On with Oracle DBOracle DB
Stored Procs
DB Tables
CertificatesCertificatesPrivilegesPrivilegesRolesRoles
Other SSO Servers
– Интегрированная инфраструктура, основанная на стандартах
– Модель сквозной безопасности для сервера приложений и БД
– Единая директория данных о пользователях и их привилегиях
Enterprise Manager для Oracle9iAS
Часть единой системы управления продуктами Oracle
Oracle Agent
Oracle Managem
ent Server
NotificationsNotifications
EM EM ConsoleConsole
OC4J
HTTP Server
Home Page
Enterprise ManagerWeb Site
Мониторинг с Enterprise ManagerApp ServersApp ServersEnterpriseEnterprise
ManagerManager
SSOLDAP
EMRepository
Database Database ServersServers
DB
J2EEEMD
DMSDMS
FMFM
EMD
EMD
J2EEOracle HTTP Server
FMFMFMFM
EMDEMDOracle HTTP Server
EMD
DMSDMS
FMFM
EMD
EMD
J2EEOracle HTTPServer
FMFMFMFM
EMD
ManageSecurity
FaultsFaults
Performance
ResourceResource
– Единая консоль для администрирования всех компонентов– Всесторонний мониторинг – статус, сбои, производительность,
потребление ресурсов
DMS=Dynamic Monitoring Services FM=Fault Monitor
КонфигурированиеApp Server ClusterApp Server Cluster
DCMDCM
EnterpriseEnterpriseManagerManager
EMRepository
J2EEXML
FMFM
OracleHTTPServer
.Conf.Conf
FMFM
Config
OEMRuntime
Deploy AppsDeploy Apps
NotificationService
(Cluster WideFault Status)
OracleHTTPServer
.Conf.Conf
FMFM
OracleHTTPServer
.Conf.Conf
FMFM
J2EEXML
FMFM
J2EEXML
FMFM
1. Reconfig1. ReconfigClusterCluster
2.2. 3.3.4.4.
5.5. 6.6.
9. Online9. OnlineReconfigReconfig
7.7. 8.8.
ConcurrentConcurrentor Rolling Changeor Rolling Change
EM Repos -Cluster Config
Oracle9iAS Enterprise Manager Home Page
Конфигурация Oracle HTTP Server
Конфигурация и метрики OC4J
Приложения OC4J
Расширенная функциональностьВыполнение Oracle Forms и Reports
Аналитическая отчетность
Интеграция приложений
Web Services
Порталы
Oracle9i AS Enterprise Edition
Порталы
Oracle9i AS Enterprise Edition
Цель построения порталов
Единый доступ к приложениям и контенту Текущая и аналитическая отчетность Доступ к данным для клиентов, партнеров
и сотрудников
Сервер приложений ДанныеПортал
PortalFramework
SearchSearch
PortletsPortlets
Page AssemblyPage Assembly
CacheCache
BI ReportsBI Reports
SecuritySecurity
Developer KitDeveloper Kit
ContextContext
Гибкая персонализация в порталеПоискПоиск ПриложенияПриложения CollaborationCollaboration
TrafficTrafficКонф.Конф.Прогноз погодыПрогноз погоды
НовостиНовостиКалендарьКалендарь
Публикация через Web
Публикация через WebDAV
Пользователи Portal
Авторизация через Login Server по принципу Single Sign-On и с использованием Oracle Internet Directory
Декларативная разработка
Описания на основе мастеров (Wizards)
Компоненты включают формы, отчеты, диаграммы, и т.д.
Portlet
Build Manage Deploy
Программная разработка
PDK-Java PDK-URL Services PDK-PL/SQL Сервисы API
– настройка, управление сессиями, cookie, кэширование, Single Sign-On, локализация, обработка ошибок, реакция на события, журналирование по событиям, управление передачей параметров
ExistingApplications
Web SitesWeb SitesHTTPHTTP
Web Services
WWSSDDLLSOAPSOAP
JJPPDDKK
URLURL
HTTPHTTPServletServlet
JSPJSP
EJBEJB
Web ServiceWeb ServicePORTAL
Разработка средствами Oracle
Reports, Forms, Discoverer, JDeveloper Портал упрощает доступ к данным и
аналитической отчетности
Oracle9iAS Portal JSP Bridge
JSP
<portlet>
Embed portletsin any JSP page
Portalrepository
Register any JSP
with Portal
JSP
<region>
Set ACL
Deploypersonalizable
JSP’s
PORTAL
Generateto JSP
Deploy directly to Oracle9iAS
Oracle JDeveloper
Oracle9iAS Portaltag library
Выполнение Oracle Forms и Reports
Oracle9i AS Enterprise Edition
Выполнение приложений Oracle Forms, Reports и Discoverer
Выполнения приложений «клиент-сервер» в web-архитектуре без изменения кода
Oracle9Oracle9ii Application Server Application Server
Reports ServerReports Server
Discoverer ViewerDiscoverer Viewer
JavaJava Forms ServerForms Server
HTMLXMLPDF
HTMLXMLPDF
Авторизация Forms9i через SSO
Web Client
Forms Servlet
HTTP Server
mod_osso
Oracle Login Server
1.
2.
3.
4.
5.
http request
authentication request
Oracle 9iAS V2
authentication info
set cookie
sso_cookie
Авторизация Forms9i через SSO
Forms RuntimeEngine
Forms ListenerServlet
Forms Servletmod_osso5.
Oracle Internet Directory
6.
7. 8.
sso_user/apps name
username/password@database
sso_cookie
connectinfo
Reports: одно определение, два формата вывода
на бумагу
в интранет, интернет (HTML, PDF)
Reports: интеграция с JSP
Разделение динамической и статической информации
Компиляция Соответствие стандартам
J2EE Расширяемость через
JSP Custom Tag Library Соответствие лучшей
практике дизайна
<HTML><BODY>
<%@ taglib uri="reports.tld“ prefix=“rw” %>
<B>Expression.</B><BR>
Your hostname: <%=request.getRemoteHost() %>.
<B>Declaration (plus expression). </B>
<BR>
<%! private int accessCount = 0; %>
Accesses to page since server reboot: <%= ++accessCount %><BR>
Employee Name:<rw:field id=“abc” src=“ENAME”/>
Аналитическая отчетность
Oracle9i AS Enterprise Edition
Oracle Warehouse Builder – строим хранилище данных
Проект хранилищаПроект хранилища1
2 ОпределениеОпределениеисточниковисточников
• Реляционные• Файлы• Приложения
Карта источниковКарта источников3
Генерация кодаГенерация кода4
Запуск хранилищаЗапуск хранилища5
Выполнение Выполнение ETL-ETL-операцийоперацийВыполнение Выполнение ETL-ETL-операцийопераций66
Discoverer Viewer: самостоятельный доступ к данным
Drag & DropDrag & Drop
Отчеты по расписаниюОтчеты по расписанию
Отчет в WebОтчет в Web
Интеграция Discoverer и Reports в Oracle9iAS Portal
XML export to ReportsPortal Integration
Отчеты Отчеты Discoverer Discoverer как как
портлетыпортлеты
Список Список отчетовотчетов
Запросы Запросы SQLSQL ФорматированиеФорматирование
Web Services
Oracle9i AS Enterprise Edition
Техническая основа Web Services
Web Services Description Language
SOAP Translator
JDBC
JMS
JCA
SOAP
Oracle9iAS
Компоненты J2EE
Торговыепартнеры
Биржи
Сервис-провайдеры
Заказчики
Различныеисточникиданных
Готовыеприложения
Заказныеприложения
Унаследованныесистемы
Взаимодействие компонентов
Wireless &Mobile
Browser
– 100% Соответствие стандартам– Представление приложений в виде сервисов Web– Тесная интеграция с JDeveloper
Business-to-Business
Источникиданных
Приложения
JCAJCA
JDBCJDBCПриложения
Java/J2EE
ПриложенияPL/SQL
ПотокиHTML/XML
UDDI RegistryUDDI Registry
JDeveloper
ВызовВызов (SOAP) (SOAP)
Ин
тер
фей
сИ
нте
рф
ейс
XM
L X
ML
ПубликацияПубликация(WSDL)(WSDL)
ПоискПоиск
Интеграция сервисов в портал
Oracle9iAS Portal– Доставка– Агрегация
Новые стандарты на портлеты
– JSR 168 – J2EE Portlets– OASIS Web Services for
Remote Portals (WSRP) Portal Development Kit
– Декларативное отображение (XSL)
– Программное отображение (J2EE)Web Service
PortletsJ2EE
Portlets
Интеграция приложений
Oracle9i AS Enterprise Edition
OracleE-Business
Suite
PackagedApplications
LegacySystems
TradingPartners
Exchanges
ServiceProviders
BusinessProcesses
B2B
WebServices
A2A
Internet
Типы бизнес-интеграции
Интеграция в Oracle9iAS
OracleOracleE-Business SuiteE-Business Suite
XML Gateway
Адаптерык приложе-
ниям
SAP R/3SAP R/3
Advanced Queuing
MessageGateways
СтарыеСтарыеприложенияприложения
SDK ДругиеДругие
Адаптерык
Oracle DB
СУБДOracle
Applications
Триггеры
Адаптеры
9iAS
УправлениеУправлениебизнес-бизнес-
процессамипроцессами
СемантическиеСемантическиепреобразованияпреобразования
Обмен Обмен сообщениямисообщениями
Адаптерык
OracleApplications
InterConnect Workflow
Шаги интеграции с InterConnect
Проектирование– Сбор метаданных в iStudio– Описание приложений, типов сообщений,
событий, отображение данных
Выполнение– Сбор сообщений– Преобразования– Маршрутизация – Доставка
Oracle Workflow
Адаптеры InterConnect
Технологические– Oracle RDBMS– Oracle AQ (Raw, ADT,
XML payloads)– SMTP – FTP/s – IBM MQSeries – IBM CICS LU 6.2 – Java-based SDK
Приложения– Oracle eBusiness
Suite– SAP R/3 – PeopleSoft 7.5– Peoplesoft 8.x – JDEdwards One
World – Siebel 2000
Эксплуатация продукта
Рекомендованная структура в “боевом” режиме.Инфраструктура HTTP серверБД
Рекомендованная структура в “боевом” режиме.Инфраструктура HTTP серверБД