WebSphere Application Server - Express for i5/OS, Version 6.1   
             オペレーティング・システム: i5/OS

             目次と検索結果のパーソナライズ化

WebSphere アプリケーションについての学習: 概説および新規機能

アプリケーション・サーバーがサポートするさまざまなアプリケーション・タイプで使用される 多くの部分を含め、プログラミング・モデルについて学習するため、 『WebSphere アプリケーションについての学習』セクションを開始点として使用します。

本製品にデプロイされたアプリケーションのプログラミング・モデルには、 以下の性質があります。

図では、単一アプリケーション・サーバーのインストールを示しています。プログラミング・モデルに 関連する部分は、ここで説明されます。他の部分は製品アーキテクチャーを構成し、 プログラミング・モデルで概要が説明されているさまざまなアプリケーション・タイプから 独立しています。製品アーキテクチャー を参照してください。

アプリケーション・サービス提供環境

J2EE アプリケーション・コンポーネント

Web アプリケーションは Web コンテナーで実行されます。

Web コンテナーは、Web アプリケーション・コンポーネントが実行 されるアプリケーション・サーバーの一部です。Web アプリケーションは、1 つ以上の関連するサーブレット、JavaServer Pages テクノロジー (JSP ファイル)、 Hyper Text Markup Language (HTML) ファイルから構成され、各構成要素をまとめて管理できます。 これらが結合され、ビジネス・ロジック機能が実行されます。

Web コンテナーは、サーブレット、 JSP ファイル、およびその他のタイプの Server Side Include を処理します。各アプリケーション・サーバー・ ランタイムには 1 つの論理 Web コンテナーがあります。これを変更することはできますが、 作成または除去することはできません。各 Web コンテナーは以下を提供します。
Web コンテナー・トランスポート・チェーン
要求は、Web コンテナー・インバウンド・トランスポート・チェーンを使用して、 Web コンテナーに送信されます。チェーンは、ネットワークへの接続を提供する TCP インバウンド・チャネル、 HTTP 要求にサービスを提供する HTTP インバウンド・チャネル、 サーブレットおよび JSP ファイルへの要求を処理するために Web コンテナ ーに送信する際に使用される Web コンテナー・チャネルで構成されます。
サーブレット処理
サーブレットを処理する場合、Web コンテナーは要求オブジェクトおよび応答オブジェクトを 作成し、次に servlet service メソッドを呼び出します。Web コンテナーは、 適切であればサーブレットの destroy メソッドを呼び出してサーブレットを アンロードします。その後、JVM がガーベッジ・コレクションを実行します。

サーブレット は、 動的 Web ページ・コンテンツのサポート、データベース・アクセスの提供、 複数クライアントへの同時サービス提供、およびデータのフィルター処理などのタスクを実行できます。

JSP ファイル により、Web ページにおける ビジネス・ロジックからの HTML コードの分離が可能になります。JSP 仕様の IBM 拡張を使用すると、HTML 作成者は Java プログラミングの専門知識がなくても、Java テクノロジーの 強力な機能を容易に Web ページに追加できます。

HTML およびその他の静的コンテンツ処理
Web コンテナーへ送信される HTML およびその他の静的コンテンツの 要求は、Web コンテナー・インバウンド・チェーンによって処理されます。ただし、 ほとんどの場合は、外部 Web サーバーおよび Web サーバー・プラグインを Web コンテナーへの フロントエンドとして使用することが実稼働環境に最も適しています。
セッション管理
サーブレット・ アプリケーション・プログラミング・インターフェース (API) 仕様で説明されているように、 javax.servlet.http.HttpSession インターフェースに対するサポートが提供されます。

HTTP セッション とは、同じブラウザーを使用して、同じユーザーからサーブレットに対して出される一連の要求のことです。 Web コンテナー内で稼働するアプリケーションは、セッションを利用して個々のユーザーを管理します。 例えば、多くの Web アプリケーションでは、 訪問したページでの一連の選択に基づいて、 ユーザーがサイトを移動するときのデータを動的に収集できます。ユーザーの次の移動先、つまり、次に表示されるサイトは、 ユーザーが以前にサイトで選択した内容により決定されます。このデータを保守するために、アプリケーションはこれを「セッション」に保管します。

SIP アプリケーションおよびそのコンテナー

SIP アプリケーションとは、少なくとも 1 つの Session Initiation Protocol (SIP) サーブレットを使用する Java プログラムです。SIP は、IP テレフォニー、プレゼンス、およびインスタント・メッセージを含むマルチメディア IP セッションの確立、変更、および終了に使用されます。

ポートレット・アプリケーションおよびそのコンテナー

ポートレット・アプリケーションとは、ポータル・ページ上の指定された領域に表示される、特別な再使用可能な Java サーブレットです。ポートレットは、さまざまなアプリケーション、 サービス、および Web コンテンツへのアクセスを提供します。

