Пять способов построения WEB-приложений для среды ORACLE
18 апреля 2001 г.
THE 5 WAYS OF BUILDING ORACLE WEB APPLICATIONS,
by Sten Vesterli,
COREBIT, Switzerland
Стен Вестерли,
компания COREBIT, Швейцария
Источник: конференция EOUG (Копенгаген, 2000), презентация 213
[От редакции. Сфера, объединяющая разработку web-приложений и развитие инструментария
для их разработки, очень динамична. Уже известен следующий способ - см. статью
"Технология JavaServer Pages", опубликованную 15 марта в нашем журнале.
Но никто не гарантирует, что сегодня-завтра не появится что-то новенькое, или
вчера мы упустили из вида какой-то уже существующий способ. Главное, что у программиста-разработчика
web-приложений есть выбор, имеется много хороших инструментов для выполнения
поставленных перед ним задач наилучшим образом.
Поскольку в предлагаемой статье технология JavaServer Pages не рассматривается,
приведем анонс из упомянутой статьи.
JavaServer Page - простейший путь создания Web-приложений, которые используют
динамические данные и могут быть воплощены в жизнь средствами HTML и XML
А.Бачин, главный редактор ROIM ]
Обзор
В данной статье дается краткое описание основных типов web-приложений и рассматриваются
пять способов построения этих приложений, которые в настоящее время предлагает
корпорация Oracle. Это:
· "ручной" способ на основе применения PL/SQL,
· а также более "автоматизированные" способы на основе применения:
WebDB,
Oracle Designer,
Oracle Developer и
Oracle JDeveloper.
Для каждого способа описаны преимущества и недостатки. Статья завершается выводом,
о том, какой способ наиболее подходящ для каждого типа приложений.
Введение
В настоящее время в обработке данных происходит переход от классической схемы
клиент-сервер к схеме, по которой построен Internet, и, отвечая этому переходу,
большинство разработчиков средств разработки приложений расширяют комплекты
своих средств; в то же время появляются и много совершенно новых средств. В
данной статье рассматриваются пять способов и комплектов средств, предлагаемых
корпорацией Oracle.
Что такое web-приложение?
Web-приложение - это приложение, клиентская часть которого - web-браузер - использует
протокол TCIP/IP для связи с сервером приложений. Сервер приложений, как правило,
использует отдельный сервер базы данных для хранения информации приложения.
Два основных способа используются для построения web-приложений:
· Приложения на основе применения HTML (HTML-based applications), в этом случае
браузер только показывает HTML-страницы. Такие приложения просто создавать и
они выполняются со всеми браузерами, но их функциональность ограничена возможностями
HTML.
· Приложения на основе применения Java-апплетов, в этом случае весь интерфейс
с пользователем управляется Java-апплетом. Приложения этого типа более сложно
разрабатывать и устанавливать, для них необходим современный, мощный браузер,
но они обладают тем преимуществом, что можно реализовать любой пользовательский
интерфейс.
"Ручной" способ построения web-приложений на основе применения PL/SQL
Разработка приложений на основе применения хранимых PL/SQL-процедур WebDB
Как такое приложение работаетРазработка приложений на основе применения Designer
Как работает такое приложение
Чтобы разработать приложение, используя комплект Oracle Designer, прежде всего
нужно определить его функциональность с применением средств этого комплекта.
Все визуальные средства Oracle Designer, а также Repository Object Navigato,
работают с одним и тем же описанием приложения, которое хранится в таблицах
репозитория Oracle Designer.
Когда приложение определено, вы сможете сгенерировать его код нажатем кнопки.
Код может быть хранимой процедурой PL/SQL для web-приложений или кодом приложений
Developer Forms/Reports.
Преимущества
Используя Oracle Designer, вы получите высококачественную и соответствующую
фактическому состоянию приложения документацию автоматически. Это позволяет
проводить более качественное тестирование (QA).
Если приложение определено в стандартном репозитории Designer, разработчик,
знающий этот комплект, сможет найти любую нужную информацию о приложении, что
делает сопровождение легче, быстрее и дешевле.
И наконец, имея описание приложение в репозитории Designer, вы можете менять
средства взаимодействия с пользователем (front end tools) по мере появления
новых продуктов. Вы можете, например, сейчас сгенерировать ваше web-приложение
как хранимую процедуру PL/SQL, а потом сгенерировать Java Servlets средствами
следующей версии Designer.
Недостатки
Богатство возможностей Oracle Designer имеет свою цену. Может потребоваться
немало времени для задания всех преференций и шаблонов (preferences and templates)
для генерации приложения, которое вам нужно.
Кроме того, Oracle Designer всегда генерирует web-приложения со специфичным
передачей управления между экранами по схеме: Search-overview-detail (поиск-обзор-детали).
Если это не то, что вам нужно, вы должны будете дополнить сгенерированный Designer
код вручную написанным кодом (который, естественно, может быть запомнен в репозитории
Designer).
Разработка приложений на основе применения Oracle Developer
Чтобы пользователи могли применять хорошо известные им средства Oracle Developer
для создания web-приложений, корпорация Oracle разработала серверные компоненты
для Forms и Reports.
Web Forms
Как это работает
Для выполнения приложения Forms в web вы должны установить сервер приложений
с большим объемом оперативной памяти и Oracle Application Server и Forms Server
на этом сервере. Приложения Forms будут храниться на этом сервере приложений.
Затем вы вводите web-адрес (URL) приложения в своем web-браузере, и окно Java-аплета
появится на ПК-клиенте, показывая приложение Forms точно так, как оно выглядит
во время выполнения в среде клиент-сервер.
Преимущества
Преимущество этого метода заключается в том, что вы можете продолжать работать
со знакомым средствомl.
Корме того, существующее приложение, которое было установлено для среды клиент-сервер,
может выполняться как web-приложение почти без изменений.
Недостатки
Чтобы выполнить Java-аплет вам нужна специфическая Java Virtual Machine в браузере,
что, вероятно, требует модернизации браузера до последней версии.
Java-аллет должен загружаться во время выполнения (500 Kбайт) или предварительно
установлен на ПК-клиенте. Но даже в последнем случае старт приложения может
занимать более одной минуты.
И последнее; поскольку большая часть приложения выполняется на сервере приложений,
этому серверу необходима большая оперативная память.
Reports
Как это работает
Чтобы позволить пользователю выполнить отчет из web-браузера, вы должны установить
сервер приложений с Oracle Application Server и Reports Server. Oracle Application
Server передает запросы к Reports Server, который затем выполняет отчет, запоминает
результат и сообщает браузеру о нем.
Приемущества
Этот метод имеет то преимущество над получением отчетов в классической среде
клиент-сервер, что не нужно отдельное ПО на стороне клиента и, соответственно,
не нужно его сопровождение.
Есть возможность конфигурировать Reports server для проверки недавнего выполнения
заданного отчета. Если этот факт имел место и результат отчета сохранился, Reports
Server может немедленно возвратить отчет без обращения к СУБД.
Недостатки
За исключением необходимости устанавливать дополнительное ПО (Reports Server)
для этого способа нет недостатков.
Разработка приложений на основе применения Java Servlets, полученных
с использованием JDeveloper
Как это работает
Чтобы выпонять Java Servlets, вам необходим web-сервер с поддержкой этой технологии.
Большинство web-серверов поддерживают ее либо прямо (как последня версия Oracle
Application Server, 4.0.8), либо через дополнительный продукт.
Приложения Java Servlet подобны приложениям PL/SQL в том, что web-сервер получает
web-адреса, выполняет код (в данном случае классы Java) и возвращает web-страницы.
Преимущества
Приложения Java Servlet имеют то преимущество, что эти приложения не привязаны
к какому-либо поставщику. Вы можете свободно менять серверы приложений и web-серверы
и/или базы данных.
Кроме того, язык Java более современный языке программирования, чем PL/SQL.
Недостатки
Servlet устанавливает соединение с базой данных, используя JDBC, но PL/SQL делает
это (соединение с базой данных) быстрее, что важно для приложений, интенсивно
работающих с базами данных. И поскольку JDeveloper не содержит визульного редактора
HTML, время разработки сравнимо с написанием вручную приложений PL/SQL, т.е.
требуется на 50-100% больше времени для построения приложения Java Servlet,
чем разработка аналогичного приложения средствами Forms.
Сравнение
Легкость установки Возможности Средство разработки Проверка и качество Браузеры
Устойчивость и производ-сть

Заключение
· Чтобы быстро разработать web-приложения с ограниченной функциональностью
вполне подойдет WebDB.
· Если у вас уже есть приложения, созданные с применением Forms
и Reports, вы можете перенести их в среду web с небольшими усилиями, применяя
серверы Developer.
· В том случае, когда важна независимость от поставщика, вы
должны использовать Java Servlets.
· Но для большинства организаций, работающих с продуктами Oracle
и имеющих опыт разработки с PL/SQL, лучшим выбором в настоящее время является
генерация приложений PL/SQL средствами Designer и, в случае необходимости, разработка
вручную кода на PL/SQL