なぜ自動化しないのか
Asposeで最も頻繁に聞かれる質問は2つです:
最初の質問は 製品の実行に Microsoft Office のインストールが必要ですか?
簡潔な答えは NO です。Aspose と Aspose コンポーネントは完全に独立しており、Microsoft Corporation と提携、認可、スポンサー、あるいは承認されていません。
次に典型的に続く質問は Microsoft Office Automation を使用する代わりに Aspose 製品を利用すべき理由は何ですか?
この質問は簡単には答えられません。最も短い答えは、多くの理由があり、最上位は Microsoft 自体がソフトウェア ソリューションからの Office Automation に強く反対している ということです。
概要
上記の通り、Aspose コンポーネントが自動化のより優れた代替手段である理由はいくつかあります。主な理由は次のとおりです:
- セキュリティ
- 安定性
- スケーラビリティ/速度
- 価格
- 機能
以下に各重要ポイントの詳細を示します。また、独立したユーザー評価へのリンクを提供する 追加情報 セクションも必ずご覧ください。
セキュリティ
以下は Microsoft 記事からの直接引用です:
“Office アプリケーションはサーバー側での使用を意図しておらず、したがって分散コンポーネントが直面するセキュリティ問題を考慮していません。Office は受信リクエストを認証せず、マクロを意図せず実行したり、サーバー側コードからマクロを実行する別のサーバーを起動したりすることから保護しません。匿名の Web からサーバーにアップロードされたファイルを開いてはいけません!最後に設定されたセキュリティ設定に基づき、サーバーは管理者またはシステム コンテキストでフル特権でマクロを実行でき、ネットワークが危険にさらされます!さらに、Office は Simple MAPI、WinInet、MSDAIPP などのクライアント側コンポーネントを多数使用し、処理速度向上のためにクライアント認証情報をキャッシュします。Office がサーバー側で自動化される場合、1 インスタンスが複数クライアントにサービスを提供することがあり、そのセッションの認証情報がキャッシュされているため、1 クライアントが別のクライアントのキャッシュされた資格情報を使用し、他のユーザーになりすまして付与されていないアクセス権限を取得する可能性があります。"
Aspose 製品は非常に安全です。Aspose コンポーネントは重要なシステムリソースに対する潜在的リスクをもたらしません。また、Aspose コンポーネントでドキュメントを開く際にマクロが自動的に実行されることはありません。Aspose コンポーネントは開発者が Office ファイルを作成、操作、保存できるようにすることを目的に構築されています。Microsoft Office パッケージに関連するリスクは、Aspose コンポーネントには固有ではありません。
安定性
以下は Microsoft 記事からの直接引用です:
“Office 2000、Office XP、Office 2003 は Microsoft Windows Installer (MSI) テクノロジーを使用してインストールと自己修復を容易にします。MSI は「最初の使用時にインストール」という概念を導入し、機能を実行時に動的にインストールまたは構成できるようにします(システム全体、または特定のユーザー向け)。サーバー側環境では、これがパフォーマンスを低下させ、インストールの承認や適切なインストールディスクの提供を求めるダイアログが表示される可能性が高まります。Office はエンドユーザー製品としての回復性を高めるよう設計されていますが、サーバー側環境では MSI 機能の実装が逆効果です。さらに、Office 全般の安定性はサーバー側で実行された場合に保証できません。なぜならこの使用方法向けに設計・テストされていないからです。ネットワークサーバー上で Office をサービス コンポーネントとして使用すると、マシン全体の安定性が低下し、結果としてネットワーク全体の安定性も低下します。Office をサーバー側で自動化する場合は、重要な機能に影響を与えず、必要に応じて再起動できる専用コンピュータにプログラムを分離することを検討してください。"
Aspose コンポーネントは徹底的にテストされており、非常に安定しています。Aspose コンポーネントは Companies などの企業で使用されています: IBM、Hilton、Reader’s Digest、Bank of America など多数。
スケーラビリティ/速度
以下は Microsoft 記事からの直接引用です:
“サーバー側コンポーネントは、最小のオーバーヘッドと高いスループットを持つ高度に再入可能なマルチスレッド COM コンポーネントである必要があります。Office アプリケーションはほぼ正反対です。非再入可能な STA ベースの Automation サーバーで、単一クライアント向けにリソース集中的な機能を提供するよう設計されています。サーバー側ソリューションとしてのスケーラビリティは低く、メモリなど重要な要素に固定上限があり、構成で変更できません。さらに、グローバルリソース(メモリマップド ファイル、グローバル アドインやテンプレート、共有 Automation サーバーなど)を使用するため、同時に実行できるインスタンス数が制限され、マルチクライアント環境で構成された場合にレース コンディションが発生する可能性があります。複数の Office アプリケーション インスタンスを同時に実行しようとする開発者は、プーリング または シリアライズ ド アクセス を検討し、デッドロック や データ破損 の潜在的リスクを回避する必要があります。"
Aspose コンポーネントは高度にスケーラブルで、極めて高速です。Office アプリケーションは数百から数千のユーザーが同時に使用するように設計されていませんが、Aspose コンポーネントはそのために設計されています。当社のコンポーネントは単一サーバー上の単一アプリケーションでも、エンタープライズ規模のロードバランスされた Web フォームでも、問題なく動作します。
価格
アプリケーションが Microsoft Office Automation を利用する場合、実行する各マシンに Microsoft Office のコピーを購入する必要があります。多くの場合、アプリケーションは Office ファイルの作成や操作が必要ですが、ユーザーが Microsoft Office を所有している必要はありません。Aspose は非常に Cost Effective でロイヤリティフリーの再配布ライセンスを提供しており、ライセンスの心配なく無制限のユーザーに展開できます。
Web ベースのアプリケーションを作成する際、Microsoft Office Automation コンポーネントはサーバー側ソリューション向けに価格設定やライセンスがされていないため、サーバー側で Office コンポーネントを使用する Web アプリケーションの適切なライセンスソリューションは存在しません。Aspose もサーバー向けアプリケーション向けに非常に Cost Effective なソリューションを提供しています。
機能
Aspose コンポーネントは Office ファイルの管理に必要なすべてと、さらに多くを提供します。開発者が最小の作業で最大の成果を上げられるよう設計されています。Office Automation とは異なり、Aspose コンポーネントは多数の強力で時間節約できる機能を提供します。たとえば、Aspose.Cells は開発者に DataTable や DataView から直接 Excel ファイルへデータをインポートする機能を提供します。Every Component はそれぞれ固有の強力な機能を備えています。
Aspose コンポーネント(または Aspose.Total のようなスイート)を購入する最大の利点は、当社の開発チームへのアクセスが得られることです。開発チームは、お客様の会社が必要とする機能は他社も必要とする可能性が高いと認識しています。すべての機能要求が追加できるわけではありませんが、チームは支援を提供する際に非常にオープンで柔軟な姿勢を取ります。この姿勢こそが Aspose コンポーネントを現在のように強力にした要因です。Office Automation オブジェクトから追加機能が必要な場合、その機能が追加される可能性は極めて低いです。