|
|
Interstage Application Server でWebサービスを開発しよう
|
|
Interstage Application Serverは、Webサービスを中心としたインターネット・ビジネスを実現するために最新のインターネット技術を提供するアプリケーション基盤ソフトウェアです。今回は、以下の製品を使用したWebサービスの開発から実行までを説明します。
Interstage Application Server
アプリケーションサーバの基盤であり、業務アプリケーションの動作環境を提供します。
Interstage Apworks
統合開発環境であり、Interstage Application Server で動作するアプリケーションの開発環境を提供します。
|
Interstage Application Server の導入手順
|
|
Interstage Application Server による開発、運用は、サーバとクライアントの2台のマシンを用意して行います。今回は、サーバはWindows 2000 Server 、クライアントはWindows2000 Professional を使用します。
また、2台のマシンは、ネットワークで接続されている必要があります。
-
Interstage Application Server のインストール媒体をセットすると、インストールメニューが起動します。
メニューが起動されない場合は、インストール媒体のautorun.exeを実行すると、メニューが起動します。
- メニューの[サーバカスタムイントストール]を選択します。
サーバ簡易セットアップでもインストールはできますが、今回は必要なサービスを説明するため、サーバカスタムインストールを選択します。
- コンポーネントの選択では、通常は初期状態で選択されているコンポーネントをインストールすれば問題ありませんが、以下が選択されていることを確認してください。
・WWWサーバ
・Servletサービス
・SOAPサービス
・JDK1.3.1(すでにJDKがインストールされている場合は必要ありません。)
あとは、インストール画面の指示に従ってインストールを続けます。
インストールが終わったら、指示に従い、OSを再起動します。
|
Interstage Apworks のインストール
- Interstage Apworksのインストール媒体をセットすると、インストールプログラムが起動し、[ようこそ]という画面が表示されます。
[次へ]ボタンで、[ユーザ情報の設定]、[インストール先の選択]を行います。
- [コンポーネントの選択]画面が表示されたら、使用するJDKのバージョンとしてJDK1.3.1を選択します。
- 以降、画面の指示に従ってインストールを続けます。
Interstage Application Serverのインストール
Interstage Application Server のクライアント インストールを行います。
Interstage Application Server のインストール媒体をセットすると、インストールメニューが起動します。
メニューが起動されない場合は、インストール媒体のautorun.exeを実行するとメニューが起動します。
- メニューの[クライアント インストール]を選択します。
- 画面の指示に従って進んでいくと、[コンポーネントの選択]画面が表示されます。初期状態で選択されているコンポーネントの他に、以下を必ず選択してください。
・SOAPサービスクライアント
あとは、インストール画面の指示に従ってインストールを続けます。
インストールが終わったら、指示に従い、OSを再起動します。 |
サーバの環境設定の手順を説明します。
なお、以下の説明では、Interstage Application ServerをC:\INTERSTAGEにインストールしたと仮定して説明します。
- サーバ上でブラウザを起動し、
「http://localhost:12000/」 と入力します。
Interstage Operation Tool画面が表示されます。Interstage Operation Toolは環境設定や、運用を行うためのGUIです。
上記のInterstage Operation Toolは、クライアントからも起動することができます。クライアントから起動する場合は、以下のようにブラウザから入力します。「http://サーバのアドレス:12000/」
- ユーザ名、パスワードにサーバに登録されているユーザでAdministratorグループに属するものを入力するとログインできます。
ログイン後は、Interstageの環境セットアップのメニューで、必ず以下のサービス使用するようにセットアップしてください。
・WWWサーバ
・Servletサービス
- SOAPサービスをセットアップします。
SOAPサービスは、Servletサービスとして動作するため、Webサービスと、ServletサービスにSOAPサービスの環境定義を追加します。
・Webサービスの環境設定
C:\INTERSTAGE\F3FMwww\conf\F3FMwww.dat に環境定義を追加します。
filter-file: C:\INTERSTAGE\F3FMjs2\gateway\jsgw.dll
cgi-path-idnt: C:\INTERSTAGE\F3FMjs2\gateway F3FMjs2 |
・Servletサービスの環境設定
C:\INTERSTAGE\F3FMjs2\conf\jsgw.confに環境定義を追加します。追加する内容の定義例は、C:\INTERSTAGE\F3FMsoap\conf\jsgw.confにありますので、その内容を複写します。
Mount /soap SOAP_ROUTER
Mount /soap_admin SOAP_ROUTER
Mount /soap_examples SOAP_ROUTER
Mount /soap_gui SOAP_ROUTER
Container SOAP_ROUTER ajpv12://localhost:9008/ |
C:\INTERSTAGE\F3FMjs2\conf\jswatch.confに環境定義を追加します。追加する内容の定義例は、C:\INTERSTAGE\F3FMsoap\jswatch.confにありますので、その内容を複写します。
#
# Servlet Container for SOAP Router
#
container.checkFrequency=1800
container.checkCount=3
container.restart=true
soap_router.log=true
soap_router.port=9008
・・・
soap_router.env=SystemRoot=C:\WINNT\ |
以上で、サーバのセッアップは完了です。Interstage Operation Toolで、Interstageを起動し、Servletサービスとしてsoap_routerが起動すれば準備OKです。
|
クライアントの環境設定は、Interstage Application Server、Interstage Apworksのインストーラが環境変数の設定などを行います。特に設定を行う必要はありませんが、サーバマシンにネットワーク(http)で接続可能であることが必要です。確認するには、ブラウザのURLに、「http://サーバのアドレス:12000」を入力し、Interstage
Operation Toolが起動されるか確認してみましょう。 |
これで、ソフトウェアの導入が完了しました。次に、実際にWebサービスを作成する手順を説明します。
|
|
Webサービスの作成
|
|
Webサービスの作成は、Interstage Apworksで行います。
以下のような簡易なサービスを提供するWebサービスを作成します。
機能 |
引数なしの呼び出しに対して、文字列"HelloWorld"を返却する。 |
クラス名 |
Sample |
メソッド |
String hello() ; |
Apworksのコンポーネントデザイナを起動します。これは開発を行うためのワークベンチです。
- PureJavaプロジェクトを新規作成します。
[ファイル]-[プロジェクト]-[新規作成] を選択します。
プロジェクト新規作成(1/3)が表示されるので、
プロジェクト名 : Sample
格納フォルダ : C:\Sample
プロジェクト種別 : PureJavaアプリケーション
として次に進みます。
- プロジェクト新規作成(2/3)
プロジェクト新規作成(2/3)では、
生成タイプ : パッケージとします。
後は初期設定のまま次に進みます。
- プロジェクト新規作成(3/3)
プロジェクト新規作成では初期生成するファイルのウィザードを選択します。初期表示として選択されている[フレームワークソース(Java)]を選択して完了ボタンを押します。
次にJavaクラス生成ウィザードが表示されます。
- Javaクラス生成ウィザード(1/3)
Javaクラス名にSampleと入力して、[次へ]ボタンを押します。
- Javaクラス生成ウィザード(2/3)
ここでは特に入力しません。[次へ]ボタンを押します。
- Javaクラス生成ウィザード(3/3)
追加ボタンを押して、以下の利用者メソッドを追加します。
メソッド名 : hello
戻り値の型 : String
メソッドを追加したら、[完了]ホタンを押して、ウィザードを終了します。
- 処理の実装
ウィザードが完了すると、Sample.javaが生成され、public クラス "Sample"の中に、メソッド
"hello"が定義されるので、メソッドhelloを以下のように修正します。
public class Sample {
public Sample() {
// 以下に初期化する手続きを記述してください。
}
public String hello() {
// 以下に必要な手続きを記述してください。
return "Hello World" ;
}
} |
- プログラムの構築
コンポーネントデザイナの[構築/実行]-[構築]を選択して、プログラムを構築します。
プログラムガ翻訳され、Sample.jarファイルがC:\Sampleに生成されます。
次は、作成したアプリケーションをWebサービスとして公開します。
コンポーネントデザイナは開いた状態にしておいてください。 |
サービスの公開は、SOAPサービスマネージャにサービスの内容を登録することで行います。
サービスの登録は、soapmodifyddコマンドまたは、SOAPディプロイ情報編集ツールにより行うことができます。ここでは、soapmodifyddコマンドによる登録方法を紹介します。
- ディプロイ情報ファイルの生成
コンポーネントデザイナでは、生成済みのJavaクラスからSOAPディプロイ情報ファイルと、WSDLファイルを自動生成することができます。
[ツール]-[SOAPディプロイ情報ファイル生成] を選択します。
- SOAPディプロイ情報ファイル生成ウィザード(1/4)
対象とするクラス名を選択します。
出力ファイル名は、初期値は"クラス名_dd.xml"および、"クラス名.wsdl"となります。変更したい場合は、出力ファイルパスのベース名を入力します。このチュートリアルでは、変更せずに次に進みます。
- SOAPディプロイ情報ファイル生成ウィザード(2/4)
生成するディプロイ情報ファイル生成、WSDLファイルについてのオプション情報を入力します。
この例では、特に変更の必要はないため、そのまま次に進みます。
- SOAPディプロイ情報ファイル生成ウィザード(3/4)
Webサービスとして公開するメソッドを選択します。
クラス内に定義されているpublicメソッドの一覧が、[メソッド一覧]に表示されます。クラスSampleには、メソッドhelloが定義されているため、helloが表示されます。
[メソッド一覧]から、helloを選択して、生成メソッド一覧に追加します。
- SOAPディプロイ情報ファイル生成ウィザード(4/4)
生成する情報の確認画面です。
[完了]ボタンを押して、ウィザードを終了します。
Sample_dd.xmlと、Sample.wsdlが生成されます。
Sample_dd.xmlは、サービスの登録に使用します。Sample.wsdlは、後でSOAPクライアントを作成するのに使用します。
- 生成されたSample_dd.xmlと、Sample.jarをサーバに転送します。
ここでは、サーバのC:\Sampleフォルダに転送したとと仮定して説明します。
- コンテナ定義ファイルへの定義追加
C:\Sample\Sample.jarをServletサービスのコンテナ定義ファイルのクラスパスに以下のように追加します。
#
# Servlet Container for SOAP Router
#
container.checkFrequency=1800
container.checkCount=3
container.restart=true
soap_router.log=true
soap_router.port=9008
・・・
soap_router.env=CLASSPATH=C:\Sample\Sample.jar
soap_router.env=SystemRoot=C:\WINNT\ |
- ディプロイ情報の登録
コマンドプロンプトから以下のように入力します。
soapmodifydd -deploy
-uri http://localhost:80/soap_admin/servlet/SOAPrpcrouter
-urn urn:Sample C:\Sample\Sample_dd.xml
以上でWebサービスの作成から、公開が完了しました。
次にSOAPクライアントアプリケーションを作成してみましょう。
|
|
|
SOAPクライアントの作成
|
|
SOAPクライアントアプリケーションをWebサービス作成時に生成したWSDLを利用して作成します。
Interstage Apworksのコンポーネントデザイナを利用してSOAPクライアントアプリケーションを作成します。
コンポーネントデザイナでは、WSDLを入力して、対応するWebサービスにアクセスするためのJavaクラス(SOAPアクセスソース)を自動生成します。SOAPアクセスソースは、Webサービスにアクセスするための基本的な処理を実装しており、それを使用することで、簡易にWebサービスを使用するアプリケーションを作成することができます。
- コンポーネントデザイナの起動
Apworksのコンポーネントデザイナを起動します。
- プロジェクト新規作成
ここでは、Webサービス"Sample"を使用するPureJavaアプリケーションを作成します。
[ファイル]-[プロジェクト]-[新規作成]を選択します。
- プロジェクト新規作成(1/3)
プロジェクト名 : SampleClient
格納フォルダ : C:\SampleClient
プロジェクト種別 : PureJavaアプリケーション
として次に進みます。
- プロジェクト新規作成(2/3)
この例では、変更は必要ありません。次に進みます。
- プロジェクト新規作成(3/3)
次に起動するウィザードの一覧が表示されます。"フレームワークソース(Java)"を選択して[完了]ボタンを押します。
- Javaクラス生成ウィザード(1/4)
Javaクラス生成ウィザード(1/4)が表示されます。
クラス名 : SampleClientを入力して次に進みます。
- Javaクラス生成ウィザード(2/4)
[Javaフォームを使用する] のチェックをはずして、次に進みます。
- Javaクラス生成ウィザード(3/4)
特に設定は必要ありません。次に進みます。
- Javaクラス生成ウィザード(4/4)
特に設定は必要ありません。[完了]ボタンを押して、ウィザードを終了します。
SampleClient.javaが生成されます。
- SOAPアクセスソース生成の作成
[ファイル]-[新規作成]-[ファイル]を選択し、新規作成ダイアログの[ソース]-[SOAPアクセスソース(Java)]を選択します。
SOAPアクセスソース生成のためのウィザードが起動します。
- SOAPアクセスソース生成ウィザード(WSDLファイル選択)
WSDLファイル : C:\Sample\Sample.wsdl
urn名 : urn:Sample
を入力して次に進みます。
WSDLファイル名は、Webサービスの作成で作成したWSDLファイル名、urn名は、soapmodifyddコマンドでディプロイ情報ファイルを登録したときのurn名を指定します。
- SOAPアクセスソース生成ウィザード(生成サービス選択)
WSDLに定義されているサービスの一覧が表示されるので、生成するサービスを選択します。
"Sample"サービスが1個定義されているので、"Sample"を選択します。
- SOAP アクセスソース生成ウィザード(生成ファイル一覧)
生成するサービスと、対応するJavaクラス名が表示されます。
ここでは特に変更の必要はありません。[完了]ボタンを押して、ウィザードを終了します。
- SOAPアクセスクラス
以下のようなSOAPアクセスクラスが生成されます。
SamplePortフィールドの値を正しい値に変更します。 ここには、SOAPサービスの動作しているサーバのアドレスを記述してください。
以下の例では、サーバのアドレスが、sv1:80の場合の変更例です。
// Sample.java generated by Apworks V5.0L10
package Sample;
/*
* Sample クラスは、ユーザとのインタフェースを実現するためのクラスです。
* Sample service
*/
public class Sample {
public static final String SamplePort =
/* "http://Server/soap_examples/servlet/SOAPrpcrouter";
*/
"http://sv1:80/soap_examples/servlet/SOAPrpcrouter";
ppublic static final String uri =
"urn:Sample";
・・
/*
* hello メソッド
*/
public String hello()
throws com.fujitsu.interstage.soap.SOAPException {
synchronized(this) {
・・
return(String)result.getValue();
}
}
} |
- クライアントプログラムの記述
SOAPアクセスクラス "Sample"を使用して、SampleClientクラスのrunメソッドに以下の処理を追加します。
import Sample.Sample ;
public class SampleClient {
・・
public void run(java.lang.String[] args) {
// 以下に動作したときの処理を記述してください。
Sample s = new Sample() ;
try {
System.out.println(s.hello()) ;
}
catch ( com.fujitsu.interstage.soap.SOAPException se ) {
System.out.println(se.toString()) ;
}
}
・・
}
|
- プログラムの構築
コンポーネントデザイナの[構築/実行]-[構築]を選択してプログラムを構築します。
- プログラムの実行
サーバのSOAPサービスが起動していることを確認して、コンポーネントデザイナの[構築/実行]-[実行]を選択します。
コンソールが開き、
と表示されます。
|
|
|
その他
|
|
Interstage Application Serverでは、今回紹介したPureJavaによるWebサービスの作成の他に、既存のEJBやCORBAアプリケーションをWebサービスとして公開するための機能を提供しております。
製品のチュートリアルや、サンプルがありますのでお試しください。
|