14 サンプル・アプリケーションおよびサンプル・コード
WebLogic Serverには、WebLogic Serverの理解や操作に関するいくつかのアプローチを示す一連のコード例およびサンプル・アプリケーションが豊富に用意されています。これらの例およびサンプル・アプリケーションは、別のWLSサンプル・インストーラによって提供されます。
この章の内容は次のとおりです。
- サンプルのインストールと実行
WLSサンプルのインストール・プログラムを使用することで、デプロイ済のサンプル・コードとサンプル・アプリケーションすべてが構成された、完全なWebLogicドメインを作成できます。 - 表記規則
WebLogic Serverのサンプル・コードを構築、デプロイ、実行するための手順には、プラットフォームに依存しない方法で、WebLogic Serverのインストール・ディレクトリ、サンプル・ドメインのホーム・ディレクトリ、Apache Derbyなどのエンティティのパス名を指定するための、様々な表記規則が含まれています。 - Jakarta EE 8のサンプル
Oracle WebLogic Serverは、Jakarta Platform, Enterprise Edition (Jakarta EE) 8の仕様を完全にサポートしています。含まれているJakarta EE 8の例を使用し、Jakarta EE 8 APIとOracle WebLogic Server固有の機能を実装する方法を詳しく示します。 - Java EE 7のサンプル
Oracle WebLogic Serverは、Java Platform, Enterprise Edition (Java EE) 7の仕様を完全にサポートしています。含まれているJava EE 7の例を使用し、Java EE 7 APIとOracle WebLogic Server固有の機能を実装する方法を詳しく示します。 - 追加のAPIサンプル
Oracle WebLogic Serverには、追加のJakarta EE APIおよびOracle WebLogic Server固有の機能の実装方法を示す、一連の例も用意されています。 - Avitek Medical Records
Avitek Medical Record (MedRecとも呼ばれる)は、WebLogic ServerおよびJakarta EEの機能とベスト・プラクティスを例示する総合的な学習用サンプル・アプリケーションです。Avitek Medical Recordsは、オプションで、WebLogic Serverと一緒にインストールできます。 - Derbyオープンソース・データベース
Derbyは、JavaやJDBC、SQL標準に基づいたオープン・ソースのリレーショナル・データベース管理システムです。Derbyは、サンプル・アプリケーションやサンプル・コードで使用するデモ用データベースとしてWebLogic Serverにバンドルされています。
サンプルのインストールと実行
WLSサンプルのインストール・プログラムを使用することで、デプロイ済のサンプル・コードとサンプル・アプリケーションすべてが構成された、完全なWebLogicドメインを作成できます。
この項には次のトピックが含まれます:
親トピック: サンプル・アプリケーションおよびサンプル・コード
WebLogic Serverサンプル・コードのインストール
WebLogic ServerとCoherenceのサンプルは、別のサンプルJARファイルfmw_14.1.2.0.0_wls_examples_generic.jar
で提供されます。これを、WebLogic Serverインストールと同じsame ORACLE_HOME
にインストールします。WebLogic Serverの取得とインストールの詳細は、Oracle WebLogic ServerおよびCoherenceソフトウェアのインストールを参照してください。
WebLogic Serverのサンプル・ドメインを設定するには、構成ウィザードをクイック・スタート・モードで実行します。WLSサンプルのインストールの最後の画面で、「クイックスタート構成ウィザードの自動起動」を選択します。クイック・スタート・ウィザードによって、ORACLE_HOME
\user_projects\domains
に3つのサンプル・ドメインwl_server
、medrec
、medrec-spring
が作成されます。
次のステップの説明に従ってクイック・スタート構成ウィザードを手動で実行する場合は、サンプル・ドメインを1つずつ作成する必要があります。このプロセスで3つすべてのドメインを作成するには、クイック・スタート・ウィザードを3回実行する必要があります。詳細は、『構成ウィザードによるWebLogicドメインの作成』のクイック・スタート構成ウィザードの実行を参照してください。
ノート:
手動のドメイン構成では、各サンプル・ドメインに名前を指定します。medrec
、medrec-spring
およびwl_server
以外にすることもできます。
- 最初に、
CONFIG_JVM_ARGS
環境変数を設定し、使用するテンプレートごとにフルパスとJARファイル名を指定します。たとえば、MedRecドメインを作成するには:- Windowsの場合:
set "CONFIG_JVM_ARGS=-DuserTemplates=C:\Oracle\Middleware\wlserver\common\ templates\wls\wls.jar,C:\Oracle\Middleware\wlserver\common\templates\ wls\medrec.jar"
- UNIXの場合:
export CONFIG_JVM_ARGS="-DuserTemplates=/Oracle/Middleware/wlserver/common/ templates/wls/wls.jar,/Oracle/Middleware/wlserver/common/templates/ wls/medrec.jar"
- Windowsの場合:
- その後、次のコマンドを使用して、構成ウィザードをクイック・スタート・モードで実行します:
- Windowsの場合:
cd ORACLE_HOME\oracle_common\common\bin config.cmd -target=config-oneclick
- UNIXの場合:
cd ORACLE_HOME/oracle_common/common/bin config.sh -target=config-oneclick
- Windowsの場合:
詳細は、『構成ウィザードによるWebLogicドメインの作成』のWebLogicサンプル・ドメインの作成のためのクイック・スタートの使用を参照してください。
MedRec-Spring
MedRec-Springドメインを起動する前に、必須のSpringフレームワーク5.3.26 JARファイルをコピーする必要があります。このファイルは、最初にhttps://repo1.maven.org/maven2/org/springframework
リポジトリからダウンロードしておく必要があります。
Windowsの場合:
cd ORACLE_HOME\wlserver\samples\server setExamplesEnv.cmd set "ANT_OPTS=-Dhttp.proxyHost=www-proxy.us.oracle.com -Dhttp.proxyPort=80 -Dhttps.proxyHost=www-proxy.us.oracle.com -Dhttps.proxyPort=80" cd medrec-spring Edit project.properties to change the attribute “medrec-spring.domain.dir=ORACLE_HOME\wlserver\samples\server\medrec-spring” cd modules ant -f module-build-commons.xml download.spring.pkgs // Download the Spring JAR files copy "ORACLE_HOME\wlserver\samples\server\medrec-spring\lib\runtime\*.jar" "ORACLE_HOME\wlserver\samples\server\medrec-spring\modules\medrec\web\target\exploded\medrec\WEB-INF\lib\" All copy "ORACLE_HOME\wlserver\samples\server\medrec-spring\lib\runtime\*.jar" "ORACLE_HOME\wlserver\samples\server\medrec-spring\modules\physician\web\target\exploded\physician\WEB-INF\lib\" All cd ORACLE_HOME\user_projects\domains\medrec-spring startWebLogic.cmd
Linux/UNIXの場合:
cd ORACLE_HOME/wlserver/samples/server/ sh setExamplesEnv.sh export ANT_OPTS="-Dhttp.proxyHost=www-proxy.us.oracle.com -Dhttp.proxyPort=80 -Dhttps.proxyHost=www-proxy.us.oracle.com -Dhttps.proxyPort=80" cd medrec-spring/modules/ ant -f module-build-commons.xml download.spring.pkgs // Download the Spring JAR files cp -rf ORACLE_HOME/wlserver/samples/server/medrec-spring/lib/runtime/*.jar ORACLE_HOME/wlserver/samples/server/medrec-spring/modules/physician/web/target/exploded/physician/WEB-INF/lib/ cp -rf ORACLE_HOME/wlserver/samples/server/medrec-spring/lib/runtime/*.jar ORACLE_HOME/wlserver/samples//server/medrec-spring/modules/medrec/web/target/exploded/medrec/WEB-INF/lib cd ORACLE_HOME/user_projects/domains/medrec-spring sh startWebLogic.sh
親トピック: サンプルのインストールと実行
WebLogic Serverサンプル・ドメインの起動
次のいずれかの手順を使用して、サンプル・サーバーを起動します。これらの手順では、DOMAIN_HOME
は、サンプル・ドメインが構成されているマシン上の場所を表します。たとえば、C:\
ORACLE_HOME
\user_projects\domains
です。
Windowsの場合: コマンド・シェルを使用し、DOMAIN_HOME
\<samples_domain>
ディレクトリに移動します。次のコマンドを入力します。
startWebLogic.cmd
UNIX Bourne Shellの場合: DOMAIN_HOME
/<samples_domain>
ディレクトリに移動します。次のコマンドを入力します。
sh ./startWebLogic.sh
ノート:
デフォルトでは、サンプル・サーバーは、ポート7001を使用して着信接続をリスニングします。MedRecサーバーも、デフォルトで同じリスニング・ポートを使用します。つまり、どちらかのリスニング・ポートを変更せずに両方のドメインを同時に実行することはできません。両方のドメインを同時に実行する場合は、WebLogic Serverリモート・コンソールを使用して、サンプル・サーバーのリスニング・ポートを7001以外に変更してから再起動します。その結果、サンプル・サーバーと同時に、デフォルトのリスニング・ポートを使用するMedRecサーバーを実行できるようになります。
親トピック: サンプルのインストールと実行
WebLogic Serverのサンプル・コードの実行
サンプル・コードの構築、デプロイおよび実行について、サンプル・コードに付属の説明を確認します。WebLogic Serverサンプル・ドメインを起動すると、ブラウザが自動的に起動されてWebページが表示されます。このページから、サンプルを参照して、そのサンプルを構築、デプロイ、実行するための情報を取得できます。
親トピック: サンプルのインストールと実行
表記規則
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
\<samples_domain>
ディレクトリには、WebLogic Serverのサンプル・ドメインが含まれています。このドメインには、アプリケーション、アプリケーションおよびOracle WebLogic Serverの動作方法を定義するXML構成ファイル、および起動スクリプトと環境スクリプトが含まれます。
EXAMPLES_HOME
\examples\build
ディレクトリには、サンプルとDerbyデータベースで必要なクライアントとサーバー・クラスが含まれています。
WL_HOME
\common\derby
ディレクトリには、Derby(サンプルで使用するデモンストレーション・データベース)が含まれています。また、データベースを起動および停止するスクリプトも含まれています。Derbyの詳細は、http://db.apache.org/derby
を参照してください。
親トピック: サンプル・アプリケーションおよびサンプル・コード
Jakarta EE 8のサンプル
Oracle WebLogic Serverは、Jakarta Platform, Enterprise Edition (Jakarta EE) 8仕様を完全サポートしています。含まれているJakarta EE 8の例を使用し、Jakarta EE 8 APIとOracle WebLogic Server固有の機能を実装する方法を詳しく示します。
Jakarta EE 8のサンプルは、次のカテゴリに分類されています:
-
Jakarta JSON Binding - JAX-RSでJakarta JSON Bindingを使用します。
-
Jakartaセキュリティ - バックエンド・データベースを指すように
DatabaseIdentityStore
を構成してから、IdentityStore
として使用します。 -
Jakarta JSON Processing - 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
アノテーションへの注入やJakarta 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を使用してJakartaコネクタ・アーキテクチャのリソース・アダプタと対話します。
-
セキュリティ - 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およびJakarta 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
を参照してください。
親トピック: サンプル・アプリケーションおよびサンプル・コード