Cоздание приложений для ORACLE с помощью Delphi Client-Server

=== Создание приложений для ORACLE с помощью Delphi Client-Server ===
Потребность в автоматизации самых разнообразных сфер человеческой деятельности накладывает определенные требования к создаваемым информационным системам. Эти требования связаны не только со сложностью, многообразием и большим объемом обрабатываемых данных, но и с тем, что большинство пользователей таких систем не являются специалистами в области компьютерных технологий, а имеют совершенно другие профессии. Поэтому, наряду с определенными требованиями, связанными с доступом к используемым данным, интерфейс приложений, с которыми работает пользователь, должен быть максимально простым, интуитивно понятным, и в то же время отвечающим определенным сложившимся на сегодняшний день стандартам, так, чтобы пользователь легко мог освоить очередное приложение. Это означает, что созданное приложение должно, как правило:
* иметь меню, похожее на стандартное, с разделами "Файл", "Редактирование", "Сервис", "Справка" (или похожее), при этом пункты меню должны иметь соответствующие "горячие" клавиши клавиши быстрого доступа; 
* иметь инструментальную панель, содержащую кнопки, дублирующие наиболее часто используемые пункты меню; 
* использовать полосы прокрутки, группы радиокнопок, списки, выключатели, строки редактирования и другие интерфейсные элементы, традиционно используемые в современных приложениях; 
* использовать правую клавишу мыши для вызова контекстно-зависимых меню; 
* иметь контекстно-зависимую справочную систему, подсказки для интерфейсных элементов, панель для отражения текущего состояния приложения и комментариев.
Помимо этого, при создании информационной системы следует учитывать возможные пути и возможности ее модернизации, например, потенциальную возможность переноса ее в архитектуру клиент-сервер или замену одного сервера баз данных другим. Такая модернизация должна требовать разумных трудозатрат и происходить безболезненно для пользователя.
Утверждение о том, что приложение должно обладать высокой производительностью, является банальным, однако об этом тоже следует помнить при выборе средства разработки, так как задержки при выполнении тех или иных операций являются одной из главных причин недовольства пользователей.
Современные средства быстрой разработки Windows-приложений, или так называемые RAD-средства (RAD расшифровывается как Rapid Application Development) обладают в той или иной степени почти всеми возможностями создания в приложениях подобных интерфейсных элементов. Многие из них позволяют осуществлять доступ с базам данных, в том числе и к серверным БД. Однако Borland Delphi (как версия 1.0, так и версия 2.0), на взгляд автора, является в этом отношении наиболее наиболее простым и удобным в использовании средством.
Причины этого заключаются в следующем:
* создание пользовательского интерфейса происходит практически без написания кода; 
* поддерживаются все стандартные интерфейсные элементы - окна просмотра, списки, выключатели, радиокнопки и радиогруппы, полосы прокрутки, меню (как оконные, так и привязанные к конкретным элементам), а также большое количество иных полезных интерфейсных элементов - блокнотов а-ля Word, прогресс-баров и т.д.; 
* легко создаются контекстно-зависимая справка, ярлычки с подсказками, панели состояний, инструментальные панели; 
* имеется большая библиотека шаблонов форм и приложений, которую можно пополнять своими шаблонами; 
* доступ к данным, будь то плоские таблицы или серверные БД типа ORACLE, совершенно однотипен, а описание конкретных источников данных можно вынести за пределы приложения в специальный файл конфигурации библиотеки BDE, обеспечивающей универсальную работу с разнородными данными, вплоть до гетерогенных запросов (это могут сделать далеко не все RAD-средства); 
* в процессе разработки можно пользоваться реальными данными, отображаемыми в соответствующих интерфейсных элементах; 
* приложения отличаются высокой производительностью, так как они являются полностью скомпилированными выполняемыми модулями (а большинство используемых RAD-средств использует интерпретируемый код), а, кроме того, язык программирования Object Pascal, используемый в Delphi, отличается жесткой типизацией переменных, что также положительно сказывается на производительности; 
* отладка приложений очень удобна за счет того, что, во-первых , компилятор Pascal является очень быстрым, во-вторых, поддерживается инкрементная компиляция, в-третьих, в среду разработки встроен удобный и гибкий отладчик; 
* средства работы с графикой так же удобны, как и в Pascal (для средств разработки приложений, работающих с БД, это большая редкость); 
* поддерживаются элементы VBX (в первой версии) и OCX (во второй версии); на сегодняшний день на рынке имеется также большое количество дополнительных компонент для Delphi, созданных на самой Delphi, и их создание является несложным процессом; 
* имеется интерфейс со средством контроля версий Intersolv PVCS, облегчающий групповую разработку крупных проектов; 
* имеются удобные средства генерации отчетов, при этом можно использовать и генераторы отчетов сторонних разработчиков (например, Crystal Reports); 
* среда разработки создана с учетом последних достижений в области эргономики - никаких лишних движений мышью, или лишних нажатий на клавиши (рис.1).
Как создаются приложения на Delphi? Это очень просто. Вы создаете новый проект (или используете готовый шаблон), помещаете на форму интерфейсные элементы, компоненты для доступа к данным, связываете все это между собой в инспекторе объектов, если нужно, дописываете обработчики событий (это может и не потребоваться) - и приложение готово! (рис.2).
Что интересного может предложить Delphi для разработчиков информационных систем на базе ORACLE?
* Во-первых, высокопроизводительный драйвер этой СУБД (хотя, конечно, никто не запретит Вам пользоваться ODBC, который, естественно, поддерживается Delphi).
* Во-вторых, Ваши приложения будут добросовестно цитировать все высказывания созданных на сервере триггеров, если таковые будут срабатывать во время работы приложения.
* В-третьих, если Вы используете версию 2.0 - в Вашем распоряжении репозиторий, включающий словарь данных, навигатор баз данных, SQL-монитор, поддержка хранимых процедур и сессий, модули данных, огромное разнообразие интерфейсных элементов, в том числе и похожих на те, что есть в Oracle Power Objects, а также неограниченные возможности наращивания функциональности среды разработки за счет дополнительных эспертов, редакторов свойств и компонент.
* В-четвертых, Вы можете легко интегрировать в среду разработки продукты третьих фирм, например, для интерфейса с CASE-средствами (один из таких продуктов, CASE Expert - средство для экспорта ER-диаграммы в словарь данных Delphi, входит в поставку Delphi 2.01).
Отметим также, что Delphi 2.0 поддерживает многопоточность, OLE-automation и другие механизмы и технологии 32-разрядных операционных систем Windows. В Delphi 2.0 имеются эффективные механизмы обработки транзакций с использванием механизмов кэшированного обновления данных, поддерживается ряд расширений SQL, имеется Data Pump Expert для переноса данных между серверами и масштабирования приложений. В обеих версиях Delphi Client/Server имеется визуальный конструктор запросов, позволяющий сгенерировать многотабличный запрос на языке SQL, в том числе с вычисляемыми полями (интерфейс и рабочий экран этого конструктора напоминает по внешнему виду некоторые популярные CASE-средства).
Помимо этого, Delphi прекрасно работает с Personal Oracle, что существенно облегчает разработку и отладку приложений, позволяя вынести эти процессы за пределы сети, в которой эксплуатируется действующая версия информационной системы.
На мой взгляд, у Delphi есть один крупный недостаток - созданные приложения не являются многоплатформенными и могут эксплуатироваться только в Windows 95 и NT в случае версии Delphi 2.0, а также дополнительно в Windows 3.1 и 3.11 в случае версии Delphi 1.0 . Но и этот недостаток можно преодолеть путем использования технологии Intranet в корпоративных системах, когда приложение, созданное на Delphi, запускается Web-сервером, а полученные формы отображаются в Web-броузере на компьютере пользователя, где может быть использована любая другая операционная система, отличная от Windows.
Таким образом, Delphi Client/Server 1.0 и Delphi Client/Server Suite 2.0 являются очень удобными инструментами для создания клиентских приложений, использующих серверы ORACLE. Об этом свидетельствует высокая популярность этого средства среди разработчиков программ. Если Вы выбрали это средство - Вы всегда найдете друзей и единомышленников, готовых помочь Вам в случае появления каких-либо проблем, в том числе и в фирме "Интерфейс", имеющей авторизованный учебный центр Borland и консультационную службу.
Author: Наталия Елманова, Центр Информационных Технологий
Source: http://delphiworld.narod.ru/
ID: 02738