Опубликовано: 1 мая 2003 г. | Обновлено: 13 мая 2003 г.
Краткий технический документ
Аннотация
Смарт-документы являются решениями, объединяющими бизнес-логику и дополнительные действия с содержимым документа Microsoft Office Word 2003 или Microsoft Office Excel 2003. Используя XML-структуру документа, смарт-документы определяют, где и каким образом они могут помочь специалистам, работающим с данными, в подготовке сложных документов. На этой странице содержатся некоторые подробные сведения о смарт-документах, а также краткое рассмотрение ключевых аспектов их развертывания и использования.
Для получения самой последней информации посетите страницу http://www.microsoft.com/Office/
На этой странице
Ключевые понятия и определения
XML – eXtensible Markup Language (расширяемый язык разметки), язык представления метаданных, использующийся для представления данных в открытом структурированном формате.
XML Schema Definition (XML-схема) – оформленный в виде XML-файлов набор правил, определяющий структуру других XML-документов.
XSLT – eXtensible Style Sheet Transformations (язык преобразований XML-документов). С помощью XSLT-файлов осуществляется преобразование формата и/или содержимого существующих XML-файлов.
Наверх страницы
Общий обзор смарт-документов
Документы Microsoft® Office 2003 могут представлять собой нечто большее, чем хранилище введенной пользователем информации – они могут быть запрограммированы и стать «умными». Смарт-документы могут автоматически вводить данные, упрощая для пользователей заполнение форм или работу с шаблонами. Смарт-документы могут автоматически обращаться к внешним данным, помещая их соответствующим образом в документ, или предоставлять контекстно-зависимую справку, помогая пользователям в подготовке сложных документов. Информация, содержащаяся в смарт-документе, может использоваться даже разнородными системами и приложениями.
Смарт-документы, входящие в состав Microsoft Office Word 2003 и Microsoft Office Excel 2003, содержат программируемый код, определяющий способы использования документа и работы с данными. Смарт-документы обретают силу за счет встроенной поддержки XML-кода, являющегося основополагающей платформой для выполнения действий. Элементы XML, содержащиеся внутри документа, определяют и запускают связанные с определенными событиями действия. Программный код, управляющий последовательностью действий, может быть написан на различных языках программирования, что дает возможность разработчикам создавать рабочие решения для любых бизнес-процессов.
На этой странице рассмотрены преимущества использования, архитектура и внедрение смарт-документов.
Наверх страницы
Преимущества использования смарт-документов
Определенным разделам смарт-документа (разделенным тегами XML) назначаются элементы управления или действия. В зависимости от того, с каким разделом документа работает пользователь, в области задач Действия с документами (Document Actions) отображается различная информация. Эта информация может быть представлена в виде графики, текста справки, фрагментов документа или элементов управления (текстовые поля, переключатели, кнопки и даже элементы управления ActiveX, разработанные пользователем).
В представленном ниже примере смарт-документа продавцу необходимо создать презентацию перед встречей с клиентом, который является врачом. Презентация состоит из короткого письма, каталога продуктов и формы, в которой содержатся сведения о прошлых заказах клиента. Кроме всего прочего смарт-документ содержит форму, которая автоматически получает и отображает данные лицензии и адрес врача в случае, если он захочет заказать какой-либо продукт.
В обычном случае для того, чтобы создать этот документ, продавцу было необходимо найти информацию о клиенте в своем списке контактов или в списке контактов организации. Кроме того, ему было необходимо составить список наиболее важных продуктов, предлагаемых в соответствии с областью специализации заказчика. Представленное решение на основе смарт-документа упрощает этот процесс, предлагая продавцу ответить на несколько вопросов, выполняя затем поиск информации в базе данных и обрабатывая полученные данные в соответствии с предопределенными правилами и встроенной бизнес-логикой.
При открытии этого смарт-документа в Word 2003 продавец увидит подсказку, сообщающую о том, что следует выделить надпись «Doctor's Name Here». После того, как пользователь переместит курсор на эту надпись, курсор окажется внутри пары XML-тегов (в нашем случае они называются «drname»); при наступлении этого события смарт-документ выводит текстовое поле для ввода имени врача, как показано на Рисунке 1. Такая обработка события запрограммирована в смарт-документе разработчиком.
Рисунок 1 – Область задач «Действия с документами» (Document Actions)
Когда специалист, работающий с данными, вводит имя врача, смарт-документ выполняет несколько действий: сначала он находит в документе все экземпляры элементов с XML-тегами «drname» и вставляет в них имя врача. Смарт-документ запрограммирован разработчиками таким образом, что имя врача является строкой запроса к нескольких серверным СУБД. Результаты выполнения запросов вставляются в определенные места смарт-документа в соответствии с элементами XML. Разработчики могут использовать различные способы получения данных. Например, они могут подключиться к веб-службе, отправив сообщение SOAP (Simple Object Access Protocol – простой протокол доступа к объектам) с помощью метода HTTP POST, или использовать преимущества поддержки языка XML реляционными базами данных (такими как SQL Server 2000). Также разработчики могут подключиться к базе данных с помощью традиционных средств, таких как ADO, ODBC или OLEDB.
Итак, продавец вводит лишь основную информацию, а запрограммированный разработчиком код смарт-документа обрабатывает сбор данных из различных источников: контактная информация и номер лицензии берутся из базы данных CRM (client relations management – управление взаимодействием с клиентами), список предлагаемых продуктов и информация о страховке – из других различных баз данных и так далее. С другой стороны, смарт-документ выступает в качестве формы для передачи данных, собирая информацию о заказе и помещая ее в определенные места документа, таким образом, завершая логический цикл передачи данных.
Решения на основе смарт-документов имеют ряд преимуществ, некоторые из которых описаны ниже.
• | Обмен данными внутри организации. Информация, содержащаяся в документах Office, больше не будет являться «мертвой» информацией, с которой не могут работать внешние приложения – решения на основе смарт-документов помогают поместить данные документов Office 2003 в хранилища информации предприятия. Разработчики могут определять способы доступа к данным, закладывая бизнес-логику и модель безопасности предприятия в алгоритм работы смарт-документа. |
• | В предыдущих версиях программы Microsoft Word не всегда можно было отделить данные от текста. Используя преимущества четко структурированного содержимого, определенного с помощью XML, Word 2003 позволяет получать доступ к данным своих документов из других приложений и систем. |
• | Помощь в заполнении структурированных документов. Решения на основе смарт-документов наиболее хорошо подходят для структурированных документов: документов, создаваемых на основе шаблонов, документов для оценки сотрудников, документации любого типа (технические требования, справочная информация, документация по продукту и т. д.). |
• | Смарт-документы могут разрабатываться для заполнения больших блоков документа на основе введенных пользователем данных или на основе выполняемых им действий (например, в зависимости от того, каким образом пользователь заполняет первый блок формы документа). |
• | Распространение и обновление на компьютерах клиентов без постороннего вмешательства. Эффективное и централизованное распространение означает, что ИТ-администратору не нужно посещать каждое рабочее место, чтобы обеспечить корректную установку. Когда исходный документ или шаблон открыт на клиентском компьютере, смарт-документ может загружаться, а затем обновляться непосредственно с сервера без вмешательства администратора. Администраторы, тем не менее, могут контролировать распространение и обновление смарт-документов, поскольку смарт-документ является подписываемым кодом. |
Наверх страницы
Архитектура смарт-документов
Смарт-документы позволяют разработчикам связывать определенные действия с XML-элементами в новых или уже существующих документах. Структура документа, размеченного XML-элементами, соответствует лежащей в его основе XML-схеме. Когда подготовка документа завершена, разработчики могут использовать интерфейс прикладного программирования Smart Document API, доступный в составе пакета разработчика Office 2003 Solution Developers Kit, для назначения XML-элементам действий, которые будут управлять приложением.
При работе со смарт-документами разработчики получают большую свободу действий. Документом можно управлять напрямую или через взаимодействие с процессами на стороне сервера (например, получая данные или переправляя их различным серверным системам для обработки). Разработчики могут также выбирать различные языки программирования для создания приложений – Visual Basic 6.0, Visual Basic .NET, C# или C++.
После завершения компиляции DLL-модуля разработчик должен создать файл манифеста, который описывает местоположение следующих компонентов:
• | DLL-модуля, содержащего управляющий код. |
• | XML-схемы, описывающей разметку документа соответствующими XML-элементами. |
• | Манифеста XML, помогающего скрыть сложность решения от конечных пользователей. |
Манифест выступает в качестве центрального хранилища информации обо всех составляющих смарт-документа. Следовательно, для установки решения на основе смарт-документа в шаблон документа достаточно просто сослаться в этот документе на файл манифеста. Обратите внимание, что URL-путь к решению, показанный на Рисунке 2, указывает на файл манифеста, содержащий имя решения, путь к DLL-модулям и т. д.
Увеличить рисунок Рисунок 2 – Добавление файла манифеста смарт-документа
Когда файл манифеста добавлен в документ, путь к нему хранится локально (в метаданных документа). Такой подход приводит к тому, что если документ загружается на компьютере, на котором не установлено решение на основе смарт-документа, пользователь получает приглашение произвести обновление с доверенного сервера. Таким образом обеспечивается целостность и работоспособность решения, а также загрузка и установка всех необходимых файлов. Этот процесс избавляет разработчиков от проблем, связанных с установкой и обновлением решений в больших сетях.
Наверх страницы
Рассмотрение некоторых аспектов работы со смарт-документами
В этом разделе содержатся некоторые полезные советы по разработке и внедрению решений на основе смарт-документов.
Зависимости
Все компоненты решения на основе смарт-документа (манифест, XML-схема и DLL-модули) должны быть размещены на сервере, доступном для всех пользователей, работающих со смарт-документом. Это облегчает развертывание и поддержку. Кроме того, усилия разработчиков должны направляться на создание XML-схемы, определяющей содержащиеся в документе элементы и атрибуты, к которым привязана логика смарт-документа.
Совместимость
Поскольку смарт-документы являются совершенно новой особенностью Office 2003, их уникальная функциональность недоступна в предыдущих версиях Office. Тем не менее, смарт-документ, созданный в Office 2003, можно просматривать и в более ранних версиях этого программного продукта. При этом сохраняется основное форматирование, но не сохраняются разметка XML-элементами и логика смарт-документа.
Безопасность
Смарт-документы используют все преимущества, предоставляемые средствами безопасности Office 2003. Перед тем, как смарт-документы смогут быть загружены и установлены на клиентский компьютер, они должны быть подписаны доверенными центрами. Тем не менее, даже после этого у пользователя остается возможность отказаться от установки смарт-документа.
Наверх страницы
Заключение
Смарт-документы повышают доступность информации, привносимую языком XML в документы Office 2003, обеспечивая надежную двустороннюю связь с хранилищами данных организации и позволяя организациям использовать язык XML по его прямому назначению. Хотя решения на основе смарт-документов требуют времени на разработку, это время может быть незначительным, в то время как увеличение производительности при их использовании может оказаться очень впечатляющим.
Наверх страницы
Часто задаваемые вопросы
В чем заключаются различия между смарт-тегами и смарт-документами?
Смарт-документы основаны на интерфейсе прикладного программирования смарт-тегов (Smart Tag API), но в большей степени сосредоточены на структуре документа, нежели на структуре его содержимого. Например, распознаватель смарт-тегов ищет в документе данные, с которыми может быть связан смарт-тег. Действия смарт-документов назначаются элементам схемы во время выполнения.
Нужна ли мне XML-схема для использования смарт-документа?
Да, в документе Word 2003 или Excel 2003 все действия смарт-документа связаны с элементами XML-схемы.
В чем заключаются различия между службой «Справочные материалы» (Research and Reference) Office 2003 и смарт-документами?
Служба Справочные материалы (Research and Reference) является еще одной новой возможностью Office 2003, позволяющей пользователям искать информацию сразу в нескольких источниках. В дополнение к этому, разработчики могут создавать свои собственные справочные службы, с помощью которых пользователи могут искать нужную информацию. Результаты поиска могут содержать смарт-теги, выполняющие определенные действия в документе.
Можно ли, используя VBA, достичь такого же результата, что и при использовании Office 2003 и XML?
И да, и нет. Большинство функциональных возможностей смарт-документов значительно упрощают разработку решений на основе платформы Office. Смарт-документы также упрощают обмен информацией между разнородными источниками данных (базы данных, другие документы Microsoft Office и т. д.).
Наверх страницы
Дополнительная информация
Для получения дополнительной информации посетите следующие веб-узлы:
Наверх страницы
Обсуждение статьи на форуме