} I言語VER8システム開発の入門編 9/9 (インターネットでの公開)


(9)インターネットでの公開。
インターネットに公開するためには、インターネットインフォメーションサービスをインストールする必要がありますので、このインストール方法を説明します。
★注意:WindowsXPはProfesional以上でないとインターネットインフォメーションサービスは無いので注意下さい。
①「スタート」「コントロールパネル」「プログラムの追加と削除」の「コンポーネット追加と削除」をクリックします。
②「インターネット インフォメーション サービス(IIS)」の左のマスをクリックしレ印を付け「次へ」でインストールします。
③途中でCD-ROMを要求してくるのでWindowsXPのCDをセットし「OK」「OK」で続行します、最後に「完了」ボタンをクリックでインストール完了です。
I言語はCGIプログラムとして動きます.その設定が必要ですので説明します。
①「スタート」「コントロールパネル」「パフォーマンスとメンテナンス」「管理ツール」で「インターネットインフォメーションサービス」をクリックします。
②「I1(ローカルコンピュータ)の左枠の「+」をクリックし、表示された「Web サイト」上で右クリック「プロパティ」「ホームディレクトリ」の「構成」をクリックします。
③「追加」で実行ファイルに「C:¥I¥FILE¥(システム名).I¥BIN¥I8TIMEW.exe (システム名)」 (.exeは小文字にしないとエラーとなります,パラメータとしてにシステム名を必ず記入下さい)、入力拡張子に「.i8」を入力し「ファイルの存在を確認する」のレ印を取って「OK」「適用」「OK」をクリックします。
これで準備は完了です。
実際にインターネットに公開したい場合は、プロバイダに固定IPの申請(一般的な接続では接続毎にIPが動的に変化してしまい使えません)をし、ドメイン名を取得し、DNS(ドメイン名からIPアドレスを知る機能、ドメイン名取得メーカーが提供しています)設定を行った後、 ル―ターにインターネットパケット(通常はTCPの80)をNAPT設定でサーバー(IPアドレス)に転送する指定をします。一般的にはLAN内はプライベートアドレス(例:192.168.?.?)を使用しており、インターネットからは直接つながりません。

(9.1)インターネットで使用出来るプログラム名は決まっており5文字目が8で6文字目が0です.今回はZZZZ800101で「市 インターネット公開」で作ります。
'2'(作成)'ZZZZ','80','01','01',(JA),'TEST','ZZZY','AA','OUTPUT'(更新しないので)で認証は無いので自動スキップします‛↓’でメニューに行き「市 インターネット公開」,[Enter]で作成後'0'でプログラムに行きます。

(9.2)このプログラムはサーバーで動くI言語用でPROGRAM=等使えない物が有るので注意が必要です。
CGIプログラムは入力は#付きの特殊データ名で受け取り、出力はHEAD{};とBODY{};で出力します。基本的なHTMLは準備されているので、全てを出力する必要は有りません。
プログラムを説明します。
100 =BODY{<BR>*****( 市検索結果 開始 '?#WHERE?%' )*****};
HTMLの最初の行に出力します。(<BR>は「ここで改行する」の意味でHTMLの仕様です)
200 =SQL1{SELECT ~+_し,~+_市,~+_都道府県,~+_承認者 FROM
300 = ?_MM?_市実表 WHERE (~+_し LIKE N'?#WHERE?%'
400 = OR ~+_市 LIKE N'?#WHERE?%')
500 =AND Z_CANCEL=' ' ORDER BY 1};
「#WHERE」に入力された文字列を使ってテーブルから検索をします。
600 =B:SQL1_NEXT{W.~+_し,W.~+_市,W.~+_都道府県,W.~+_承認者}
700 = JUMP{J};
SQL1_NEXTでSQL1のSQL文で受信したデータを1件分各項目に転送します。
JUMP{J}は全件転送を終わった時に直近のJにジャンプします。
800 =SET{W.承認='承認済'};IF{W.~+_承認者=}SET{W.承認='承認中'};
W.承認に承認済か承認中かを設定します。
900 =BODY{<BR>ひらがな=?W.~+_し?、漢字=?W.~+_市?、
1000 =都道府県=?W.~+_都道府県?(?W.承認?)};
1件分をHTMLとして書き出します。
1100 =BACK{B};
直近のBにバックします。
1200 =J:BODY{<BR>*****( 市検索結果 終了 )*****};
最後にHTMLに書き出します。

(9.3)次に最初に表示するHTMLファイルを「アクセサリ」の「メモ帳」を使って「c:¥inetpub¥wwwroot」に「index.htm」の名前で作ります。
ポイントを説明します。
①作った後で「ファイル」「名前を付けて保存」で必ず「文字コード」を「UTF-8」にして下さい。
②3行目の「City」はタイトルで6行目の「市検索」は最初に表示されます。
③7行目のaction=の「test_ja_zzzz800101.i8」はtestがテスト中でjaが言語でzzzz800101が起動プログラムを意味しています。「.i8」でI言語がCGIとして起動されます。
④8行目のname="where"でこのテキストデータがI言語では「#WHERE」の名前で受け取れます。
submitで起動プログラムを変更する事も出来ます、詳しくは文法を確認下さい。

(9.4)インターネットエクスポーラで「http://I1/」または「http://I2/」で最初のホームページを表示し「な」を入れて検索ボタンをクリックします。

(9.5)最初が「な」の2件が検索表示されました。
最初と最後の*(test)*はテスト中表示されます。
これで入門編は終わりました。ここまでが理解できれば、実際のシステム開発では80%位までのプログラムは作ることが出来ますので是非作ってみて下さい。
これで仮免許取得レベルですので、免許皆伝までの説明をします。
①I言語は主言語がSQLです、SQLは簡単ですがそれでもマスターするには勉強する必要があります、まずはSQLを完全にマスターして下さい。
②I言語も、全てを説明した訳ではないので、I言語の仕様を全て1回は読んで下さい。
(ZZZZ010101の「ヘルプ 表示」でジョブに'ZZZZ010241'と入力し[Enter]でI言語VER8の仕様が見られます)
(どうしても印刷して見たい場合は以下のプログラムをZZZZ010421の「本番 全 プログラムの更新」で許可「ZZZZ」,部分「ZZ」で メニューから動かせる事の出来るZZZZ010101からZZZZ404040の間の適当なジョブ名で作り「操作」で'REAL',[Entre]で実行後、 「C:¥I¥TMP¥I言語仕様.CSV」をEXCEL等で開いて印刷して下さい。A4で35ページ位になります。)
100 PROGRAM=NOT
200 =SQL_FILE2{I言語仕様.CSV}{OT}{}{SELECT ~+_HELP FROM
300 =?_MP_ZZZZ?ZZ_I_HELP_TABLE WHERE ~+_JOB='ZZZZ010241'
400 =AND ~+_LANG='JA' AND Z_CANCEL=' ' ORDER BY ~+_SEQ};
③後は実践有るのみです、どうしても分からないときは当方に質問を頂ければ、回答を差し上げます。
All Rights Reserved, Copyright (C) 2011-2011 Nobumichi Harasawa.