Почему не автоматизация

Введение

Есть два вопроса, которые мы чаще всего слышим здесь в Aspose:

  1. Требуется ли установленный Microsoft Office для работы ваших продуктов? Простой ответ - нет. Компоненты Aspose полностью независимы и не являются ассоциированными, лицензированными, спонсированными или иным образом одобренными корпорацией Майкрософт.
  2. Почему мы должны использовать продукты Aspose вместо использования автоматизации Microsoft Office? Самый краткий ответ, который мы можем дать, заключается в том, что есть много причин, основной из которых заключается в том, что сама Майкрософт настоятельно не рекомендует использовать автоматизацию Office из программных решений: Рассмотрение возможностей серверной автоматизации Office.

Есть несколько причин, почему компоненты Aspose являются лучшей альтернативой для автоматизации. Некоторые из ключевых причин:

  • Безопасность
  • Стабильность
  • Масштабируемость/Скорость
  • Цена
  • Функции

Ключевые моменты описаны ниже. Также обязательно посетите ссылки в конце этого раздела.

Безопасность

Ниже приведена прямая цитата из вышеупомянутой статьи Microsoft:

“Приложения Office никогда не предполагали использование на сервере, поэтому они не учитывают проблемы безопасности, с которыми сталкиваются распределенные компоненты. Office не аутентифицирует входящие запросы и не защищает вас от непреднамеренного запуска макросов или запуска другого сервера, который может запустить макросы, из вашего кода на серверной стороне. Не открывайте файлы, загруженные на сервер из анонимного веба! Основываясь на установленных последних параметрах безопасности, сервер может запускать макросы от имени администратора или системы с полными привилегиями и компрометировать вашу сеть! Кроме того, Office использует множество компонентов на клиентской стороне (такие как Simple MAPI, WinInet и MSDAIPP), которые могут кэшировать информацию об аутентификации клиента для увеличения скорости обработки. Если Office автоматизируется на сервере, один экземпляр может обслуживать несколько клиентов, и потому что учетные данные были кэшированы для этой сессии, возможно, что один клиент может использовать кэшированные учетные данные другого клиента и, таким образом, получать не разрешенный доступ, подменяя других пользователей."

Продукты Aspose очень безопасны. Компоненты Aspose работают в том же контексте пользователя, что и все приложения ASP.NET, под пользователем ASPNET. Поэтому компоненты Aspose не представляют потенциальной угрозы для важных системных ресурсов. Кроме того, когда документ открывается компонентом Aspose, макросы автоматически не запускаются. Компоненты Aspose были созданы с целью позволить разработчикам создавать, изменять и сохранять файлы Office. Ни один из рисков, связанных с пакетом Microsoft Office, не является присущим компонентам Aspose.

Стабильность

Следующая цитата прямо из упомянутой выше статьи Microsoft:

“Office 2000, Office XP и Office 2003 использует технологию Microsoft Windows Installer (MSI) для упрощения установки и самовосстановления для конечного пользователя. MSI вводит концепцию “установить при первом использовании”, что позволяет динамически устанавливать или настраивать функции во время выполнения (для системы или, чаще всего, для конкретного пользователя). В среде на сервере это как замедляет производительность, так и повышает вероятность появления диалогового окна, которое запросит пользователя подтвердить установку или предоставить соответствующий установочный диск. Хотя это предназначено для увеличения надежности использования Office как продукта для конечного пользователя, реализация возможностей MSI Office является контрпродуктивной в среде на сервере. Более того, в общем стабильность Office не может быть гарантирована при запуске на сервере, поскольку не предназначена или не тестировалась для такого использования. Использование Office в качестве служебного компонента на сетевом сервере может снизить стабильность этой машины, а следовательно и вашей сети в целом. Если вы планируете автоматизировать Office на стороне сервера, попытайтесь изолировать программу на выделенном компьютере, который не может повлиять на критические функции и который может быть перезапущен по мере необходимости."

