2005年度 稚内本校 J2EE I (エンタープライズJava) 稚内北星学園大学 情報メディア学部 安藤 友晴 1 J2EE I の講義内容 Webアプリケーションの基礎が中心 リレーショナルデータベース/SQLの復習と JDBC 配列のような多数のオブジェクトの集合を 扱う「コレクション・フレームワーク Webの基本となるHTTPプロトコルと、 Servlet / JSP 2 講義予定 (1) 01. J2EE概説 02. リレーショナル・データベース 03. SQL / クラスライブラリとJarファイル 04. SQL 05. JDBC 06. コレクション・フレームワーク (1) 07. コレクション・フレームワーク (2) 3 講義予定 (2) 08. 09. 10. 11. 12. JSPの基本 HTTPプロトコル (1) HTTPプロトコル (2) JavaBeansとJSP Servlet 4 大事なこと 次の2つで評価します 3~4回(予定)のレポート 出席(救済措置の意味が強い) 前期末試験は行いません。 http://www.wakhok.ac.jp/~tomoharu/j2 ee1-wakkanai-2005/ 5 J2EE概説 J2EE I 第1回 / 2005-04-14 6 Java言語の得意なこと 7 Javaの特徴 (1) インターネット時代に登場した新しい言語 正式リリースは1995年 ネットワークに強い ネットワーク上で使う機能をはじめから用意 ネットワーク上で動かしても安全なプログラム を作れる 8 Javaの特徴 (2) どんなコンピュータでもそのまま使える Windows, Linux (Unix), Mac OS X など コンパイルしたプログラムをそのまま動かせる どんな国・地域でも使える アメリカで作られたソフトウェアを日本語化す るようなことが手軽に行える 国や地域・使用する言語などに固有の情報を 追加するだけでよい 9 Javaの特徴 (3) 文法が簡単で、使いやすい (ほかの言語と比べると) 簡単な文法 「オブジェクト指向」という考え方 機能別にプログラムを整理できる プログラムの再利用が容易 既存のプログラムを簡単に自分のプログラム で使える 10 3つのJava J2SE J2ME PCなどで利用されるJava。Javaの基本部分。 携帯電話やPDAなどで利用されるJava。 J2EE 企業情報システムなど、アプリケーション・ サーバで利用されるJava。 11 Javaはどこで使われているか? 携帯電話 NTTドコモ 「iアプリ」 ボーダフォン 「Javaアプリ」 au 「ezplus」 アプリケーション・サーバ Webからアプリケーションを操作する ショッピングサイトなど 12 J2EEとアプリケーション・サーバ 13 Webアプリケーション Webアプリケーションとは、「ユーザがWeb ブラウザを使って何かを入力し、必要な結 果を得る」Webページ。 サーチエンジン 本の検索 商品の購入 掲示板など 14 なぜWebアプリケーションか アプリケーションを使う側の理由 特定のソフトをインストールしなくても、Webブラウザ があれば良い。 操作は簡単。 アプリケーションを提供する側の理由 (CGIの場合) 既存のWebサーバをそのまま使える。 集中管理できるので楽。 15 データベースの利用 Webアプリケーションは「データ」を処理する。 図書データ 在庫リスト 掲示板の記事 「データ」は保存される (= 永続性を持つ) データベースを使うと面倒がなくて良い。 データをただのファイルで保存しておくと、遅いし面倒。 16 J2EEの基本モデル J2EEは「データベース」を使った「Webアプ リケーション」の作成を念頭に置いている 技術 17 なぜJ2EEか (1) ショッピングサイトのようなシステムでは、次の条 件を満たす必要がある。 たくさんアクセスがあっても大丈夫なこと。 セキュリティを保てること。例えば顧客の情報を盗ま れないようにすること。 従来の技術 (例えば CGI) では、こうした条件を 満たすのはなかなか大変 18 なぜJ2EEか (2) 大規模な商用システムにも耐えうるシステムが 必要。 こうしてうまれたのが「アプリケーション・サーバ」 アプリケーション・サーバの多くがJ2EEで作られ ている。 先に示したJavaの特徴が、アプリケーション・サーバを 作るうえで有利に働く 19 なぜ Javaを使うのか? (1) Webアプリでは、CGIよりもJavaは速い ライブラリ・ツールの充実 GUIも使ってないし、プログラムはJava VM 上で既に 立ち上がっている。いちいち起動する必要もない。 プロセスではなく、スレッドで処理 もともと揃っているうえに、最近は特に充実。 HTMLとプログラムの分離が容易 他ではなかなか難しい。 20 なぜ Javaを使うのか? (2) Java言語そのものの信頼性 Cなどと違い、ポインタ演算がないので、暴走 する危険性が極めて少ない。 ガベージコレクションによる不要オブジェクトの 回収 セキュリティが考慮されている言語仕様 21 で、J2EEは実際どうよ? (1) 大規模なビジネスアプリの世界では、Javaベース の「アプリケーション・サーバ」が流行。 Oracle, BEA, IBM, Sun, Apple など大手のベン ダーが採用。 こんなところで使われています Webを使った顧客サービスの提供 COBOLベースの事務情報システムの置き換え 銀行でも使われ始めている 22 で、J2EEは実際どうよ? (2) 現在、Javaがいちばんよく使われている分 野 ところが、J2EEがわかる技術者は非常に 少ない 23 欠点はないの? 個人ベースでは使いにくいかも もともと大規模システム向き。 ユーザCGIのような仕組みはない。 教育コストがかなりかかる 勉強すべきことはけっこう多い 24 J2EEで使われている技術 25 3層モデル J2EEの基本パターン 「Webブラウザ」から「データベース」を使う 26 J2EEサーバ 3層モデルの中央に位置 大きく分けて、次の2つの機能を持つ Webコンテナ EJBコンテナ 2つのコンテナでは、それぞれJavaのプロ グラムが動く 27 Servlet と JSP Servlet JSP HttpServlet を継承する Javaプログラム。 HTML を埋め込める (あまり使わないけど) ほとんどHTML Javaプログラムを埋め込める (あまり使わないけど) 「Webコンテナ」の内部ではServletに変換される どちらも「Webコンテナ」で動く。 普通は Servlet と JSP を組み合わせて使う。 28 MVCモデル2とフレームワーク ServletやJSPは、「MVCモデル2」という技 術で組み合わせる。 MVCモデル2に基づく「フレームワーク」を 使うと、Webアプリケーションの作成が楽 になる JSF Struts Tapestry など 29 データベースの利用 Webアプリケーションは「データ」を処理する。 図書データ 在庫リスト 掲示板の記事 「データ」は保存される (= 永続性を持つ) データベースを使うと面倒がなくて良い。 データをただのファイルで保存しておくと、遅いし面倒。 30 Javaからデータベースを利用 基本は「JDBC」 EJB (Enterprise JavaBeans) を使うと、 データベースの取り扱いがもっと楽になる。 EJBコンテナが必要 31 B2B と B2C 32 B2C と B2B B2C Business to(2) Customer 企業と顧客のやりとり B2B Business to(2) Business 企業と企業のやりとり 33 WebアプリケーションとB2C B2CでWebアプリケーションを使うのはもは や当たり前 B2C = 企業と顧客のやりとり やりとりの内容が完全に電子化されるので、 業務が効率化できる。 34 その次の目標 B2B間の情報のやりとりを、できるだけ自 動化したい。 B2B = 企業と企業のやりとり 同じ組織内(企業とか大学)だけではなく、 別の組織にある情報システムを組み合わ せて使いたい。 35 HTTPプロトコルとWebサービス 36 プロトコル ネットワークでの通信の仕方を定めたもの Web の場合 HTTP プロトコル メール送信 SMTP メール受信 IMAP or POP ファイル転送 FTP リモートログイン TELNET 37 ホスト名とポート番号 インターネットでの通信に必要なもの ホスト名 (= IPアドレス) www.wakhok.ac.jp など ポート番号 どのプログラムを使用するか識別する番号 HTTP を扱うプログラムは、たいてい 80 番 38 HTTPの利用 (1) B2B や B2Cのプログラムは、それぞれ離 れたところにあることが想定されている。 しかし、離れたコンピュータにアクセスしよ うと思っても、たいていのサイトではWebと メール以外のポートは閉じている。 多くのサイトでは、セキュリティを保つため、ほ とんどのポートを使えなくしている。 39 HTTPの利用 (2) しかし、HTTP (80番) は使えるだろう。 そこで、HTTP を使ってB2BやB2Cの通信 をおこなう。 まれに、SMTP を使う場合もある。 40 「Webアプリケーション」の場合 「Webサーバ」が「Webブラウザ」と通信を 行う。 41 「Webサービス」の場合 「Webサーバ」が「プログラム」と通信を行う。 42 Webサービスとは何か Webのブラウザを使わずに、プログラム中 から Web にアクセスして必要な情報を取 り出せるサービス。 43 Webサービスの例 (1) Google Web APIs 自分のプログラムから、Googleのサービスを 呼び出す エージェント ある特定の商品について、いくつかの企業の Webサービスにアクセスして見積を取得し、い ちばん安価な企業の商品を発注する。 44 Webサービスの例 (2) 企業内に2つの情報システムの統合 それぞれの情報システムに、Webサービスの 機能を追加する。 Webサービスによって2つのシステムを繋げる。 45 HTTP と Webサービス HTTP によって B2B・B2C が繋がれる。 Webサービスは少しずつ普及していっている。 Webブラウザだけでなく、プログラムからも HTTP を利 用できる。 期待が大きいジャンル 技術者は少ない Webサービスを利用するには、Javaがいちばん 便利 (かもしれない) 46 J2EEの再定義 J2EEは、B2B・B2Cで使われる技術を整理 したもの Webアプリケーション データベースの取り扱い Webサービス など 47 wakhokで学ぶJava 48 きょうの内容をどこで学ぶか (1) J2EE I (3年前期) J2EE II (3年後期) Servlet / JSP / HTTPプロトコル / JDBC MVCモデル2 JSF によるWebアプリケーション J2EE III (4年後期) EJB 49 きょうの内容をどこで学ぶか (2) Webサービス I・II (4年前期・後期) Webサービスの基礎から応用まで UMLとシステム設計 (4年後期) システムの設計技法 50
© Copyright 2024 ExpyDoc