Borland Delphi как инструмент корпоративного
разработчика
С.Орлик, Borland
Может быть немало споров - они идут постоянно - по
поводу
механизма эволюции, но никто не оспаривает самого факта.
Айзек Азимов
"В
начале"
Говоря о том или ином средстве разработки приложений всегда хочется понять какие
тенденции приводят к его появлению. Borland Delphi не является исключением из правил. Итак,
что же мы имели к середине 90-х?
Одно направление - объектно-ориентированный подход, хорошо структурирующий
задачу, как таковую, так и ее решение в виде прикладной системы.
Другое направление, возникшее во многом благодаря объектной ориентации, - визуальные
средства быстрой разработки приложений (RAD - Rapid Application Development),
основанные на компонентной архитектуре.
Третья тенденция - использование компиляции, а не интерпретации. Это объясняется тем,
что скоростные характеристики компилируемых приложений в десятки раз лучше, чем у систем,
использующих интерпретатор. При этом повышается легкость отчуждаемости готовых систем, так
как отпадает необходимость "таскать за собой" сам интерпретатор (run-time), выполненный
обычно в виде динамической библиотеки и занимающий в лучшем случае несколько сотен
килобайт (а большинстве случаев - два-три мегабайта). Отсюда и меньшая ресурсоемкость у
скомпилированных систем.
Четвертая тенденция - возможность работы с базами данных универсальными
(единообразными) методами. Если мы попытаемся оценить процент систем, которые так или
иначе требуют обработки структурированной информации (как для внутрикорпоративного
использования, так и для коммерческого или иного распространения), то окажется, что цифра 60-
70% может представлять лишь нижнюю границу. Важным свойством средств обеспечения доступа
к базам данных является их масштабируемость, как возможность не только
количественного, но и качественного роста системы. Например, обеспечение перехода от
локальных ,в том числе, файл-серверных данных к архитектуре клиент-сервер или тем более к
многоуровневой N-tier схеме.
Delphi создавался как продукт, в полной мере реализующий описанные тенденции, с архитектурой,
открытой для расширения спектра поддерживаемых стандартов и подходов.
Критерии выбора корпоративных инструментов в применении к
Borland Delphi
Говоря об инструментах, ориентированных на создание систем корпоративных масштабов, мы
должны абсолютно четко представлять предъявляемые к ним требования. Попытаемся
сформулировать некоторые из них.
- Крупные информационные системы требуют гибкости инструмента, с точки зрения
возможности наращивания функциональности повторно используемого программного кода и
реализации нестандартных решений (пользовательский интерфейс, межпрограммное
взаимодействие, интеграция с унаследованными системами - legacy systems, доступ к системным
ресурсам и т.п.).
Полнота реализации объектной модели (неограниченные возможности расширения иерархии
наследования объектов) + возможность изменения функциональности объектов без создания новых
объектных типов - классов (обработчики событий).
- Создание корпоративных систем требует коллективной работы
Поддержка групповой разработки (системы контроля версий, разделяемые словари данных и
репозитарии объектов) + разделение работ за счет абстрагирования задач и конструирования
приложений из функционально полных объектов - компонентов, создаваемых членами коллектива для
совместного использования.
- "Единство противоположностей": Нейтральность по отношению к используемым форматам
БД + поддержка специфики конкретных способов хранения/доступа к данным
Универсальный механизм доступа к данным.
- Требования к производительности
Компиляция, в случае платформо-зависимых решений.
- Охватывание всех этапов разработки - от проектирования до создания отчуждаемых
приложений (дистрибутивов), через кодирование и отладку
Открытость среды разработки, в плане возможностей интеграции с другими
продуктами.
Рассмотрим, насколько Delphi удовлетворяет выше перечисленным требованиям.
- Delphi использует язык 3-го поколения Object Pascal, обладающий полной реализаций
основных признаков объектной ориентации (инкапсуляция, наследование, полиморфизм),
поддержкой RTTI-RunTime Type Information и встроенной обработкой исключительных ситуаций
(Exception handling). Компонентная архитектура Delphi является прямым развитием
поддерживаемой объектной модели. Все компоненты являются объектными типами (классами), с
возможностью неограниченного наследования. Компоненты Delphi поддерживают PME-модель
(Property, Method, Events), позволяющую изменять поведение компонентов без необходимости
создания новых классов.
Компоненты Delphi
- Delphi 2 Client/Server Suite включает систему контроля версий Intersolv PVCS, поддерживает
работу со словарем данных (Data Dictionary) и Репозитарием объектов (Object Repository). Среда
визуальной разработки Delphi позволяет единообразно работать как с предопределенными, так и с
пользовательскими компонентами, которые разрабатываются на том же языке (Object Pascal), на
котором создаются и конечные приложения.
Delphi 2
Client/Server Suite (GIF,12Kb)
- Borland Database Engine (BDE) обеспечивает единообразную работу с локальными данными
(Paradox, dBase) и серверами БД (Oracle, Sybase, MS SQL Server, InterBase и т.д.), за счет
применения навигационных методов доступа к серверным СУБД (двунаправленные курсоры,
закладки и т.п.) и SQL - к локальным форматам (подмножество Local SQL).
Borland Database Engine
- Компилятор Delphi является самым быстрым; имеет общий генератор кода с Borland C++
(Delphi 2 & BC++ 5). Компилятор Delphi (точнее, Object Pascal) является продолжением линии
компиляторов Turbo Pascal / Borland Pascal.
- Открытые интерфейсы Delphi - Open Tools API - обеспечивают контроль над средой
разработки "из вне" и доступ к информации о проекте.
- Delphi 2.01 Client/Server Suite включает CASE Expert, позволяющий
импортировать данные из ведущих CASE в словарь данных Delphi,
интегрировать IDE (Integrated Development Environment) с генераторами кода
(например, Silver Run RDM компании CSA, WithClass 3.0 и т.п.).
- "Эксперты" (программные модули, встраиваемые в IDE) позволяют
использовать Delphi как "скелет" - общую среду разработки - для всего
комплекса используемых инструментов.
- Delphi 2 включает "генератор дистрибутивов" Install Shield Express.
Интерфейсы - структура
Интерфейсы - иллюстрация (GIF,15Kb)
Перспективы использования Delphi
При построении систем масштаба предприятия практически невозможно избежать
неоднородности (разные ОС, СУБД, промежуточное ПО и т.п.). Встает вопрос о средствах
объединения разных технологических платформ. Достаточно четко можно разбить архитектурно
грамотную информационную систему на три "модуля" - клиентский, сервер приложений и БД.
В рамках новой инициативы Golden Gate, Borland объединяет уже имеющиеся технологии с
достижениями Open Environment Corporation - OEC (приобретена компанией Borland) в области
средств для построения многоуровневых, распределенных систем. Продукт OEC OLEnterprise
обеспечивает распределенные вычисления на базе технологий OLE automation / RPC (Remote
Procedure Call) поверх D-COM и в отсутствии такового на всех платформах Windows (в том числе
Win16). Полная автоматизация импорта/экспорта объектов в сети позволяет избежать
необходимости изменения кода приложений для их взаимодействия на разных участках сети.
В силу того, что Delphi полностью поддерживает OLE-automation и предоставляет
высокоуровневые средства работы с этими механизмами (специализированные классы, эксперты,
языковые расширения), вариант совместного использования Delphi & OLEnterprise может оказать
решающее воздействие на архитектуру системы => распределенные вычисления и локальные
рабочие места - все в одном коде.
OEC Architecture
Так как Delphi обеспечивает создание "чистого" (native) кода посредством компиляции (например
в самодостаточную - без интерпретатора - динамическую библиотеку DLL), возможна тонкая
интеграция полученных программных модулей не только с 3-ми клиентскими приложениями но и с
серверами приложений и баз данных на платформах Windows (в большей степени Windows NT, как
следствие ее приспособленности для поддержки серверных звеньев). В качестве примера можно
привести построение определяемых пользователем функций UDF для серверов БД Borland
InterBase (например, для специфической обработки BLOB-полей).
Главной целью Golden Gate является объединение лучших черт архитектуры клиент/сервер и
модели intranet. И первым этапом ее реализации является добавление средств интеграции с
Internet-технологиями в уже имеющиеся средства разработки. Delphi не является исключением.
Выпущенная летом 1996 года обновленная версия Delphi 2.01 включает поддержку модулей
сопряжения с Internet для Windows 95/NT - WinINET; возможность построения блоков расширения
Microsoft Information Server через интерфейсы ISAPI & ISAPI Filter; 8 элементов ActiveX,
полностью реализующих логику поддержки основных Internet-протоколов и HTML (обработка +
отображение => построение броузеров) в виде повторно используемых компонентов.
ActiveX
С этих точек зрения, гибкость такого инструмента корпоративного разработчика, как Delphi
становится не менее важным фактором, чем возможность стандартизации бизнес-логики и
организации бизнес-процессов, но это уже тема для другого доклада.
Golden Gate
Delphi 2.0
Software Digest March 1996, NSTL
Client-Server Development Tools
Rating | Product | Performance | Versatility | Ease of Use |
**** | Delphi | 9.6 | 9.2 | 7.3 |
*** | Visual Basic | 8.3 | 8.2 | 6.9 |
** | SQL Windows | 5.2 | 9.1 | 6.7 |
** | Power Builder | 5.4 | 7.8 | 6.8 |
"Delphi's performance is head and shoulders above all of its competitors" |
[Назад]
[Содержание]
[Вперед]