Oracle Fusion Middlewareは、アプリケーション開発ツールや統合ソリューションから、ID管理、コラボレーションおよびビジネス・インテリジェンス・レポートに至るまでの幅広い製品群を含む包括的なファミリです。この章では、Oracle Fusion Middlewareの概要について説明します。次のセクションが含まれます:
Oracle Fusion Middlewareは、標準ベースのソフトウェア製品の集合であり、その範囲は、Java EEや開発者向けツールから、統合サービス、アイデンティティ管理、ビジネス・インテリジェンスおよびコラボレーションといったツールやサービスにまで及びます。Oracle Fusion Middlewareは、開発、デプロイメントおよび管理を完全にサポートしています。
ミドルウェアとは、具体的には、ソフトウェア・コンポーネントまたはエンタープライズ・アプリケーションを接続するソフトウェアです。図1-1に示されているように、ミドルウェアは、分散コンピュータ・ネットワークのそれぞれの側で、オペレーティング・システムとアプリケーションの間にあるソフトウェア・レイヤーです。ミドルウェアは通常、複雑な分散ビジネス・ソフトウェア・アプリケーションをサポートします。
ミドルウェアはまた、ビジネス・アプリケーションを作成しやすくするインフラストラクチャであり、サービス指向アーキテクチャ(SOA)のアプリケーションに対して、同時実行性、トランザクション、スレッド、メッセージ、SCAフレームワークなど、コアとなるサービスを提供します。また、企業に対してセキュリティを提供し、高可用性機能を有効にします。
ミドルウェアは、Webサーバー、アプリケーション・サーバー、コンテンツ管理システムに加え、アプリケーションの開発および配布をサポートする類似のツールで構成されます。これは、Extensible Markup Language (XML)、Simple Object Access Protocol (SOAP)、各種Webサービス、SOA、Unicode、Web 2.0インフラストラクチャおよびLightweight Directory Access Protocol (LDAP)を基盤とする情報技術にとって特に不可欠です。テキスト・データは、あらゆる言語のデータの交換をサポートできるように、Unicode文字セットで表現されます。UTF-8は最適な互換性と効率でデータを伝送するための標準エンコーディングとして使用されますが、従来の非Unicodeエンコーディングも(サポートされている場合は)使用できます。
ネットワーク・ベースのアプリケーションの成長や、企業による使用が続いていることに伴い、ミドルウェア・テクノロジはますます重要になっています。現在、企業および組織は、新しいソフトウェアを開発し、以前は独立していたアプリケーションを統合して、全社規模の情報システムの構築に取り組んでいます。統合プロセスでは、変更不能なインタフェースを使って、またはそのようなインタフェースを通じてのみ使用可能なレガシー・アプリケーションへの対応が必要になる場合があります。レガシー・アプリケーションのコードの書きなおしに法外なコストがかかる場合もあります。
情報システムは、ネットワークで相互接続される様々な専門的ハードウェア・デバイスの集合で構成されるケースがますます増えています。それぞれのデバイスは、データをリアルタイムで受信したり、システムの他のデバイスとリモートで対話する機能を実行します。コンピュータ・ネットワーク、通信システム、無停電電源ユニット、分散型の製造ユニットなどが含まれる例もあります。
情報システムとの対話のパフォーマンスは広範囲に及びます。様々なデバイスを通じてインターネット・アプリケーションと対話できますが、そのようなデバイスの特性およびパフォーマンスも多岐にわたっています。高性能のパーソナル・コンピュータ、スマートフォン、PDAの間で、帯域幅、ローカルでの処理能力、画面容量およびカラー画像の表示能力は、大幅に異なります。
アプリケーションは、オペレーティング・システムと通信プロトコルの上位にある中間ソフトウェアを使用して、次の機能を実行します。
アプリケーションの分散性を、ユーザーの目に見えないようにします。アプリケーションは、分散された場所で、目に見えない状態で運用および実行されている、相互接続されている部分の集合を表しています。
企業の環境が異機種混合であることを、ユーザーの目に見えないようにします。これには、使用されているハードウェア・コンポーネント、コンピュータのオペレーティング・システム、通信プロトコルなどがあります。
アプリケーションの開発者および統合担当者に、統一された標準的なハイレベルのインタフェースを提供することにより、アプリケーションの構成、再利用、移植および相互運用を容易にします。
重複作業が発生しないようにし、アプリケーション間の連携を促進するために、一連の共通サービスを提供して、一般的な目的を持った様々な機能を実行します。
ミドルウェアにより、アプリケーションの開発が容易になります。これを実現するために、ミドルウェアでは、共通プログラミング抽象化が用意され、異種のアプリケーションの存在や基礎となるハードウェアおよびオペレーティング・システムの分散がマスキングされ、下位レベルのプログラミングの詳細がユーザーの目から隠されています。
1つのアプリケーションの部分間または複数のアプリケーション間での対話を仲介することが、ミドルウェアの機能です。そのため、ミドルウェアを設計するときには、アーキテクチャ構造を検討することが最も重要になります。組織、構造全体および通信パターンを対象としたアーキテクチャ設計を、アプリケーションとミドルウェア自体の両方で行います。
図1-2は、一般的なOracle SOAインストールでのOracle Fusion Middlewareアーキテクチャの概要を示します。
詳細は、次のマニュアルを参照してください。
Oracle Fusion Middleware Oracle WebCenterポータル・エンタープライズ・デプロイメント・ガイド
Oracle Fusion Middleware Oracle SOA Suiteエンタープライズ・デプロイメント・ガイド
Oracle Fusion Middleware Oracle WebCenter Contentエンタープライズ・デプロイメント・ガイド
Oracle Fusion Middleware Oracle Business Intelligenceエンタープライズ・デプロイメント・ガイド
『Oracle Fusion Middleware高可用性ガイド』
構造面以外にミドルウェアを設計するときの主な問題は、分散システムの持つ様々な面に付随します。どのようなミドルウェア・システムも、ミドルウェアの様々な部分間の相互運用を可能にする通信レイヤーに依存しています。また、通信とは、ミドルウェア自体がアプリケーションに提供する機能であり、通信を行うエンティティは、クライアント/サーバーやピアツーピアなど、果たす役割が異なる場合があります。ミドルウェアでは、様々なパターンで様々なモードで対話できます(同期起動、非同期メッセージ転送、共有オブジェクトを通じた連携)。
そのため、ミドルウェア・システムの設計には、次のようないくつかの課題があります。
ミドルウェア・システムは、パフォーマンスに悪影響を与える傍受と間接化のメカニズムに依存しています。適合性のあるミドルウェアでは、さらに間接化が行われるため、状況がいっそう悪化します。
アプリケーションの相互接続や相互依存が増えるにつれて、オブジェクト、ユーザーおよびデバイスの数が増加する傾向にあります。これにより、通信およびオブジェクト管理のアルゴリズムのスケーラビリティという問題が発生し、管理がより複雑になります。アプリケーションの可用性、信頼性、同時実行性、セキュリティおよびパフォーマンスが問題になる場合もあります。
近い将来、広範にわたるコンピューティングの実現が構想されており、実現すると、様々な物理オブジェクトに埋め込まれるデバイスの数が増えて、グローバルな情報ネットワークに参加します。モバイル性および動的に再構成できることが重要な機能となり、アプリケーションが常に適応できることが要求されます。
異機種で構成され、広範囲に分散され、進化をやめない大規模なアプリケーションを管理していると、一貫した監視、セキュリティ、様々なサブシステムでの自治性と相互依存性のトレードオフ、リソース管理ポリシーの定義と実装など、多くの問題が発生します。
Oracle Fusion Middlewareは、標準ベースのソフトウェア製品群であり、開発ツール、統合サービス、ビジネス・インテリジェンス、コラボレーション、コンテンツ管理など、様々なツールとサービスを提供します。Oracle Fusion Middlewareは、開発、デプロイメントおよび管理を完全にサポートしています。
Oracle Fusion Middlewareは、具体的には、そのミドルウェア設計を通じて次のソリューションを提供します。
開発ツール: 統一されたSOA開発ツールおよびフレームワーク。完全なアプリケーションを構築するために、専門ツールを数多く使用するかわりに用意された、統合型でありながらモジュール形式の一連の設計ツール。この設計ツールには単一の設計環境が用意され、ユーザー・インタフェース、ビジネス・ロジック、サービス構成、ビジネス・プロセスまたはワークフロー、ビジネス・ルール、ビジネス・インテリジェンスなどを設計できます。この設計ツールを使用すると、設計とデバッグを簡略化し、生産性を改善することができます。このソリューションには、Oracle JDeveloper、Oracle TopLink、Oracle Application Development FrameworkおよびOracle Eclipseが含まれます。
ユーザーの相互作用: 単一のエンドユーザー環境で、これを使用することにより、エンタープライズ・アプリケーション、ビジネス・プロセス、ビジネス・インテリジェンスにアクセスしたり、ユーザー間で情報を共有することができます。このエンド・ユーザー環境はマルチチャネルであるため、Oracle WebCenter Portalを使用して様々なクライアント(モバイル・クライアント、デスクトップ・クライアント、Voice-over IP(VOIP)クライアント)からアクセスできます。
ビジネス・インテリジェンス: ビジネス・インテリジェンス・ツールのスイートで、抽出、変換およびロードによって、ウェアハウスにデータを統合します。意思決定支援のための問合せ、分析およびレポートを行うツール、ビジネスの現状とキー・パフォーマンス・インディケータを比較するためのスコアカード、およびビジネス・ソフトウェアに生じた問題についてユーザーに通知するアラートが用意されています。
コンテンツ管理: ドキュメント、デジタル資産、スキャン画像などの形式のコンテンツを管理するリポジトリで、このコンテンツを、会社のエンタープライズ・アプリケーション、Webサイトおよびビジネス・プロセスと統合します。
SOA: アプリケーションおよびシステムに対する既存の投資を最も効率的に使用する手段で、これによって、革新や新しいビジネス・サービスの提供に、より多くのリソースや予算を配分できるようになります。
Application Server: 標準に準拠したJava EEアプリケーション・サーバーで、エンタープライズ・アプリケーションを実行し、相互運用性を実現するためのWebサービス・インフラストラクチャを提供します。
統合とBusiness Process Management(BPM): 標準に準拠したサービス・バスで、これによって、複数のアプリケーションを相互接続したり、メッセージングを使用するレガシー・システムをアプリケーションに接続します。BPMまたはワークフロー・エンジンでは、アプリケーションをビジネス・プロセスまたはワークフローに接続し、ビジネス・アクティビティ監視では、リアルタイムでビジネス・プロセスを監視および最適化します。
セキュリティとID管理: 社内の複数のアプリケーションおよびシステムのセキュリティ管理のために、ユーザー、ユーザーID、ロールの作成およびプロビジョニングを集中管理し、ユーザーのシングル・サインオンを可能にします。このソリューションには、Oracle Internet Directory、Oracle Virtual Directory、Oracle Directory Integration Platform、およびOracle Identity Federationがあります。
エンタープライズ管理: 運用および管理のために、グルーピングやバックアップなどの高可用性テクノロジを使用して、グリッド・アーキテクチャで実行し、システム管理のためにOracle Enterprise Managerと統合します。このソリューションには、Fusion Middleware Control、Oracle WebLogic Server管理コンソール、Oracle WebLogic Scripting Tool、Oracle Process Manager and Notification Serverがあります。