情報検索概説II Webページとプログラム 1999年12月9日 プログラムとは コンピュータはプログラムで動いている コンピュータが知っている処理手順 ソフトウエア=プログラム CPUが分かる(実行できる)プログラ ム 「機械語」と呼ばれている 実態は単なる数値データの羅列 それをメモリに置いて指示をすることで実行を 始める いきなり数値の羅列を作るのは人間には無理。 そこで、もう少し単語的な要素を組みあわせて プログラムを作成できるようにしている 人間が作るプログラム 最終的には機械語のプログラムが必要 (バイナリとも呼ばれる) Loopとかfunctionとか、日常言語に近い単語を 組みあせてプログラムを作るようになった 計算を数式で書けるなどの特徴も それでも日常言語とは大きくかけ離れているが それらを高級言語と一般に呼ばれる。代表的 なものがC、Pacalなど 高級言語からバイナリを生成する 日常言語に近いプログラムから、機械語のバ イナリを生成する コンパイラというソフトウエア プログラムはテキストファイルで作成する ただし、ほかにもいろいろな準備や環境整備 が必要になる。専門家が行う仕事となっている 即座にはプログラム実行できない マクロ言語 プログラムを書いたものが、そのまま解釈され て実行されるものが出てきた 手軽に実行できる 比較的、習得が容易 多くは、アプリケーション自体をコントロールす るマクロ言語だった ワープロや表計算の作業を自動的に行う 「スクリプト言語」とも呼ばれる オーサリングツール パソコン画面を利用したプレゼンテーションに 特化した開発ツール 動きのある映像や、ユーザーの操作を受け付 けるようなものを簡単に作成できる 作成したものを配布する環境が整っている。 CD-ROMタイトルの制作で普及した Directorが有名だったが、今はFlashの方が もっと有名に プログラミングに関する話題 オブジェクト指向 開発環境 設計の問題 プロジェクト管理 などなど インターネットでの環境 説明するまでもないことだが、Webはインター ネットのもっとも普及したサービス ただし、Webページはスタティック(静的)。ファ イルに記述したことしかできない 時と場合によってあるいは状況によって異なる 結果をもたらしたい 動きのあるページを作りたい こうしたニーズを満たすのが「プログラミング」 Webページでのプログラミングとは HTMLから別のプログラムを呼び出す サーバーでプログラムを動かす クライアントでプログラムを動かす HTMLを拡張してプログラムを組み込めるように する 一般にはクライアントでプログラムを動かす サーバーで動かすことも可能に Webページでのプログラミング クライアントで実行 サーバーで実行 HTMLの外部 プラグイン Javaアプレット CGI Javaサーブレット HTMLの内部 JavaScript Active Server Pages PHP3 Webページでのプログラミング クライアントで実行 サーバーで実行 HTMLの外部 プラグイン Javaアプレット CGI Javaサーブレット HTMLの内部 JavaScript Active Server Pages PHP3 サーバーでプログラムを動かす HTMLはもともとは固定したもの したがって、HTML外部で何かをするというのが 1つの方法 クライアントで何かさせるのは困難 サーバではなんとかなる そこで、Webサーバが、別のプログラムを呼び 出す仕組みを作った それがCGI CGI Webサーバーで、Webサーバープログラムが、 さらに別にあるプログラムを起動する Webサーバーからデータを受け取ることができ る(つまりは、クライアントで入力したデータを 受け取れる) Webサーバーに処理結果を返し、それをクライ アントに戻すことができる 実際のCGI たとえば、WebサーバーがUNIXで動いている のなら、UNIXで動くプログラムなら何でもCGIと なりうる でも、perlが流行っている スクリプト言語のperl ネットワーク環境なので飛ぶような実行速度は要 求されていない 独特のプログラムの作りやすさ 周辺環境が整っている Webページでのプログラミング クライアントで実行 サーバーで実行 HTMLの外部 プラグイン Javaアプレット CGI Javaサーブレット HTMLの内部 JavaScript Active Server Pages PHP3 クライアントでプログラムを動かす クライアントのOSは千差万別 特定のOS向けのソフトウエアはWebページではあ まり意味を持たない(なくはないのだが) そこで、OSやブラウザに依存しない、仮想的な コンピュータを定義した(Virtual Machine) そのコンピュータのプログラムを作るための言 語がJava Javaアプレット プログラム自体はサーバーにある Webページがそのアプレットを呼び出す ダウンロードする クライアント側で実行する そのとき、Java VMを使う セキュリティ的な問題点 ウイルスみたいなプログラムがあったら大変 ちゃんと手は打ってある Javaの特徴 OSに依存しない C++に近い言語のプログラムを、Java VM向けのバ イナリにコンパイルする Java VMさえあれば、どこでも実行する ブラウザが対応した Webページの1つの枠の中で、プログラムが実行で きた Java言語の特徴 豊富なライブラリ機能 OSに匹敵する機能を提供する 言語というより、プログラム実行環境と言った方が いい プログラミングがやりやすくなる機能 メモリ管理が容易、安全 セキュリティ機能 Javaの今 一時期は大ブーム。しかし、しぼんだ Java自体の問題 機能が限られていた時代に過大評価された 問題点がなかったわけではない 外的要因 Microsoftにうまく立ち回られ、事実上骨抜き状態に サーバ用プログラム、携帯機器での利用がホットな 話題 HTMLの機能を拡張する HTMLの中にプログラムを書く HTMLファイルを読むのは サーバー クライアント(ブラウザ) さらにプログラムから、HTMLの要素自身をコン トロールできれば・・・ Webページでのプログラミング クライアントで実行 サーバーで実行 HTMLの外部 プラグイン Javaアプレット CGI Javaサーブレット HTMLの内部 JavaScript Active Server Pages PHP3 クライアントで処理する JavaScript ダウンロードしたHTMLの中にあるプログラムを 逐一実行する Javaの文法に近い というか、Javaブームに便乗した HTMLの中にプログラムを組み込める 結果をHTMLとして表示 HTMLの要素をコントロールできる 動きのあるHTML Dynamic HTML 動きを持たせる スタイルシート ページのレイアウトを高度にできる スタイルシートの仕様は、JavaScriptでのコントロー ルを視野に入れたもの Webページでのプログラミング クライアントで実行 サーバーで実行 HTMLの外部 プラグイン Javaアプレット CGI Javaサーブレット HTMLの内部 JavaScript Active Server Pages PHP3 サーバーで処理する HTMLの中のプログラムをサーバーでいきなり 処理をしてしまう 処理結果のHTMLをクライアントに送りつける プログラム作成が大変 デバッグがしづらい Active Server Pages、PHP3などが代表的 Webページでのプログラミング クライアントで実行 サーバーで実行 HTMLの外部 プラグイン Javaアプレット CGI Javaサーブレット HTMLの内部 JavaScript Active Server Pages PHP3 クライアントでのプログラム実行手 段(プラグイン) プラグイン OSあるいはブラウザごとに、特定の機能を実行で きるようなプログラムを追加できるようになってい る たとえば、ビデオ映像をページに表示するなど 補助的な意味合いが強い 昔からあったが、これを効果的に利用した Flashというソフトが登場した Flash オーサリングツールの流れにある アニメーション、ユーザーインタフェースなど画 面表示系のプログラム(?)を作成しやすい 作ったファイルが小さい プラグインが、ブラウザに標準的に組み込ま れるようになった Flashの特徴 テキストでプログラムを書くのではない 画面上に表示したい図形オブジェクトや写真、 グラフィックスなどを配置する その動きを定義する ユーザーの操作を受け付ける 一連の作業がビジュアルにできる さらにプログラムもできてしまう サーバー開発の実態 サーバーで完結させればシステム管理が楽になる アプリケーションサーバー データベースアクセスなど業務アプリケーション構築に必 要な機能をWebベースで利用できるようにする サーバーで効率的にプログラムを動かしたい 複数のサーバーの処理を連動させたい JavaでのServlet Enterprise JavaBeans, CORBA 「共通化」の不要な世界? 手段は多様化 今後の処方箋 Flashができれば、食いぶちには困らないとさ れている できる人は超忙しい、単価が高い プログラミング系を目指す人 いろいろな手段ができるようになっていると強い
© Copyright 2024 ExpyDoc