AS/400展望台

iSeries Access for Webによる複数サーバーへの接続



Linda Hirsch著

iSeriesリソースを扱う場合、iSeries Access for Webによりブラウザーを使用できますが、多くの環境で複数のiSeriesサーバーへアクセスする必要があります。このとき単一サーバーでWebサービス環境を持っていれば、Webサービスを多数のサーバーへ波及させるときに生じる可能性があるコスト、パフォーマンス、管理上の問題に実に役立ちます。iSeries Access for Webを単一のiSeriesサーバーにインストールおよび構成し、ネットワークの他のiSeriesサーバーへ接続するよう構成できます。本記事では、中央のiSeriesサーバーを使用して複数のiSeriesサーバーへのアクセスを許可するゲートウェイのような機能を提供することの可能性について探ってゆきます。

まず、iSeriesサーバーが1台のWebサービス環境について見てゆきましょう。図 1では、あるユーザーがiSeriesサーバーで時折リソースを必要とするWebブラウザー(ダイアグラムのTier 1)でアプリケーションを実行しています。ユーザーはインターネットまたはイントラネットでiSeriesにアクセスしている可能性があります。Webサービス環境(Tier 2)では、HTTPサーバー、Webアプリケーション・サーバー、およびWebアプリケーションが構成されています。HTTPサーバーは特定のTCP/IPポートのWeb要求をListenし、ブラウザーとWebアプリケーション・サーバー間でその要求の経路を定めます。Webアプリケーション・サーバーは、Webアプリケーションが動作するJava仮想マシン環境を実現しています。シナリオではWebアプリケーションであるiSeries Access for WebがWebアプリケーション・サーバー内にインストールおよび配置されています。そのアプリケーションは、エンド・ユーザーがWebブラウザーから要求している特定の機能を提供します。WebアプリケーションはエンタープライズiSeriesサーバー(Tier 3)で必要なリソースにアクセスし要求を満たします。もちろん、これらのバックエンド・リソースをそれらに直接アクセスする可能性があるインターネット・クライアントから保護することが大切です。

DMZを使用した複数サーバーの構成

次に複数サーバーのケースを考えてみましょう。バックエンド・リソースを保護する方法の1つとして、DMZ (非武装地帯)の使用があります。DMZは企業内のファイアウォールと社外のインターネット・ファイアウォール間に位置しています。図 2はDMZの一般的な構成方法を示しています。アプリケーション環境の安全を確実に保護するために、ブラウザーと通信するHTTPサーバーは、特定のプロトコル(ほとんどの場合HTTPおよびHTTPS)でのみ要求を許可するプロトコル・ファイアウォールの背後に位置しています。このタイプのファイアウォールは、要求が入るポートだけでなく要求のタイプを制限することで保護を実現します。セキュリティーを確保するには、インターネットからアクセスされるすべてのiSeriesサーバーを暗号化するのが最も望ましいと言えます。暗号化を実装した状態で、WebブラウザーはSSLプロトコルを使用してiSeriesにアクセスします。プロトコル・ファイアウォールに加えて、別のファイアウォールはiSeriesサーバーのバックエンド・リソースを保護する必要があります。このファイウォールは一般的にドメイン・ファイアウォールと呼ばれ、同じドメインから発信される要求のみ許可します。

HTTPサーバー、Webアプリケーション・サーバー、およびWebアプリケーションが通常常駐する2つのファイアウォール間の領域をDMZと呼びます。多数の企業がそのメール・サーバーやその他のe-ビジネス・サーバーをDMZ内に配置しています。DMZは、その内部に常駐するオブジェクトに対してある種のセキュリティーを実現し、例では2つのファイアウォールの背後に位置している企業のバックエンド・リソースは極めて安全と言えます。多数のファイウォール構成が可能です。例えば、ファイアウォールをHTTPサーバーとWebアプリケーション・サーバー間に置く企業もあるでしょう。

図 2のモデルを使用したiSeries Access for Webを構成するために、HTTPサーバー、Webアプリケーション・サーバー、およびiSeries Access for Webがインストールおよび構成されているDMZにServerAが常駐していると考えてみましょう。2つのバックエンド・サーバーServerBとServerCは企業内ネットワークに存在します(図 3参照)。Webサービス環境をそれらのバックエンド・サーバーにインストールおよび構成せずに、iSeries Access for WebによりブラウザーからServerBおよびServerCにアクセスできます。ServerBおよびServerCの要件として、iSeries Access for Webで必要なライセンスである2つのライセンス・プログラム5722-XH2 iSeries Access for Webと5722-XW1 iSeries Access Familyをインストールしておきます。ServerBおよびServerCにiSeries Access for Webをインストールすることが、印刷およびプリンター出力機能で利用できるPDFサポートに必要ですが、ServerBおよびServerCでiSeries Access for Webを構成する必要はありません。