EJB アプリケーションは EJB コンテナーで実行します

EJB コンテナーは、エンタープライズ Bean をデプロイおよび管理するために 必要なすべてのランタイム・サービスを提供します。これは、セッション Bean とエンティティー Bean の両方の 要求を処理するサーバー・プロセスです。

Enterprise Bean は、 通常、J2EE アプリケーションのビジネス・ロジックをインプリメントしたり、データにアクセスしたりする Java コンポーネントです。 EJB モジュールにパッケージされ、アプリケーション・サーバーにインストールされているエンタープライズ Bean は、サーバーと直接通信しません。 EJB コンテナーは EJB コンポーネントとアプリケーション・サーバーの間の インターフェースです。コンテナーとサーバーは共に、エンタープライズ Bean ランタイム環境を 提供します。

コンテナーは、多くの下位レベルの サービス (スレッド化、トランザクション・サポートなど) を提供します。 管理的な側面として、EJB コンテナーは 格納されている Bean のデータ・アクセスを処理します。 単一コンテナーは、 複数の EJB Java アーカイブ (JAR) ファイルをホストすることができます。

クライアント・アプリケーションおよびその他のタイプのクライアント

クライアント/サーバー環境では、 クライアントは、サーバーで実行中のアプリケーションと通信します。クライアント・アプリケーション またはアプリケーション・クライアント は、 通常、特定の Java 仕様セットに従ってインプリメントされ、J2EE 準拠アプリケーション・サーバーの クライアント・コンテナー内で実行されるクライアントのことを言います。 WebSphere Application Server 環境内のその他のクライアントには、 Web アプリケーションとしてインプリメントされるクライアント (Web クライアント)、 Web サービス・プログラムのクライアント (Web サービス・クライアント)、 および製品システム管理のクライアント (管理クライアント) などがあります。
クライアント・アプリケーションおよびそのコンテナー
クライアント・コンテナーは、クライアント・マシン上で、アプリケーション・サーバーとは 別個にインストールされます。これにより、EJB 互換 J2EE 環境内で、 クライアントがアプリケーションを実行できるようになります。図では、クライアント・コンテナーで実行される Java クライアントを示しています。

本製品は、アプリケーション・クライアントを開始するための便利なlaunchClient ツール と、 クライアント・コンテナー・ランタイムを提供します。

技術情報のソースによっては、 クライアント・アプリケーションは、アプリケーション・クライアントとも呼ばれます。 この資料では、2 つの用語は同意語です。

Web ブラウザー・クライアントとしても知られる Web クライアント
図では、アプリケーション・サーバーの Web コンテナーに対して要求を 実行している Web ブラウザー・クライアント (単純に Web クライアントと も呼ばれる) を示しています。 Web クライアントつまり Web ブラウザー・クライアントは、Web ブラウザー内で実行され、 通常は Web アプリケーションです。
Web サービス・クライアント
Web サービス・クライアントは、 アプリケーション・サービス提供環境内にある、別の種類のクライアントです。図では、Web サービス・クライアントは 示していません。Web サービス情報には、このタイプのクライアントの情報が含まれます。
管理クライアント
図には 2 種類の管理クライアントが示されています。 スクリプト・クライアントと、本製品を管理するためのグラフィカル・ユーザー・インターフェース (GUI) である 管理コンソールです。どちらもシステム管理インフラストラクチャーのアクセスの一部です。 サーバーにデプロイしているアプリケーションの種類に関わらず、 これらは基本的には同じであるという意味では、管理クライアントは 製品アーキテクチャーの一部です。ただし、これらのクライアントの多くはユーザーが作成する プログラムであるため、完全を期すためプログラミング・モデルの一部として説明されます。

管理クライアントの使用 を参照してください。

Web サービス

Web サービス
図では、Web サービス・エンジン、 つまり、アプリケーション・サーバー・ランタイムの Web サービス・サポート部分を示しています。 Web サービスは、ネットワークを介して 記述、公開、検索、および呼び出しを行うことができる、 自己完結型 (self-contained) のモジュラー・アプリケーションです。 Web サービスは、サービス指向アーキテクチャー (SOA) をインプリメ ントし、柔軟で標準化された方法で、リソースとデータの接続または共用をサポートするものです。サービスは、動的で自動化されたディスカバリーおよび再使用をサポートするように、記述および編成されます。

製品は、Web サービス・ プロバイダーと要求側の両方として機能します。プロバイダーとしては、クライアントが使用するために公開される Web サービス をホストします。要求側としては、他のロケーションから Web サービスを呼び出すアプリケーション をホストします。図では、Web サービス・プロバイダーまたはゲートウェイに接触する、 この機能の Web サービス・エンジンを示しています。

