プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic Serverの理解
12c (12.2.1)
E69989-01
  目次へ移動
目次

前
 
次
 

14 サンプル・アプリケーションおよびサンプル・コード

この章では、WebLogic Serverの学習および操作の様々な方法を紹介するWebLogic Serverコードのサンプルやサンプル・アプリケーションについて説明します。カスタム・インストールでサーバー・サンプルを選択すると、これらのサンプルやサンプル・アプリケーションがインストールされます。

この章の内容は次のとおりです。

概要

この項では、WebLogic Serverサンプル・コードのインストール方法と使用方法の概要を示します。

この項には次のトピックが含まれます:

WebLogic Serverサンプル・コードのインストール

WebLogic Serverのインストールを実行する場合は、「完全および例」を選択して、WebLogic ServerとCoherenceのサンプル・コードを取得します。WebLogic Serverのインストールの詳細は、『Oracle WebLogic ServerおよびCoherenceのインストールと構成』を参照してください。WebLogic Serverサンプル・ドメインを設定するには、インストール後にプロンプト表示された際にクイックスタート構成ウィザードを起動します。

インストール・プログラムからQuickStart構成ウィザードを自動的に起動せずに、サンプル・コードとサンプル・ドメインを後で構成する場合は、QuickStart構成ウィザードを手動で実行できます。詳細は、『構成ウィザードによるWebLogicドメインの作成』のQuickStart構成ウィザードの実行に関する項を参照してください。


注意:

WebLogic Serverをサンプル付きで完全にインストールすると、サンプルのソース・コードはEXAMPLES_HOMEディレクトリに置かれます。デフォルトのパスはORACLE_HOME\wlserver\samples\serverです。このディレクトリから、サンプルのソース・コードおよび手順のファイルにアクセスすることができ、サンプル・ドメインを設定する必要はありません。

WebLogic Serverサンプル・ドメインの起動

次のいずれかの手順を使用して、サンプル・サーバーを起動します。これらの手順では、DOMAIN_HOMEは、マシン上のサンプル・ドメインが構成されている場所を表します。たとえば、C:\ORACLE_HOME\user_projects\domainsです。

Windowsの場合: コマンド・シェルを使用し、DOMAIN_HOME\wl_serverディレクトリに移動します。次のコマンドを入力します。

startWebLogic.cmd

UNIX Bourne Shellの場合: DOMAIN_HOME/wl_serverディレクトリに移動します。次のコマンドを入力します。

sh ./startWebLogic.sh

注意:

デフォルトでは、サンプル・サーバーは、ポート7001を使用して着信接続をリスニングします。MedRecサーバーも、デフォルトで同じリスニング・ポートを使用します。つまり、どちらかのリスニング・ポートを変更せずに両方のドメインを同時に実行することはできません。両方のドメインを同時に実行する場合は、Oracle WebLogic Server管理コンソールを使用して、サンプル・サーバーのリスニング・ポートを7001以外に変更してから再起動します。その結果、サンプル・サーバーと同時に、デフォルトのリスニング・ポートを使用するMedRecサーバーを実行できるようになります。

WebLogic Serverのサンプル・コードの実行

サンプル・コードの構築、デプロイおよび実行について、サンプル・コードに付属の説明を確認します。WebLogic Serverサンプル・ドメインを起動すると、ブラウザが自動的に起動されてWebページが表示されます。このページから、サンプルを参照して、そのサンプルを構築、デプロイ、実行するための情報を取得できます。

表記規則

WebLogic Serverサンプル・コードの説明全体を通して、次の表記規則が使用されています。

  • 通常は、Windowsのコマンド・シェルを対象にした説明が提供されます。UNIXまたはLinuxベースのシェルを使用している場合は、パス名の\/に置き換えてください。

  • ORACLE_HOMEは、WebLogic Serverサーバーのインストール時にOracleホームとして指定したディレクトリ(C:\Oracle\Middleware\Oracle_Homeなど)を表します。

  • WL_HOMEは、Oracle WebLogic Serverの最上位のインストール・ディレクトリを表します。デフォルトのパスは、ORACLE_HOME\wlserverです。(ただし、Oracleホーム・ディレクトリへのWebLogic Serverのインストールは必要ありません。)

  • EXAMPLES_HOMEは、WebLogic Serverのサンプル・コードが構成されているディレクトリを表します。デフォルトのパスはORACLE_HOME\wlserver\samples\serverです。

  • DOMAIN_HOMEは、WebLogic Serverのサンプル・ドメインが構成されているディレクトリを表します。デフォルトのパスは、ORACLE_HOME\user_projects\domainsです。

