なぜオートメーションを使用しないのか
紹介
Asposeで最もよく聞かれる2つの質問があります:
- 製品を実行するためにMicrosoft Officeのインストールが必要ですか? 単純な答えはいいえです。Asposeコンポーネントは完全に独立しており、Microsoft Corporationとは関連しておらず、承認されていません。
- Microsoft Office Automationを利用する代わりになぜAspose製品を使用すべきなのですか? 私たちができる最も短い答えは、多くの理由があり、その中でも主要な理由の1つは、Microsoft自体がソフトウェアソリューションからのOfficeオートメーションに強く反対していることです:Officeのサーバーサイド自動化の考慮事項。
Asposeコンポーネントがオートメーションよりも優れた選択肢である理由はいくつかあります。主要な理由のいくつかは以下の通りです。
- セキュリティ
- 安定性
- スケーラビリティ/速度
- 価格
- 機能
主要なポイントは以下の通りです。また、このセクションの最後にリンクを訪れてください。
セキュリティ
以下は上記のMicrosoftの記事からの直接引用です:
“Officeアプリケーションはサーバーサイドでの使用を意図しておらず、したがって分散コンポーネントが直面するセキュリティの問題を考慮していません。Officeは着信リクエストの認証を行わず、サーバーサイドコードから誤ってマクロを実行したり、他のサーバーを起動してそのサーバーでマクロを実行したりする事態から保護しません。匿名のWebからサーバーにアップロードされたファイルを開かないでください!最後に設定されたセキュリティ設定に基づいて、サーバーは管理者またはシステムコンテキストでマクロを実行でき、ネットワークを危険にさらすかもしれません!さらに、Officeは多くのクライアント側コンポーネント(Simple MAPI、WinInet、およびMSDAIPPなど)を使用して処理を高速化するためにクライアント認証情報をキャッシュすることができます。Officeがサーバーサイドで自動化されている場合、1つのインスタンスが複数のクライアントにサービスを提供することができ、セッションの間に認証情報がキャッシュされているため、1つのクライアントが他のクライアントのキャッシュされた認証情報を使用し、非付与アクセス権を獲得する可能性があります。これにより、他のユーザーをなりすまして非付与アクセス権を獲得することができます。"
Aspose製品は非常にセキュアです。AsposeコンポーネントはすべてのASP.NETアプリケーションと同じユーザーコンテキストで、ASPNETユーザーの下で実行されます。したがって、Asposeコンポーネントは重要なシステムリソースに潜在的なリスクをもたらすことはありません。さらに、Asposeコンポーネントによってドキュメントが開かれるときに、マクロは自動的に実行されません。Asposeコンポーネントは、開発者がOfficeファイルを作成、操作、保存することを目的として構築されています。Microsoft Officeパッケージに関連するリスクは、Asposeコンポーネントには内在しません。
安定性
以下は上記のMicrosoftの記事からの直接引用です:
“Office 2000、Office XP、およびOffice 2003は、インストールと自己修復をエンドユーザーにとって簡単にするためにMicrosoft Windows Installer(MSI)技術を使用しています。MSIは「最初に使用してインストール」の概念を導入し、実行時に機能を動的にインストールまたは構成できるようにします(システム用、またはより頻繁には特定のユーザー用)。サーバーサイド環境では、これによりパフォーマンスが低下し、ユーザーに対してインストールの承認を求めたり、適切なインストールディスクを提供するよう求めるダイアログボックスが表示される可能性が高まります。エンドユーザー向け製品としてOグフィスの弾力性を高めるために設計されたものでも、サーバーサイドでのMSIの機能は逆効果です。さらに、Officeの安定性は一般に、この種の使用に対して設計またはテストされていないため、保証できません。ネットワークサーバーにOfficeをサービスコンポーネントとして使用することは、そのマシンの安定性を低下させ、それによって全体としてのネットワークの安定性を損なう可能性があります。Officeをサーバーサイドで自動化しようとする場合、重要な機能を影響を与えることのないように専用コンピュータにプログラムを分離し、必要に応じて再起動できるようにします。"
Asposeコンポーネントは1つのDLLにパッケージ化されているため、機能するために追加の部品や部品をインストールする必要はありません。Asposeコンポーネントは.NETアプリケーションだけで利用され、コンポーネントコードの部分が人間の応答を待つように設計されていることはありません。Asposeコンポーネントは徹底的にテストされています。AsposeコンポーネントはIBM、Hilton、Reader’s Digest、Bank of Americaなどの企業によって使用されています。
スケーラビリティ/スピード
以下は上記のMicrosoftの記事からの直接引用です:
“サーバーサイドコンポーネントは、高度に再起可能で、最小のオーバーヘッドと複数のクライアント向けの高スループットを持つマルチスレッドのCOMコンポーネントである必要があります。一方、Officeアプリケーションはほとんどすべての点で正反対です。再起不能で STAベースの自動化サーバーであり、単一のクライアント向けに多様なリソース集約型の機能を提供するために設計されています。サーバーサイドソリューションとしてほとんどスケーラビリティを提供せず、メモリなどの重要な要素に対して固定の上限があるため、構成を通じて変更できません。さらに重要なこととして、クライアント側リソース(メモリマップファイル、グローバルアドインやテンプレート、共有された自動化サーバーなど)を使用し、同時に実行可能なインスタンスの数を制限し、マルチクライアント環境で構成されている場合にレース条件を生み出す可能性があります。同時に1つ以上のOfficeアプリケーションのインスタンスを実行する開発者は、「プーリング」またはOfficeアプリケーションへのアクセスを連続化することを考慮する必要があり、潜在的なデッドロックやデータの破損を回避する必要があります。"
Asposeコンポーネントは非常にスケーラブルで高速です。Officeアプリケーションは数百から数千のユーザーによって同時に使用されるように設計されていませんが、Asposeコンポーネントはその点において設計されています。当社のコンポーネントは、1つのアプリケーションを駆動する単一のサーバー上で動作する場合でも、企業全体のアプリケーションをパワーアップする負荷分散型Webファーム上で動作する場合でも、完璧に動作します。
価格
アプリケーションがMicrosoft Office Automationを利用する場合、アプリケーションを実行する各マシンのMicrosoft Officeのコピーを購入する必要があります。アプリケーションがOfficeファイルを作成または操作する必要がある場合でも、ユーザがOfficeを必要としない場合があります。Asposeは、無制限のユーザへの展開を可能にする非常に費用対効果の高いロイヤリティフリーの再頒布ライセンスを提供しています。
Webベースのアプリケーションを作成する際には、Microsoft Officeの自動化コンポーネントはサーバーサイドソリューション向けに価格設定またはライセンスされていないため、Microsoft Officeコンポーネントを利用するWebアプリケーションを展開するための適切なライセンスソリューションはありません。Asposeはサーバーベースのアプリケーションに対する非常に費用対効果の高いソリューションを提供しています。
機能
Asposeコンポーネントは、オフィスファイルを管理するために必要なすべてのものと、それ以上を提供します。これらは開発者が最も少ない作業量で最大の結果を実現できるように設計されています。Officeの自動化とは異なり、Asposeコンポーネントは多くの強力で時間を節約する機能を提供します。例えば、Aspose.Cellsでは、開発者がDataTableまたはDataViewから直接Excelファイルにエクスポートできる機能を提供しています。Aspose.Wordsも同様の機能を提供しており、開発者がWordメールマージドキュメントを任意の.NETデータオブジェクトから直接作成できます。Asposeファミリーのすべてのコンポーネントは独自の一連のユニークで強力な機能を提供しています。
Asposeコンポーネントまたはコンポーネントスイートを購入する最大の利点は、開発チームにアクセスできることです。開発チームは、貴社が必要とする機能が他の企業にも必要とされる可能性が高いことを認識しています。すべての機能リクエストを追加できるわけではありませんが、チームは支援を提供する際に非常に柔軟でオープンな考え方を心がけています。この考え方がAsposeコンポーネントを現在のように強力なものに育てたのです。Officeの自動化オブジェクトから必要とする追加の機能がある場合、追加される可能性は非常に低いです。