データ・アクセス、メッセージング、および J2EE リソース

データ・アクセス・リソース
アプリケーション・サーバー内の エンタープライズ情報システム (EIS) へのアクセスに対する接続管理は、J2EE コネクター・アーキテクチャー (JCA) 仕様に基づいています。 図では、アプリケーションがデータベースにアクセスするのに役立つ JCA サービスを示しています。アプリケーションは、このデータベースでデータを検索および保持します。

エンタープライズ・アプリケーションと EIS 間の接続は、EIS 提供のリソース・アダプター (アプリケーション・サーバーに接続する) を使用して行われます。このアーキテクチャーにより、アプリケーション・サーバーと EIS 間の、接続管理、トランザクション管理、 およびセキュリティー契約が指定されます。

アプリケーション・サーバーの 接続マネージャー (表示されていない) が接続をプールして管理します。 JCA 仕様で定義されているリソース・アダプターおよび JDBC 2.0 拡張仕様で定義されているデータ・ソースの両方によって取得される接続を管理することができます。

JDBC リソース (JDBC プロバイダーおよびデータ・ソース) は、データ・アクセスのためアプリケーションによって使用される J2EE リソース の 1 タイプです。データ・アクセスは、JDBC リソースに限らない広範な主題ですが、 この情報では、多くの場合、簡潔化のために J2EE リソースの見出しの下にデータ・アクセスをグループ化します。

JCA リソース・アダプター は、アプリケーションが使用する別のタイプの J2EE リソースです。JCA は、異機種の EIS に J2EE プラットフォームを接続するための標準アーキテクチャーです。これには、Java プログラミング 言語で書き込まれていない ERP、メインフレーム・トランザクション処理、データベ ース・システム、およびレガシー・アプリケーションなどがあります。

JCA リソース・アダプターは、EIS ベンダーまたはその他のサード・パーティー・ベンダーが提供する システム・レベルのソフトウェア・ドライバーです。これは、 J2EE アプリケーション・サーバーまたはクライアントと EIS の間の接続を提供します。リソース・アダプターを 使用するには、リソース・アダプター・コードをインストールし、そのアダプターを使用する構成を作成します。 製品は、定義済みのリレーショナル・リソース・アダプターを提供します。

メッセージング・リソースとメッセージング・エンジン
JMS サポートにより、アプリケーションは、JMS 宛先 (キューまたはトピック) を使用して、 その他の JMS クライアントとメッセージを非同期に交換することができます。アプリケーションは、メッセージ駆動型 Bean を使用することにより、明示的にメッセージのポーリングをすることなく、JMS 宛先および JCA エンドポイントから自動的にメッセージを取得できます。

非 JMS インバウンド要求の場合、メッセージ駆動型 Bean は、 その目的のために作成された Java Connector Architecture (JCA) 1.5 リソース・アダプターを使用します。JMS メッセージングに対応するため、 メッセージ駆動型 Bean では、JCA ベースのメッセージング・プロバイダー (例えば、WebSphere Application Server に搭載されている、 デフォルトのメッセージング・プロバイダー) を使用できます。

メッセージング・エンジンは、以下のタイプのメッセージ・プロバイダーをサポートします。
デフォルト・メッセージング・プロバイダー (サービス統合バス)
デフォルト・メッセージング・プロバイダーは、トランスポート用にサービス統合バスを使用します。 デフォルトのメッセージ・プロバイダーは、point-to-point 機能と、 パブリッシュおよびサブスクライブ機能を提供します。このプロバイダー内では、JMS 接続ファクトリー およびサービス統合バスの宛先に対応する宛先を定義します。
WebSphere MQ プロバイダー
WebSphere MQ を外部 JMS プロバイダーとして使用することができます。アプリケーション・サーバーは、 JMS クライアント・クラスおよび管理インターフェースを提供し、 WebSphere MQ はキュー・ベースのメッセージング・システムを提供します。
一般 JMS プロバイダー
JMS 1.0.2 仕様の ASF コンポーネントを実装する限り、 別のメッセージング・プロバイダーを使用することができます。このプロバイダーの JMS リソースは、 管理コンソールを使用して構成することができません。
遷移: バージョン 6 は、 前に述べたさまざまな種類のプロバイダーを提供して、 JMS サーバーに関するバージョン 5 の概念を、アプリケーション・サーバーに構築される メッセージング・エンジンに置き換えます。バージョン 5 メッセージング・プロバイダーは、 バージョン 5 組み込みメッセージングと一緒に使用してリソースを構成するために提供されています。バージョン 5 の デフォルト・メッセージング・プロバイダーをサービス統合バスとともに使用することもできます。

