この章では、Oracle Fusion Middlewareについて説明します。この章の内容は次のとおりです。
ミドルウェアとは、ソフトウェア・コンポーネントまたはエンタープライズ・アプリケーションを接続するソフトウェアです。ミドルウェアは、分散コンピュータ・ネットワークのそれぞれの側で、オペレーティング・システムとアプリケーションの間にあるソフトウェア・レイヤーです(図1-1)。通常の場合は、複雑で分散されたビジネス・ソフトウェア・アプリケーションがサポートされます。
ミドルウェアは、ビジネス・アプリケーションを作成しやすくするインフラストラクチャであり、サービス指向アーキテクチャ(SOA)のアプリケーションに対して、同時実行性、トランザクション、スレッド、メッセージ、SCAフレームワークなど、コアとなるサービスが提供されます。セキュリティも提供され、エンタープライズに対して高可用性機能が可能になります。
ミドルウェアには、Webサーバー、アプリケーション・サーバー、コンテンツ管理システムなど、アプリケーションの開発と配信をサポートするツールが含まれています。特に、Extensible Markup Language(XML)、Simple Object Access Protocol(SOAP)、Webサービス、SOA、Web 2.0インフラストラクチャ、Lightweight Directory Access Protocol(LDAP)などに基づく情報技術に不可欠です。
ネットワーク・ベースのアプリケーションの成長や、企業による使用が続いていることに伴い、ミドルウェア・テクノロジはますます重要になっています。現在、企業および組織は、新しいソフトウェアを開発し、以前は独立していたアプリケーションを統合して、全社規模の情報システムの構築に取り組んでいます。統合プロセスでは、変更不能なインタフェースを使って、またはそのようなインタフェースを通じてのみ使用可能なレガシー・アプリケーションへの対応が必要になる場合があります。レガシー・アプリケーションのコードの書きなおしに法外なコストがかかる場合もあります。
情報システムは、ネットワークで相互接続される様々な専門的ハードウェア・デバイスの集合で構成されるケースがますます増えています。それぞれのデバイスは、データをリアルタイムで受信したり、システムの他のデバイスとリモートで対話する機能を実行します。コンピュータ・ネットワーク、通信システム、無停電電源ユニット、分散型の製造ユニットなどが含まれる例もあります。
情報システムとの対話のパフォーマンスは広範囲に及びます。様々なデバイスを通じてインターネット・アプリケーションと対話できますが、そのようなデバイスの特性およびパフォーマンスも多岐にわたっています。高性能のパーソナル・コンピュータ、スマートフォン、PDAの間で、帯域幅、ローカルでの処理能力、画面容量およびカラー画像の表示能力は、大幅に異なります。
アプリケーションは、オペレーティング・システムと通信プロトコルの上位にある中間ソフトウェアを使用して、次の機能を実行します。
アプリケーションが分散していることを、ユーザー名の目に見えないようにします。アプリケーションは、分散された場所で、目に見えない状態で運用および実行されている、相互接続されている部分の集合を表しています。
企業の環境が異機種混合であることを、ユーザーの目に見えないようにします。これには、使用されているハードウェア・コンポーネント、コンピュータのオペレーティング・システム、通信プロトコルなどがあります。
アプリケーションの開発者および統合担当者に、統一された標準的なハイレベルのインタフェースを提供することにより、アプリケーションの構成、再利用、移植および相互運用を容易にします。
重複作業が発生しないようにし、アプリケーション間の連携を促進するために、一連の共通サービスを提供して、一般的な目的を持った様々な機能を実行します。
ミドルウェアにより、アプリケーションの開発が容易になります。これを実現するために、ミドルウェアでは、共通プログラミング抽象化が用意され、異種のアプリケーションの存在や基礎となるハードウェアおよびオペレーティング・システムの分散がマスキングされ、下位レベルのプログラミングの詳細がユーザーの目から隠されています。
1つのアプリケーションの部分間または複数のアプリケーション間での対話を仲介することが、ミドルウェアの機能です。そのため、ミドルウェアを設計するときには、アーキテクチャ構造を検討することが最も重要になります。組織、構造全体および通信パターンを対象としたアーキテクチャ設計を、アプリケーションとミドルウェア自体の両方で行います。
構造面以外にミドルウェアを設計するときの主な問題は、分散システムの持つ様々な面に付随します。どのようなミドルウェア・システムも、ミドルウェアの様々な部分間の相互運用を可能にする通信レイヤーに依存しています。また、通信とは、ミドルウェア自体がアプリケーションに提供する機能であり、通信を行うエンティティは、クライアント/サーバーやピアツーピアなど、果たす役割が異なる場合があります。ミドルウェアでは、様々なパターンで様々なモードで対話できます(同期起動、非同期メッセージ転送、共有オブジェクトを通じた連携)。
そのため、ミドルウェア・システムの設計には、次のようないくつかの課題があります。
ミドルウェア・システムは、パフォーマンスに悪影響を与える傍受と間接化のメカニズムに依存しています。適合性のあるミドルウェアでは、さらに間接化が行われるため、状況がいっそう悪化します。
アプリケーションの相互接続や相互依存が増えるにつれて、オブジェクト、ユーザーおよびデバイスの数が増加する傾向にあります。これにより、通信およびオブジェクト管理のアルゴリズムのスケーラビリティという問題が発生し、管理がより複雑になります。アプリケーションの可用性、信頼性、同時実行性、セキュリティおよびパフォーマンスが問題になる場合もあります。
近い将来、広範にわたるコンピューティングの実現が構想されており、実現すると、様々な物理オブジェクトに埋め込まれるデバイスの数が増えて、グローバルな情報ネットワークに参加します。モバイル性および動的に再構成できることが重要な機能となり、アプリケーションが常に適応できることが要求されます。
異機種で構成され、広範囲に分散され、進化をやめない大規模なアプリケーションを管理していると、一貫した監視、セキュリティ、様々なサブシステムでの自治性と相互依存性のトレードオフ、リソース管理ポリシーの定義と実装など、多くの問題が発生します。
サービス指向アーキテクチャ(SOA)とは、互いに協調動作する多様なソフトウェア・アプリケーションを、自由に連結しやすくすることを目標としたアーキテクチャ・スタイルのことです。組織はこれを使用し、アプリケーションおよびシステムへの既存の投資を利用することができます。SOAを使用すると、容易に統合および再利用可能なモジュール形式のビジネス・サービスを開発できるようになり、柔軟で適応性のあるインフラストラクチャが実現されます。組織がSOAのアプローチを採用すると、革新や新しいビジネス・サービスの提供に、より多くのリソースや予算を配分できます。SOAの使用が成功しているシステムであれば、社内で計画的または計画外で停止した場合でも、混乱を最小限に抑えることができます。
SOAの使用には、次のようなメリットがあります。
開発期間の短縮および開発コストの削減: SOAのサービスは簡単に再利用でき、新しいコンポジット・アプリケーションに迅速にアセンブルできます。
メンテナンス・コストの軽減: 再利用可能なサービスによって、企業サービスの内部的な複雑さが軽減されます。
質の高いサービス: サービスの再利用回数の増加とともに、様々なサービス利用者が何度もテスト・サイクルを繰り返し、これにより、質の高いサービスが実現します。
統合コストの軽減: 標準化されたサービス間で連携方法が認識されているため、異種のアプリケーションでも迅速かつ容易に接続できます。
リスクの軽減: サービスが少なく、しかも再利用できるということは、企業およびITのガバナンス・ポリシーに対する制御が強まり、企業のコンプライアンス・リスク全体が軽減します。
互いに協調動作するソフトウェア・エージェントを自由に連結しやすくするため、SOAはどのような機能を実行するのでしょうか。この目的を実現するため、SOAはアーキテクチャに次の2つの制約を設けています。
シンプルかつ広範なインタフェースの少数のセットにより、すべての参加ソフトウェア・エージェントに対応します。このインタフェースには、一般的なセマンティックのみがエンコードされています。このインタフェースは、すべてのプロバイダおよび利用者が普遍的に使用できます。
拡張可能なスキーマによって制約された説明メッセージが、インタフェースを使用して配信されます。メッセージには、システム・アクティビティに関する指示は、まったくないか最小限にとどめられています。メッセージで使用できるボキャブラリおよび構造は、スキーマによって制限されています。拡張可能なスキーマにより、既存のサービスを壊すことなく、新しいバージョンのサービスを導入できます。
Oracle Fusion Middlewareでは、複雑で分散されたビジネス・ソフトウェア・アプリケーションに対するソリューションとサポートが提供されます。また、Webサーバー、アプリケーション・サーバー、コンテンツ管理システムなど、アプリケーションの開発と配信をサポートするツールが含まれています。
Oracle Fusion Middlewareとは、標準に準拠したソフトウェア製品の集合で、そのツールおよびサービスの範囲には、Java Enterprise Edition 5(Java EE)に準拠する環境および開発者向けのツールから、統合サービス、ビジネス・インテリジェンス、コラボレーションおよびコンテンツ管理が含まれます。Oracle Fusion Middlewareは、開発、デプロイメントおよび管理を完全にサポートしています。
図1-2に、Oracle Fusion Middlewareソリューションの概要を示します。
Oracle Fusion Middlewareは、そのミドルウェア設計を通じて次のソリューションを提供します。
開発ツール: 統一されたSOA開発ツールおよびフレームワーク。完全なアプリケーションを構築するために、専門ツールを数多く使用するかわりに用意された、統合型でありながらモジュール形式の一連の設計ツール。この設計ツールには単一の設計環境が用意され、ユーザー・インタフェース、ビジネス・ロジック、サービス構成、ビジネス・プロセスまたはワークフロー、ビジネス・ルール、ビジネス・インテリジェンスなどを設計できます。この設計ツールを使用すると、設計とデバッグを簡略化し、生産性を改善することができます。このソリューションには、Oracle JDeveloper、Oracle TopLink、Oracle Application Development FrameworkおよびOracle Eclipseが含まれます。
ユーザーの相互作用: 単一のエンドユーザー環境で、これを使用することにより、エンタープライズ・アプリケーション、ビジネス・プロセス、ビジネス・インテリジェンスにアクセスしたり、ユーザー間で情報を共有することができます。このエンドユーザー環境はマルチチャネルであるため、様々なクライアント(モバイル・クライアント、デスクトップ・クライアント、Voice-over IP(VOIP)クライアント)からアクセスできます。このソリューションには、Oracle WebCenter FrameworkおよびOracle Portalが含まれます。
Business Intelligence: ビジネス・インテリジェンス・ツールのスイートで、抽出、変換およびロードによって、ウェアハウスにデータを統合します。意思決定をサポートするための問合せ、分析およびレポートを行うツール、会社の現状とキー・パフォーマンス・インディケータを比較するためのスコアカード、ビジネス・ソフトウェアに生じた問題についてユーザーに通知するアラートが用意されています。このソリューションには、Oracle Business Intelligence Discoverer、Oracle Reports、Oracle Forms ServicesおよびOracle Portalが含まれます。
コンテンツ管理: ドキュメント、デジタル資産、スキャン画像などの形式のコンテンツを管理するリポジトリで、このコンテンツを、会社のエンタープライズ・アプリケーション、Webサイトおよびビジネス・プロセスと統合します。
SOA: アプリケーションおよびシステムに対する既存の投資を最も効率的に使用する手段で、これによって、革新や新しいビジネス・サービスの提供に、より多くのリソースや予算を配分できるようになります。このソリューションには、Oracle Service Bus、Oracle Complex Event Processing、Oracle Business Rules、Oracle Business Activity Monitoring、Oracle B2B、Oracle BPEL Process Manager、Oracle Service Registry、Oracle User Messaging Service、Human WorkflowおよびOracle Mediatorが含まれます。
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およびOracle Enterprise Manager 10g Grid Controlがあります。