自動化しない理由

重要な質問

  • Aspose コンポーネントが Microsoft Office Automation よりはるかに優れたオプションである理由は何ですか?

Aspose では次のような質問をよく受けます :

  • 製品の実行に Microsoft Office のインストールが必要ですか?

簡潔で単純な答え—NO

Aspose および Aspose コンポーネントは完全に独立しており、Microsoft Corporation と提携、許可、スポンサー、承認されているわけではありません。

  • Microsoft Office Automation の代わりに Aspose 製品を使用すべき理由は何ですか?

まず、Aspose.Slides を使用する際のメリットがあります。

さらに、Microsoft 自体がソフトウェア ソリューションからの Office Automation の使用を 強く推奨しない としています。

概要

前述のとおり、Aspose コンポーネントが Automation より優れた代替手段である理由はいくつかあります。主な理由は次のとおりです:

  • セキュリティ
  • 安定性
  • スケーラビリティ/速度
  • 価格
  • 機能

以下の段落で主な理由を詳しく説明します。

セキュリティ

次は Microsoft の記事からの直接引用です:

“Office アプリケーションはサーバー側での使用を意図しておらず、分散コンポーネントが直面するセキュリティ問題を考慮していません。Office は受信リクエストを認証せず、マクロの意図しない実行や、サーバー側コードから別のサーバーでマクロが実行されることから保護しません。匿名の Web からサーバーにアップロードされたファイルを開いてはいけません!最後に設定されたセキュリティ設定に基づき、サーバーは管理者またはシステム コンテキストでフル権限でマクロを実行し、ネットワークを危険にさらす可能性があります!さらに、Office は Simple MAPI、WinInet、MSDAIPP など多数のクライアント側コンポーネントを使用し、処理速度向上のためにクライアント認証情報をキャッシュします。サーバー側で Office が自動化される場合、1 つのインスタンスが複数のクライアントにサービスを提供することがあり、そのセッションで認証情報がキャッシュされているため、あるクライアントが別のクライアントのキャッシュ資格情報を使用して、許可されていないアクセス権を取得することが可能です。”

Aspose 製品は非常に 安全 です。Aspose コンポーネントはすべての ASP.NET アプリケーションと同じユーザー コンテキスト(ASPNET ユーザー)で実行されます。そのため、Aspose コンポーネントは セキュリティ上のリスクをもたらしません。また、重要なシステム リソースを消費しません。さらに、Aspose コンポーネントが文書を開く際、マクロは自動的に実行されません。Aspose コンポーネントは開発者が Office ファイルを作成、操作、保存できるように設計されています。

安定性

以下は前述の Microsoft 記事からの直接引用です:

“Office 2000、Office XP、Office 2003 は Microsoft Windows Installer (MSI) テクノロジーを使用して、エンド ユーザー向けにインストールと自己修復を容易にしています。MSI は「初回使用時インストール」の概念を導入し、実行時に機能を動的にインストールまたは構成できるようにします(システム全体、または特定ユーザー向け)。サーバー側環境では、これがパフォーマンス低下と、ユーザーにインストールの承認や適切なインストール ディスクの提供を求めるダイアログが表示される可能性を高めます。Office の MSI 機能実装はサーバー側環境では逆効果です。さらに、Office の一般的な安定性はサーバー側での実行時に保証できません。これはその使用目的やテストが行われていないためです。ネットワーク サーバー上で Office をサービス コンポーネントとして使用すると、そのマシンの安定性が低下し、結果としてネットワーク全体の安定性にも影響します。Office をサーバー側で自動化する場合は、重要な機能に影響を与えず、必要に応じて再起動できる専用コンピューターにプログラムを隔離することを検討してください。”

Aspose コンポーネントは単一の DLL にパッケージ化されているため、ユーザーは機能させるために追加のパーツや部品をインストールする必要がありません。Aspose コンポーネントは .NET アプリケーションでのみ使用され、人間の応答を待つようなコードは含まれていません。

スケーラビリティ/速度

次は Microsoft の記事からの直接引用です:

“サーバー側コンポーネントは、最小のオーバーヘッドと高いスループットを持つ高度に再入可能なマルチスレッド COM コンポーネントである必要があります。Office アプリケーションはほぼすべての点で正反対です。非再入可能で STA ベースの Automation サーバーであり、単一クライアント向けにリソース集約的な機能を提供するよう設計されています。サーバー側ソリューションとしてのスケーラビリティは低く、メモリなどの重要要素には固定上限があり、設定で変更できません。さらに、メモリマップド ファイル、グローバル アドインやテンプレート、共有 Automation サーバーなどのグローバル リソースを使用するため、同時実行インスタンス数が制限され、マルチクライアント環境で設定すると競合状態が発生する可能性があります。複数の Office アプリケーション インスタンスを同時に実行しようとする開発者は、デッドロックやデータ破損を防ぐためにプーリングまたはシリアライズされたアクセスを検討する必要があります。”

Aspose コンポーネントは驚異的なスケーラビリティと高速性を備えています。Office アプリケーションは数百から数千のユーザーが同時に使用するようには設計されていませんが、Aspose コンポーネントはまさにそのために設計されています。弊社のコンポーネントは純粋な .NET ソリューションです。

価格

Microsoft Office Automation を利用するアプリケーションでは、アプリを実行する各マシンに Microsoft Office のコピーを購入する必要があります。アプリケーションが Office ファイルを作成または操作する必要がある多くのケースで、プロセス自体に Microsoft Office は不要です。

Web ベースのアプリケーションを作成する際、Microsoft Office Automation コンポーネントはサーバー側ソリューション向けに価格設定やライセンスが提供されていないことを覚えておく必要があります。したがって、Microsoft Office コンポーネントを使用する Web アプリケーションの展開に適したライセンス ソリューションは存在しません。一方、Aspose はサーバー向けアプリケーションに対しても非常に コスト効果が高い ソリューションを提供しています。

機能

Aspose コンポーネントは Office ファイルの管理に必要なすべてと、さらに多くを提供します。開発者が最小限の労力で最大の成果を上げられるようにという哲学のもとに設計されています。

例えば、Aspose.Cells は開発者が DataTableDataView から直接 Excel ファイルにデータをインポートできる機能を提供します。Aspose.Words は同様に、任意の .NET データ オブジェクトから直接 Word(メール マージ)文書を作成できる機能を提供します。Aspose ファミリーのすべてのコンポーネント がそれぞれ独自のユニークで強力な機能を備えています。

Aspose コンポーネントを購入する最大の利点は、開発チームへのアクセスが得られることです。たとえば、Office Automation オブジェクトを使用していて特定の機能が必要な場合、それらの機能が追加される可能性は非常に低いです。しかし、Aspose コンポーネントでは状況が異なります。

私たちのチームは常にオープンマインドで柔軟に支援を提供しており、これが Aspose コンポーネントが現在のように強力に成長した理由です。

結論