Пять способов построения WEB-приложений для среды ORACLE
Стен Вестерли,
компания COREBIT, Швейцария
Поскольку в предлагаемой статье технология 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
Как такое приложение работает
Чтобы использовать web-приложения, созданные с применением PL/SQL, вам будет необходим Oracle Application Server и СУБД Oracle. Такое приложение состоит из набора хранимых процедур PL/SQL, которые используют предоставляемые Oracle пакеты для отправки HTML-страниц клиенту.
Преимущества
Главное преимущество этого способа заключается в том, что все, что можно сделать в рамках HTML, возможно. Когда вы разрабатываете web-страницы, используя HTML и JavaScript, которые делают то, что нужно вашему приложению, вы можете просто перевести каждую строку полученного кода на PL/SQL, а затем добавить любую нужную логику. Вы также обладаете полной свободой при создании переходов между страницами.
Недостатки
Весь код приложения, создаваемых по этому способу, пишется вручную, отсюда ограничения гибкости и функциональности таких приложений. Это приводит к тому, что трудно гарантировать точность документации, что впоследствии приведет к трудностям при поддержке.
Из большого объема кода и способа взаимодействия процедур следует высокая уязвимость к ошибкам этого подхода.
Наконец, отсутствие хороших средств разработки (особенно средств визуального проектирования) означает, что излишние (в сравнении с другими способами) усилия необходимы для разработки пользовательского инфтерфейса. Время разработки поэтому часто на 50% или даже 100% больше, чем в случае разработки аналогичного приложения с применением Forms.
Разработка приложений на основе применения хранимых PL/SQL-процедур WebDB
Как такое приложение работает
Чтобы разработать web-приложение средствами WebDB, вам будут нужны только комплект WebDB и СУБД Oracle. Это комплект использует только браузер, поэтому нет специальных средств разработки на стороне клиента.
Для создания приложения разработчик просто 'проходит' по интерфейсу, используя мастера (wizard), и специфицирует свое приложение, заполняя поля форм в браузере.
Преимущества
Основное преимущество WebDB заключается в том, что очень легко и быстро создать web-приложение с простыми или немного более сложными, чем простые, страницами. Даже непрограммисты могут создавать web-сайты с динамическим контентом, используя WebDB-мастеры.
Недостатки
Недостаток этого способа разработки web-приложений заключается в том, что вы ограничены функциональностью, предлагаемой WebDB-мастерами.
Кроме того, поскольку генерация кода очень зависит от пакетов 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