EJB 2.1 は、 メッセージ駆動型 Bean を宛先に接続するために ActivationSpec を導入します。バージョン 5 との互換性のため、 現在もリスナー・ポートに対して JMS メッセージ駆動型 Bean (EJB 2.0) を構成 できます。 これらのメッセージ駆動型 Bean に対して、メッセージ・リスナー・サービスは、 1 つ以上の JMS リスナーを制御およびモニターするリスナー・マネージャーを提供します。 JMS リスナーはそれぞれ、デプロイされるメッセージ駆動型 Bean に代わって、JMS 宛先を モニターします。

メッセージング・サポートに対する今後の変更の可能性に ついて確認するには、非推奨のフィーチャーと除去されたフィーチャー を参照してください。

サービス統合バス

サービス統合バスは、メッセージングおよびサービス指向アプリケーションの 統合された通信インフラストラクチャーを提供します。サービス統合バスは、 高信頼性メッセージ・トランスポートを提供し、仲介論理を使用してメッセージ・フローを ネットワークにインテリジェントに適応させる JMS プロバイダーです。これは、 Web サービスの要求側とプロバイダーの接続をサポートします。この機能は、 セキュリティー、システム管理、モニター、および問題判別サブシステムを含め、 製品アーキテクチャーに完全に統合されています。

サービス統合バスは、 多くの場合、単にバスと呼ばれます。JMS アプリケーションをホストするために使用される場合、 メッセージング・バスと呼ばれます。これは、以下の部分で構成されます (図のこのレベルの詳細では表示されません)。
バス・メンバー
バスに追加されるアプリケーション・サーバー。
メッセージング・エンジン
バス・リソースを管理するコンポーネント。クライアントが生成を行う接続ポイント、 つまり、メッセージを消費する場所を提供します。
宛先
アプリケーションがメッセージを交換するために接続するバス内の場所。 宛先は、Web サービス・エンドポイント、メッセージング point-to-point キュー、 またはメッセージング・パブリッシュ/サブスクライブ・トピックを表す場合があります。宛先は バス上で作成され、メッセージング・エンジンでホストされます。
メッセージ・ストア
各メッセージング・エンジンは、サポートされるデータ・ストア (JDBC データベースなど) で 一連のテーブルを使用して、メッセージ、サブスクリプション情報、 およびトランザクション状態などの情報を保持します。
サービス統合バス Web サービス使用可能化によっ て、以下を実行することができます。
  • サービス宛先において既に使用可能な内部サービスを、 Web サービスとして使用可能にします。
  • 外部 Web サービスを、サービス宛先で使用可能にします。
  • Web サービス・ゲートウェイを使用して、既存のサービス (内部サービスまたは 外部 Web サービス) を、そのゲートウェイが提供しているように見える新規の Web サービス にマップします。
メール、URL、およびその他の J2EE リソース
以下の種類の J2EE リソースは、J2EE 準拠アプリケーション・サーバーでデプロイされた アプリケーションにより使用されます。
  • JDBC リソースおよびその他のデータ・アクセスのためのテクノロジー (上記で説明)
  • JCA リソース・アダプター (上記で説明)
  • JMS リソースおよびその他のメッセージング・サポート (上記で説明)
  • JavaMail サポート。アプリケーションでのインターネット・メール送信が可能。

    JavaMail API は、Java ベースのメール・クライアント・アプリケーションを構築するための、 プラットフォームとプロトコルに依存しないフレームワークを提供します。API が、プロトコル上で 稼働するメール・サーバーと対話する場合は、該当するサービス・プロバイダー (プロトコル・プロバイダー として知られる) が必要になります。

    メール・プロバイダーは、 メール送信用の Simple Mail Transfer Protocol (SMTP)、メール受信用の Post Office Protocol (POP)、およびメール受信用の別のオプションとしての Internet Message Access Protocol (IMAP) を含む、 プロトコル・プロバイダーのコレクションをカプセル化します。別のプロトコルを使用する場合、 そのプロトコル用に適切なサービス・プロバイダーをインストールする必要があります。

    JavaMail には、 サービス・プロバイダーの他に、Multipurpose Internet Mail Extensions (MIME)、URL ページ、および添付ファイルなどの プレーンではない複素数データ・タイプを扱うための基礎となるフレームワークとして JavaBeans Activation Framework (JAF) が必要です。

  • 論理ロケーションを記述するための URL。

    URL プロバイダーは、 HTTP などの特定の URL プロトコルの機能性を実装し、 アプリケーションと特定のプロトコルにサービス提供される URL リソース間の通信を可能にします。 デフォルトの URL プロバイダーは、HTTP、 FTP、または File などのサポートされる Java 2 Standard Edition 仕様に基づいたプロトコルを 持つ URL リソースで使用するために組み込まれています。追加プロトコルを実装する独自の URL プロバイダーを プラグインすることもできます。

  • 論理名を物理名にマッピングするためのリソース環境エントリー。

    java:comp/env 環境は、JNDI ネーム・スペース・オブジェクトと ローカル・アプリケーション環境オブジェクトの両方を検索する際に使用する単一メカニズムを 提供します。製品は、デフォルトで、多数のローカル環境エントリーを提供しています。

    J2EE 仕様は、アプリケーションの標準デプロイメント記述子でエントリーを定義することにより、 カスタマー環境エントリーを定義するためのメカニズムも提供します。 J2EE 仕様は以下の方法で、リソース環境エントリーの 定義をアプリケーションから分離します。
    • リソース環境エントリーをカプセル化する別個の管理オブジェクトを 定義するメカニズムを提供することを、アプリケーション・サーバーに要求します。管理オブジェクトは、 アプリケーション・サーバーのローカル・ネーム・スペース (java:comp/env) 内の JNDI を 使用してアクセス可能です。
    • 管理オブジェクトの JNDI ルックアップ・ネームおよび予想される戻りオブジェクト・タイプを 指定します。この仕様は、デプロイメント記述子内の上記のリソース環境エントリーで実行されます。
    製品は、以下の管理概念で、リソース環境エントリーの使用をサポートします。
    • リソース環境エントリー は、バインディング・ターゲット (JNDI 名)、 ファクトリー・クラス、およびリソース環境エントリーの戻りオブジェクト・タイプ (Referenceable へのリンクを経由) を 定義します。
    • Referenceable は、Java インターフェースをインプリメントするオブジェクト・インスタンスを 戻すファクトリーのクラス名を定義します。
    • リソース環境プロバイダー は、Referenceable、リソース環境エントリー、 および必要なカスタム・プロパティーをグループ化します。

