Oracle http server что это
Oracle Application Server стал первой платформой, разработанной для распределенных вычислений, а также с полной поддержкой жизненного цикла сервис-ориентированной архитектуры (SOA).
В текущем выпуске Oracle Application Server, 10g R3, отсутствует уровень репозитория метаданных , вместо этого он полагается на репозитории метаданных, предоставленные в предыдущих выпусках.
После приобретения Oracle компании BEA Systems : «ключевые функции [будут] интегрированы с WebLogic Server с плавной миграцией».
СОДЕРЖАНИЕ
История
Корпорация Oracle представила свой первый сервер приложений под названием Oracle Web Server (OWS). Последующая переупаковка привела к Oracle Application Server (OAS). Более поздний продукт, заменивший OAS, стал i AS (сервером Интернет-приложений).
Редакции
Корпорация Oracle подразделяет некоторые из своих продуктов на различные «редакции» - очевидно, для облегчения маркетинга и отслеживания лицензий.
Доступные редакции Oracle AS включают: -
- Enterprise Edition
- Стандартное издание
- Стандартное издание 1
- Версия Java
Составные части
Корпорация Oracle называет свою реализацию спецификации Java EE « Контейнеры Oracle для J2EE» и сокращает это понятие как OC4J . OC4J, изначально основанный на сервере приложений IronFlare Orion , был разработан исключительно под контролем Oracle с тех пор, как Oracle Corporation приобрела исходный код .
OC4J включает следующие серверы:
Выполнение
Oracle Application Server может использовать «базу данных инфраструктуры Oracle AS» - экземпляр базы данных Oracle, поддерживающий репозиторий метаданных Oracle AS и / или Oracle Identity Management .
OPMN - сервер Oracle Process Management and Notification - отслеживает компоненты Oracle Application Server.
Операция
Команда opmnctl запускает, останавливает и контролирует компоненты Oracle AS.
Выделяют три группы продуктов в семействе технологий Oracle: база данных, сервер приложений и система управления (Enterprise manager). Это основные компоненты для организации сетевых вычислений (grid computing). Основной концепцией для построения инфраструктуры (Grid-а) выступает виртуализация. Пользователи работают с информацией (обычно посредством веб-приложения), но они не знают и не должны знать откуда и как эти данные выводятся. Упрощённо – база данных отвечает за хранения и выдачу информации, сервер приложений – за инфраструктуру и развертывание служб нужных пользователю и система управления используется для администрирования и управления. Платформа или физические сервера используемые для работы не имеют значения для конечного пользователя. Виртуализация позволяет эффективно рапределять ресурсы, предоставляя максимальную производительность там где это нужно (балансировка нагрузки).
Сервер баз данных
Сервер баз данных Оракл включает в себя экземпляр (instance) базы данных и саму базу данных с множеством возможностей таких как потоки, партицирование, хранилище данных, репликация и RAC (Real Application Cluster), но самое главное, это надёжное, высоко-производительное хранилище данных, построенное на объектно-ориентированной системе для баз данных. Исторически, один из проектов в поздних 70-ых для поддержки теории предложенной Dr. E.F Codd, привел к созданию реляционной системы управления базами данных (РСУБД), со временем ставшую известной как Oracle Server. Oracle Server это основной продукт Oracle, который продолжает активно развиваться и является ядром других продуктов.
База данных – это набор файлов в дисковой системе. База существует пока существуют файлы. Теоретически нету ограничений по размеру и количеству файлов, таким образом нет ограничений размера базы данных. Доступ к данным происходит через экземпляр (instance) сервера базы данных. Инстанс – набор процессов и структур данных в памяти. Инстанс может быть стартован и остановлен. Пользователи подключаются к инстансу и уже инстанс управляет доступом к данным. Невозможно работать с данными напрямую. Инстанс и файлы базы данных вместе и создают Oracle сервер.
Такая модель доступа является клиент-серверной моделью, также известной как двухуровненой (two-tier) модель. В клиент-серверной модели пользовательский интерфейс и логика приложения не зависят от управления данными. Для приложения разработанного с использованием SQL это значит, что пользовательская часть приложения создаёт SQL запросы, а серверная часть исполняет их. Это классическое разделение клиентской и серверной части, обычно соединённой локальной сетью. Сетевой протокол используемый в Oracle – закрытый и называется Oracle Net.
Клиентская часть состоит из 2ух компонентов: пользователей и пользовательских процессов. В серверной части три составляющие: серверный процесс, который исполняет SQL запросы, instance и сама база данных. Каждый пользователь взаимодействует с пользовательски процессом. Пользовательский процесс взаимодействует с серверным процессом, обычно посредством локальной сети. Серверный процесс взаимодействует с экземпляром, и экземпляр с базой данных. Рисунок 1-1 показывает это взаимодействие. Сессия – это пользовательский процесс с серверным процессом. Обычно это один пользовательскйи процесс для пользователя и серверный процесс для каждого пользовательского процесса. Сессия обычно создается по запросу пользователя и уничтожается когда она больше не нужна: это называется log-on и log-off цикл. Экземпляр и структуры в памяти нужные для работы запускаются администратором и существуют пока администратор не остановит их: это называется запуск и остановка экземпляра.
Пользовательским процессом может выступать любое клиент-серверное приложение которые можнт подключится к Oracle серверу.Мы будет использовать SQL*Plus и SQL Developer. Это программное обеспечение предоставляемое Oracle-ом для подключения к серверу и выполнения SQL запросов. Что использует пользователь абсолютно не важно для Oracle сервер-а. Когда пользователь вводит данные и нажимает кнопку «Выполнить» будет сгенерирована команда, к примеру INSERT и отправлена команда серверному процессу для исполнения на инстансе и базе данных. Единственное требования это чтобы команда была корректной. Не стоит забывать что все взаимодействие осуществляется согласно клиент-серверной модели. Даже если пользовательский процесс запущен на той же самой системе что и сервер – клиент-серверное разделение всё равно работает и сетевой протокол использвется для взаимодействия между двумя процессами.
Сервер приложений
Возможно использовать отдельное соединение для каждого пользователя: каждый польователь будет создавать сессию к серверу приложений, а сервер приложений в свою очередь создавать подключение к базе данных. Однако, эта модель признана очень неэффективной по сравнению с пулами подключений (connection pooling model). Согласно модели пула подключений сервер приложений создает относительно небольшое количество соединения с базой данных и делает их доступными для запросов (помещая запросы в очередь при необходимости) для относительно большого количества пользователей сервера приложений. Рисунок 1-2 показывает трех-уровневую модель доступа и использованием пула запросов.
С точки зрения базы данных, нет абсолютно никакой разницы между запросами из SQL*Plus или пула запросов. В первом случае пользовательский процесс происходит на одной машине, во втором случае пользовательский процесс разбит на 2 уровня: сервер приложений генерирует пользовательский интерфейс и пользовательский уровень отображает его.
Enterprise Manager
Увеличение объёма и сложности IT установок может сделать управление компонентами достаточно сложной процедурой. Инструменты управления могут сделать эту задачу легче, и занчительно повысить производительность сотрудников.
Oracle Enterprise Manager включает в себя 3 группы инструментов:
*Управление базой данных (Database Control)
*Управление сервером приложений (Application Server Control)
*Управление инфраструктурой (Oracle Enterprise Manager Grid Control)
Управление базой данных – графический инструмент для управление одной базой данных, которая может быть RAC кластером. Есть возможности управления и мониторинга в режиме реального времени, планировщик задач и резервного копирования, генерация отчётности.
Управление сервером приложений – инстурмент для управления серверами приложений. Технология управления несколькими серврами зависит от версии. До 10gR2 включительно используется технологий «ферма», с ерпозиторием мета-данных и центральным управляющим входом. Эта модель закрытая и предоставляет отличные позможности для установки и поддержи приложений. Начиная с версии 10gR3 используется технологий основанная на J2EE кластеризации.
Oracle Enterprise Manager Grid Control обобщает управление инфраструктурой. Репозиторий (находящийся внутри базы данных Oracle) и один или несколько серверов управляют всей средой: всеми базами данных и серверами приложений, расположенными где-угодно. Данный инструмент также может управлять узлами, или машинами на которых запущены сервера и, с помощью плагинов, различными сторонними продуктами. Каждый управляемый узел запускает процесс, который ответственнен за мониторинг управляемых процессов на узле: этот процесс выполняет разные задачи и возвращает результаты на сервер управления.
Oracle Enterprise Manager Grid Control даёт целостное представление обо всей инфраструктуре и может кардинально улучшать производительность администраторов. С его помощью один администратор может обслуживать десятки и сотни серверов.
Инструменты разработчика Oracle
Встроенные языки
SQL используется для работы с данными, но на нём нельзя создать полноценное приложение, так как нет возможности для создания пользовательского интерфейса и отсутствует поддержка сложных структур данных. Два других внутренних языка программирвоания устраняют эти пробелы. Это PL/SQL и Java. PL/SQL – язык третьего уровня и является собственностью Oracle. Он поддерживает стандартные управляющие конструкции: алгоритмы ветвления (if then else) и циклы, и имеет возможность создания пользовательского интерфейса. SQL запросы могуть быть частью PL/SQL кода, таким образом, программа PL/SQL может использовать SQL для получения данных из базы данных, выполнять определенные действия в зависимости от данных, и затем выполнять другие запросы для записи данных назад в базу. Java так же может выполнять SQL запросы, написанные внутри Java кода. Это стандарт технологии: любой Java программист должен быть способен написать код, который будет работать в базе данных Oracle (либо другой Java-совместимой базе данных).
Все администраторы баз данных должны хорошо знать SQL и PL/SQL. Это стандартное и необходимое требование.
Знание Java уже не особо обязательно, так как Java редко используется в базе данных. Раньше Oracle Application Server не мог запускать некоторые стандартные компоненты (к примеру Servlet-ы и EJB). Чтобы устранить это Oracle разработали Java машину встроенную в базу данных, которая соответствует стандартам. Как бы то ни было, начиная с Oracle Application Server 9i, стало возможным запускать J2EE компоненты там, где им и положено быть: на сервере приложений. Благодаря этому стало запускать меньше Java кода внутри базы данных.
Обычно DBA (database administrator) проводят много времени над задачами повышения производительности и отладки SQL и PL/SQL кода. С точки зрения Oracle – администратор должен находить проблемные участки и передавать разработчику для исправления, однако на практике разработчикам не хватает знания (или желания) делать это и администраторам приходится брать на себя эту роль.
Сторонние языки программирования
Другие языки программирования доступные для создания клиент-серверных приложения запускают вне базы-данных. Наиболее широко используются С и Java, но возможно использовать почти все популярные запросы третьего-уровня. Для большинства языков Oracle предоставляет OCI (Oracle Call Interface) библиотеки, которые позволяют подключаться к базе данных и выполнять SQL запросы.
Программы написанные на C или другом процедурном языке используют OCI библиотеки для создания подключения к базе данных. Эти библиотеки являются собственностью Oracle. Это значит что любой код, написанный с использование этих библиотек написан только для Oracle базы данных и должен быть переписан для работы с другими базами данных. Программы написанные на языке Java могут избежать этой проблемы. Oracle предоставляет возможности для подключения к базе с помощью Java для «толстых» (thich) и «тонких» (thin) клиентов.
«Толстый» клиент направлен на работу с Oracle. Он использует OCI библиотеку и может использовать все возможности базы данных, включая структурные особенности Oracle. Но такой клиент не сможет работать с другими базами данных, и необходима OCI библиотека для работы.
«Тонкий» клиент работает вне зависимости от типа базы данных: он работает с виртуальной базой согласно Java стандарту, и позволяет соотносить виртуальную базу с базой. Это даёт приложению возможность работать с любой другой базой данных и такое приложение может быть развёрнуто в не-Oracle среде без изменений. Однако функциональность огранчена только Java Database Connectivity (JDBC) стандартом.
Выбор между «толстым» и «тонким» клиентом должен производиться командой, после изучения всех потребностей к функционалу, производительности работы базы данных, производительности разработки, возможности перехода на другую СУБД и т.п. С помощью JDeveloper можно разрабатывать оба типа Java приложений.
Набор разработчика от Oracle
Некоторые не хотят использовать языки программирования для разработки приложений для работы с базой данных. Оракл предлагает средства для разработки в составе Oracle Developer Suite. В принципе результат разработки с помощью этих средст примерно такой же: генерация SQL запросов, которые посылаются к базе данных для обработки.
С помощью Oracle Forms Developer можно создать приложение, которое запускается на сервере приложений Oracle и отображается в браузере. Такие приложения легко разрабатывать и они оптимизированы для взаимодействия с объетами базы данных. Специальные макросы и компоненты позволяют создавать веб-приложения с богатым функционалом.
Oracle Reports – это инструмент для создания и форматирования отчётов, как по запросу так и по расписанию. Готовые отчёты кешируются для выдачи. Oracle Reports, так же как и Oracle Forms, это среда разработки и требуются навыки программиста для создания специальных отчётов. Большим преимуществом при использовании Oracle Reports является то, что результат можно настраивать каким угодно способом, чтобы достичь желаемого результата.
Oracle Discoverer – это иснтрумент для генерации специальных отчётов, позволяющий пользователем самим создавать себе необходимую отчётность. Когда Oracle Discover установлен и настроен на сервере приложений, больше не нужны услуги программиста и пользователи сами делают что им нужно.
Мы уже довольно подробно обсудили некоторые механизмы ввода/вывода в PL/SQL (см. ссылки по теме в конце статьи), особенно часто встречающиеся в реальных приложениях, однако существуют и другие:
- Каналы (pipes) баз данных, очереди и оповещения.
- Сокеты TCP .
- Встроенный веб-сервер Oracle .
Каналы, очереди и оповещения в PL/SQL
Встроенный пакет DBMS_PIPE изначально проектировался как эффективный механизм передачи небольших блоков данных между сеансами Oracle . С появлением автономных транзакций потребность в каналах как механизме простой изоляции транзакций друг от друга отпала. Кроме того, каналы могут использоваться для самостоятельной организации параллельных операций.
Пакет DBMS_ALERT обеспечивает синхронное оповещение нескольких сеансов о наступлении различных событий базы данных. В наши дни эта возможность используется относительно редко; Oracle предоставляет другие средства, которые решают те же задачи, но с более мощной функциональностью.
Сокеты TCP
Какой бы интересной ни считалась тема низкоуровневого сетевого программирования среди специалистов, она просто не относится к числу часто используемых возможностей. В дополнение к встроенному пакету UTL_TCP Oracle также поддерживает вызов сетевых функций из хранимых процедур Java, которые могут активизироваться из кода PL/SQL .
Встроенный веб-сервер Oracle
Хотя Oracle Application Express (или Oracle APEX) формально не является механизмом ввода/вывода, о нем также стоит упомянуть. Эта бесплатная надстройка для
Oracle позволяет строить полнофункциональные веб-приложения, подключающиеся к базе данных Oracle. Программисты PL/SQL могут писать собственные хранимые программы, которые интегрируются с графической инфраструктурой Oracle APEX, предоставляющей много удобных средств для обмена данными через наглядный пользовательский интерфейс.
Цель лекции: ознакомить слушателя с основными продуктами Oracle и составляющими компонентами Oracle AS .
На сегодняшний день СУБД Oracle – это интегрированное программное обеспечение для сети распределенных вычислений Grid . Для реализации сложных комплексных решений имеется широкий набор программных продуктов, который можно разбить на несколько разделов по их функциональному назначению.
Oracle Application Server
Oracle Application Server (сервер приложений) – это первая в мире основанная на стандартах GRID , интегрированная программно-прикладная платформа, которая позволяет упростить управление приложениями, выполняемыми в распределенной вычислительной среде.
Оптимизированная для Grid -вычислений платформа Oracle AS позволяет снизить расходы на приобретение техники. Сервер приложений Oracle AS дает возможность организациям и предприятиям любого масштаба возможность оперативно реагировать на меняющиеся требования рынка. Oracle Application Server обеспечивает полную поддержку следующих технологий и возможностей в одном продукте:
- J2EE;
- Распределенные вычисления;
- Корпоративные порталы (Portal);
- Web-Cache – высокоскоростное веб-кеширование;
- Разработка и интеграция бизнес-приложений ( Business Intelligence );
- Rapid Development – быстрая разработка и внедрение приложений;
- Wireless – поддержка беспроводных технологий;
- Веб-сервисы.
Помимо перечисленных возможностей в состав Oracle Application Server входит полный набор инструментариев и инфраструктуры для обеспечения безопасности на всех уровнях разработки и развертывания приложения. Oracle Application Server позволяет создавать приложения, используя различные языки и технологии (табл. 1.1).
Применение оптимизированного под Grid -вычисления сервера приложений существенно снижает затраты на аппаратные средства и упрощает администрирование , позволяя разворачивать и управлять приложениями, разработанными в Oracle Developer Suite , на одном прикладном сервере. Модуль Oracle Forms Services , который мы будем рассматривать чуть позже, также является частью Oracle AS и позволяет развертывать приложения, написанные в Forms Developer в Web . Ниже перечислены основные сервисы сервера приложений.
- Коммуникационные сервисы ( Communication services ).
- Сервисы выполнения приложения (Application Runtime Services).
- Системные сервисы ( System Services ).
- Управление сервисами (Management Services).
- Сервисы соединения (Connectivity services).
- Решения (Solutions).
В таблице 1.2 представлены основные компоненты и ассоциированные с ними решения (Solutions) Oracle Application Server .
Как вы уже успели заметить, платформа Oracle Application Server объединяет в себе множество технологий и инструментов для создания полного цикла разработки и развертывания приложения. Мы рассматриваем версию Oracle Application не только потому, что она является актуальной и сочетает в себе опыт и возможности предыдущих версий, но еще и потому, что она стала первой Grid -ориентированной платформой, открывающей много новых возможностей. Среди нововведений отметим:
- Управляемость – в состав Oracle Application Server входит набор средств управления рабочей нагрузкой, который за счет перераспределения имеющихся ресурсов между приложениями упрощает оптимизацию вычислительной мощности.
- Надежность – по заявлению разработчиков корпорации Oracle, новая платформа Oracle Application Server обладает новыми средствами повышения безопасности и надежности корпоративных решений, выполняемых на кластерах и в сети распределенных вычислений предприятия. Среди новых возможностей прежде всего следует отметить функции:
- Fast-Start Fault Recovery Architecture – это усовершенствованная архитектура быстрого запуска при устранении отказа;
- Failure Notification ( FaN ) – функция оповещения об ошибках.
Oracle Forms Services
Oracle Forms Services (OFS) – это компонент Oracle Application Server , предназначенный для переноса приложения в Web . Когда пользователь запускает приложение Oracle Forms , автоматически загружается и кешируется на клиентской Java -машине Java -апплет из сервера приложений ( Oracle AS ). Также модуль OFS при запуске приложения Forms Developer преобразует его графический интерфейс в набор Java -апплетов, которые пересылаются на клиентский компьютер . Даже несмотря на то, что Forms использует Java -апплет для отображения формы в клиентском браузере, от пользователя не требуется знание языка JAVA .
Преимущество над другими клиент-серверными версиями Forms
По сравнению с предыдущими версиями Forms, такая архитектура дает следующие преимущества:
Читайте также: