Borland Delphi как инструмент корпоративного разработчика

С.Орлик, Borland


Может быть немало споров - они идут постоянно - по поводу
механизма эволюции, но никто не оспаривает самого факта.
Айзек Азимов
"В начале"

Говоря о том или ином средстве разработки приложений всегда хочется понять какие тенденции приводят к его появлению. Borland Delphi не является исключением из правил. Итак, что же мы имели к середине 90-х?
Одно направление - объектно-ориентированный подход, хорошо структурирующий задачу, как таковую, так и ее решение в виде прикладной системы.
Другое направление, возникшее во многом благодаря объектной ориентации, - визуальные средства быстрой разработки приложений (RAD - Rapid Application Development), основанные на компонентной архитектуре.
Третья тенденция - использование компиляции, а не интерпретации. Это объясняется тем, что скоростные характеристики компилируемых приложений в десятки раз лучше, чем у систем, использующих интерпретатор. При этом повышается легкость отчуждаемости готовых систем, так как отпадает необходимость "таскать за собой" сам интерпретатор (run-time), выполненный обычно в виде динамической библиотеки и занимающий в лучшем случае несколько сотен килобайт (а большинстве случаев - два-три мегабайта). Отсюда и меньшая ресурсоемкость у скомпилированных систем.
Четвертая тенденция - возможность работы с базами данных универсальными (единообразными) методами. Если мы попытаемся оценить процент систем, которые так или иначе требуют обработки структурированной информации (как для внутрикорпоративного использования, так и для коммерческого или иного распространения), то окажется, что цифра 60- 70% может представлять лишь нижнюю границу. Важным свойством средств обеспечения доступа к базам данных является их масштабируемость, как возможность не только количественного, но и качественного роста системы. Например, обеспечение перехода от локальных ,в том числе, файл-серверных данных к архитектуре клиент-сервер или тем более к многоуровневой N-tier схеме.

Delphi создавался как продукт, в полной мере реализующий описанные тенденции, с архитектурой, открытой для расширения спектра поддерживаемых стандартов и подходов.

Критерии выбора корпоративных инструментов в применении к Borland Delphi

Говоря об инструментах, ориентированных на создание систем корпоративных масштабов, мы должны абсолютно четко представлять предъявляемые к ним требования. Попытаемся сформулировать некоторые из них.

  1. Крупные информационные системы требуют гибкости инструмента, с точки зрения возможности наращивания функциональности повторно используемого программного кода и реализации нестандартных решений (пользовательский интерфейс, межпрограммное взаимодействие, интеграция с унаследованными системами - legacy systems, доступ к системным ресурсам и т.п.). Полнота реализации объектной модели (неограниченные возможности расширения иерархии наследования объектов) + возможность изменения функциональности объектов без создания новых объектных типов - классов (обработчики событий).
  2. Создание корпоративных систем требует коллективной работы Поддержка групповой разработки (системы контроля версий, разделяемые словари данных и репозитарии объектов) + разделение работ за счет абстрагирования задач и конструирования приложений из функционально полных объектов - компонентов, создаваемых членами коллектива для совместного использования.
  3. "Единство противоположностей": Нейтральность по отношению к используемым форматам БД + поддержка специфики конкретных способов хранения/доступа к данным Универсальный механизм доступа к данным.
  4. Требования к производительности Компиляция, в случае платформо-зависимых решений.
  5. Охватывание всех этапов разработки - от проектирования до создания отчуждаемых приложений (дистрибутивов), через кодирование и отладку Открытость среды разработки, в плане возможностей интеграции с другими продуктами.
Рассмотрим, насколько Delphi удовлетворяет выше перечисленным требованиям.
  1. Delphi использует язык 3-го поколения Object Pascal, обладающий полной реализаций основных признаков объектной ориентации (инкапсуляция, наследование, полиморфизм), поддержкой RTTI-RunTime Type Information и встроенной обработкой исключительных ситуаций (Exception handling). Компонентная архитектура Delphi является прямым развитием поддерживаемой объектной модели. Все компоненты являются объектными типами (классами), с возможностью неограниченного наследования. Компоненты Delphi поддерживают PME-модель (Property, Method, Events), позволяющую изменять поведение компонентов без необходимости создания новых классов.

    Компоненты Delphi
  2. Delphi 2 Client/Server Suite включает систему контроля версий Intersolv PVCS, поддерживает работу со словарем данных (Data Dictionary) и Репозитарием объектов (Object Repository). Среда визуальной разработки Delphi позволяет единообразно работать как с предопределенными, так и с пользовательскими компонентами, которые разрабатываются на том же языке (Object Pascal), на котором создаются и конечные приложения.

    Delphi 2 Client/Server Suite (GIF,12Kb)
  3. Borland Database Engine (BDE) обеспечивает единообразную работу с локальными данными (Paradox, dBase) и серверами БД (Oracle, Sybase, MS SQL Server, InterBase и т.д.), за счет применения навигационных методов доступа к серверным СУБД (двунаправленные курсоры, закладки и т.п.) и SQL - к локальным форматам (подмножество Local SQL).

    Borland Database Engine
  4. Компилятор Delphi является самым быстрым; имеет общий генератор кода с Borland C++ (Delphi 2 & BC++ 5). Компилятор Delphi (точнее, Object Pascal) является продолжением линии компиляторов Turbo Pascal / Borland Pascal.
  5. Открытые интерфейсы Delphi - Open Tools API - обеспечивают контроль над средой разработки "из вне" и доступ к информации о проекте.

Интерфейсы - структура
Интерфейсы - структура


Интерфейсы - иллюстрация (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
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

RatingProductPerformanceVersatilityEase of Use

****

Delphi9.69.27.3

***

Visual Basic8.38.26.9

**

SQL Windows5.29.16.7

**

Power Builder5.47.86.8
"Delphi's performance is head and shoulders above all of its competitors"

[Назад] [Содержание] [Вперед]