2004年度 J2EE I (データベース論) 稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴 この講義について 次の2つで評価します 3~4回(予定)のレポート 出席(救済措置の意味が強い) 前期末試験は行いません。 http://www.wakhok.ac.jp/~tomoharu/d b2004/ J2EE概説 J2EE I (データベース論) 第1回 / 2004-04-14 3つのJava J2SE J2ME PCなどで利用されるJava。Javaの基本部分。 携帯電話やPDAなどで利用されるJava。 J2EE 企業情報システムなど、アプリケーションサー バで利用されるJava。 J2EE Web と データベースの組み合わせを強く 意識。 Webの普及 1993年、Mosaic登場 (最初のWebブラウ ザ) NetscapeNavigator と Windows95 によっ て一気に普及 イントラネット (1) 「Webって、いろんな情報が手に入るよね」 「Webブラウザって、使いやすいよね」 「もしかして、仕事でも使えないかな?」 (幼稚園児でも普通に使えます) Webサーバに書類をいくつかアップする 「おぉ、ブラウザから書類が読めると便利 だなー。探す手間も省けるし。」 イントラネット (2) (しばらくしてWebにもたくさんの書類が) 「あれー、あの書類どこいったっけ・・・」 「やっぱり検索もできた方がいいなー」 かちかちかち・・・ Perl で CGI プログラムを作る 「すぐ探せるよー。便利じゃん」 イントラネット (3) というようなことが、1996年ころからあちこ ちで起こっていた。 「インターネット」をもじって、「イントラネッ ト」と呼ばれた。 「イントラ(内の)」+「ネット」 インターネットの内も外も同じ技術を使える 2種類のWebページ 静的なページ 普通のページ。見るだけのもの。 動的なページ ユーザがWebページに何か入力して使うもの サーチエンジンなど サーチエンジンの動き 1. 2. 3. 4. 5. サーチエンジンのページを呼び出す。 調べたい言葉を入力する。 検索ボタンを押す。 その言葉に関するWebページのリストが 出力される。 リストの中からWebページを選んで見て みる。 サーチエンジンの動きを 整理すると・・・ 調べたい言葉を入力すると、Webページの リストが出てくる。 入力した言葉によって、出力されるページ が違う。 そのためには、サーバ側で何かの処理が 行われている。 Webアプリケーションとは何か Webアプリケーションとは、「ユーザがWeb ブラウザを使って何かを入力し、必要な結 果を得る」Webページ。 サーチエンジン、本の検索、商品の購入、掲 示板など なぜWebアプリケーションか アプリケーションを使う側の理由 特定のソフトをインストールしなくても、Webブ ラウザがあれば良い。 操作は簡単。 アプリケーションを提供する側の理由 既存のWebサーバをそのまま使える。 集中管理できるので楽。 CGI 動的なページ → ユーザからの入力に応じ て出力結果が変化 静的なページ → 普通のページ CGIで動的なページを生成する。 CGIはWebサーバ上で動く。 CGI で困ること CGIは呼ばれるたびにプロセスを生成する ので、重い。負荷が集中すると辛い。 セキュリティを保つのも大変。 大規模で安全な処理が要求されるシステ ムでは、CGI だと大変。 ショッピングサイトなど Java製アプリケーション・サーバ 大規模な商用システムにも耐えうるシステ ムが必要。 こうしてうまれたのが「アプリケーション・ サーバ」 アプリケーション・サーバの多くがJavaで作 られている。 なぜ Javaを使うのか? (1) この場合、Javaは速い ライブラリ・ツールの充実 GUIも使ってないし、いちいち起動する必要も ない。 プロセスではなく、スレッドで処理 もともと揃っているうえに、最近は特に充実。 HTMLとプログラムの分離が容易 他ではなかなか難しい。 なぜ Javaを使うのか? (2) Java言語そのものの信頼性 Cなどと違い、ポインタ演算がないので、暴走 する危険性が極めて少ない。 ガベージコレクションによる不要オブジェクトの 回収 セキュリティが考慮されている言語仕様 で、実際どうよ? 大規模なビジネスアプリの世界では、Java ベースの「アプリケーション・サーバ」が流行。 Oracle, BEA, IBM, Sun, Apple など大手の ベンダーが採用。 顧客サービスの提供 COBOLベースの事務情報システムの置き換 え。 現在のJavaの主戦場 欠点はないの? 個人ベースでは使いにくいかも もともと大規模システム向き。 ユーザCGIのような仕組みはない。 教育コストがかなりかかる 勉強すべきことはけっこう多い Webアプリケーションの仕組み (1) 3層モデル J2EEの基本パターン Webアプリケーションの仕組み (2) Servlet と JSP Servlet JSP HttpServlet を継承する Javaプログラム。 HTML を埋め込める (あまり使わないけど) ほとんどHTML Javaプログラムを埋め込める (あまり使わない けど) どちらも「Webコンテナ」で動く。 普通は Servlet と JSP を組み合わせて使う。 Webアプリケーションの仕組み (3) データベースの利用 Webアプリケーションは「データ」を処理す る。 図書データ 在庫リスト 掲示板の記事 「データ」は保存される (= 永続性を持つ) データベースを使うと面倒がなくて良い。 データをただのファイルで保存しておくと、遅 いし面倒。 J2EE I の講義内容 Webアプリケーションの基礎が中心 リレーショナルデータベース/SQLの復習と JDBC 配列のような多数のオブジェクトの集合を 扱う「コレクション・フレームワーク Webの基本となるHTTPプロトコルと、 Servlet / JSP 講義予定 (1) 01. 02. 03. 04. 05. 06. 07. J2EE概観 リレーショナル・データベース SQL / クラスライブラリとJarファイル JDBC コレクション・フレームワーク (1) コレクション・フレームワーク (2) JSPの基本 講義予定 (2) 08. 09. 10. 11. 12. 13. HTTPプロトコル (1) HTTPプロトコル (2) JavaBeansとJSP タグライブラリとJSP Servlet / Ant MVCモデル2 この講義以降の予定 (1) J2EE II (3年後期・安藤) Webアプリケーションの応用編 かなり実践的な内容 Struts / JSF / JNDI / セキュリティなど J2EE III (4年後期?・安藤) データベース周り (Enterprise JavaBeans) Webサービスとの連携 この講義以降の予定 (2) Webサービス I (4年前期・坂本先生) ブラウザからではなく、プログラムからWebに アクセスする。 Webサービス II (4年後期・植田先生)
© Copyright 2024 ExpyDoc