В связи с появлением новых версий продуктов компании Inprise (Borland) - Delphi 4, C++Builder 3 и Interbase 5 - российское представительство компании провело серию семинаров, посвященных упомянутым средствам разработки.

 

Поскольку Inprise имеет большую популярность и авторитет, мы воспользовались присутствием ее сотрудников в Киеве и обратились к ним с просьбой немного рассказать о новинках. На наши вопросы ответили менеджер по продуктам Сергей Орлик (sorlik@inprise.ru) и эксперт Андрей Сергеев (asergeev@inprise.ru). Думаем, что комментарии профессионалов вызовут интерес читателей и помогут им лучше ориентироваться в море инструментов RAD (Rapid Application Developement).


Вырвавшись в авангард средств "быстрой разработки", Delphi позволил своим создателям представить в качестве "инструмента RAD" также и С++ Builder. В чем же состоят особенности средств "быстрой разработки приложений"?
 

Сергей Орлик: Быстра разработка приложений (RAD - Rapid Application Developement) основывается на визуализации процесса создани программного кода. Хотя большинство поставщиков инструментальных средств уже не один год размахивают флагом с лозунгом RAD, в действительности многие из них приравнивают RAD к визуальной генерации пользовательского интерфейса. На самом деле идея RAD не сводитс только к помещению управляющих элементов на «формы» и к установке их свойств. RAD подразумевает переход к компонентному программированию, при котором компоненты (будучи полноценными объектами) могут быть как визуальными, так и невизуальными; атомарными и контейнерными (т. е. содержащими другие компоненты); низкоуровневыми (системными) и высокоуровневыми. Сам процесс разработки «в стиле RAD» подразумевает определенные особенности поведения компонентов на этапе создания приложений (design-time). При этом компоненты не являются «просто объектами», включающими только данные и методы. Концепция компонентов дополняет традиционную объектную модель, как минимум, понятием свойства. Свойства, с одной стороны, позволяют работать с данными так же, как с членами классов, а с другой стороны, скрывают за операциями чтения/записи вызовы методов, переводя операции над объектами на более высокий уровень абстракции.( Олег Гопанюк. Редакторы свойств для компонентов Delphi // Компьютеры + Программы, 1999, № 1 (52). - Здесь и далее прим. науч. ред.) На этом этапе разработки приложения главным является наличие таких свойств, как published. Кроме того, концепци свойств развивает классические идеи защиты объектов, обеспечивая разграничение операций чтения и записи свойств.

 

Традиционный подход к архитектуре программных библиотек (в том числе объектно-ориентированных) не предусматривает различия в поведении на этапе разработки (design-time) и в период автономного исполнения (run-time). Классические объекты C++ не поддерживают поняти свойства.

 

По этим причинам было решено положить в основу нового поколени инструментальных средств для C++ не просто объектную (OWL или MFC), но компонентную библиотеку. Так как Delphi к этому моменту уже зарекомендовал себя на рынке RAD как наиболее гибкий компонентный инструмент, библиотека Visual Components Library (VCL) и стала основой C++Builder, обеспечив в то же врем возможность применения хорошо зарекомендовавших себя концепций и средств Delphi в мире C++. Однако такой шаг потребовал от создателей C++Builder некоторой смелости в смысле языковых нововведений. Свойства (property), раздел объявлений published и ориентация на VCL обеспечили необходимый уровень визуальности. Поддержка стандартных библиотек C++ (RTL, STL) позволила сделать это без ущерба для «системности» языка и качества кода. Визуальные средства Two-Way Tools (буквально: "двунаправленные инструменты") в C++Builder, как и в Delphi, строятся на основе детально проработанного "design-time" - поведения компонентов VCL. Самый большой секрет C++Builder - в архитектуре библиотек и концепции процесса раазработки. В C++Builder использована библиотека компонентов, написанных на Object Pascal и загружаемых в отладчик. Что касается компилятора, то для разработчиков Inprise, обладающих 15-летним опытом создания такого рода продуктов, расширение компилятора Borland C++ и обеспечение совместимости с Delphi было лишь делом техники.

 

А как используются средства "Two-ways tools" при написании кода на SQL?
 

Сергей Орлик: Встроенный в C++Builder (начиная с 3-й версии) новый SQL Builder обеспечивает визуализацию запросов на основе механизма анализа исходного текста на языке SQL, включая разнообразные критерии выборки данных (сортировку, группировку, фильтрацию и т. д.). Изменения в визуальной модели транслируются в изменения на уровне SQL и наоборот.

 

C++Builder =/= Delphi

 

Поскольку в Delphi и С++ Builder используется одна и та же (очень удачная) компонентная модель, конечному пользователю предлагаются практически одинаковые возможности. Действительно ли эти продукты являются "близнецами", и следует ли подчеркнуть какие-то их отличия (конечно, за исключением особенностей, связанных с языком программирования)?
 

Сергей Орлик: Отличия, безусловно, существуют. В основном они касаютс способов поддержки технологий COM и CORBA.


Что касается поддержки COM в C++Builder, то в ее основе лежит ориентация на MS ATL (Active Template Library). Если говорить о CORBA (Common Object Request Broker Architecture), то Inprise VisiBroker - программная реализация этого стандарта - обеспечивает фирменную поддержку C++Builder на основе отображения используемого дл взаимодействия картриджей в CORBA языка IDL (Interface Definition Language) в C++. Delphi предлагает собственное решение для технологии COM - DAX (Delphi ActiveX Framework). Напомним, что CORBA - это стандарт создания многоуровневых приложений, который наряду с DCOM поддерживается в Delphi. См.: Александр Цимбал, Евгений Крылов. Золотое прикосновение дельфийского оракула // Компьютеры + Программы, 1998, № 12 (51).

 

Цены на C++Builder 3 и Delphi 4 "от производителя"

  • Standard edition  - $129 
  • Professional edition  - $815 
  • Professional edition, upgrade для предыдущих версий  - $329 
  • Client/Server  - $2750 
  • Client/Server, специальное предложение на 1998 г.  - $2550 
  • Client/Server, upgrade для предыдущих версий Client/Server  - $1899 
  • Client/Server, upgrade для предыдущих версий Professional  - $2199 

Поддержка COM и CORBA в Delphi осуществляется на основе публикации интерфейсов Object Pascal через механизмы Type Library. Если не затрагивать область распределенных вычислений, стоит отметить, что C++Builder может компилировать код, созданный с использованием OWL, MFC и других библиотек, специфичных для сообщества C++. Delphi, в свою очередь, задает концепции и основные направления развития инструментальных средств и библиотек для обоих продуктов.

 

Расскажите, пожалуйста, об интеграции Object Pascal и C++.
 

Сергей Орлик: C++Builder включает компилятор Object Pascal, что позволяет сочетать в одном проекте код на C++ и на Object Pascal, подключать компоненты, разработанные в Delphi и т. п. При этом для кода, созданного в Delphi, C++Builder автоматически генерирует файлы заголовков, что, в сочетании с поддержкой единого формата объектных файлов (.obj), обеспечивает действительную совместимость Object Pascal и C++.

 

С другой стороны, язык Object Pascal как основа Delphi не стоит на месте; развиваясь, он обогащается многими идеями C++. Например, новая версия Delphi 4 обеспечивает перегрузку функций и методов, параметры по умолчанию, адаптированное поведение «конструкторов», возможность использовани объектных файлов не только C, но и C++, и другие средства.

 

MIDAS - это...

 

С появлением последних версий Delphi 4 и С++ Builder 3(См. таблицу "Цены на C++Builder 3 и Delphi 4 "от производителя"".) к уже имевшимся средствам разработки распределенных приложений добавилась поддержка технологии MIDAS. Что же будет дальше и как долго разработчики будут пользоваться этими версиями до выхода новых?
 

Сергей Орлик: До появлени MIDAS разработка распределенных систем была уделом немногих программистов - элиты системщиков и сетевиков. Сейчас ситуация в корне изменилась. 


После того, как Delphi и C++Builder (См.: Александр Цимбал, Евгений Крылов. Указ. статья.) начали поддерживать MIDAS, у разработчиков распределенных систем появилась возможность оперировать удаленными наборами данных и другими высокоуровневыми объектами так же легко, как и при создании клиент-серверных систем. Так же, как Delphi когда-то произвел переворот в мире клиент-серверных вычислений, сделав его доступным каждому программисту, средства MIDAS переводят рапределенные системы из разряда секретов индустрии в промышленную архитектуру. Начиная с Delphi 4 MIDAS обеспечивает одновременную поддержку COM и CORBA на уровне серверов приложений и их клиентов. Что будет дальше? - MIDAS Client for Java (который демонстрировался на нашем киевском семинаре еще до официального объявления о его выпуске) позволяет разрабатывать 100% Pure Java клиентские приложения для серверов приложений, созданных в Delphi и C++Builder.

 

Запрос с временными рядами

 

Поддержка широкого спектра "транспортных средств" (от Sockets до лежащего в основании CORBA протокола IIOP - Internet Inter-ORB Protocol) в сочетании с единой концепцией создания приложений обеспечивает максимальную открытость технологии MIDAS, а следовательно, и ее популярность. Кроме того, перспективные версии наших инструментальных средств будут включать расширенную поддержку MIDAS.

 

В комплекте СУБД

 

Наверное, нашим читателям интересны особенности поставляемой с обоими продуктами СУБД Interbase. По мнению представителей Inprise, эта СУБД оптимально подходит для систем, требующих простоты администрирования. Вероятно, это не в последнюю очередь связано с поддержкой "Архитектуры множественных поколений записей", позволяющей эффективно решать проблемы блокировок в многопользовательском режиме. Расскажите, пожалуйста, в чем сущность этой архитектуры и чем она отличается, например, от "согласованного чтения", принятого в Oracle?
 

Андрей Сергеев: Экономия на эксплуатационных расходах при использовании InterBase обусловлена комплексом факторов, и, разумеется, в первую очередь это архитектурные особенности сервера, такие, как ориентация на функции операционной системы, единый программный код, набор средств администрирования для более чем 15 платформ, многоверсионность записей, полная переносимость и ориентация на стандарт SQL.

 

Относительно важнейшей архитектурной особенности InterBase - многоверсионности записей - необходимо сказать следующее. Если в других SQL-серверах администраторам приходится иметь дело с тонкостями обслуживания журналов транзакций, то в в InterBase выполнение этих функций обеспечиваетс самой базой данных. Каждое воздействие на кортеж данных, приводящее к его модификации, порождает новую версию кортежа с контекстом пользователя и текущей транзакции. Т. е. в тот же самый момент, когда кто-нибудь меняет саму структуру кортежа, кто-то другой может читать его. При этом каждый пользователь работает со своим набором данных. Различные "уровни изоляции" данных означают, что можно реализовать как безблокировочный режим работы, так и блокировку на уровне записей. Хочется отметить, что такие возможности изначально закладывались в InterBase, а не появлялись по мере необходимости. Кстати, если мы говорим о «согласованном чтении» в Oracle, то эта технологи также реализована на основе многоверсионности, хотя и не на уровне ядра.

 

Говоря об InterBase, необходимо отметить еще и используемую в нем концепцию "активного ядра". Сервер может уведомлять клиентов о наступлении предопределенных "событий". Так, совершенно необязательно опрашивать таблицу на предмет выхода за границы хранимого значения, например количества товара на складе. Сервер сам сообщит в нужный момент времени о попытке отпустить больше товара, чем есть на складе. Какие действия за этим последуют, зависит уже от прикладной логики клиентской программы. Данный механизм запатентован и поддерживается на компонентном уровне в наших средствах быстрой разработки - С++ Builder и Delphi.

 

Уникальна архитектура InterBase обеспечивает автоматическое восстановление и готовность к работе даже после сбоев системы. Именно этот фактор повлиял на выбор InterBase для множества военных проектов в США: для систем информационного обеспечения таких программ, как "солдат 21 века", "танк M1" и т. д. Из других проектов особенно хочется выделить службу "911", разработки компаний Boeing, Toyota. Кстати, именно использование его в военной промышленности США явилось причиной столь позднего появления InterBase на рынках стран СНГ.

 

Можно ли привести пример использования реализованных в IB Server многомерных масивов или создаваемых на их основе "временных рядов"?
 

Андрей Сергеев: Примеров более чем достаточно (обработка телеметрии, финансовый и биржевой анализ и т. д.), но хочетс выделить очень интересный проект, связанный с анализом океанографической информации. В этой системе активно используются возможности InterBase по хранению и обработке многомерных массивов. Причем результаты цифровой обработки могут быть доступны в Internet, читатели могут сами увидеть работу этой системы, обратившись по адресу http://data.ecology.su.se/Models/BEDonWEB/Articles/TimeSeries/ (рисунок; см. также «Хорошо, когда есть лидер»). Система разработана на языке Java и с применением JDBC-механизма доступа к данным. Соответствующий JDBCдрайвер поставляется в составе InterBase и включает оптимизированную серверную часть - InterServer.

 

На какие еще особенности упомянутых продуктов вы бы обратили внимание наших читателей?
 

Сергей Орлик: Поскольку многие разрабатываемые системы являютс тиражируемыми, важно не только легко создавать надежный код, но и обеспечить глубокую интеграцию используемых технологий в рамках конкретных конечных продуктов. Inprise ведет серьезные работы по такой интеграции на основе «встраивания технологий» (так называемых «embedded technologies»). Это касается как обеспечения единого технологического процесса инсталляции тиражируемой системы и встроенных технологий, так и поддержки разработчиков с точки зрени предоставления дополнительной технической информации и специальных бизнес-условий.


Андрей Сергеев: Речь идет о так называемой программе VAR (Value Added Reseller), котора распространяется и на InterBase и на MIDAS.

 

Компании-участники этой программы, разрабатывающие и предлагающие на базе нашего SQL-сервера различные системы, от бухгалтерских программ до систем управления производственными процессами, кроме более благоприятной ценовой и бизнес-схемы обеспечиваются нами материалами о внутреннем устройстве InterBase. Это партнерское взаимодействие на технологическом уровне позволяет разработчикам создавать системы, включающие InterBase. С точки зрения конечного пользователя, после того, как он сам установил систему с применением стандартных средств, он может и не знать, что все его данные будут под управлением надежного сервера БД. В выигрыше оказываются все стороны, а наши VAR-партнеры получают более конкурентоспособный продукт.

 

Хорошо, когда есть лидер

 

В конце ноябр было объявлено о предложении корпорации Inprise по лицензированию средств разработки на основе Java-технологий JBuilder корпорации Microsoft. Это предложение было сделано после вынесени судебного постановления о необходимости приведения Java-технологий компании Microsoft в соответствие с платформо-независимой спецификацией 100% Pure Java компании Sun Microsystems. «Inprise готова помочь Microsoft, Sun, а также клиентам обеих компаний использовать все возможности кросс-платформенных Java-технологий посредством предоставления лицензии на нашу технологию JBuilder компании Microsoft», - сказал Делберт Йокам (Delbert Yocam), президент корпорации Inprise. "JBuilder уже стал лидером сред разработки кросс-платформенных масштабируемых открытых систем на основе Java-технологий. Мы отчетливо осознаем, что многие из клиентов Microsoft могут понести значительные потери после вступления в действие последних судебных решений против Microsoft и потому готовы предложить помощь, которая позволит Microsoft как можно скорее выполнить требования суда".

2004.11.18
19.03.2009
В IV квартале 2008 г. украинский рынок серверов по сравнению с аналогичным периодом прошлого года сократился в денежном выражении на 34% – до $30 млн (в ценах для конечных пользователей), а за весь календарный год – более чем на 5%, до 132 млн долл.


12.03.2009
4 марта в Киеве компания Telco провела конференцию "Инновационные телекоммуникации", посвященную новым эффективным телекоммуникационным технологиям для решения задач современного бизнеса.


05.03.2009
25 февраля в Киеве компания IBM, при информационной поддержке "1С" и Canonical, провела конференцию "Как сохранить деньги в условиях кризиса?"


26.02.2009
18-19 февраля в Киеве прошел юбилейный съезд ИТ-директоров Украины. Участниками данного мероприятия стали ИТ-директора, ИТ-менеджеры, поставщики ИТ-решений из Киева, Николаева, Днепропетровска, Чернигова и других городов Украины...


19.02.2009
10 февраля в Киеве состоялась пресс-конференция, посвященная итогам деятельности компании "DiaWest – Комп’ютерний світ" в 2008 году.


12.02.2009
С 5 февраля 2009 г. в Киеве начали работу учебные курсы по использованию услуг "электронного предприятия/ учреждения" на базе сети информационно-маркетинговых центров (ИМЦ).


04.02.2009
29 января 2009 года в редакции еженедельника "Computer World/Украина" состоялось награждение победителей акции "Оформи подписку – получи приз!".


29.01.2009
22 января в Киеве компания "МУК" и представительство компании Cisco в Украине провели семинар для партнеров "Обзор продуктов и решений Cisco Small Business"

 

 
 
Copyright © 1997-2008 ИД "Комиздат".