ステップ 9: デプロイメントとセキュリティ
このチュートリアルで構築している Web サービスでは、インターネットを通じて重要な情報を送信します。そのため、サービスをセキュアにすることをお勧めします。このステップでは、Web サービスを変更して、HTTP の代わりに HTTPS(セキュア HTTP)で Web サービスを公開するようにします。
WebLogic Workshop で構築している Web サービスは EAR ファイルとしてコンパイルされ、最終的には Web アプリケーションとして WebLogic Server にデプロイします。WebLogic Server でのデプロイメントが完了すると、Web サービスは Web アプリケーションの一部となり、Web アプリケーションを介して公開されます。Web サービスを内包する Web アプリケーションは、WebLogic Server の HTTPS 有効ポートを介して公開されます。したがって、Web サービスが HTTPS 有効ポートで公開される Web アプリケーションの一部となっているので、Web サービスはセキュアになります。
このステップでのタスクは次のとおりです。
HTTPS で公開するように Web サービスをコンフィグレーションするには
Web サービスの公開プロトコルをコンフィグレーションするには、samples プロジェクトの WEB-INF ディレクトリにある weblogic-jws-config.xml ファイルを編集します。
[プロジェクト] ペインで WEB-INF ディレクトリを開きます。
weblogic-jws-config.xml ファイルを開きます。
weblogic-jws-config.xml を次のように編集します。必ずコメント タグ(<!-- と -->)を削除して、XML 要素を有効にします。
<config>
<protocol>http</protocol>
<hostname>localhost</hostname>
<http-port>7001</http-port>
<https-port>7002</https-port>
<jws>
<class-name>HelloWorld</class-name>
<protocol>http</protocol>
</jws>
<jws>
<class-name>financialservices.Investigate</class-name>
<protocol>https</protocol>
</jws>
<transaction-isolation-level>TRANSACTION_READ_COMMITTED</transaction-isolation-level>
<ejb-concurrency-strategy>Exclusive</ejb-concurrency-strategy>
</config>
Web サービスをデプロイする前に、ユニークなネームスペース内で Web サービスを定義する必要があります。 これによって他の Web サービスとのネームスペースの衝突を回避できます。
プロジェクト ツリーで [Investigate.jws] をダブルクリックします(注意 : samples プロジェクトには Investigate.jws という名前のファイルが 2 つあります。Investigate.jws フォルダ内の Investigate.jws ファイルをダブルクリックし、tutorials フォルダの Investigate.jws ファイルは無視してください)。
デザイン ビューを表示していない場合は、[デザイン ビュー] タブをクリックします。
Investigate Web サービス全体を選択します。 Web サービス全体を選択するには、次の図のように、[デザイン ビュー] に表示されている Web サービスのタイトルをクリックします。
下図のように、プロパティ ペインの [target-namespace] 下の [namespace] テキスト ボックスを選択します。
テキスト ボックスにユニークな値を入力します。 ここで入力する値は、チュートリアルの他のユーザが選択する可能性が低いものにしてください。 たとえば、ペットの名前とユーザ自身の名前をつなげた文字列などがいいでしょう。
EAR ファイルとして Web アプリケーションをパッケージ化するには
WebLogic Server を停止し、WebLogic Workshop を閉じます。
コマンド プロンプト ウィンドウを開きます。
WebLogic Server 7.0 をインストールしたディレクトリを指定します。 WebLogic Server 7.0 のインストール時に明示的に指定しなかった場合は、インストール ディレクトリは C:\bea です。
コマンド プロンプトで、次のコマンドを入力します。 [BEA インストール ディレクトリ] の部分は、インストール ディレクトリで置き換えます。 WebLogic Server 7.0 を C:\bea にインストールした場合は、set BEA_HOME=C:\bea と入力します。
set BEA_HOME=[BEA インストール ディレクトリ]
このコマンドを実行することで、ユーザのマシンが Web サービスを EAR ファイルにコンパイルするためのプログラムを見つけることが可能になります。set PATH=%PATH%;%BEA_HOME%\weblogic700\server\bin
mkdir C:\EARSこのコマンドは、C ドライブに EARS という新しいディレクトリを作成します。 このディレクトリには、Web サービスから生成された EAR ファイルが格納されます。
〔Enter〕 を押します。
同じコマンド プロンプト ウィンドウで、次のコマンドを入力します。
このコマンドは、コマンド プロンプトの指すディレクトリを Web サービスが置かれているディレクトリに変更します。cd %BEA_HOME%\weblogic700\samples\workshop\applications\samples\financialservices
〔Enter〕 を押します。
以下のコマンドを入力します。
このコマンドは、Web サービスを EAR ファイルにコンパイルし、生成された EAR ファイルを C:\EARS に格納します。jwsCompile -ear C:\EARS\MyFirstWebService.ear -app MyFirstWebService Investigate.jws
〔Enter〕 を押します。
コンパイルが成功したことを示すメッセージが表示されたら、コマンド プロンプト ウィンドウを閉じます。
プロダクション サーバで Web アプリケーションをデプロイするには
新しいコマンド ウィンドウを開きます。
WebLogic Server 7.0 をインストールしたディレクトリを指定します。 WebLogic Server 7.0 のインストール時に明示的に指定しなかった場合は、インストール ディレクトリは C:\bea です。
コマンド プロンプトで、次のコマンドを入力します。 [BEA インストール ディレクトリ] の部分は、インストール ディレクトリで置き換えます。 WebLogic Server 7.0 を C:\bea にインストールした場合は、set BEA_HOME=C:\bea と入力します。
set BEA_HOME=[BEA インストール ディレクトリ]
〔Enter〕 を押します。
コマンド プロンプトで、次のコマンドを入力します。
%BEA_HOME%\weblogic700\samples\workshop\startWebLogic.cmd production nodebug
このコマンド ウィンドウは、閉じないでください。 サーバの起動ルーチンが完了したら、次のステップに進みます。
set BEA_HOME=[BEA インストール ディレクトリ]
このコマンドは、ユーザのマシンがEAR ファイルを WebLogic Server にデプロイするプログラムを見つけることを可能にします。set PATH=%PATH%;%BEA_HOME%\jdk131_03\bin
〔Enter〕 を押します。
コマンド プロンプトで、次のコマンドを入力します。
このコマンドは、EAR ファイルを WebLogic Server にデプロイします。java -cp %BEA_HOME%\weblogic700\server\lib\weblogic.jar weblogic.Deployer -password installadministrator -source C:\EARS\MyFirstWebService.ear -targets cgServer -name MyFirstWebService -activate
インターネット ブラウザを開いて、次のアドレスを入力します。
http://localhost:7001/console
ユーザ名に「installadministrator」、パスワードに「installadministrator」を使用して WebLogic Server にログオンします。
画面の左側にあるナビゲーション ペインで workshop/Deployments/Applications/MyFirstWebService に移動します。
MyFirstWebService には、MyFirstWebService.war と financialservices.InvestigateEJB.jar の 2 つのファイルがあります。
インターネット ブラウザを別に開いて、次のアドレスを入力します。
https://localhost:7002/MyFirstWebService/financialservices/Investigate.jws
サーバからデジタル証明書が発行されますので、[はい] をクリックしてこの証明書を受け入れます。 [はい] をクリックすると、Investigate Web サービスの概要が表示されます。
アドレスを次のように変更します。
https://localhost:7002/MyFirstWebService/financialservices/Investigate.jws?WSDL
WSDL ファイルが表示されます。これは、Web サービスのクライアントがサービスの操作方法を理解するために使用する WSDL です。
以上で Web サービスの構築およびデプロイメントが完了し、クライアントからのリクエストを受け付ける準備が整いました。