セキュリティー

セキュリティー・プログラミング・モデルおよびインフラストラクチャー
本製品は、 セキュリティーに関するインフラストラクチャーおよびメカニズムを備えています。 これにより、重要な J2EE リソースおよび管理リソースを保護し、 認証、リソース・アクセス制御、データ保全性、機密性、プライバシー、 およびセキュア・インターオペラビリティーに関するエンタープライズ・エンドツーエンド・セキュリティー要件に対応します。

セキュリティー・インフラストラクチャーおよびメカニズムによって、 エンタープライズ・セキュリティー要件に対応することで、Java 2 Platform Enterprise Edition (J2EE) リソースおよび管理リソースが保護されます。言い換えると、この製品のセキュリティー・インフラストラクチャーは、 複数層のエンタープライズ・コンピューター・フレームワークの既存のセキュリティー・インフラストラクチャーと 連動します。オープン・アーキテクチャーに基づき、製品は、 エンタープライズ・ソフトウェア・コンポーネントと統合するプラグイン・ポイントを多数提供して、 エンドツーエンド・セキュリティーを提供します。

セキュリティー・インフラストラクチャーは、 プログラミング・モデルとアプリケーション・タイプに依存しない製品アーキ テクチャーのエレメントの両方に 関連します。

アプリケーションで使用される追加サービス

ネーミングおよびディレクトリー
各アプリケーション・サーバーは、Java Naming and Directory Interface (JNDI) ネーム・スペースを 提供するネーミング・サービスを提供します。このサービスは、 アプリケーション・サーバーでホストされるリソースを登録するために使用されます。JNDI 実装は、 Common Object Request Broker Architecture (CORBA) ネーミング・サービス (CosNaming) の上に作成されます。

JNDI は、 ネーミングへのクライアント・サイド・アクセスを提供し、 アプリケーション開発者により使用されるプログラミング・モデルを表します。 CosNaming は、サーバー・サイド・インプリメンテーションを提供し、 ネーム・スペースが実際に保管される場所となります。JNDI は、基本的に、CosNaming に保管されたネーム・スペースのクライアント・サイド・ラッパーを提供し、 クライアントの代わりに CosNaming サーバーと対話します。

アプリケーション・サーバーのクライアントは、 ネーミング・アーキテクチャーを使用し、これらのアプリケーションに関連するオブジェクトへの参照を取得します。 オブジェクトは、多くの場合、ネーム・スペースと呼ばれる階層構造にバインドされます。 これは、名前バインディングのセットから構成されており、それぞれは、特定のコンテキストに関連した名前、 およびその名前にバインドされたオブジェクトになっています。ネーム・スペースは、 ネーム・サーバーを通じてアクセスおよび操作できます。

本製品は、以下のネーミングおよびディレクトリー・ フィーチャーを提供します。
  • 分散ネーム・スペース。追加スケーラビリティーが可能。
  • 一時区画および永続区画。さまざまなスコープでのバインディングが可能。
  • 複数サーバーに渡る統合ネーム・スペース構造。
  • サーバー始動時にシステムによりバインドされるバインディングを定義する構成バインディング。
  • CORBA Interoperable Naming Service (INS) オブジェクト URL のサポート。