Webサービス環境の構成

ServerAの最初のステップは、ServerBとServerCにHTTPサーバーおよびWebアプリケーション・サーバーを構成することです。IBM Web Administration for iSeriesインターフェースを使用してHTTPサーバーとWebアプリケーション・サーバーを構成します。Web Administration GUIは、他のサーバー・タイプの中でもHTTPサーバーとWebアプリケーション・サーバーをiSeriesでセットアップおよび管理するのに役立つウィザードを備えています。まず、OS/400コマンドSTRTCPSVR *HTTP HTTPSVR(*ADMIN)を実行して、Web Administrationインターフェースを開始します。次に、ブラウザーでアドレスhttp://ServerA:2001を開き、GUIを開始します。ASF Tomcat Webアプリケーション・サーバーを使用している場合は、まずHTTPサーバーを作成するウィザードを使用し、次にTomcatサーバーを作成する別のウィザードを使用します。WebSphere Application Serverを使用している場合は、HTTPサーバーとWebSphere Application Server (WAS)インスタンスを作成するステップを組み合わせたウィザードを使用します。iSeries Access for WebのHTTPサーバーとWebアプリケーション・サーバーの構成に関する詳細はibm.com/eserver/iseries/access/web/doc.htmlをご覧ください。Webアプリケーション・サーバーに対応した言語を選択してください。

ServerAの次のステップは、2つのWebアプリケーション・サーバーの各インスタンスでiSeries Access for Webを構成することです。Configure iSeries Access for Web (CFGACCWEB2) CLコマンドを使用してiSeries Access for Webサーブレット構成情報を以下のWebアプリケーション・サーバーへ追加します。

  • IBM WebSphere Application Server (WAS) V5.0 for iSeries
  • IBM WAS - Express V5.0 for iSeries
  • Apache Software Foundation (ASF) Tomcat(IBM HTTP Server for iSeries 5722-DG1に同梱)
  • IBM WAS Advanced Edition for iSeries V4.0
  • IBM WAS Advanced Single Server Edition for iSeries V4.0
以下のWebアプリケーション・サーバーを使用している場合は、QShell環境でcfgaccweb2スクリプト・コマンドを代わりに使用します(CFGACCWEB2 CLコマンドはWAS V5.1およびWAS Express V5.1が利用可能である前に終了したため)。
  • IBM WAS - Express V5.1 for iSeries
  • IBM WAS V5.1 for iSeries
  • IBM WAS Portal - Express for iSeries V5.0
V5R3 iSeries Access for Webのターゲット・サーバーの構成

V5R3 iSeries Access for WebはV5R2 OS/400サーバーまたはV5R3 i5/OSサーバーにインストールします。V5R3 iSeries Access for Webがある場合は、新しいパラメーターがCFGAC CWEB2 CLまたはTarget Server (TGTSVR)というスクリプト・コマンドに追加されています。TGTSVRコマンドはiSeries Access for Webの接続先となるiSeriesサーバーを指定します。TGTSVRの値は以下のとおりです。
  • *DEFAULT: iSeries Access for WebをiSeries Access for WebがインストールされたiSeriesサーバーへ接続し、そのサーバーからサーバー・データへアクセスします。
  • name: iSeries Access for WebにデータをアクセスさせたいiSeriesターゲット・サーバーの完全修飾ドメイン名を指定します。ターゲット・サーバーのTCP/IP構成情報にアクセスすることでドメイン名を判断できます。
例えば、ServerAでServerBに作成するWAS Express V5.1のインスタンスをiwaexp51bとします。iSeries Access for Webでは、WAS Expressサーバーは構成するに当たり稼動していることが必要です。完全修飾ドメイン名はserverb.rch.ibm.comです。WAS V5.1 Expressを使用しているため、スクリプト・コマンドを使用するでしょう。ServerAで以下のステップを実行します。
  1. サーバーのコマンド行で、QShell環境に入るためにQSHと入力します。
  2. QShellコマンド行で、ディレクトリーをコマンドが常駐するディレクトリーへ変更するため、cd/QIBM/ProdData/Access/Web2/Installと入力します。
  3. QShellコマンド行で、次にcfgaccweb2 appsvrtype *WAS51EXP wasinst iwaexp51b appsvr iwaexp51b tgtsvr serverb.rch.ibm.comと入力します。
同様にServerAで、iwaexp51cというServerCに使用するWAS V5.1 Expressのインスタンスを作成します。ServerCの完全修飾ドメイン名はserverc.rch.ibm.comです。QShell環境にいる間に、ServerAで以下のスクリプト・コマンドを入力します。

