Articles
Service-Oriented Architecture
Markus Eisele著
最新のNetBeans IDEでOracle WebLogic Serverを簡単に使用する方法
2014年4月
ダウンロード
Java
SE
7
Oracle
WebLogic Server
Netbeans
NetBeansは、(CDDL/GPLライセンスの下で)無償使用できるJavaアプリケーション向けの統合開発環境です。バージョ ン8.0が最近リリースされたNetBeansは、最新のJavaプラットフォーム・エディションのサポートに関して開発者が真っ先に選ぶ選択肢であり、 Javaデスクトップおよびモバイル・アプリケーションからWebアプリケーションまで、最新のHTML5/JavaScriptフレームワークと Java EEバックエンドで構築された幅広いテクノロジー向けに豊富なツールを提供しています。常にその他のIDEのはるか先を行く最新ツールの提供を目指してい るNetBeansには、Java 8、Java EE 7、JavaFX 2をサポートするベータ版とリリース候補版が提供されています。各種のJavaプラットフォームに関する最新仕様を非常に早い段階で試せる NetBeansは、Oracle製品の開発にも最適です。Java EEエディションはGlassFish Open Source Edition 4.0にバンドルされており、最新のWebLogic 12cの統合に必要なすべての要素を提供しています。この記事では、必要な全コンポーネントのインストールおよび構成をステップごとに説明し、読者が初め ての小型Java EEを構築し実行できるようにします。
NetBeansとWebLogicの使用を開始するには、インストールと構成が若干必要です。はじめに、最新のJava Platform Development Kit(JDK)7u51をダ ウンロードし てインストールします。それぞれの開発環境に合わせて適切なバージョンを選びます。パッチによってセキュリティと安定性が高まるため、Java SEとSDKの最新ダウンロードに常に注意しておくことをお勧めします。この記事ではWindowsの使用を前提としていますが、Linuxベースのシス テムで必要になる変更を予想することもそれほど難しくはありません。
JDKをインストールすると、D:\jdk1.7.0_51といったディレクトリ
内にすべてが配置されます。ここからは、この場所をJAVA_HOMEと呼びます。次に、
NetBeans IDE 8.0をダ
ウンロードしてインストールします。
このWebサイトには5種類のダウンロード(Java SE、Java EE、C/C++、HTML5、PHP)が含まれており、それぞれ機能が異なります。Java EEアプリケーションの開発に使用するのは、Java EEバージョン(推定サイズ:191MB)です。実行可能ファイルをダウンロードしたら、あとはインストールを開始するだけです。初期セットアップの終了 後に、TomcatまたはGlassFish(もしくはその両方)を追加でインストールするかどうかを決定します。GlassFish 4は最新のJava EE 7テクノロジーを提供しており、Tomcatは非常に軽量なサーバー・コンテナですが、ここではどちらも必須ではありません。インストール・プロセスを迅 速に完了するには、両方のボックスの選択を解除します。
ライセンス同意画面に従い、目的のインストール・パスを設定し、JDKをインストールした場所を指定したら、プロセスは完了です。