仮想メンバー・マネージャーを追加して、 製品セキュリティーのフェデレーテッド・リポジトリー・サポートを提供す ることにより、本製品は、特に他の WebSphere 製品および Tivoli 製品 と組み合わせた場合に、これまでで最も広範で高性能な ID 管理機能を 提供できるようになりました。

オブジェクト・リクエスト・ブローカー (ORB)
本製品は、ORB を使用して、クライアント・アプリケーションとサーバー・アプリケーション間の対話を 管理するとともに、製品コンポーネント間の対話も管理します。ORB は IIOP を使用し、クライアントがネットワーク分散環境において要求を行い、 サーバーからの要求を受け取ることができるようにします。

ORB は、 クライアントがネットワーク内のオブジェクトを探し出して、 そのオブジェクトに対して操作を呼び出すためのフレームワークを提供します。 その場合、リモート・オブジェクトについては、場所を意識する必要がなく、 クライアントと同じ実行プロセス内にあるかのように扱うことができます。

図には示されていませんが、 ORB が機能する 1 つの場所は、クライアント・コンテナーが Java クライアントに代わって EJB コンテナーと接触を行う場所です。

トランザクション
アプリケーション・サーバーの一部はトランザクション・サービスです。本製品は、拡張トランザクション機能を提供して、 アプリケーション開発者がカスタム・コーディングをする必要をなくしています。 既存のソフトウェア資産と J2EE 環境の統合に関連した多くの要求をサポートします。 この手段には、ActivitySessions (以下で説明) があります。

サーバー上で動作するアプリケーションは、トランザクションを使用することにより、リソースへの複数の更新を 1 つの作業単位として 調整できます。その場合、すべての更新が永続的に更新されるか、どの更新も永続的に更新されないかのどちらかになります。 トランザクションは、アプリケーション、またはアプリケーションがデプロイされているコンテナーにより、 開始したり終了したりします。

アプリケーション・サーバーは、 リソース・マネージャーの調整をサポートするトランザクション・マネージャーであり、 その他の準拠トランザクション・マネージャーとともに、 分散グローバル・トランザクションに参加します。

サーバーは、 分散トランザクション・サポートが必要ではない場合、 ローカル・トランザクション・サポートを介して、 データベース、JMS キュー、および JCA コネクターと対話するように構成することができます。

アプリケーションが トランザクションを使用する方法は、以下のように、アプリケーションのタイプによって異なります。
  • セッション Bean は、トランザクションをそれ自体で管理することができます。 または、トランザクションの管理をコンテナーに委任できます。
  • Entity Bean は、コンテナー管理トランザクションを使用します。
  • サーブレットなどの Web コンポーネントは、Bean 管理トランザクションを使用します。
製品は、以下のコンポーネントでトランザクションを扱います。
  • トランザクション・マネージャーは、リカバリー可能な XAResources の登録をサポートし、 これら各リソースが、トランザクションの終了時、またはアプリケーション・サーバーの障害発生時の再始動後に、 確実に一貫性のある結果を出すようにします。
  • コンテナーは、アプリケーションがトランザクションのリソース・マネージャー (例えばデータベース) に 対する更新を実行するとき、デプロイされたアプリケーションに代わって XAResources の登録を 管理します。コンテナーは、オプションで、コンテナー管理トランザクション用に構成された エンタープライズ Bean を持つ EJB アプリケーションのトランザクション境界を制御できます。
  • API は、Bean 管理エンタープライズ Bean およびサーブレットを処理し、 アプリケーション・コンポーネントが、自身のトランザクション境界を制御できるようにします。

WebSphere 拡張機能

WebSphere プログラミング・モデル拡張機能は、 本製品に付属のプログラミング・モデルの利点です。 アプリケーション機能および性能を拡張し、プログラミングおよびデプロイメントをより迅速かつ生産的にする、 最先端のテクノロジーを提供します。

さらに、アプリケーションは Eclipse 拡張フレームワークを 使用することができます。拡張ポイントを定義し、アプリケーションの拡張可能領域の拡張処理コードを 指定するとすぐに、ご使用のアプリケーションが拡張可能になります。 また、ターゲット拡張ポイント要件に従う拡張機能を定義することにより、 アプリケーションを拡張可能な別のアプリケーションにプラグインすることもできます。 拡張ポイントは、新規に追加された拡張機能を動的に検索することができ、 この新規機能は既存のアプリケーションにシームレスに統合されます。 これは、クロス Java 2 Platform, Enterprise Edition (J2EE) モジュールを 基礎として機能します。アプリケーション拡張レジストリーは Eclipse プラグイン記述子フォーマット およびアプリケーション・プログラミング・インターフェース (API) を、 WebSphere アプリケーションの標準拡張性メカニズムとして使用します。WebSphere アプリケーション・モジュールを 構築する開発者は、WebSphere Application Server 拡張機能を使用して、Eclipse ツールを実装したり、 プラグイン・モジュールを提供して、WebSphere アプリケーション内の事前定義済み拡張ポイントにある アクション、タスク、メニュー項目、およびリンクなどの機能性に役立てることができます。 このフィーチャーについて詳しくは、アプリケーション拡張レジストリー を参照してください。

