СРЕДСТВА РАЗРАБОТКИ

Приложение InfoPath - важнаЯ новинка в семействе MS Office System 2003. Его качественное отличие от "ветеранов" пакета заключается в том, что эта программа изначально ориентирована на решение задач корпоративного уровня, причем одних из наиболее злободневных на сегодня - сбор из различных разнородных источников (СУБД, бизнес-приложений, Web-сервисов), визуальное представление и редактирование данных. Все это выполняется в виде работы с XML-документами с использованием разнообразных динамических форм (см. PC Week/RE, N 46/2003, с. 18).

Доступ к внутренним функциям InfoPath выполняется с помощью иерархической

системы объектов, представленных в пространстве имен Microsoft.Office.Interop.InfoPath.SemiTrust

Наверное, многие заказчики еще только изучают возможности InfoPath. И тем не менее, по данным Microsoft, можно говорить о востребованности данного продукта на рынке. Корпорация намерена выпустить его обновленную версию в начале нынешнего лета, а познакомиться с ней можно уже сейчас. Пока она называется InfoPath 2003 Service Pack 1 (SP-1), но это не должно вводить в заблуждение пользователей: речь идет не о традиционном сервисном пакете, содержащем, как обычно, исправления ошибок и решения проблем безопасности, а о широкомасштабном функциональном расширении приложения, которое было бы правильнее назвать новой версией InfoPath 2.0. (Скорее всего слова Service Pack подчеркивают, что обновление будет выполняться бесплатно.) В частности, оно содержит более десятка дополнительных функций проектирования форм и развертывания приложения.

Одна из них - новое диалоговое окно Fill Out a Form, открывающееся автоматически при запуске приложения. С его помощью можно выбирать наиболее часто используемые формы, в том числе с применением их разбивки по категориям. Отдельная его функция позволяет управлять различными версиями одной и той же формы. Существенно расширены также возможности описания событийных правил, которые выдают сообщения по ходу коррекции отдельных элементов формы. Роли пользователей могут быть связаны с группами безопасности службы каталогов Active Directory.

Модификация средств развертывания форм InfoPath вызвана в первую очередь необходимостью подлинности. Сейчас при коррекции настраиваемых форм следует выполнять их переустановку на каждом рабочем компьютере. В новой версии для удостоверения подлинности служат программируемые сертификаты, что позволяет получать автоматическое подтверждение через серверные службы, например Windows SharePoint Services. В этом случае шаблоны обновляются сразу, как только вы откроете новую или уже существующую форму.

Однако главная новинка - возможность функционального расширения InfoPath с использованием Visual Studio .NET 2003. Как известно, одна из ключевых идей InfoPath - реализация задач управления визуальными формами и связями с источниками данных без программирования, а только через пользовательский интерфейс. В то же время очевидно, что для создания эффективных приложений на его основе весьма желательно иметь механизм гибкой настройки и функционального расширения InfoPath с помощью средств программной автоматизации. В версии, представленной осенью 2003 г., такие задачи решаются за счет скриптовых языков (JScript и VBScript). В новом варианте для этого можно будет применять расширения, создаваемые на VB.NET или C# с помощью Visual Studio .NET 2003 и нового инструмента - MS Office InfoPath 2003 Toolkit for VS.NET.

В целом работа с InfoPath Toolkit выглядит примерно так же, как и с ранее выпущенным средством VS Tools for MS Office (он применяется для расширения Word и Excel). После его установки в диалоговом окне проектов VS.NET появляется новый значок для создания специальных проектов InfoPath Project. Его разработка может выполняться с помощью новой или путем копирования существующей формы InfoPath 1.0. В последнем случае происходит автоматическое преобразование скриптового кода JScript или VBScript в управляемый код C# или VB.NET. При этом разработчик может прямо в среде VS.NET визуально сравнить исходный и полученный программный код, чтобы проконтролировать правильность выполненного преобразования, основная суть которого - замена механизма позднего связывания исполняемого кода на модель раннего связывания.

Проект InfoPath содержит ссылку на программные компоненты (классы, интерфейсы, перечисления и пр.) пространства имен Microsoft.Office.Interop.InfoPath.SemiTrust, благодаря которым разработчик получает доступ ко всем основным внутренним функциям приложения. Например, набор Delegates предоставляет 13 событий, позволяющих отслеживать действия с кнопками и полями формы, диалоговыми окнами или меню в конструкторе InfoPath. Для управления XML-документами InfoPath используется объект DataDOMEvent, включающий 22 свойства и 14 методов. В целом же поддержка XML-технологий базируется на библиотеке Microsoft XML Core Services (MSXML) 5.0.

В заключении нужно отметить, что InfoPath SP-1 имеет опцию отключения использования новых функций - благодаря ей достигается обратная совместимость с текущим вариантом продукта. В итоге обеспечивается надежное создание форм, работающих в среде разных версий InfoPath. Однако, учитывая новизну данного приложения и его еще не очень широкое распространение, конечно же имеет смысл сразу ориентироваться на применение всех его новых возможностей. Впрочем, для тех, кто хорошо знаком с традициями Microsoft, все это не должно выглядеть удивительным: им давно известно, что на практике новые продукты корпорации следует приобретать после появления второй версии.