Поскольку компоненты Aspose упакованы в один DLL, никогда не понадобится устанавливать какие-либо дополнительные части или элементы для их функционирования. Компоненты Aspose используются только в .NET-приложениях, и нет никакой части кода компонента, предназначенной для ожидания ответа человека. Компоненты Aspose были тщательно протестированы. Компоненты Aspose используются такими компаниями, как IBM, Hilton, Reader’s Digest, Bank of America и многими другими.

Масштабируемость/Скорость

Следующая цитата прямо из упомянутой выше статьи Microsoft:

“Серверные компоненты должны быть высокоповторяемыми, многопоточными компонентами COM с минимальными накладными расходами и высокой пропускной способностью для множества клиентов. Приложения Office во многом отличаются. Они не являются повторно входными, основанными на STA автоматизированными серверами, предназначенными для предоставления разнообразной, но интенсивной в использовании функциональности для одного клиента. Они предлагают небольшую масштабируемость в качестве серверного решения и имеют фиксированные ограничения для важных элементов, таких как память, которые нельзя изменить через конфигурацию. Более того, они используют глобальные ресурсы (такие как файлы, глобальные дополнения или шаблоны, и общие автоматизированные серверы), которые могут ограничить количество экземпляров, работающих одновременно, и привести к гонкам за ресурсы, если они настроены в многоклиентской среде. Разработчики, планирующие запускать более одного экземпляра любого приложения Office одновременно, должны учитывать “пулинг” или последовательный доступ к приложению Office, чтобы избежать потенциальных взаимных блокировок или коррупции данных."

Компоненты Aspose обладают высокой масштабируемостью и моментальной скоростью. Приложения Office не были предназначены для одновременного использования сотнями и тысячами пользователей, однако компоненты Aspose разработаны именно на это. Наши компоненты - это истинное .NET решение и функционируют безупречно, будь то на одном сервере, обслуживающем одно приложение, или на сбалансированной нагрузке веб-фермы, обеспечивающей приложение на уровне предприятия.

Цена

Когда приложение использует автоматизацию Microsoft Office, для каждого компьютера, на котором запускается приложение, должна быть куплена копия Microsoft Office. Очень часто приложению может потребоваться создание или изменение файла Office, но не требуется, чтобы пользователь имел Office. Aspose предлагает очень эффективную по стоимости, лицензию на свободное распространение, которая позволит развертывать приложения для неограниченного числа пользователей без забот о лицензировании.

При создании веб-приложений важно знать, что компоненты автоматизации Microsoft Office не имеют цены или лицензии для серверных решений (Лицензирование веб-компонентов Office 2000 и расширений для серверов Office); поэтому нет хорошего решения по лицензированию для развертывания веб-приложений, использующих компоненты Microsoft Office. Aspose предлагает очень эффективное решение для серверных приложений также.

Функции

Компоненты Aspose предоставляют все необходимое для управления файлами Office и гораздо больше. Они разработаны с философией позволить разработчикам достигать наилучших результатов с минимальными затратами. В отличие от автоматизации Office, компоненты Aspose предоставляют множество мощных и экономящих время функций. Например, Aspose.Cells предлагает разработчикам возможность экспортировать DataTable или DataView непосредственно в файл Excel. Aspose.Words предлагает аналогичную функцию, позволяющую разработчикам наполнять документ об объединении почты в Word непосредственно из любого объекта данных .NET. Каждый компонент семьи Aspose предлагает свой собственный набор уникальных, мощных функций.

Лучшая часть приобретения компонента Aspose или комплекта компонентов - это возможность общения с нашими командами разработчиков. Наша группа разработчиков понимает, что если у вашей компании есть функция, вероятно, ее потребуется и другим компаниям. Хотя не все запросы на добавление функций могут быть удовлетворены, наши команды стараются быть очень открытыми и гибкими при предоставлении помощи. Именно такое мышление помогло компонентам Aspose стать такими мощными. Есть очень маленькая вероятность, что дополнительные функции, которые вам нужны от объектов автоматизации Office, будут добавлены.

Заключение