さまざまな WebSphere プログラミング・モデル拡張機能およびアプリケーション・サーバー実行時にそれを サポートする対応アプリケーション・サービスは、ビジネス・オブジェクト・モデル拡張機能、 ビジネス・プロセス・モデル拡張機能、および次世代アプリケーションを作成するための拡張機能 の 3 つのグループに分類可能です。

ビジネス・オブジェクト・モデルに関連する拡張機能

ビジネス・オブジェクト・モデル拡張機能は、 Enterprise Bean (EJB) アプリケーションなどのビジネス・オブジェクトと共に作動します。
アプリケーション・プロファイル
アプリケーション・プロファイルは、 並行性の動的制御、事前取り出し、および先読みのストラテジーを定義するための WebSphere 拡張機能です。

アプリケーション・プロファイルおよびアクセス・インテントは、ソース・コードに影響を与えることなく、 エンタープライズ Bean のアプリケーション・パフォーマンスを微調整するための柔軟な方法を提供します。各種エンタープライズ Bean、 およびエンタープライズ Bean 内の各メソッドは、リソースにアクセスするための独自のインテントを持つことができます。 アクセス・インテントに基づくコンポーネントのプロファイルにより、 アプリケーション・サーバー・ランタイムのパフォーマンスが向上します。

動的照会
動的照会は、前例のないアプリケーション柔軟性を提供する WebSphere プログラミング拡張機能です。 これにより、実行時にアプリケーション・データの選択、ソート、結合、および計算の実行を行う照会を動的に作成したり、サブミットしたりできます。 動的照会サービスにより、実行時に EJB 照会言語照会を受け渡したり処理したりする機能が提供されるため、アプリケーション開発中にデプロイメント記述子に必須照会をハードコーディングする必要がなくなります。

動的照会により、実行時に、 クライアントが EJB コンポーネント上でカスタム照会を実行できるようになり、Enterprise Bean が改善されます。 これまでは、EJB 検索およびフィールド・マッピングは、開発時にインプリメントされ、 変更するには、さらに開発を行うか、再アセンブリーをする必要がありました。

動的キャッシュ
動的なキャッシュ・サービスは、サーブレット、コマンド、および JSP ファイルの出力をキャッシングして、パフォーマンスを改善します。 アプリケーション・サーバー内のこのサービスにより、 キャッシュ可能オブジェクトへの呼び出しをインターセプトし、 オブジェクトの出力を保管するか、 動的キャッシュからオブジェクトのコンテンツを提供したりします。

J2EE アプリケーションは、 読み取り/書き込み率が高く、データの流れにおいて短時間の待ち時間であれば対応可能なので、 動的キャッシュは、サーバー応答時間、スループット、およびスケーラビリティーにおいて非常に有利です。

機能には、 クラスター間のキャッシュ複製、キャッシュ・ディスク・オフロード、Edge Side Include キャッシング、 および外部キャッシング (Web サーバーの機能のような、アプリケーション・サーバー外部からキャッシュを制御する機能) があります。

ビジネス・プロセス・モデルに関連する拡張機能

ビジネス・プロセス・モデル拡張機能は、 アプリケーション・サーバーのプロセス、ワークフロー機能、およびサービスを提供します。 ビジネス・インテグレーション機能と組み合わせて使用します。
ActivitySessions
ActivitySessions は、1 フェーズ・コミット・リソースに関連するコミットメント規則および制限の処理の複雑さを軽減するための WebSphere 拡張機能です。

ActivitySessions は、 複数ローカル・トランザクションのスコープを拡張し、それらをグループ化する機能を提供します。これにより、 デプロイメント基準を基に、または明示的プログラム・ロジックにより、トランザクションをコミットすることができます。

Web サービス
Web サービスは、ネットワークを介して 記述、公開、検索、および呼び出しを行うことができる、 自己完結型 (self-contained) のモジュラー・アプリケーションです。 サービス指向アーキテクチャー (SOA) をインプリメントしているので、柔軟性の高い標準化された方法で リソースおよびデータを接続または共有できます。 サービスは、動的で自動化されたディスカバリーおよび再使用をサポートするように、記述および編成されます。

次世代アプリケーション作成のための拡張機能

