Андрей Колесов
С февраля нынешнего года российское отделение Microsoft проводит серии бесплатных однодневных семинаров для разработчиков под общим названием DevDays. В марте состоялись публичные семинары по MS Exchange и BackOffice Small Business Server, в середине апреля - по Visual FoxPro (VFP) и Visual Basic (VB). Именно о двух последних хотелось бы рассказать более подробно, учитывая тот факт, что на них речь шла о наиболее популярных на сегодняшний день средствах разработки, имеющих тем не менее очень различные перспективы развития.
Visual FoxPro - славная история, перспективы на будущее
Под напором публикаций о том, какой SQL-сервер лучше применять, тематика FoxPro как-то незаметно исчезла из поля зрения компьютерной прессы. Однако для многих руководителей ИТ-подразделений и программистов-практиков она остается весьма актуальной. Проблема заключается в том, что FoxPro, который пользовался особой популярностью в нашей стране (в начале 90-х годов он пришел на смену Clipper и FoxBase), до сих пор лежит в основе огромного числа действующих систем, создаваемых в большинстве своем в виде внутрифирменных разработок. Следует напомнить, что еще три года назад вторая конференция Microsoft для разработчиков DevCon’95 на 70% была посвящена именно проблематике FoxPro.
Сегодня интерес к VFP определяется не только пониманием того, что потенциал развития баз данных класса xBase в значительной степени исчерпан, но и некоторой неопределенностью перспектив развития системы, усилившейся появившимися еще два года назад слухами о прекращении поддержки FoxPro со стороны Microsoft. Тогда, летом 1996 г., Microsoft даже опубликовала специальное “Открытое письмо к сообществу разработчиков на FoxPro” за подписью руководителей соответствующих подразделений, где позиция корпорации разъяснялась примерно в таких тезисах: “ваши вложения в программы и обучение будут сохранены”, “технология FoxPro будет развиваться”, “фирма не собирается бросать пользователей FoxPro на произвол судьбы и лишать их будущего”. И действительно, осенью 1996 г. была выпущена VFP 5.0, а сейчас уже стало известно, что летом нынешнего года появится новая версия VFP 6.0 (в том числе в составе комплексного пакета для разработчиков Visual Studio 6.0).
Учитывая все это, “сверхзадача” семинара по VFP, на котором собралось около ста представителей из разных организаций (правда, в основном из московских), была четко определена во вступительном слове специалиста по базам данных Microsoft АО Дмитрия Артемова - укрепить веру пользователей и разработчиков в перспективы системы. Специфика ситуации заключается в том, что в настоящее время большинство пользователей FoxPro еще продолжают работать в среде 16-разрядных версий 2.5/2.6 (более того, многие из них - в DOS). Проблема миграции с этих систем сейчас для всех более чем актуальна, но нет ясного представления, как ее решить - перейти на VFP или на принципиально иную систему.
Со своей стороны Microsoft предлагает разработчикам несколько инструментов для решения примерно одного класса задач (например, VFP, VB и Access). Хитрость же этой политики заключается в том, что корпорация поддерживает внутреннюю конкуренцию, часто совершенно искусственно наделяя каждый продукт сильными сторонами. Например, как это ни странно, но VB отстает от VFP в области объектно-ориентированного программирования, не говоря уже о специализированных средствах работы с базами данных. В то же время VFP уступает VB в использовании OLE-технологий, создании повторно используемых модулей, особенно для серверных приложений. Кстати, VC++ уступает им обоим по возможностям визуального программирования.
На прошедшем семинаре пользователям ForPro 2.x в качестве наиболее оптимального решения предлагалось сочетать переход к VFP 5.0 с эффективной интеграцией с сервером баз данных Micorosft SQL Server. В целом перенос кода и визуальных форм с помощью утилит конвертирования не вызывает проблем, но следует иметь в виду, что для полного использования новых возможностей VFP полезно заново переписать программы. Но, как справедливо отметили специалисты Microsoft, старые знания и навыки больше пригодятся при работе с новой версией VFP, чем с любой другой системой. Плюсом для VFP служит и то, что в нашей стране наличествует хорошая информационно-методическая база (книги, специализированные журналы, центры обучения и пр.).
Вместе с тем, хотя возможности создания баз данных в последних версиях существенно расширены*1, использование VFP для разработки мощных систем представляется делом весьма проблематичным. В качестве ограничений можно назвать отсутствие встроенных средств защиты информации (несанкционированный доступ, шифрование данных), обеспечения целостности данных в условиях сбоев, поддержки многопроцессорной обработки и пр. Поэтому, несмотря на то что в новой версии VFP 6.0 возможности создания серверных приложений будут расширены (в частности, вариант in-process сервера), стратегическим путем является использование VFP в качестве клиентской части в трехуровневой клиент-серверной архитектуре для доступа к данным на SQL Server.
-----
*1 На семинаре приводился пример информационной системы Евротуннеля (под Ла-Маншем), построенной на основе VFP и имеющей объем базы данных 128 Гб. Система работает уже несколько лет в круглосуточном режиме.
В этом случае достоинство VFP - возможность достаточно просто организовать буферизацию данных за счет создания на рабочей станции локальной БД для кэширования, что обеспечит более высокую производительность и надежность системы (например, при отключении связи с сервером).
Именно этим темам - обзорам VFP и SQL Server, их интеграции и примерам построения клиент-серверных приложений - и были посвящены сообщения на Visual FoxPro Developer’s Day. Большинство их сделал специально приехавший в Москву менеджер по маркетингу Visual FoxPro корпорации Microsoft Роберт Грин (Robert Green), который до недавнего времени был активным независимым разработчиком на VFP. Следует отметить, что семинар проходил в МГУ на факультете ВМК (вычислительной математики и кибернетики) в деловой и дружеской обстановке.
Настало ли время Visual Basic?
Ситуация с VB выглядит совсем иначе - вопрос главным образом стоит так: настала ли пора переходить на эту систему при миграции с других средств разработки? По-видимому, ответ на него сегодня можно дать в основном положительный, свидетельством чему служит и тот факт, что на этом семинаре побывало уже около трехсот специалистов, причем довольно значительная часть - из регионов. Большинство из них представляли отделы автоматизации довольно крупных государственных и коммерческих организаций. Причем по достаточно солидному возрасту собравшихся - в основном 35 - 45 лет - было видно, что приехали отнюдь не начинающие программисты или простые кодировщики, что было несколько неожиданно, особенно если учесть, что VB 5.0 был выпущен уже более года назад и вряд ли на семинаре предстояло услышать что-то принципиально новое.
В ходе дискуссий во время докладов и бесед в перерывах выяснилось, что основной контингент слушателей принадлежит к руководству групп разработчиков или отделов автоматизации. Многие организации или вообще не используют VB, или применяют его в ограниченных масштабах. Но все присутствующие проявляли интерес к этой системе как к перспективному средству разработки. Для абсолютного большинства слушателей тема была вполне знакомой, хотя все отмечали полезность комплексного компактного обзора системы (доклады делали специалисты российского отделения Microsoft и его ведущих партнеров-разработчиков). Хорошее впечатление произвел также ряд серьезных технических сообщений, в частности об интеграции VB/SQL Server. Многих привлекла возможность общения с коллегами и установления прямых контактов со специалистами Microsoft и ее партнерами.
Тем не менее, оценивая семинар по VB в целом как безусловно полезный, следует отметить два момента. Во-первых, из сферы внимания его организаторов практически совершенно выпал очень актуальный вопрос - VBA и программирование в среде Office 97. (Презентация новой книги Владимира Биллига, посвященной этой теме, к сожалению, не могла заменить более детальное рассмотрение данной проблемы.) К сожалению, это довольно характерная деталь, за которой часто стоит простая бюрократическая проблема во всей корпорации - VB относится к направлению средств разработки, а VBA (как и Access) - к офисным системам.
Во-вторых, мне кажется, одна из подспудных целей проведения DevDays - это представление средств разработки для привлечения к ним более широкой категории пользователей. Хотя для достижения этой цели Microsoft АО пока еще использует не все резервы, но прогресс уже есть.
Все материалы докладов конференций можно найти на российском Web-сервере Microsoft по адресам: FoxPro DevDay - www.microsoft.com/RUS/devonly/VFPDay/plan.htm; VB DevDay - www.microsoft.com/RUS/devonly/vbDay/plan.htm.