cfgaccweb2 appsvrtype WAS51EXP wasinst
iwaexp51c appsvr iwaexp51c tgtsvr serverc.rch.ibm.com


変更内容をWebアプリケーション・サーバー構成で使用可能にするために、Webアプリケーション・サーバーを停止し、再始動する必要があります。このためには、Web Administrationインターフェース(http://ServerA: 2001など)を使用します。HTTPサーバーは再始動する必要はありません。

V5R2 iSeries Access for Webのターゲット・サーバーの構成

V5R2 iSeries Access for WebはV5R1サーバーおよびV5R2 OS/400サーバーにインストールしますが、前述のようにTarget Server (TGTSVR)パラメーターがV5R3で追加されたため、V5R2 iSeries Access for Web CFGACCWEB2 CLまたはスクリプト・コマンドでは利用できません。V5R2ではpropertiesファイルを手動で変更する必要があります。ServerBとServerCに1セットずつ2台のHTTPサーバーと2つのWebアプリケーション・サーバー・インスタンスを構成する最初のステップは、前節のV5R3 iSeries Access for Webの記述と同様です。IBM Web Administration for iSeriesインターフェースを使用します。次に、CFGACCWEB2 CLまたはスクリプト・コマンドを使用して各ターゲット・サーバーにiSeries Access for Webを構成します。構成手順の詳細については、ibm.com/eserver/iseries/access/web/doc.htmlを参照してください。繰り返しますが、V5R2 iSeries Access for Webでは利用できないため、Target Serverパラメーターは使用しません。CFGACCWEB2コマンドを実行したら、以下をServerAのwebaccess.propertiesファイルへ追加します。

realm=server_fully_qualified_domain_name

webaccess.propertiesファイルは、例では元のシステムServerAの
/QIBM/UserData/Access/Web2////config/webaccess.properties IFSディレクトリーにあります。パスはサーバーごとに構成された固有値により異なります。
  • appsvrtype: アプリケーション・サーバー・タイプ(WAS V5.0の「was50base」やWAS ? Express V5.1の「was51exp」など)
  • wasinst:そのiSeries Access for Webが構成されたWebアプリケーション・サーバー・インスタンスの固有名
  • appsvr: アプリケーション・サーバー名(CFGACCWEB2 CLまたはスクリプト・コマンドを使用してiSeries Access for Webを構成しているときにappsvrパラメーターに入力した名前)
Edit File (EDTF)コマンドを使用して、webaccess.propertiesファイルの内容を編集します。例えば、ServerBの完全修飾ドメイン名はserverb .rch.ibm.comです。ServerAで作成されたWAS Express V5.1サーバー・インスタンスはiwaexp51bで、アプリケーション・サーバー名をWASインスタンスのデフォルトiwaexp51bにしています。したがって、図 5のように、ステートメントrealm=serverb.rch .ibm.comをファイル
/QIBM/UserData/Access/Web2/was51exp/iwaexp51b/iwaexp51b/config/webaccess.propertiesに追加します。

繰り返しますが、構成が新しいまたは追加されたrealmパラメーターの値を取ることができるようWebアプリケーション・サーバーを停止し、再始動する必要があります。しかし、HTTPサーバーは再始動する必要はありません。

ネットワークの確立とターゲット・サーバーへの接続

Webサービス環境の構成が完了したら、Webサーバーとバックエンド・サーバー間のファイアウォールをセットアップしてそれらのリソースを保護します(図 6)。このファイアウォールが確立すると、iSeries Access for WebはServerAで動作しており、ServerBおよびServerCにのみ接続しているためファイアウォールのホスト・サーバー・ポートを開くよう要求します。各種iSeries Accessホスト・サーバーに必要なポートの情報については、
http://www-912.ibm.com/s_dir/slkbase.nsf/1ac66549a21402188625680b0002037e
/eb38cf0112b242d986256ee70057f551 ?OpenDocument&Highlight=0,349950912
のInformation APAR II12227を参照してください。図 6のダイアグラム例では、ServerBをターゲット・サーバーとして構成したWebサービス環境では、HTTPサーバーはServerBのポート5001をListenするよう構成されています。ServerCをターゲット・サーバーとして構成した環境では、HTTPサーバーはポート5002をListenするよう構成されています。したがって、iSeries Access for Webは以下のURLを使用してWebブラウザーからアクセスされます。
  • ServerBにアクセスする場合はhttp://ServerA:5001/webaccess/iWAMain
  • ServerCアクセスする場合はhttp://ServerA:5002/webaccess/iWAMain
これらのアドレスのキー入力結果を図 7に示します。iSeries Access for Webのインスタンス構成時に指定したターゲット・サーバーのサインオン画面を受信します。ターゲット・サーバーのユーザーIDとパスワードを入力する必要があります。

DMZでのこのWebサービス環境の構成方法の例は、多数ある構成シナリオの1つです。例えば、HTTPサーバー、Webアプリケーション・サーバー、およびWebアプリケーションはそれぞれ異なるiSeriesサーバーに配置できます。HTTPサーバーとWebアプリケーション・サーバー間にファイアウォールを構成してから、Webアプリケーション・サーバーとWebアプリケーション間に別のファイアウォールを構成することもできます。

Telnet 5250の使用

ネットワークで2番目のiSeriesシステムを接続する別の方法として、iSeries Access for Web 5250セッションを実行し、Telnetを使用する方法があります。Telnetについてはおそらくご存知と思いますので、Telnetセッションを開始する方法をいくつか簡単に紹介します。
  1. Start Session. iSeries Access for WebをインストールしたServerBに接続しており、ServerC上のデータをチェックしたいとします。iSeries Access for Webの5250タブでStart sessionをクリックします。Serverフィールドのデフォルト値はTarget Server (realm) パラメーターで指定した値になります。ネットワークで任意のiSeriesサーバーを指定できます。ネットワークで認識されているならばショート・ネームを使用したり、完全修飾ドメイン名を指定することもできます。図 8のようにServerフィールドにServerCを指定します。次に、ワークステーションIDなど他のパラメーターを指定できます。Start-Sessionボタンを押すと、ServerCに対してTelnetセッションが開始され、ServerCの5250サインオン画面が表示されます。5250タブでActive sessionsをクリックすると、「telneted」されたサーバー名が表示されます(図 9)。
  2. Configured Sessions. また、構成済みセッションを使用して別のiSeriesに接続できます。5250タブでConfigured sessionsをクリックし、次にConfigure new sessionをクリックします。例ではセッション名としてServerDを指定し、完全修飾ドメイン名またはネットワークで認識されている場合はショート・ネームのいずれかアクセスしたいサーバーを入力します(図 10)。他のパラメーターを記入し、Saveボタンを押します。結果を図 11に示します。Administratorは、ユーザーがこのセッションに持っていると思われる機能を制限できる点に注意してください。例えば、Administratorはあるユーザー・グループにこのセッションの開始権限のみ与え、他のセッション機能を操作させないようにできます。Configured sessions画面から5250セッションを開始するには、Startをクリックします。
  3. Telnet command. アクティブなiSeries Access for Webの5250エミュレーション・セッションにいる間は、コマンド行でOS/400 Telnetコマンドを入力し別のシステムにリンクできます(図 12)。結果はコマンドで指定したシステムへのサインオン画面です。
説明したこれら3つのTelnet手法(Start session、Configured session、またはTelnetコマンドの使用)のいずれについても、新しいサーバーでいったん5250セッションに入れば、iSeries Access for Web左側のナビゲーション・バー機能やリンクすべてが接続した元のシステムと関連付けられている点に注意してください。上記Configured sessionsの例では、元のシステムはServerBです。例えば、Start sessionを使用してServerDへの5250エミュレーション・セッションを開始し、Print folderタブをクリックすると、以前としてServerDではなくServerBのPrinters and printer outputを動作させていることになります。

ユーザー・アクセスの向上と管理問題の低減

複数の他のiSeriesサーバーへアクセスするため、iSeries Access for WebおよびDMZを使用して中央のiSeriesサーバーにゲートウェイの役割をさせるセットアップ方法についてお話し、またiSeries Access for Webをインストールした単一のiSeriesから他のiSeriesサーバーへアクセスするためのTelnet 5250エミュレーション・オプションを簡単におさらいしました。iSeries Access for WebとWeb環境を1台のサーバーにのみ構成していても、ライセンスの理由で他のバックエンド・サーバーにもiSeries Access for Webをインストール(構成ではない)し、iSeries Access Familyもインストールする必要がある点を覚えて置いてください。1台のサーバーでiSeries Access for Webを構成してこれらのうちいずれかの方法を使用することで、ネットワーク間でのWebサービスのメンテナンスを最小限に抑えつつ、ブラウザーから必要な機能へアクセスできるようになります。注文情報や構成マニュアル等iSeries Access for Webの詳細については、当製品のWebサイトibm.com/eserver/iseries/access/webをご覧ください。

Linda Hirsch: IBMロチェスター研究所iSeries Access Developmentのソフトウェア・エンジニアリング・アドバイザー。Rochester研究所で開発された製品のプログラミングおよび技術面でのマーケティングを多方面から担当。現在はクライアント統合テクノロジーとiSeries Access製品のサポートを担当。


↑このページのトップへ
TOPPAGE

BELLDATA, Inc. Copyright reserved.