次世代アプリケーション は、 固有の拡張が必要なアプリケーションで使用できます。これにより、 現在の J2EE 標準に基づいて構築された最新技術を活用して、次世代開発が可能になります。 これにより、従来では考えられなかったほどのアプリケーション開発、実行、およびパフォーマンスの制御が可能になります。
非同期 Bean
非同期 Bean は、シングル・タスクをマルチタスクとして実行できるようにし、 リソース集中型のタスクのパフォーマンスを向上させます。非同期スケジューリング機能は、 指定時刻の「バッチ・モード」での並列処理要求を処理するために使用することもできます。本製品は、 非同期実行およびアプリケーション・サーバー内のスレッドとコンポーネントの呼び出しを完全にサポートします。 アプリケーション・サーバーは、コンポーネントを実行して、そのセキュリティー・コンテキストを提供します。これにより、コンポーネントはアプリケーションの必須部分になります。
開始 Bean
開始 Bean により、アプリケーション・サーバーの始動時または停止時の ビジネス・ロジックの自動実行が可能になります。例えば、アプリケーション固有キャッシュの事前埋め込み、 アプリケーション・レベルの接続プールの初期化、 およびその他のアプリケーション固有の初期化と終了プロシージャーの実行のために使用できます。
オブジェクト・プール
オブジェクト・プールは、オブジェクトの複数インスタンスの再使用を可能にすることにより、 実行時のアプリケーション・パフォーマンスを改善する効果的な手段を提供します。この再使用により、 オブジェクトのインスタンス化、初期化、 およびガーベッジ・コレクションに関連したオーバーヘッドを削減できます。オブジェクト・プールの作成により、 アプリケーションが Java オブジェクトのインスタンスを取得し、 インスタンスを使用し終わった後にはプールに戻すことができるようになります。
国際化対応
国際化対応サービスは、開発者の生産性を向上させるための WebSphere 拡張機能です。 呼び出しクライアントの時間帯およびロケーション情報を自動的に認識し、 アプリケーションが適切に実行されるようにします。このテクノロジーにより、世界中の各ユーザーに、正しい日時の情報、使用通貨と言語、 および正しい日付と 10 進数のフォーマットを配信できます。
スケジューラー
スケジューラー・サービスは、 特定時刻または特定インターバルでアクションを開始する WebSphere プログラミング拡張機能です。 既存のコンピューター・リソースの使用効率を最大化することにより、IT コストの最小化を支援し、 アプリケーション速度および反応を高めます。スケジューラー・サービスは、 並列処理を使用してワークロードを処理し、特定のトランザクションの優先順位を高く設定し、 急ぎではないタスクをトラフィックの少ない時間帯に処理するようにスケジュールする機能を提供します。
作業域
作業域は、開発者の生産性を向上させるための WebSphere 拡張機能です。 作業域は、「グローバル変数」に類似した機能です。これにより、 アプリケーション・コンポーネント間の前後関係を引き渡したり伝搬するためのソリューションを提供します。

作業域により、分散アプリケーション間で情報を効果的に共用することができます。例えば、 お客様がアプリケーションにアクセスしたときにプロファイル情報を追加する場合などです。この情報を作業域に置くことにより、 アプリケーション全体でこの情報を使用でき、ソリューションを手動でコーディングしたり、 データベースに対して情報を読み取ったり書き込んだりする必要がなくなります。

拡張機能の学習について詳しくは、 WebSphere プログラミング拡張についての学習 を参照してください。




サブトピック
Web アプリケーション
Web アプリケーションの学習
概要: Web アプリケーション
概要: ポートレット・アプリケーション
ポートレット・アプリケーションの学習
概要: SIP アプリケーション
SIP アプリケーションの学習
EJB アプリケーション
概要: EJB アプリケーション
EJB アプリケーションについての学習
クライアント・モジュール
概要: クライアント・アプリケーション
クライアント・アプリケーションについての学習
Web サービス
概要: Web サービス
Web サービスの学習
データ・アクセス・リソース
概要: データ・アクセス・リソース
データ・アクセス・リソースについての学習
メッセージング・リソース
概要: メッセージング・リソース
メッセージング・リソースについての学習
メール、URL、およびその他の J2EE リソース
概要: メール、URL、およびその他の J2EE リソース
メール、URL、およびその他の J2EE リソースについての学習
セキュリティー
概要: セキュリティー
概要: ネーミングおよびディレクトリー
ネーミングおよびディレクトリーについての学習
オブジェクト・リクエスト・ブローカー (ORB) についての学習
概要: オブジェクト・リクエスト・ブローカー
概要: トランザクション
トランザクションについての学習
仕様および API 資料
関連概念
オブジェクト・リクエスト・ブローカー
WebSphere プログラミング拡張についての学習
概念トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 7:05:28 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.express.iseries.doc/info/iseriesexp/ae/welc6tech_ovrex.html