Основы проектирования корпоративных систем - Сергей Зыков
Шрифт:
Интервал:
Закладка:
Пожалуй, самый серьезный способ – это интеграция на уровне приложений. При этом создаются надстройки или расширения, которые называются AddIn для офисных приложений. Так же, как это происходит, например, с продуктами Adobe, когда документы Office можно конвертировать в файл формата PDF для Adobe Acrobat.
В VSTO используются два последних вида интеграции – интеграция на уровне документов и на уровне приложений. И в том и другом случае можно использовать достаточно большой спектр языков, которые предназначены для написания управляемого кода. В.NET, например, C# или Visual Basic. При этом VSTO дополняет VB for Applications, который пригоден для решения иных задач. В чем состоят преимущества использования Office System как платформы? Прежде всего, исчезает необходимость использования Cut&Paste, ручного переноса данных или актуализации данных. Теперь приложения могут извлекать данные, можно сказать, самостоятельно через документы, которые связаны с живыми бизнес-данными. Поэтому отпадает необходимость выполнения рутинных операций копирования данных. Кроме того, пользователям проще работать в единой среде, используя известные подходы к разработке, если это офисная среда, почти не требуется затрат на обучение пользователей. И наконец существенно снижается время разработки приложений, поскольку, если используется разработка на основе интеграции, на основе приложений, на основе AddIn, то, по сути, строятся некие надстройки над платформой Microsoft Office System, и в этом смысле трудозатраты минимизируются. Платформа VSTO (вернее, средство VSTO) возникла прежде всего потому, что появилась возможность объединить разработку приложений для. NET и для Microsoft Office. Используется полный доступ ко всем без исключения классам стандартной библиотеки классов. NET Framework, о которой говорилось ранее, в связи с компонентными приложениями.
При этом можно использовать не только классы. NET Framework, но и все объектно-ориентированные языковые конструкции, наследование, стандартные системные процедуры для обработки исключений, построение частичных классов, генерализацию или обобщение, вызов веб-сервисов. Более того, использование VSTO значительно расширяет тот спектр инструментальных возможностей и средств, которые были доступны в более ранних версиях среды. Совместное применение VSTO и Office дает возможность, как уже говорилось, объединить документы с живыми, постоянно меняющимися бизнес-данными, что особенно важно для корпораций, где данные могут обрабатываться большим количеством пользователей одновременно, часто претерпевают изменения и необходимы способы их актуализации в привычной для пользователя офисной среде.
Это реализовано на основе технологии интеллектуальных, или разумных, документов Smart Documents, которые имеют встроенные возможности соединения с данными, извлечения данных из гетерогенных источников, например на основе стандарта XML, из других документов и консолидации данных, подготовки отчетной информации. Интеллектуальные документы имеют знание о том, как связываться с данными. Как уже говорилось, одной из важных технологий создания интеллектуальных документов является XML-формат офисных документов. Можно создавать также расширенные XML-схемы и производить интеграцию интерфейсов на основе панели задач – Action Tasks Pane. Возможности технологий Smart Documents и Action Panes изображены на рис. 14.1.
Рис. 14.1. Возможности технологий Smart Documents и Action Panes
Что касается возможностей, которые предоставляет интеграция VSTO со средой. NET, это, прежде всего, расширенное использование средств CLR. При этом на различных языках программирования, например Visual Basic или Visual C#, можно создавать сборки, которые выполняются под управлением CLR. Код при этом становится управляемым и позволяет обеспечить высокий уровень безопасности. Если приложения созданы на основе языков, например Visual Basic for Applications, или код на основе использования COM-модели, тогда представлен неуправляемый код, который можно использовать, но с ограничениями по безопасности.
Важно, что теперь появляется возможность разработки и использования кода на основе. NET Framework и под управлением среды CLR. Общеязыковая среда управляет распределением памяти и следит за безопасностью кода, в том числе за корректностью областей памяти, которые используются, за сборкой мусора и т. д. Естественно, CLR обеспечивает взаимодействие с. NET Framework и использование, например, наследования от тех базовых классов, которые имеются в соответствующих библиотеках очень серьезного объема. При помощи этих инструментов можно создать, например, систему документооборота, которая осуществляет ряд проверок, связанных с визированием документов, юридической корректностью и т. д. Или можно создать решение для прогнозирования продаж, которое в качестве интерфейса пользователя использует Excel и при изменении тенденции или прогноза цен может вносить изменения в централизованную базу данных, что очень важно для корпоративных приложений и систем, которые используются в корпорациях, поскольку, во-первых, появляется централизация управления информацией, и, во-вторых, она реализуется для пользователей в стандартном интерфейсе Microsoft Office, к которому они привыкли и который не требует дообучения.
Несмотря на то что с помощью управляемого кода можно обеспечить автоматизацию операций в Excel и Word, требуется наличие внешнего приложения как надстройки, которое взаимодействует с теми или иными приложением Office и извлекает из него данные. Это то, что можно было видеть в предыдущих версиях. Теперь же можно говорить о сборках, которые разработаны на. NET Framework и под управлением VSTO и позволяют коду взаимодействовать с офисным приложением на более тонком уровне.
Большее количество ограничений связано с использованием COM-расширений. Здесь тоже можно применять управляемый код, но если нужна более тесная интеграция и ориентация на управляемый код и более высокую безопасность, имеет смысл использовать VSTO, которая работает с естественной средой приложения. NET Framework. Система VSTO позволяет создавать приложения офисного класса, которые не только основаны на управляемом коде, погружены в среду. NET, используют. NET Framework, но и могут выполняться изнутри документа. То есть похожи на макросы, которые встраиваются в документ. Но если говорить, например, о VBfA-приложениях, по сути макросах, то отличие кода, который был создан для VSTO, состоит в том, что этот код разработан для. NET, т. е. представляет собой сборку. Сборка хранится отдельно от документа, и можно, не затрагивая документ, произвести коррекцию сборки, ее функциональной направленности и ее обновление. Кроме того, в отличие от VBfA, предоставляющего собой интерпретируемый код, который нужно каждый раз выполнять при запуске документа, интерпретировать заново, сборка является уже откомпилированным кодом, ее выполнение происходит гораздо оперативнее и способствует повышению производительности, что крайне важно для корпоративных приложений.