自動化を選択しない理由
Aspose でよく聞かれる質問が2つあります:
最初の質問は あなたの製品を実行するには Microsoft Office のインストールが必要ですか?
簡潔な答えは 必要ありません です。Aspose と Aspose コンポーネントは完全に独立しており、Microsoft Corporation と提携しておらず、認可されておらず、スポンサーが付いているわけでも、その他の承認を受けているわけでもありません。
次に一般的に続く質問は なぜ Microsoft Office 自動化を利用するのではなく、Aspose 製品を使用するべきなのでしょうか?
この質問には簡単に答えることはできません。私たちが提供できる最も短い答えは、多くの理由がある中で Microsoft 自体がソフトウェアソリューションからの Office 自動化に対して強く推奨を行っている ということです。
概要
上記のように、Aspose コンポーネントが自動化のより良い選択肢である理由はいくつかあります。主な理由は次のとおりです:
- セキュリティ
- 安定性
- スケーラビリティ/速度
- 価格
- 機能
以下は各主要ポイントに関するより詳しい説明です。また、独立したユーザー評価へのリンクを提供する 追加情報 セクションを必ずご覧ください。
セキュリティ
以下は Microsoft Article からの直接引用です:
“Office アプリケーションはサーバー側での使用を意図していなかったため、分散コンポーネントが直面するセキュリティ問題を考慮していません。Office は受信リクエストを認証せず、意図せずマクロを実行したり、サーバー側コードからマクロを実行する別のサーバーを起動したりすることから保護してくれません。匿名の Web からサーバーにアップロードされたファイルを開かないでください! 最後に設定されたセキュリティ設定に基づいて、サーバーは管理者またはシステムコンテキストでマクロを実行することができ、完全な権限を持ち、ネットワークが危険にさらされる可能性があります! さらに、Office は多くのクライアント側コンポーネント(例えば Simple MAPI、WinInet、MSDAIPP)を使用して、処理を高速化するためにクライアント認証情報をキャッシュします。Office がサーバー側で自動化されている場合、1 つのインスタンスが 1 つ以上のクライアントにサービスを提供する可能性があり、セッションのためにキャッシュされた認証情報が存在するため、あるクライアントが他のクライアントのキャッシュされた資格情報を使用し、他のユーザーを成りすますことで許可されていないアクセス権を得る可能性があります。”
Aspose 製品は非常に安全です。Aspose コンポーネントは重要なシステムリソースに対して潜在的なリスクをもたらしません。さらに、Aspose コンポーネントでドキュメントが開かれると、マクロは自動的に実行されません。Aspose コンポーネントは、開発者が Office ファイルを作成、操作、保存できるように設計されています。Microsoft Office パッケージに関連するリスクは、Aspose コンポーネントには内在していません。
安定性
以下は Microsoft Article からの直接引用です:
“Office 2000、Office XP および Office 2003 は、エンドユーザーにとってインストールと自動修復を容易にするために Microsoft Windows Installer (MSI) テクノロジーを使用しています。MSI は「初めて使用する時にインストールする」という概念を導入し、ランタイムで機能を動的にインストールまたは構成できるようにします(システム用、または一般的に特定のユーザー用です)。サーバー側環境では、これによりパフォーマンスが低下し、ユーザーにインストールを承認するよう求めたり、適切なインストールディスクを提供するよう求めるダイアログボックスが表示される可能性が高くなります。これはエンドユーザー製品としての Office の復元性を高めるように設計されていますが、サーバー側環境での Office の MSI 機能の実装は逆効果です。さらに、サーバー側で実行される際に、Office の一般的な安定性を保証することはできません。これはこの種の使用のために設計またはテストされていないためです。ネットワークサーバー上でサービスコンポーネントとして Office を使用すると、そのマシンの安定性が低下し、結果としてネットワーク全体の安定性にも影響を与える可能性があります。サーバー側で Office を自動化する予定がある場合、プログラムを重要な機能に影響を与えない専用のコンピュータに隔離し、必要に応じて再起動できるようにすることをお勧めします。”
Aspose コンポーネントは徹底的にテストされており、非常に安定しています。Aspose コンポーネントは IBM 、ヒルトン 、リーダーズダイジェスト 、バンク・オブ・アメリカ などの 企業 に使用されています。
スケーラビリティ/速度
以下は Microsoft Article からの直接引用です:
“サーバー側コンポーネントは、最小のオーバーヘッドと多くのクライアントのための高スループットを持つ、高い再入可能性を持つマルチスレッド COM コンポーネントである必要があります。Office アプリケーションはほぼすべての点で正反対です。彼らは非再入可能で、STA ベースの自動化サーバーであり、単一のクライアントのために多様だがリソース集約型の機能を提供するように設計されています。サーバー側ソリューションとしてのスケーラビリティはほとんど提供せず、重要な要素(メモリなど)に対して固定制限があり、これを設定を変更して変更することはできません。最も重要なことに、彼らはグローバルリソース(メモリマップファイル、グローバルアドインまたはテンプレート、共有自動化サーバーなど)を使用し、これが同時に実行できるインスタンスの数を制限し、マルチクライアント環境で構成されている場合には競合状態を引き起こす可能性があります。同時に任意の Office アプリケーションのインスタンスを 1 つ以上実行する計画を立てている開発者は、プーリング または シリアライズされたアクセス を考慮して、潜在的な デッドロック または データの破損 を避ける必要があります。”
Aspose コンポーネントは非常にスケーラブルで、非常に高速です。Office アプリケーションは、数百または数千のユーザーによって同時に使用されるようには設計されていません。しかし、Aspose コンポーネントはそうなるように設計されています。私たちのコンポーネントは、単一のサーバーで、単一のアプリケーションをサポートする場合でも、エンタープライズ全体のアプリケーションを支える負荷分散型の Web フォームであっても、完璧に動作します。
価格
アプリケーションが Microsoft Office 自動化を利用する場合、そのアプリケーションを実行する各マシンに Microsoft Office のコピーを購入する必要があります。アプリケーションが Office ファイルを作成または操作する必要があるが、ユーザーが Microsoft Office を持っている必要がない場合が多くあります。Aspose は、無制限のユーザーへの展開を可能にし、ライセンスの心配をしないでおくための非常に コスト効果の高い ロイヤリティフリーの再配布ライセンスを提供しています。
Web ベースのアプリケーションを作成する際には、Microsoft Office 自動化コンポーネントはサーバー側ソリューションのために価格設定やライセンスがされていないため、Microsoft Office コンポーネントを利用する Web アプリケーションの展開には適切なライセンスソリューションがないことを知っておくことが重要です。Asposeはサーバーベースのアプリケーションに対しても非常にコスト効果の高いソリューションを提供しています。
機能
Aspose コンポーネントは、Office ファイルの管理に必要な全てを提供し、その上でさらに多くの機能を備えています。彼らは、開発者が最小限の労力で最大の成果を得られるようにする哲学をもって設計されています。Office 自動化とは異なり、Aspose コンポーネントは多くの強力で時間を節約する機能を提供します。たとえば、Aspose.Cells は、DataTable または DataView からデータを直接 Excel ファイルにインポートする機能を開発者に提供します。Aspose.Words も、開発者が Word(メールマージ)ドキュメントを生成することを可能にする類似の機能を提供します。Aspose のすべてのコンポーネント は、それぞれ独自で強力な機能を持っています。
Aspose コンポーネント(または Aspose.Total のようなコンポーネントスイート)を購入する最大の利点は、私たちの開発チームにアクセスできることです。私たちの開発チームは、あなたの会社が必要とする機能があれば、他の会社もそれを必要とする可能性が高いことを理解しています。すべての機能リクエストが追加できるわけではありませんが、私たちのチームはサポートを提供する際に非常にオープンマインドで柔軟であろうと努めています。その考え方が、Aspose コンポーネントを強力にする手助けをしてきました。Office 自動化オブジェクトからの追加機能が必要な場合、それらが追加される可能性は非常に低いです。