СТАТЬЯ |
17.07.02
|
Borland Delphi 6 – разработка Web-сервисов
© Нельсон
Кинг (Nelson King)
Статья была опубликована на сайте журнала
Intelligent Enterprise
Программный продукт Delphi 6 корпорации Borland Software - это первый прием борьбы за умы и кошельки разработчиков в войне Web-сервисов. Борьба идет за то, чтобы доказать: Web-сервисы - это не пустая расхожая фраза, они находят воплощение в реальном коде и работающих приложениях.
Сведения
о программном продукте
|
|
Наименование продукта | Delphi 6 |
Производитель | Borland Software Corp. |
Требования к оборудованию | Microsoft Windows 98/Me, Windows NT 4.0 с Service Pack 5 или более поздним, Windows 2000; Pentium 166 МГц, 64 Мбайт оперативной памяти, 350 Мбайт свободного пространства на жестком диске (на компакт-диске - 115 Мбайт), дисковод CD-ROM, графическая карта VGA |
Delphi - наиболее зрелая из выпущенных Borland сред разработки приложений; продукт, в котором впервые появлялось большинство из основных технологических новшеств компании, включая «двунаправленные» (two-way) инструментальные средства и сверхбыстрый компилятор машинного кода. В соответствии с этой традицией в Delphi 6 представлены новые технологии и инструментальные средства, которые позволяют успешно интегрировать Web-сервисы в общую среду разработки приложений.
Хотя Borland, конечно, гораздо меньше таких гигантов, как Microsoft, Oracle, IBM и Sun Microsystems, с которыми ей приходится конкурировать, компании удалось не потерять себя за все эти годы. У Delphi есть своя армия разработчиков, сохранявшая преданность компании и в хорошие, и в плохие времена. В своих лучших проявлениях Borland - несомненный лидер в технологии программирования, а Delphi 6 представляет лучшее из технологий компании на сегодняшний день.
Основной вопрос звучит прямо и откровенно: стоит ли обновлять программное обеспечение до Delphi 6 и стоит ли сегодняшним пользователям Delphi переходить на нее? Несомненно. Другой вопрос интересен всем и исключительно важен для Borland: может ли Delphi 6 предложить что-то такое, что расширит ряды ее приверженцев? Конкуренция разыгралась не на шутку, на рынке масса сред разработки приложений - основанных на Java (даже у Borland есть своя), на C++, на C# (новом языке Microsoft) и Visual Basic, - а арена борьбы существенно расширилась за счет Интернета. Об этом мы и поговорим в данном обзоре.
Язык и библиотека компонентов
Delphi - это среда разработки приложений, созданная на базе языка программирования, который называется ObjectPascal и представляет собой гибрид Pascal и объектно-ориентированного подхода к программированию (ООП). ObjectPascal несложно изучить, особенно если вы уже знаете какой-то другой объектно-ориентированный язык. Реализация объектно-ориентированного подхода в продуктах Borland улучшалась с каждым годом и теперь представляет собой полнофункциональную и устойчивую объектную модель. В этой модели, основанной на библиотеке компонентов VCL (Visual Component Library), имеется грамотно спроектированная и законченная иерархия классов, с которой, в общем, просто и удобно работать.
Компоненты библиотеки написаны на ObjectPascal; их исходный код поставляется в версиях Professional Edition и Enterprise Edition. Каждая из версий содержит более 300 компонентов с поддержкой как высокоуровневых, так и низкоуровневых функций: в частности, обеспечивается поддержка API для Win32, SOAP (Simple Object Access Protocol) и Winsock. Пусть программистам может никогда не понадобиться исходный текст VCL, для них очень важно иметь представление о библиотеке, и не только на уровне свойств компонентов.
Оригинальная версия VCL представляла собой набор компонентов только для Windows. Теперь в Delphi 6 есть альтернативная библиотека компонентов, которая называется Component Library for Cross Platform. Она открывает путь к использованию Borland Kylix - «мостика» к Linux (Kylix - это Delphi-подобная среда разработки для Linux). Borland долго колебалась между совместимостью с продуктами Microsoft и развитием по собственному пути (за последнее десятилетие эти колебания часто не лучшим образом сказывались на качестве продуктов компании). Delphi 6 также создана в рамках этого подхода - среди прочего в ней поддерживаются стандарты XML, SOAP и WSDL (Web Services Description Language - «язык описания Web-сервисов») в соответствии с официальной позицией Microsoft, а иногда и несколько опережая ее.
RAD IDE
Основная идея методики быстрой разработки приложений (Rapid Application Development, RAD) заключается в том, чтобы предоставить разработчикам инструментальные средства, позволяющие программировать на более высоком уровне - обычно на уровне компонентов, чтобы можно было максимально быстро, «на скорую руку» собирать готовые приложения. Delphi давно относят к RAD-средам; более того, она способствовала выработке соответствующих стандартов.
Основные элементы интегрированной среды разработки (integrated development environment, IDE) - поверхности визуальных форм, редактор исходного текста, диспетчер проектов, отладчик и средство просмотра классов - сделаны на высоком уровне. Система позволяет программисту быстро добавлять компоненты в визуальные формы, редактировать свойства, дописывать связующий код, а затем компилировать и сразу видеть результаты. Borland категорически утверждает, что у нее самый быстрый в мире компилятор для Windows и процессоров Intel. И я верю этому утверждению. Если учесть, что процесс программирования в основном состоит из циклов «компиляция - запуск - отладка», то быстродействие компилятора действительно может быть предметом гордости. Компилятор генерирует машинный код для Intel-систем, создавая EXE- и DLL-файлы приложений, которые выполняются так же быстро, как и написанные на C++.
Я был рад обнаружить, что давно знакомая и удобная среда Delphi IDE в Delphi 6 еще улучшилась. В переработанном интерфейсе программирования есть то, что понравится многим опытным программистам, - в равной мере поддерживается как невизуальное (например, манипуляции с методами или данными), так и визуальное программирование (формы). Во многих системах разработки все броские возможности сконцентрированы на программировании интерфейса пользователя, а ведь львиная доля программирования мало или никак не связана с элементами пользовательского интерфейса. В Delphi 6 мастера и средства редактирования настроены для невизуального программирования; например, Data Module состоит из разнообразных форм, специально приспособленных для работы с невизуальным кодом.
В IDE есть еще много других новых возможностей, часть из которых описаны ниже.
Подход Delphi состоит в том, чтобы как можно быстрее дать программисту оболочку или каркас приложения. Далее к этому каркасу присоединяются нужные компоненты, настраиваются свойства и добавляется код - в результате получается работоспособная программа. Delphi - исключительно гибкая система, в которой разработчик чувствует себя одинаково комфортно, создает ли он DLL-библиотеку, распределенный объект, форму приложения или Web-сервис.
Таким образом мы подошли к обсуждению новинок Delphi 6, главные из которых - модули разработки Web-сервисов: WebSnap, BizSnap и DataSnap. Слово «snap» означает просто возможность быстро собрать что-то вместе; однако в Delphi эти названия придают «программистские» черты концепции Web-сервисов. Я потратил довольно много времени на изучение и исследование новых возможностей; не могу сказать, что в результате я стал ярым приверженцем Web-сервисов, но все же инструментальные средства Delphi заметно способствуют осознанию того, как следует их создавать и использовать.
Модуль DataSnap применяется там, где нужна «посредническая» функциональность, - на промежуточном уровне между серверами баз данных и клиентскими приложениями. Его основная задача - обеспечить подключение «без состояний» для данных из различных источников при помощи различных протоколов, таких как DCOM и CORBA. Поддерживаются несколько видов подключений: непосредственно через драйверы, Microsoft ADO или Borland Database Engine. Данные подключений сохраняются в локальном (на сервере или клиенте) наборе данных (DataSet). В промежутке между подключением и набором данных разработчику предоставлены широкие возможности контролировать корректность данных и применение бизнес-правил. Поддержка Web-сервисов в этом модуле обеспечивается за счет использования XML в качестве посреднического формата и протокола SOAP в качестве транспорта. Часть DataSnap, относящаяся к управлению базами данных, покажется большинству разработчиков знакомой, однако работа с ней в контексте SOAP станет интересной возможностью освоить новые технологии.
Модуль WebSnap - это своего рода платформа разработки приложений для Web-сервисов и приложений, взаимодействующих с Web-серверами (ISAPI, NSAPI, Apache и большинство серверов с поддержкой CGI). В сущности, он выполняет по отношению к HTML- и DHTML-страницам те же функции, что и DataSnap по отношению к базам данных, т. е. это своего рода промежуточный уровень, обеспечивающий «связку» различных сценариев (например, JavaScript и VBScript) и HTML в одном приложении Delphi. Эта задача решается благодаря использованию специальной формы WebModule, в которой размещаются компоненты и методы WebActions для поддержки общих методов в Web. В Delphi предусмотрен усовершенствованный мастер WebSnap Wizard, позволяющий создавать серверные программы для всех основных Web-серверов. Это огромный шаг вперед по сравнению с существовавшим ранее «мозаичным» процессом разработки таких приложений, а откомпилированные такой системой программы работают исключительно быстро.
На уровне компонентов используется BizSnap - платформа разработки Web-сервисов для бизнеса, в первую очередь приложений B2B и B2C. В этом модуле язык XML применяется в качестве среды-преобразователя между локальными данными и данными бизнес-партнеров. Для поддержки этих операций BizSnap предоставляет несколько превосходных средств анализа и сопоставления. Для управления взаимодействием между приложениями в BizSnap используется SOAP. Использование SOAP-объектов существенно упрощает процесс разработки Web-сервисов для многих видов бизнес-операций. В определенных областях BizSnap заменяет приложения COM и CORBA, хотя Borland стремится к сосуществованию с этими более старыми протоколами - равно как и с новыми структурами, такими как Microsoft .NET, Oracle.NOW и Sun ONE.
В совокупности эти три набора технологий предоставляют разработчикам более чем достаточный набор инструментальных средств для изучения и создания Web-сервисов, в особенности на предприятиях для поддержки отношений типа B2B через Web. Это уникальная среда, и хотя она еще сравнительно молода и быстро развивается (даже стандарты, на которых она основана, не до конца оформились), она обеспечивает Delphi крупное преимущество на старте в том, что связано с Web-сервисами.
Delphi не заменит Java или C++ в программировании приложений уровня предприятия. Но она четко соответствует классу систем для разработки повсеместно нужных приложений обработки данных, утилит и небольших программ, жизненно важных для бизнеса. Теперь в единую систему разработки программ добавилась поддержка Web-приложений и сервисов. В этой сфере Delphi уверенно конкурирует с Microsoft Visual Basic. С точки зрения разработчиков ПО и корпоративных ИТ-подразделений, Delphi - это современная система, не связанная ни с Microsoft, ни с Java. Вы можете возразить, что она не относится к господствующим системам, однако ее положение «на перекрестке» различных технологий имеет много преимуществ - особенно в сфере быстро развивающихся Web-стандартов. Выпустив Delphi 6, Borland доказала, что не только может догонять, но и в состоянии повести отрасль за собой.
Комментарий
представительства Borland в России,
странах СНГ и государствах Балтии
Сергей Орлик,
менеджер представительства Borland по продуктам
Дополнительная информация
Delphi
6 и Web-сервисы
Delphi 6 - визуальное
средство быстрой разработки приложений
Курсы по продуктам
фирмы Borland
Приобрести
продукцию Borland в электронном магазине ITshop.ru
Дополнительную информацию Вы можете получить в компании Interface Ltd.
Обсудить
на форуме Borland
Отправить
ссылку на страницу по e-mail
Interface
Ltd. Отправить E-Mail http://www.interface.ru |
|
Ваши
замечания и предложения отправляйте
автору По техническим вопросам обращайтесь к вебмастеру Документ опубликован: 17.07.02 |