ホームページに使うプログラム言語 プログラム言語 スクリプト言語 CGI と SSI (JavaS.・JSS.・Perl・VBS.) クライアントで使用の言語 ASP (マイクロソフト社) CGI と データベース プログラミング言語 プログラム言語の概要 スクリプト言語 と (Java ・ C言語) プログラミング言語 ■プログラム言語により高度な処理 : ユーザとのやりとりを行える・・・・・電子掲示板・チャット・オンラインショッピング・アンケート調査・オークション・会員登録〜 HTMLは画像・文書の表示・・・・・それ以外はできないのがHTML ・ プログラム言語とHTMLを組合わせ高度機能実現可 ■プログラム言語のメリット : サーバーとのやりとりで入力・・・・ オンラインショッピング等の入力のチェックなどをクライアントで ・ サーバーの負担を軽減 クライアント側だけで高度操作・・・ 動画やアニメーションは ブラウザ処理の方が 処理が早く・表現力も向上する この場合 サーバーより先ずプログラムがクライアントへ送られ 続いてデータが送られる ■プログラム言語の種類 : スクリプト言語・・・・・・・・・・・・・・・ 具体的な手順を記述して行くので 分かり易い ・ Perl・VBScript・JavaScript など 本格的言語・・・・・・・・・・・・・・・・・ C言語などで よほど高度な処理をしない限り ホームページでは使用しなくて済む CGI と SSI ■CGI・SSIとは : 双方向コミュニケーション言語・・・情報収集・データ入力 や 電子掲示板・チャットなどで使用され ・ 使用頻度は多い CGIは 現在Webでの必須機能・・クライアントからの要求に対し サーバーが答えるしくみであり データ受送信に必須のもの ■CGIのしくみ : 使用例 (Yahoo検索サイト)・・・・ユーザ入力のキーワードから サイトを検索し表示するが この情報のやりとりをCGIが行う (Common Gateway Interface)と呼ぶ ・ サーバー内プログラムをHTMLで実行の総称 クライアント・サーバ処理手順・・・@ HTML内・CGI(クライアント内処理)により ・ URL指定・当該操作プログラムを指定 A この指示を HTTPデーモンが理解して(サーバー内) URL指定のプログラムを起動 B プログラム処理結果を HTTPデーモンは 「*.cgi」CGIファイルにしてクライアントへ返す ■SSIのしくみ : CGIとの相異点・・・・・・・・・・・・・ CGIが サーバーにプログラムを置くのに対し SSIは当プログラムをHTML内に直接記述 (Server Side Include) の略 ・CGI同様 サーバー内プログラム実行、結果をクライアントへ戻す SSIの場合には 元のファイルに上書して クライアントへ送信するところが CGIと異なる SSI利用例・・・・・・・・・・・・・・・・サーバー内情報の閲覧 (日付・時刻など) や OSの一般コマンドの実行など SSI利用不可サーバーあり・・・・プログラムエラーが発生すると サーバーに悪影響するので SSI禁止のサーバーがあります ■CGIで使うプログラム言語 : CGIプログラム作成にPerl・・・・・サーバー内にCGIプログラムを作らなければならないが それには「Perl」が最多利用されている Perl(PracticalExtractionAndReportLanguae)は 文字置き換え・ファイルの順番付けプログラム Perlは CGIのための言語ではなかったが HTMLが文書処理言語で共通一致致した CGI使用 Perl以外の言語・・・・・本格的プログラム言語 C言語 そして 最近ではJava・ASP等も利用されている
@Perlなどでプログラム作成・・・少々難しいが 手順で難しいのは ここだけ A作成プログラムのチェック・・・・手作業 BFTPでサーバーへ送る・・・・・ FTPで プロバイダや WWWサーバーの 指定ディレクトリへ 保存する Cパーミッションを設定する・・・・他の人に その登録プログラムを変更されないよう カギを掛ける D動作確認をする・・・・・・・・・・・ブラウザから 動作確認を行って終了 ■CGIを使用上の注意 : @プロバイダ・・・・・・・・・・・・・・・CGI や SSIの利用を 許可しているか調べておく Aディレクトリ・・・・・・・・・・・・・・ CGIプログラムを置いておく ディレクトリの構造を 知っておく BHTTP・・・・・・・・・・・・・・・・・・HTTPデーモンの 種類とバージョンを調べておく Cパーミッション・・・・・・・・・・・・パーミッションの設定方法を 調べておく D文字コード・・・・・・・・・・・・・・ 文字コード体系を 調べておく ■プロバイダのCGI規制 : 下記のようなことがあるので プロバイダでは CGIやSSIを規制している WWWサーバー負荷増荷・・・・・・CGIプログラムを動作させたり 結果返信するので 処理が遅くなる CGI・SSIの処理時間は長く最悪の場合サーバーがダウンすることがある WWWサーバー・セキュリティ・・・SSIプログラムの場合 WWWサーバー内コマンドで内部をコントロールされる CGIプログラムの場合でも パーミッションの間違えなどから CGIを動作される クライアント側で使用できるプログラム ■クライアント動作プログラムのしくみ : サーバーからプログラム送信・・受信のプログラムをブラウザだけで使用するもの ・ OS機能も使ってのもの等あり HTMLとの組合わせで動作・・・HTMLだけではできない 高機能なサービス・豊かな表現力など 可能にする ■クライアント使用プログラム : JavaScript ・ VBScript・・・・・CGIプログラム ・ アニメーション処理 ・ ゲーム ・ 簡易アプリケーション ・ スケジューラ Java・・・・・・・・・・・・・・・・・・・・ データベースとの連携 ・ 分散処理 ・ TV会議 ・ 動画配信 ・ イントラネット ActiveX・・・・・・・・・・・・・・・・・・アニメーション ・ グラフィック描画 ・ 簡易アプリケーション ・ 通信処理 ・ Excel他との連携 C言語など(プログラム言語)・・業務処理 ・ イントラネット ・ データベースとの連携 ・ 分散処理 ■表現力を向上させる : アニメーションGIFより高度に・・もっと複雑なアニメ ・ 利用者の選択によりバリエーションの異なるアニメを など実現に Flashにても困難のもの・・・・・・オーサリングソフトウェアから作成のファイルでは 細かい処理ができない・処理時間が大 ■アプリケーションプログラムを開発する : Java や C言語で高度ソフト・・業務処理のプログラムや データ処理での分散処理など 高度なプログラム作成 HTMLを 画面表示とユーザインタフェースの一つとして ブラウザ使用のとき使用との形態 Webページ と データベース ■オンラインショッピングの場合 : HTTPデーモン・・・・・・・・・・・・商品一覧で商品種類入力・表示 注文時の住所・氏名・品名・個数の入力 サーバー受信 データベース連携プログラム・・顧客DB・受注DB・商品DB・マスターDB・入出金DBなどとの連携 ■CGI の背後にはDB : 情報の発信と提供・・・・・・・・・ HTMLの主たる使用目的 ・ これのみのもの 情報の収集と提供・・・・・・・・・ CGI ・ SSIの主たる目的 さらに 情報の収集には データベースとの連携が必要になる CGI と DBとの連携・・・・・・・・データベースを構築するソフトウェアとしては SQL ・ ORACLE ・ Infomixなどがあるが これらは データの検索・抽出・並べ替えなどを行うもの ・ インターフェイスがCGI・SSI CGIやSSIが これらのソフトと連携し データ渡し・データ受取りの役割をもっている ■CGIの種類 ・・・・・・・・・・・・・・・・コンパイラ型 ・ インタープリタ型 ・ ASP(マイクロソフト社のCGI) ホームページ作成に使う言語 ■言語の種類 : スクリプト言語系・・・・・・・・・JavaScript ・ VBScript ・ Perl JScript(マイクロソフト社のJavaScript)とVBScriptはNetscapeでは不可 ASP(AcyiveServerPages)はデータベース連携の出来るスクリプト系言語 プログラム言語系・・・・・・・・C言語 ・ Java ・ VisualBasic ■スクリプト言語 と プログラム言語の相異点 : スクリプト言語系・・・・・・・・・スクリプト(手順)を記述 ・ ブラウザやサーバーで実行 本格的プログラム言語よりは簡単 ・ その場でテスト確認ができるインタープリタ型 ブラウザやサーバーが対応していないと 使用できない プログラム言語系・・・・・・・・プログラムを記述→コンパイル(機械語へ翻訳)→プログラムファイルを実行 アプリケーション開発など 本格的プログラム開発が可能 コンパイル後のプログラムファイルは ブラウザやサーバーで使用できる ■それぞれの言語の特徴 : 手軽なのはスクリプト系・・・ HTML同様 比較的分り易く ホームページではスクリプト言語の使用が多くなっている しかし 本格的プログラム開発には向かない 敷居高いプログラム系・・・・ 本格的プログラム開発言語であるが 動作確認も特別環境が必要になってくる スクリプト言語ではできない高度な処理ができる ・ 下記はその例 ・ データベースの登録・検索 ・ Webページ上で複数人が見られるスケジューラ ・ 表計算のようなWebページ ・ Webページからの電子メール送信 など スクリプト言語 ■スクリプト言語のHTML組込み : JavaScript開始タグ・・・・・<SCRIPT language=”Java Script”> ・・・この下に Java Script プログラム本体 JavaScript終了タグ・・・・・</SCRIPT> ・・・・・ スクリプト本体は 別ファイルでも構わない ■スクリプト言語のしくみ : ブラウザ側で実行のとき・・ テキストファイル→ブラウザへ投入のインタープリタにより実行→インタープリタにより見る サーバー側で実行のとき・・テキストファイル→サーバーにあるインタープリタにより実行→処理結果はHTMLにて表示 ■JavaScriptとは : プログラムJavaと異なる・・ JavaScriptはNetscape社LiveScriptが原形であり プログラムJavaとは全く異なるもの 最初はLiveScriptも Jaavaのサブセットであったが その後Javaと全く異なり進化した JavaScriptの特徴・・・・・・構文が分り易く・プログラミングのために特別なツールを必要としないことが上げられる スクリプト言語(全般)の特徴: 特に利用環境を準備せずとも スクリプトを作成できる ■JScript : マイクロソフト社Script・・・・独自に機能強化のJavaScriptを InternetExplorerV3.0より採用 /1996 JavaScriptと互換性あり ・ InternetExplorerでは JavaScriptでもJScriptでも動く 複数のScriptが動く・・・・・ InternetExplorerでは 複数Scriptが動くようになっており VBScript等も同時可能 ■Perl : CGI用テキストScript・・・・テキストファイル→インタープリタ(これのあるのがスクリプト言語) サーバー側投入のインタープリタにより サーバー側でScriptを実行 ・ CGI実行に最適 サーバー側インタプリタ・・・JavaScript・VBScriptは ブラウザ側にインタプリタを置くが Perlはサーバーに置く由 元はテキスト検索用言語・・文章を扱うHTMLとは相性が良く HTMLとの組合わせで使用されたが 現在は広範囲 ■VBScript : ブラウザに限定があり・・・・ 現在VBScriptをサポートしているのは InternetExplorerV3以上 と Oraclleのみ ブラウザInternetExplorerに インタプリタが内臓されているので 環境設定は不要 VBAのサブセット・・・・・・・・マイクロソフト社のプログラム言語VisualBasicForApplications(VBA)のサブセット VBScriptを理解しておくと VBAの理解も容易 VBAの特徴・・・・・・・・・・・・JavaScriptと異なり サーバー側でも動作可能 ・ ASPとの連動でCGIなど高度処理可能 ただし、JavaScript同様 変数の型やファイルの入出力がサポートされてなく制限あり ■スクリプト言語の欠点 : ファイルの入出力不可・・・・ サーバーやクライアント側からのファイルの入出力をサポートしていない 変数の型の決定不可・・・・・変数を使うような 高度なプログラミングには 制限がある プログラムを隠せない・・・・・プログラムをWebページに 記述するので 誰でも容易に見ることができる ■ASP(マイクロソフト社のCGI) : 通常のCGI・・・・・・・・・・・・・Perl等Script言語か C言語などで作成したCGIを サーバーに置いて使用 サーバーで使用のCGI・・・・マイクロソフト社のWindowsNT・Windows2000サーバーで高効率処理 WWWサーバーで使用するCGIとして 注目されている ASPの略号に注意・・・・・・・ASP(ActiveServerPages)のことでマイクロソフト社の独自のCGIシステムのこと 他によく使われているASP(ApricationServerProvider)なるものがあるが これはプロバイダの提供するソフトのこと ここでいうASPと違うので 要注意 ■ASPのしくみ : 基本的にはCGIと同じ・・・・・クライアント→(ASPファイル実行要求)→サーバーでASPファイル実行:DBも検索 →結果をHTMLファイルにする→クライアントへ返送する ASP利用の言語・・・・・・・・・HTML ・ JavaScript<JSScript> ・ VB ・< VBScriptt> ・ C言語 ・ ActiveX 上記の<>内は マイクロソフト社製品でそれがメインであるが その他も利用可能 サーバー内高速処理・・・・・・ASP自体はサーバー機能(OSの機能)として動作するてめ、高速処理できる ■ASPの特徴 : MS製品との親和性・・・・・・・マイクロソフト製品を中心に使っていると あらゆる面で使い勝手が良い <JSScript> ・< VBScriptt> ・ ActiveX ほか インタープリタ・コンパイラなどの環境を準備する必要もない MSのOS下で高効率 旧来・標準のCGI・・・・・・・Perl等Script場合では、予め作成のScript言語は テキストファイル →OS上で動くインタープリタが翻訳→コンピュータの処理言語にして実行される ASPの動作・・・・・・・・・・・OSの一部にCGI・インタープリタ機能が包含 ・ OSがこれらの処理をする由高速 データベース作成し易い・・・・ SQLデータベースサーバー ・ Accesなどのデーだベースアプリケーション ほか さまざまな言語を使って CGIプログラムを作成できるし 通常のプログラミング・・・・Scipt言語によってはデータベース読み書きが出来ないので C言語・VBを使用 ASPのScriptでは・・・・・ SQLサーバーやAccessなどでも使用できるScript言語やプログラミング言語利用可 それぞれのアプリケーションでファイル操作できる ・ 効率的開発が可能 ブラウザ上で複雑処理・・・・・ イントラネットなど高度な処理には CGIを高度に使用するが ASPこれらにも耐える プログラミング言語 ■プログラム言語のメリット : HTML・スクリプト不可のものを・・Java や C言語は 左記のものより遥かに高度なプログラムを作成できる 分散処理ができる・・・・・・・・クライアント側への分散例:Webページでのアプリケーションの実行・アプリケーション化 サーバー側への分散例 :クライアント処理をサーバ集計・サーバ処理をクライアント実行 イントラネットでの活用・・・・・ブラウザによるグループウェアの実現 (スケジュール・プロジェクト管理・電メール送信) ブラウザで各プログラムのデータを作成 ・ サーバー側データベースと必要なデータ送受信 ■プログラム言語のデメリット : プログラミングが難しい・・・・Webページだけでなく コンピュータ全体の知識が必要 メンテナンスに手間が・・・・・プログラムが複雑になればなるおど メンテナンスが必要 ■Javaとは : 1995年サンマイクロ発表・・・C言語の歴史は20年以上なるが Javaは短い歴史で世界中で利用されるに至った バーチャルマシン・・・・・・・・ どんなコンピュータでも動く ・ JavaVMはコンピュータの中に仮想のFavaマシンを作る JavaVMはコンピュータの種類ごとに必要であるが 大抵のものにはある ■Javaの動くしくみ : バイトコードと機械語・・・・・・プログラムをコンパイルすると一般には機械語になるが Javaではバイトコードになる 機械語はプロセッサの種類により異なるが バイトコードは環境があれば必ず動く コンパイルにより作成されるバイトコードは 機械語と呼ばれる言語 インタープリタにより実行・・・ バイトコードにした後 これを インタープリタ形式で一行づつ実行する スクリプト言語のように 一行ごとに動作を確認できる(コンパイル後) Java実行環境サポート・・・・各種OS ・ 各種マイクロプロセッサーをもつ チップ ・ カード ■Javaの特徴 : C言語に非常に近い・・・・・・ C言語から派生したものなので C言語敬謙さにやさしく 知らない人にでも理解され易い もともと ネットワーク環境での言語 ・ 純粋なプログラム言語Cよりも Web向きである CGIの機能ももつ・・・・・・・・・CGIプログラムとして機能し より高速に処理を行うことが出来る ■Javaでのプログラミング : Javaアプレット・・・・・・・・・・・Webページなどで利用するときの最小プログラム単位 Javaアプリケーション・・・・・・インターネット上での 受送信は 小さなプログラムの単位が Javaアプリケーション または Javaで作ったプログラムの総称を Javaアプリケーションという Javaサーブレット・・・・・・・・・サーバー上で動作するJavaプログラムのこと ・ CGIプログラムとして利用できる クライアントからの要求に対して HTMLファイルを作成 返信する Java Beans・・・・・・・・・・・・Javaプロ倉r無の開発で利用する Javaの部品集 ■C言語 : C言語の誕生・変遷・・・・・・・1970年代の後半に開発されたプログラム言語 ・ 現在C++に進化している システム開発用言語・・・・・・UNIXなども C言語により開発されている グループウェア開発などへ・・本来はOSや高度アプレケーション用であるが Web利用アプリケーションにも利用 Webページ上での メーラー・ワードプロセッサ・スケジューラなどの開発 ■C言語の特徴 : 構造化プログラム言語・・・・・プログラムを組み立てて行くやり方なので 開発効率が高い 各種制御に多く利用・・・・・・ 機械語との相性がよいので マイクロプロセッサーなど 各種制御にも利用される 別マシンへ移植できる・・・・・ 機械語との相性がよいので 多くのマイクロプロセッサへ移植することができる Webページがら呼出せる・・・CGIに使用されたり ・ HTMLから呼び出して特定の機能を発揮できる ■C言語でのプログラミング : OSによる制約をうける・・・・・Javaのように どのOSにもとは行かない ・ マイクロプロセッサごとにコンパイルする 高度システムの開発へ・・・・ Webページ上で表計算やワープロなどの機能を実現したいときなどには 最適 C++はオブジェクト指向・・・・ 機能(オブジェクト・目的) ・ 手続き(プログラム)を別個記述し 構成して行く クラスという考え方(ある処理をするデータと データを利用するプログラムのかたまり) これらの考え方で プログラミング効率を高めている |