14 サンプル・アプリケーションおよびサンプル・コード
WebLogic Serverには、WebLogic Serverの理解や操作に関するいくつかのアプローチを示す一連のコード例およびサンプル・アプリケーションが豊富に用意されています。カスタム・インストールでサーバー・サンプルを選択すると、これらのサンプルやサンプル・アプリケーションがインストールされます。
この章の内容は次のとおりです。
サンプルのインストールと実行
インストール・プログラムで選択することで、デプロイされるサンプル・コード一式で構成される完全なWebLogicドメインを作成できます。
この項には次のトピックが含まれます:
WebLogic Serverサンプル・コードのインストール
WebLogic Serverのインストールを実行する場合は、「完全および例」を選択して、WebLogic ServerとCoherenceのサンプル・コードを取得します。WebLogic Serverのインストールの詳細は、Oracle WebLogic ServerおよびCoherenceソフトウェアのインストールに関する項を参照してください。WebLogic Serverサンプル・ドメインを設定するには、インストール後にプロンプト表示された際にクイック・スタート構成ウィザードを起動します。
インストール・プログラムからクイック・スタート構成ウィザードを自動的に起動せずに、コード例とサンプル・ドメインを後で構成することを選択する場合は、クイック・スタート構成ウィザードを手動で実行できます。『構成ウィザードによるWebLogicドメインの作成』のクイック・スタート構成ウィザードの実行に関する項を参照してください。
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のインストール・ディレクトリ、サンプル・ドメインのホーム・ディレクトリ、Apache Derbyなどのエンティティのパス名を指定するための、様々な表記規則が含まれています。
次の規則が使用されます。
-
通常は、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 8のサンプル
Oracle WebLogic Serverは、Java Platform, Enterprise Edition (Java EE) 8仕様を完全サポートしています。含まれているJava EE 8の例を使用し、Java EE 8 APIとOracle WebLogic Server固有の機能を実装する方法を詳しく示します。
Java EE 8の例は、次のカテゴリに分類されています。
-
JSON Binding 1.0 - Java API for JSON Binding (JSON-B)をJAX-RSで使用します。
-
Java EE Security 1.0 - バックエンド・データベースを指すように
DatabaseIdentityStore
を構成してから、IdentityStore
として使用します。 -
JSON Processing 1.1 - JSON Patch、JSON Merge PatchおよびJSON Pointerを使用してJSONドキュメントを更新します。
-
Servlet 4.0 - サーブレット・マッピングAPI、HTTP/2サーバー・プッシュおよびHTTPトレーラ・ヘッダーAPIを使用します。
-
JAX-RS 2.1 - 新しいServer-Sent Events (SSE)および新しいRESTリアクティブ・クライアントAPIを使用します。
-
JSF 2.3 - JSF 2.3の新機能(WebSocketの直接サポート、クラスレベルのBean検証、CDI互換
@ManagedProperty
アノテーション機能、Javaの日付と時刻など)を使用します。 -
JPA 2.2 -
@AttributeConverter
アノテーションへの注入やJava EE 8の新しいDate
とTime
を使用します。Query
とTypedQuery
の結果をストリームとして取得するためのサポートも使用します。 -
CDI 2.0 - 非同期イベントを使用し、順序を監視して、インターセプト・ファクトリも使用します。
Java EE 7のサンプル
Oracle WebLogic Serverは、Java Platform, Enterprise Edition (Java EE) 7仕様を完全サポートしています。含まれているJava EE 7の例を使用し、Java EE 7 APIとOracle WebLogic Server固有の機能を実装する方法を詳しく示します。
Java EE 7の例は、次のカテゴリに分類されています。
-
バッチ・アプリケーション処理1.0 - バッチ・ジョブを発行して、発行したジョブに関する情報をJobOperatorインタフェースを使用して取得し、バッチ並列モデルを使用してパーティション化されたジョブ・ステップを実行します。
-
Beanの検証1.1 - Beanの検証グループ制約とメソッド・レベル検証APIを使用します。
-
Contexts and Dependency Injection (CDI) 1.1 - CDIイベントと、
@TransactionScoped
および@Transactional
アノテーションを使用します。 -
同時実行性ユーティリティ1.0 -
ContextService
インタフェースを使用して動的なプロキシ・オブジェクトを作成し、ManagedExecutorService
インタフェースを使用してタスクを発行し、ManagedScheduledExecutorService
インタフェースを使用して遅延したタスクまたは定期的なタスクを発行し、ManagedThreadFactory
インタフェースを使用してJava EEコンテナから管理対象スレッドを取得します。 -
Enterprise JavaBeans 3.2 - 新しいセッションBeanライフサイクル・コールバック・インターセプタ・メソッドAPIおよびメッセージドリブンBeanを使用して、メソッドのないリスナー・インタフェースを実装します。
-
式言語3.0 - スタンドアロン環境、静的フィールドまたはメソッド参照、新しい演算子、ラムダ式およびコレクション構成と演算子のサポートを含む新しいEL機能を使用します。
-
RESTful Webサービス(JAX-RS) 2.0 - 非同期処理、フィルタとインターセプタ、およびサーバー送信イベント(SSE) JerseyサポートのためのJava APIを使用します。
-
Java EE Connector Architecture 1.7 - リソース・アダプタを開発し、Java EE Connector Architecture 1.7仕様で定義されたアノテーション付きのコネクタ・リソースをデプロイします。
-
Java Message Service API 2.0 - EJBとサーブレットでJMS APIを使用します。
-
Java Persistence 2.1 - JPAの基準の更新や基準の削除のAPIとストアド・プロシージャAPIを使用します。
-
JSF 2.2 - Java Server Faces (JSF)リソース・ライブラリ規約、ファイル・アップロード、フェイス・フローおよびHTML5機能を使用します。
-
JSON Processing 1.0 - JAX-RSとともにJava API for JSON Processingを使用します。
-
サーブレット3.1 - HTTPプロトコル・アップグレードAPIを使用し、非同期の読取りと書込みに非ブロッキングI/Oを使用し、セッションIDを変更して、カバーされていないHTTPメソッドを処理します。
-
WebSocket - JSON形式のデータの処理、WebSocketエンドポイントでのCDIおよびEJBの使用、クライアントによって送信されるテキストのサーバーによるエコーの有効化、およびWebSocketメッセージングのかわりとしてのHTTPロング・ポーリングへのフォールバックの有効化を実行します。
追加のAPIサンプル
-
データベース接続 - データ・ソース、マルチ・データ・ソースおよび行セットを使用します。
-
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 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標準に基づいたオープン・ソースのリレーショナル・データベース管理システムです。Derbyは、サンプル・アプリケーションやサンプル・コードで使用するデモ用データベースとしてWebLogic Serverにバンドルされています。
Derbyの詳細は、http://db.apache.org/derby
を参照してください。