サンプル・コードのソース・ファイルは、実社会のシナリオと同様に、ドメイン構成ファイルとは別の場所にあります。これらは、EXAMPLES_HOMEディレクトリにインストールされます。

DOMAIN_HOME\wl_serverディレクトリには、WebLogic Serverのサンプル・ドメインが含まれています。このドメインには、アプリケーション、アプリケーションおよびOracle WebLogic Serverの動作方法を定義するXML構成ファイル、および起動スクリプトと環境スクリプトが含まれます。

EXAMPLES_HOME\examples\buildディレクトリには、サンプルとDerbyデータベースで必要なクライアントとサーバー・クラスが含まれています。

WL_HOME\common\derbyディレクトリには、Derby(サンプルで使用するデモンストレーション・データベース)が含まれています。また、データベースを起動および停止するスクリプトも含まれています。Derbyの詳細は、http://db.apache.org/derbyを参照してください。

Java EE 6のサンプル

Oracle WebLogic Serverは、Java Platform, Enterprise Edition (Java EE) 6仕様を完全サポートしています。Java EE 6の例によって、Java EE 6 APIとOracle WebLogic Server専用機能を実装する方法を詳しく解説します。例は次のカテゴリに分類されます。

  • バッチ1.0: バッチ・ジョブを発行して、発行したジョブに関する情報をJobOperatorインタフェースを使用して取得し、バッチ並列モデルを使用してパーティション化されたジョブ・ステップを実行します。

  • Beanの検証1.1: Beanの検証グループ制約とメソッド・レベル検証APIを使用します。

  • CDI 1.1: CDIイベントおよび@TransactionScoped@Transactionalアノテーションを使用します。

  • 同時実行性1.1: ContextServiceインタフェースを使用して動的なプロキシ・オブジェクトを作成し、ManagedExecutorServiceインタフェースを使用してタスクを発行し、ManagedScheduledExecutorServiceインタフェースを使用して遅延したタスクまたは定期的なタスクを発行し、ManagedThreadFactoryインタフェースを使用してJava EEコンテナから管理対象スレッドを取得します。

  • EJB 3.2: 新しいセッションBeanライフサイクル・コールバック・インターセプタ・メソッドAPIおよびメッセージドリブンBeanを使用して、メソッドのないリスナー・インタフェースを実装します。

  • 式言語3.0: スタンドアロン環境、静的フィールドまたはメソッド参照、新しい演算子、ラムダ式およびコレクション構成と演算子のサポートを含む新しいEL機能を使用します。

  • JAX-RS 2.0: 非同期処理、フィルタとインターセプタ、およびServer-Sent Events (SSE) Jerseyのサポートを使用します。

  • Java Connector Architecture 1.6: メール・コネクタ・リソース・アダプタを開発し、Java Connector Architecture 1.6で定義されたアノテーション付きのコネクタ・リソースをデプロイします。

  • JMS 2.0: EJBおよびサーブレットでJMS 2.0を使用します。

  • JPA 2.1: JPAのCriteria UpdateおよびCriteria Deleteとストアド・プロシージャを使用します。

  • JSF 2.2: Java Server Faces (JSF)リソース・ライブラリ規約、ファイル・アップロード、フェイス・フローおよびHTML5機能を使用します。

  • JSON-P: JAX-RSとともにJava API for JSON Processingを使用します。

  • サーブレット3.1: HTTPプロトコル・アップグレードAPIを使用し、非同期の読取りと書込みに非ブロッキングI/Oを使用し、セッションIDを変更して、カバーされていないHTTPメソッドを処理します。

  • WebSocket: JSON形式のデータの処理、WebSocketエンドポイントでのCDIおよびEJBの使用、クライアントによって送信されるテキストのサーバーによるエコーの有効化、およびWebSocketメッセージングのかわりとしてのHTTPロング・ポーリングへのフォールバックの有効化を実行します。

Java EE 7のサンプル