サマリー・ページにすべての指定項目が一覧表示されます。コンポーネントの更新に関する情報を受け取るには、該当するボックスにチェッ クを付けます。あとはインストールの進捗を見守るだけです。使用するシステム構成によって処理には2~5分かかります。構成の最後に、使用データの匿名提 供によるNetBeansプロジェクトへの貢献を依頼する画面が表示されます。最後に「Finish」 をクリックして完了です。デスクトップまたはWindowsスタート・メニューにショートカットが作成されます。
インストールするコンポーネントはあと1つです。最新バージョンのOracle WebLogic Server 12c(12.1.2)をダ ウンロードします。ここでもう1つのライセンス契約に同意する必要があります。WebLogic Serverは、OTN Free Developer License Agreementに基づいて開発者に提供されています。NetBeansと同じ く、各種のバージョンとプラットフォーム用のダウンロードが提供されています。要件にもっとも適したダウンロードを選択します。汎用インストーラとzip ディストリビューションにはJVM/JDKは含まれていないため、まずはフットプリントがもっとも小さいzipディストリビューション(182MB)を使 用します。このディストリビューションはWindows x86とLinux x86、Mac OS Xで使用できます。ほぼすべてのOracle製品で、ダウンロードを取得する前にOracle SSOアカウントのサインインが必要です。
ファイル名はwls1212_dev.zipであり、任意の場所(例:D:\Oracle)
に保存して解凍します。新しく作成されたフォルダwls12120をMW_HOMEと
呼びます。ここからは(開発者の好みに合った)コマンドラインを使用した方法で進めていきます。
シェルを開いて次の2つの環境変数を定義します。
set JAVA_HOME=D:\jdk1.7.0_51
set MW_HOME=D:\Oracle\wls12120
次に、MW_HOMEディレクトリにあるインストール構成スクリプトconfigure.cmdを
実行します。これは1回限りの処理であり、おもにjarファイルを使用可能な形式に解凍します。スクリプトが終了すると短いメッセージ("Your
environment has been
set")が表示され、最初のドメインを構成するかどうかを確認されます。ここでは簡略化のために「Y」(Yes)と指定します。次に、管理者のユーザー
名とパスワード(例:ユーザー名:system、パスワード:weblogic1)を入力するよう要求されます。これらを再入力すると数秒で新しく作成さ
れたドメインが起動します。サポートされるWebブラウザ(例:Chrome)を使用し、http://localhost:7001/consoleに
アクセスします。初回アクセスによりコンソールWebアプリケーションが自動的にデプロイされます。ユーザーはここで各ドメインを管理できます。

以上でインストールと構成は完了です。ここからは、実際にNetBeansを使用して小型のサンプル・アプリケーションを実装していき ます。
NetBeans IDEは、Java EEプラットフォームを使用するWebアプリケーションとサーバー側アプリケーションの開発に優れたサポートを提供します。Java EE仕様をもっとも緊密に統合し、可能な限り使いやすくするために、IDEのサポートはJava EEチームおよびGlassFishチームとの密接な連携を通じて開発されています。このため、Java EE仕様とフレームワークを初めて使う開発者にとって、Java EEプログラミングを素早く習得して高い生産性を実現するための一番の方法がNetBeansを使用することです。IDEを開くと、基本的に2つのエリア (ナビゲータ・エリアとエディタ・エリア)に分かれていることが分かります。

ナビゲータ・エリアに表示されたServicesタブで、先ほど構成したGlassFish 4サーバーが選択されています。次に新しく作成されたWebLogic Server 12cドメインを構成し、NetBeansに追加します。
「Servers」ノードを右クリックして「Add Server」を選択します。以下の手順をガイドするウィザードが開き、すべての必要情報を収集します。
「Oracle WebLogic Server」を選択し、(必要に応 じて)好みの名前に変更します。ここではデフォルトのままにして「Next」をクリックしま す。
次に、サーバー・ロケーションを指定します。MW_HOME/wlserver(例:D:\Oracle\wls12120\wlserver)
と入力して「Next」をクリックします。
最後のステップでインスタンスのプロパティを入力します。NetBeansが自動的にサーバー・ロケーション内で使用できるドメインを 探し、先ほど作成したドメインを推奨します。ドメイン作成中に指定したユーザー名/パスワードを入力し、「Next」 をクリックします。
Serversノードに新しく作成されたインスタンスが表示されます。このインスタンスはドメイン作成後に起動されたため、赤いロゴの 横に緑色の矢印が表示されます。サーバーの起動中に、インストールされたアプリケーション、モジュール、リソースを確認します。
サーバー・ノードを右クリックすると、IDE内から直接実行できるアクションがコンテキスト・メニューに表示されます。本番モードとデ バッグ・モードでサーバーを開始/停止できるだけでなく、管理コンソールへの素早い移動や、NetBeans出力ウィンドウへのサーバー・ログの表示を実 行できます。

以上で、セットアップと構成がすべて完了しました。次の項で、初めてのJava EEプロジェクトを開始してWebLogicにデプロイします。

はじめに、ナビゲータ・ビューを「Services」から「Projects」 に切り替えます。空白エリアを右クリックして「New project」を選択します。表示 されるウィザードに従うだけで必要な準備がすべて整います。実際には多数のプロジェクト・タイプとモジュールから選択できますが、ここでは単純なJava EE 6 Webアプリケーションを使用します。ウィザードのカテゴリで「Java Web」 を、プロジェクトで「Web Application」を選択します。標準IDEプロジェク ト内に空のWebアプリケーションが作成されます。標準プロジェクトは、IDEが生成したビルド・スクリプトを使用してプロジェクトのビルド、実行、デ バッグを行います。
「Next」をクリックして、プロジェクトの名前と場所を変更します (例:HelloWebLogic)。
もう一度「Next」をクリックすると、サーバー設定画面が表示されま
す。「Oracle WebLogic Server」と「Java
EE 6 Web」を選択します。残りはすべてデフォルトのままにします。最後に「Finish」
をクリックするとプロジェクトの生成が開始され、自動的にエディタ・ビュー内にindex.jspが
開きます。
ナビゲータでプロジェクトを右クリックして「Run」を選択すると、プロ
ジェクトがローカルWebLogicインスタンスに自動的にデプロイされます。デフォルト・ブラウザのウィンドウまたはタブでhttp://localhost:7001/HelloWebLogic/が
表示され、シンプルな"Hello
World!"メッセージが生成されます。NetBeansに戻って"Word"という単語を"WebLogic"に変更し、「Save」
をクリックします。変更が自動的にデプロイされ、ブラウザ・ウィンドウをリフレッシュするだけで更新されたページが表示されます。
アプリケーション内で使用できるのは1つのJSPだけではありません。NetBeansは本格的なJava EEアプリケーションの構築に必要なすべての要素をサポートしています。アプリケーションを自動的に構成するための、さまざまな補助機能やウィザードが提 供されています。使用できる機能の一覧については、NetBeans.org のWebサイトを参照してください。
場合によっては、ローカルにインストールしたWebLogicを使用するよりもリモート・マシンにアプリケーションをデプロイする方が 良いことがあります。NetBeansのMaven 3サポートは優れており、デフォルトのIDEインストールとWebLogic Mavenプラグインは同梱されています。NetBeans IDEが既存のApache Mavenプロジェクトを自動的に認識するため、あとはプロジェクトを開くだけです。また、IDEを使用して新規のMavenベースのプロジェクトをゼロ から作成することもできます。プロジェクトはMavenアーキタイプ・プラグインを使用して生成されます。次に、WebLogicのMavenプラグイン (WebLogic 開発Mavenプラグインの使用方法を参照)を使用して、Mavenプロジェクトにリ モート・デプロイメントを追加します。
開発者のマシンにWebLogic
Mavenプラグインをローカル・インストールするために必要なすべての手順が完了したら、プロジェクトのpom.xmlファ
イルに以下の構成を追加します。構成はプラグインの依存性を追加するだけでなく、所定のプラグイン・ターゲットをMavenライフ・サイクル・フェーズに
マッピングします。ここで知りたいのはデプロイ・ターゲットですが、これはMavenの事前統合済みテスト・フェーズにバインドされています。管理URL
の一部に7127.0.0.1を使用する代わりに、リモートにある任意のマシン名またはIPアドレスを使用できます。
<dependencies>
<dependency>
<groupId>com.oracle.weblogic</groupId>
<artifactId>weblogic-server-pom</artifactId>
<version>12.1.2-0-0</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
</dependencies>
<plugin>
<!-- This is the configuration for the weblogic-maven-plugin -->
<groupId>com.oracle.weblogic</groupId>
<artifactId>weblogic-maven-plugin</artifactId>
<version>12.1.2-0-0</version>
<configuration>
<middlewareHome>D:/Oracle/wls12120</middlewareHome>
</configuration>
<executions>
<!-- Deploy the application to the WebLogic Server in the pre-integration-test phase -->
<execution>
<id>wls-deploy</id>
<phase>pre-integration-test</phase>
<goals>
<goal>deploy</goal>
</goals>
<configuration>
<!--The admin URL where the app is deployed.
Here use the plugin's default value t3://localhost:7001-->
<adminurl>t3://127.0.0.1:7001</adminurl>
<user>system</user>
<password>weblogic1</password>
<!--The location of the file or directory to be deployed-->
<source>${project.build.directory}/${project.build.finalName}.${project.packaging}</source>
<!--The target servers where the application is deployed.-->
<targets>myserver</targets>
<verbose>true</verbose>
<name>${project.build.finalName}</name>
</configuration>
</execution>
</executions>
</plugin>
コマンドラインで次のコマンドを実行して、すべてが期待どおりに動作しているかどうかを確認します。
com.oracle.weblogic:weblogic-maven-plugin:help
使用可能なすべてのプラグイン・ターゲットが出力されます。
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building HelloWorld 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- weblogic-maven-plugin:12.1.2-0-0:help (default-cli) @ HelloWorld ---
The following are the goals available currently in Maven
appc
create-domain
deploy
distribute-app
help
install
list-apps
redeploy
start-app
start-server
stop-app
stop-server
undeploy
uninstall
update-app
version
wlst
ws-clientgen
ws-jwsc
ws-wsdlc
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:3.056s
[INFO] Finished at:Tue Mar 11 08:46:47 CET 2014
[INFO] Final Memory:8M/222M
[INFO] ------------------------------------------------------------------------
プラグインを使用すると、さまざまなタスクをビルドに組み込むことができます。この例では、アプリケーションとMavenをインストー ルすることで、小型のサンプル・アプリケーションをリモートでデプロイしています。
上のpomファイルではWebLogic Mavenプラグインがデフォルト・プロファイルに直接バインドされており、コマンドラインで次のコマンドを実行することでプラグインを実行できます。
mvn install
または、NetBeans内でプロジェクトを右クリックして「Build」 を選択する方法もあります。ただし、サーバーにアプリケーションをデプロイするタイミングを自主的に決定したい場合、おそらくこの方法は要望に沿わないで しょう。プラグイン構成を次のセクションに移動すると、
<profiles>
<profile>
<id>deploy</id>
<build>
<pluginManagement>
<plugins>
NetBeansとMavenの統合を最大限活用できます。適切なプロファイルを選ぶだけで、プロファイル・スイッチを使用してデプロ イするかどうかを決定できます。

(NetBeansまたはコマンドラインからの)実行による出力は次のようになります。
[INFO] --- weblogic-maven-plugin:12.1.2-0-0:deploy (wls-deploy) @ HelloWorld ---
[INFO] Command flags are:-noexit -adminurl t3://127.0.0.1:7001 -deploy -user sy
stem -password ******* -name HelloWorld-1.0-SNAPSHOT -source
D:\HelloWorld\target\HelloWorld-1.0-SNAPSHOT.war -targets myser
ver -verbose
weblogic.Deployer invoked with options:-noexit -adminurl t3://127.0.0.1:7001 -
deploy -user system -name HelloWorld-1.0-SNAPSHOT -source
D:\article\HelloWorld\target\HelloWorld-1.0-SNAPSHOT.war -targets myserver
-verbose
<11.03.2014 09:00 Uhr MEZ> <Info> <J2EE Deployment SPI> <BEA-260121> <Initiating
deploy operation for application, HelloWorld-1.0-SNAPSHOT
[archive:D:\article\HelloWorld\target\HelloWorld-1.0-SNAPSHOT.war], to m
yserver .>
Task 10 initiated:[Deployer:149026]deploy application HelloWorld-1.0-SNAPSHOT on myserver.
Task 10 completed:[Deployer:149026]deploy application HelloWorld-1.0-SNAPSHOT on myserver.
Target state: deploy completed on Server myserver
Target Assignments:
+ HelloWorld-1.0-SNAPSHOT myserver
[INFO]
[INFO] --- maven-install-plugin:2.3.1:install (default-install) @ HelloWorld ---
[INFO] Installing D:\HelloWorld\target\HelloWorld-1.0-SNAPSHOT.war to
D:\.m2\repository\net\eisele\HelloWorld\1.0-SNAPSHOT\HelloWorld-1.0-SNAPSHOT.war
[INFO] Installing D:\article\HelloWorld\pom.xml to D
:\.m2\repository\net\eisele\HelloWorld\1.0-SNAPSHOT\HelloWorld-1.0-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:8.402s
[INFO] Finished at:Tue Mar 11 9:00:23 CET 2014
[INFO] Final Memory:18M/349M
[INFO] ------------------------------------------------------------------------
以上で、http://127.0.0.1:7001/HelloWorld/か
らアプリケーションにアクセスできるようになりました。言うまでもありませんが、WebLogicコンソールからいつでもこれを確認できます。

NetBeansとWebLogic Serverは非常に緊密に統合されており、最新テクノロジーをサポートしながらシームレスな開発を実現しています。WebLogicによる追加の Mavenサポートを併用することで、ローカルおよびリモートのインスタンスにアプリケーションをデプロイできます。
Markus Eiseleはソフトウェア・アーキテクト兼開発者であ
り、コンサルタントでもあります。Markusが日々携わっている顧客とプロジェクトは、エンタープライズ・レベルのJavaとJavaプラットフォーム
を含むインフラストラクチャ、そして異なるベンダーの製品を使用したさまざまなプラットフォーム上の各種Webベース・テクノロジーに取り組んでいます。
Java EEサーバーの専門家であるMarkusはJava Championであり、Java EE
7専門家グループのメンバーでもあります。また、業界カンファレンスで多数の講演を行っています。