С.Орлик
Может быть немало споров - они идут постоянно - по
поводу механизма эволюции, но никто не оспаривает самого факта. Айзек
Азимов "В начале"
Говоря о том или ином средстве разработки приложений всегда хочется понять
какие тенденции приводят к его появлению. 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), на
котором создаются и конечные приложения.
- 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.
Интерфейсы -
структура
Перспективы использования 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" |
Литература по Borland Delphi
|