Java EE 7の例によって、Java EE 7 APIとOracle WebLogic Server専用機能を実装する方法を詳しく解説します。例は次のカテゴリに分類されます。

  • Beanの検証: JPAエンティティ、Java SEからのJPA、およびJSF管理対象BeanによるBean検証機能を使用します。

  • CDI (Context and Dependency Injection): 型安全な依存関係インジェクション、インターセプタ、およびプロデューサを使用してCDIを紹介します。

  • データ・ソース: @DataSourceDefinitionアノテーションを使用します。

  • EJB 3.1: 非同期メソッド、カレンダ・ベース・タイマー、WARファイルにおける簡単なプログラミング・モデルとパッケージ化、ポータブル・グローバルJNDI名、シングルトン・セッションBeanを使用します。

  • Java EE Connector Architecture 1.7: Java EE Connector Architectureを使用し、株式取引アプリケーションを使用する2つのアプリケーションを同時に接続します。

  • JPA 2.0: JPA Criteria Query APIと@ElementCollectionマッピング型を使用します。

  • JSF 2.0: AjaxのWebアプリケーションへの組込み、ブックマーク可能なWebアプリケーションの作成、Faceletsとテンプレートの使用を行います。

  • サーブレット3.0: サーブレット、フィルタ、リスナーに対するアノテーションの使用、マルチパート・ファイルを使用したファイル・アップロードの処理、非同期サーブレットとリクエストの処理、プログラミングの安全性、およびサーブレットWebフラグメンツの使用を行います。

追加のAPIサンプル

これらの例によって、追加のJava EE APIとOracle WebLogic Server専用機能を実装する方法を詳しく解説します。例は次のカテゴリに分類されます。

  • データベース接続: DataSource、MultiDataSourceおよびRowsetを使用します。

  • EJB: ステートレスEJB、ステートフルEJB、エンティティEJB、メッセージドリブンEJB、その他EJBを作成します。

  • 国際化: シンプル・メッセージ・カタログを使用したアプリケーションを国際化します。

  • メッセージング: JMSトピック、JMSキュー、メッセージドリブンBeanを使用します。

  • リソース・アダプタ: エンティティEJBを使用してJava EEコネクタ・アーキテクチャのリソース・アダプタと対話します。

  • セキュリティ: Java認証・許可サービスのSAMLおよびアウトバウンドと双方向SSLを使用します。

  • トランザクション: JTAを使用した分散トランザクションを実行します(トランザクションには、2つのXAリソースにわたる2フェーズ・コミット・プロトコルを使用します)。

  • Webアプリケーション: 簡単なサーブレットおよびJSPを作成したり、HTTPパブリッシュ/サブスクライブ・サーバーを使用したり、様々なことを行います。

  • Webサービス: JWSアノテーションを使用した様々なWebサービスを作成します。

  • XML: StAX APIおよびXMLBeanを使用します。

  • クラスタ: EJBをクラスタリングし、HTTPセッション状態レプリケーションを使用します。

  • Coherence: Coherenceコンテナを使用して、Coherenceアプリケーションをホストします。

  • WebLogic Scripting Tool: WebLogic Scripting Tool (WLST)を使用して、実行中WebLogic管理サーバーを構成および管理します。

  • 分割開発: WebLogic分割開発ディレクトリ構造を使用して、エンタープライズ・アプリケーションのビルド、パッケージ化、デプロイを行います。

  • サービス・コンポーネント・アーキテクチャ: WebLogic SCA、軽量Spring 2.5(またはそれ以降)のコンテナを、主要な機能の多くを示すショッピング・カート・アプリケーションで使用します。

  • Spring: Springにより簡略化された構成をSpringベースのWebアプリケーションで使用します。

Avitek Medical Records

Avitek Medical Record (MedRec)は、WebLogic ServerおよびJava EEの機能とベスト・プラクティスを例示する総合的な学習用サンプル・アプリケーションです。Avitek Medical Recordsは、オプションで、WebLogic Serverと一緒にインストールできます。MedRecは、ORACLE_HOME/user_projects/domains/medrecから起動できます。ORACLE_HOMEは、Oracle WebLogic Serverのインストール時にOracleホームとして指定したディレクトリです。

サンプル・アプリケーションのMedRec (Spring)では、Springフレームワーク・アプリケーションの開発例を示します。

Derbyオープンソース・データベース

Derbyは、JavaやJDBC、SQL標準に基づいたオープン・ソースのリレーショナル・データベース管理システムです。デモ用データベースとしてサンプル・アプリケーションやサンプル・コードで使用するために、WebLogic Serverにバンドルされています。Derbyの詳細は、http://db.apache.org/derbyを参照してください。