СТАТЬЯ
28.06.01

Обзор новых возможностей Oracle8i, релиз 3

©Oracle
Перевод ©Interface Ltd.

Краткое описание

Часть1. Новые возможности java

  • Oracle HTTP Server Powered by Apache
  • Oralce8i JVM Accelerator
  • Oracle Servlet Engine (Servlet 2.2)
  • Oracle JavaServer Pages Engine (JSP 1.1)
  • Enterprise Java Beans (EJB 1.1, Entity EJB)
  •  Java Transaction API (JTA)
  • Утилита профилирования памяти
  • Широкие возможности Media-классов
  • Утилита XML SQL
  • XML Development Kits (XDK)
  • Oracle Integration Server Security
  • Поддержка XML В IFS

  • Часть 2. Другие новые возможности

    Настоящий документ описывает новые возможности, появившиеся в третьем релизе Oracle8. Обзор всех новых возможностей, поддерживаемых первым и вторым релизами Oracle8i и Oracle8i можно найти в документах “Обзор новых возможностей Oracle8i” и “Обзор новых возможностей Oracle8i, релиз 2”

    Oracle8i, релиз 3 (версия 8.1.7), является последним и “завершающим” релизом РСУБД Oracle8i (версия 8.1). Будучи “завершающим”, данный релиз характеризуется как максимально стабильный и прошедший тщательное тестирование продукт, который будет поддерживаться значительно дольше, чем предыдущие релизы Oracle8i. В Oracle8i, Релиз 3, добавлены следующие новые свойства и расширенные возможности:

    JAVA ENHANCEMENTS

    Oracle8i, Релиз 3, в полной мере соответствует правилу корпорации Oracle – предлагать на рынке только масштабируемые и высокопроизводительные платформы для Java-приложений. Oracle8i JVM (известная ранее как Oracle Jserver/Сервер Java-приложений), представляет собой виртуальную Java-машину от Oracle, используемую как для баз данных, так и в качестве нового сервера Internet-приложений (iAS) от Oracle. Благодаря новым возможностям и контейнерам, Oracle8i JVM представляет собой законченную платформу для реализации всех уровней типичных Java-приложений масштаба предприятия: уровня пользовательского интерфейса (сервлеты, JSP); уровня бизнес-логики (серверные объекты CORBA, сессионные EJB, сервлеты); бизнес-объектов либо доменных объектов (персистентные Java-объекты, серверные объекты CORBA, Entity EJB), и уровня управления и доступа к данным (JDBC/SQLJ, хранимые процедуры Java/PLSQL).

    Кроме того, в Релиз 3 был внесен ряд усовершенствований с целью повышения производительности; к ним можно отнести JVM-акселератор Oracle8i, оптимизированные драйверы JDBC, возможность развертывания всех компонентов на одном звене Oracle8i и улучшенную “сборку мусора” в конце каждой сессии.

    HTTP-Сервер от Oracle с ядром Apache

    В Релиз 3 входит HTTP-сервер от Oracle, включающий листенер Apache, который теперь по умолчанию является основным HTTP-листенером, обслуживающим статические HTML-запросы и stateless-сервлеты. Теперь база данных может непосредственно получать HTTP-запросы без использования сервера приложений. Oracle Enterprise Manager был расширен, и теперь он управляет листенером Apache.

    Дополнительно к стандартным модулям Apache, HTTP-сервер от Oracle включает в себя специальные модули Oracle, полностью разработанные и поддерживаемые корпорацией Oracle. Oracle поддерживает следующие модули расширения для Apache:

    Oracle8i JVM Accelerator

    Релиз 3 включает Oracle8i JVM Accelerator, который позволяет транслировать, компилировать и выполнять байт-код, генерируемый Java-компилятором (.jar или .class), как собственный код, скомпилированный на С. Использование акселератора существенно повышает производительность при выполнении Java-приложений в Oracle8i JVM, что объясняется значительным преимуществом в быстродействии компилируемых C-кодов по сравнению с Java-кодами.

    Не зависящие от платформы байт-коды Java поступают в JVM-акселератор, который затем генерирует не зависящий от платформы C-код. После этого, C-код компилируется с помощью специальных компиляторов (оптимизированных для соответствующих платформ), создавая полностью оптимизированные для платформы Oracle8i JVM собственные разделяемые библиотеки.

    Oracle Servlet Engine

    Servlets (сервлеты) являются серверными Java-классами, которые выполняются независимо или вызывают серверные компоненты (EJB, серверные объекты CORBA, хранимые процедуры Java/PLSQL, другие сервлеты) и генерируют динамический HTML, обычно используемый в качестве контроллера пользовательского интерфейса или контроллера приложений. Oracle Servlet Engine входит в пакет Java2 Enterprise Edition в составе Oracle8i, Релиз 3, и Сервера Internet-приложений (iAS) от Oracle.

    Oracle Servlet Engine совместим с Servlet 2.2 и поддерживает statefull-сервлеты, где каждый Web-клиент открывает свою сессию доступа к базе данных. Первый запрос открывает сессию для клиента, а последующие запросы направляются в ту же сессию; сами сессии отслеживаются с помощью cookies или переадресаций URL. Oracle Servlet Engine масштабируем подобно другим Oracle8i JVM-приложениям, и может протоколировать значимую информацию с Web-сайтов путем записи в таблицы базы данных для последующего анализа. Все сервлеты, активизируемые одним клиентом, размещаются в одной сессии с базой данных, что улучшает производительность и масштабируемость. Сервлеты разделяют сессии с EJB, серверными объектами CORBA, хранимыми процедурами Java и server-side подключениями JDBC. Этим обеспечиваются преимущества, предоставляемые одновременно Web- и Java-компонентами (сокращение времени ожидания и времени отклика, повышение пропускной способности), а также возможность создания stateful, разнообразного, крупномодульного и динамического Web-контента. Oracle Servlet Engine может использоваться любым HTTP-клиентом напрямую или через модуль расширения Oracle для Apache (mod_ose), который перенаправляет запросы, требующие stateless и fine-graned контента, в Apache.

    Oracle JavaServer Pages Engine

    JavaServer Pages (JSP) используются для динамической генерации реальных страниц пользовательского интерфейса или web-страниц путем компоновки крупномодульного динамического контента сервлетов (HTML), и серверных компонентов (EJB, серверных объектов CORBA, хранимых процедур Java/PLSQL) и fine-grained содержимого с Java Scriptlets или статических HTML. Oracle JSP Engine (совместима с JSP 1.1) интегрирована в Oracle8i, Релиз 3, сервер Internet-приложений (iAS) от Oracle и во все web-продукты от Oracle (Oracle HTTP-сервер, Oracle Portal, Portal-to-go и JDeveloper). Oracle JSP Engine поддерживает SQLJ в JSP Scriplets, компоненты доступа к данным для подключения и генерации запросов к базе данных Oracle, настраиваемые обработчики тегов, и возможность форматирования результатов JSP с использованием XSL.

    Поддержка Enterprise Java Beans 1.1

    Релиз 3 полностью совместим со спецификацией Enterprise Java Beans (EJB) 1.1, которая декларирует поддержку Entity EJB (с сохранением состояния как со стороны компонента, так и со стороны контейнера - bean-managed и container-managed persistencу) и дескрипторов развертывания XML (как стандартных, так и зависимых от провайдера). Это позволяет компоновать и развертывать крупно-модульные бизнес-компоненты и бизнес-процессы без программирования сервисов инфраструктуры (транзакций, безопасности, персистентности), которые, обычно, занимают 50-70% кода приложения.

    Сохранение состояния компонентов (bean persistency) может достигаться путем прямого вызова API сохранения состояния – обычно, хранимых процедур Java/PLSQL, SQLJ и JDBC (Bean-Managed Persistence) или простым декларативным путем (Container-Managed Persistence).

    Для EJB с сохранением состояния компонентов со стороны контейнера, корпорация Oracle определила Persistence Service Interface (PSI) для обработки отношений между контейнером EJB и Persistence Manager. Релиз 3 поставляется со справочной реализацией PSI (PSI-RI), представляющей собой простой Persistence Manager, поддерживающий атрибут для отображения колонок. Так как PSI поддерживает наиболее общий способ работы с менеджерами хранения промежуточных состояний, их замена может осуществляться с минимальным изменением установки.

    Поддержка Java Transaction API (JTA)

    Релиз 3 реализует стандарт Java Transaction API (JTA), который задает разграничение серверных и клиентских транзакций, обеспечивая тем самым координацию двухфазной фиксации транзакции. Реализуемый Oracle JTA поддерживает клиентов JDBC, HTTP и IIOP, а также менеджеров транзакций JDBC, CORBA/EJB и многозвенное распространение контекстов транзакций; он также обеспечивает оптимизацию однофазной фиксации транзакции.

    Кроме различных модификаций, направленных на повышение производительности объектов и серверного JDBC-драйвера, JDBC-драйверы, входящие в Релиз 3, полностью поддерживают JDBC 2.0. В Релиз 3 добавлена поддержка XA Resource API, поддержка таблицы скалярных величин PL/SQL, поддержка кеширования основных операторов, что уменьшает издержки на создание/удаление курсора, поддержка "длинного" API для работы с LOB и поддержка JDBC/SQLJ для функций VARCHAR в CLOB. В Релизе 3 расширена поддержка Oracle для стандарта SQLJ, благодаря полной поддержке всех свойств JDBC 2.0 в соответствии с готовящимся к релизу стандартом ISO, включая поддержку структурированных типов, прокручиваемых (scrollable) итераторов, поддержку источника данных, пакетирование, предварительную выборку строк и взаимодействие со связными пулами JDBC 2.0. В Релизе 3 SQLJ поддерживает три различные выполняемые версии, каждая из которых оптимизирована для определенного сценария развертывания: общие выполняемые версии, которые могут использоваться с любым драйвером JDBC от Oracle; исполняемая версия, оптимизированная для использования с драйверами Релиза 3 в среде JDK 1.1; и версия, оптимизированная для использования с драйверами Релиза 3 в среде JDK 1.2.

    SQLJ в Релизе 3 поддерживает высокопродуктивную и унифицированную модель программирования, совместимую с различными драйверами JDBC и средами JDK.

    Утилита профилирования памяти

    MemStat – это утилита, предназначенная для анализа различных типов памяти, используемых Java-классами в пользовательской сессии.

    Oracle8i JVM использует три типа памяти:

    - память запроса, существующая в течение всего времени запроса (включая его рекурсию)

    - память сессии, существующая в течение всего времени сессии (соединение, постановка и выполнение)

    - постоянная или глобальная память, существующая в течение всего времени, пока выполняется Oracle8i JVM

    MemStat протоколирует использование памяти и создает отчет HTML, который может использоваться для локализации и удаления ненужных статических данных в Java-классах и уменьшения места, занимаемого Java-программами в памяти.

    Для Java-разработчиков, администраторов сайтов и баз данных, MemStat будет очень полезен при разработке и развертывании Web- и Java-компонентов.

    Широкие возможности Media-классов

    InterMedia Java-классы от Oracle позволяют Java-приложениям любого звена (клиент, сервер приложений или сервер базы данных) манипулировать и модифицировать изображения, аудио и видео данные, хранимые в Oracle8i. Релиз 3 позволяет включать в результирующие множества JDBC как традиционные реляционные данные, так и объекты interMedia (изображения, аудио, видео). Такая поддержка позволяет приложениям легко отбирать и манипулировать данными в результирующих множествах, содержащих объекты interMedia и другие родственные данные. Эти классы также обеспечивают доступ к атрибутам объектов и вызов объектных методов.

    Файловая система Oracle Internet (iFS) – это революционное нововведение в базу данных Oracle8i. Oracle iFS включает в себя все самое лучшее как от реляционных баз данных, так и от файловых систем. Она не только обеспечивает надежность, доступность и масштабируемость, присущие Oracle8i, но и сохраняет в себе простоту использования хорошо известной стандартной файловой системы.

    С точки зрения конечного пользователя, iFS воспринимается как еще один сетевой объект. Независимо от того, каким образом осуществляется доступ пользователя к iFS, через Windows Explorer, Web-браузер, FTP или e-mail, файлы будут отображаться в неизменном виде. Реляционные данные могут отображаться в виде файлов, равно как и смешанные файлы, содержащие реляционные и нереляционные данные. Кроме того, iFS поддерживает интеллектуальный текстовый поиск и запросы файлов и данных, хранящихся в ней.

    С точки зрения разработчика, Oracle iFS является средой хранения данных, содержащей данные самых различных приложений. Для системного администратора, Oracle iFS представляется не как несколько отдельных систем для обслуживания и администрирования, а как единая система для хранения файлов и обмена сообщениями. Короче говоря, Oracle iFS представляет простейший способ хранения различных типов файлов в базе данных.

    iFS расширяет платформу базы данных, представляя документы и media-данные как файлы и директории, доступные пользователю через уже знакомые интерфейсы, такие, как Windows, Web (HTTP), e-mail и FTP. Впервые компании могут быть уверены в полной безопасности ценной информации и ее централизованной доступности.

    Пользователи могут также использовать iFS для настройки файлового сервера в соответствии с требованиями определенного приложения. iFS включает в себя Developer's Kit для Java и XML, упрощающий разработку и усиливающий интеграцию данных, например, вы могли бы использовать iFS Developer's Kit для того, чтобы содержимое файлов стало доступным для определенного средства генерации отчетов, или для автоматической посылки редактору предупреждения по e-mail в случае обновления файла другим пользователем.

    Любой заказчик, имеющий лицензию на базу данных, может бесплатно получить iFS в составе поставляемого CD.

    Благодаря внесению новых свойств, упрощающих хранение и поиск XML, в Релизе 3 были значительно расширены возможности XML как технологии для разработки Internet-приложений.

    Утилита XML SQL (XSU)

    Утилита XML SQL (XSU) может генерировать XML из результатов SQL- и JDBC-запросов. XML может выводиться в виде текста или “дерева” объектов в соответствии с популярным стандартом DOM. Утилита XML SQL может также создавать ассоциированный объект запроса DOM, DTD или ResultSet.

    Утилита XML SQL может использоваться для вставки, обновления или удаления данных XML в таблицах базы данных, что делает Релиз 3 эффективным XML-хранилищем для управляемых данными XML-приложений. При сохранении в базе данных, Утилита XML SQL сохраняет структуру XML-документов.

    XML Development Kits

    Дополнительно к средствам хранения и поиска, в единый набор инструментальных средств разработки серверной платформы были объединены XML Development Kits (инструментальные средства) для Java, Java Beans, C, C++ и PL/SQL. В эти XDKs включены следующие компоненты, обеспечивающие приложениям поддержку XML стандарта W3C:

    Поддержка XML В IFS

    Файловая система Internet (iFS) от Oracle полностью построена на описанной выше поддержке XML. XML-документы естественным образом поддерживаются в iFS, которая может сохранять их двумя способами:

    в реляционной схеме (и потенциально как представления объектов), где они могут быть доступны и обновляться как стандартные данные;

    оригинальный тегированный документ может также сохраняться в CLOB в целях повышения производительности и безопасности. iFS поддерживает Java-интерфейс для разработки приложений, а также широкий набор протоколов, включая SMB, FTP, HTTP, IMAP POP3 и SMTP.

    Продолжение статьи

    Отправить ссылку на страницу по e-mail
    Обсудить на форуме Oracle


    Interface Ltd.
    Тel/Fax: +7(095) 105-0049 (многоканальный)
    Отправить E-Mail
    http://www.interface.ru
    Ваши замечания и предложения отправляйте автору
    По техническим вопросам обращайтесь к вебмастеру
    Документ опубликован: 11.07.01