OSS モデルカリキュラムの 学 習 ガイダンス 3. IT 知 識 体 系 との 対 応 関 係 5-1- 基 開 発 フレームワークに 関 する 知 識 と IT 知 識 体 系 との 対 応 関 係 は 以 下 の 通 り 科 目 名 基 本 レベル 1 2 3 4 5 6 7 8 9 10



Similar documents
5-1- 基 開 発 フレームワークに 関 する 知 識 現 在 普 及 が 期 待 されている 開 発 フレームワークの 実 際 の 開 発 運 用 Ⅰ. 概 要 の 際 に 必 要 な 管 理 知 識 手 法 の 種 類 と 特 徴 内 容 を 理 解 し 必 要 なノ ウハウを 実 務 レベル

<4D F736F F D2091E F18CB48D C481698E7B90DD8F9590AC89DB816A2E646F63>

預 金 を 確 保 しつつ 資 金 調 達 手 段 も 確 保 する 収 益 性 を 示 す 指 標 として 営 業 利 益 率 を 採 用 し 営 業 利 益 率 の 目 安 となる 数 値 を 公 表 する 株 主 の 皆 様 への 還 元 については 持 続 的 な 成 長 による 配 当 可

学校教育法等の一部を改正する法律の施行に伴う文部科学省関係省令の整備に関する省令等について(通知)

(Microsoft Word - \203A \225\345\217W\227v\227\314 .doc)

検 討 検 討 の 進 め 方 検 討 状 況 簡 易 収 支 の 世 帯 からサンプリング 世 帯 名 作 成 事 務 の 廃 止 4 5 必 要 な 世 帯 数 の 確 保 が 可 能 か 簡 易 収 支 を 実 施 している 民 間 事 業 者 との 連 絡 等 に 伴 う 事 務 の 複 雑

Microsoft Word - 不正アクセス行為の禁止等に関する法律等に基づく公安

質 問 票 ( 様 式 3) 質 問 番 号 62-1 質 問 内 容 鑑 定 評 価 依 頼 先 は 千 葉 県 などは 入 札 制 度 にしているが 神 奈 川 県 は 入 札 なのか?または 随 契 なのか?その 理 由 は? 地 価 調 査 業 務 は 単 にそれぞれの 地 点 の 鑑 定

1 書 誌 作 成 機 能 (NACSIS-CAT)の 軽 量 化 合 理 化 電 子 情 報 資 源 への 適 切 な 対 応 のための 資 源 ( 人 的 資 源,システム 資 源, 経 費 を 含 む) の 確 保 のために, 書 誌 作 成 と 書 誌 管 理 作 業 の 軽 量 化 を 図

・モニター広告運営事業仕様書

平成25年度 独立行政法人日本学生支援機構の役職員の報酬・給与等について

セルフメディケーション推進のための一般用医薬品等に関する所得控除制度の創設(個別要望事項:HP掲載用)

為 が 行 われるおそれがある 場 合 に 都 道 府 県 公 安 委 員 会 がその 指 定 暴 力 団 等 を 特 定 抗 争 指 定 暴 力 団 等 として 指 定 し その 所 属 する 指 定 暴 力 団 員 が 警 戒 区 域 内 において 暴 力 団 の 事 務 所 を 新 たに 設

●電力自由化推進法案

大田市固定資産台帳整備業務(プロポーザル審査要項)

PowerPoint プレゼンテーション

<4D F736F F D E598BC68A8897CD82CC8DC490B68B7982D18E598BC68A8893AE82CC8A C98AD682B782E993C195CA915B C98AEE82C382AD936F985E96C68B9690C582CC93C197E1915B927582CC898492B75F8E96914F955D89BF8F915F2E646F6

Microsoft Word - 佐野市生活排水処理構想(案).doc

文化政策情報システムの運用等

別 紙 第 号 高 知 県 立 学 校 授 業 料 等 徴 収 条 例 の 一 部 を 改 正 する 条 例 議 案 高 知 県 立 学 校 授 業 料 等 徴 収 条 例 の 一 部 を 改 正 する 条 例 を 次 のように 定 める 平 成 26 年 2 月 日 提 出 高 知 県 知 事 尾

(6) 事 務 局 職 場 積 立 NISAの 運 営 に 係 る 以 下 の 事 務 等 を 担 当 する 事 業 主 等 の 組 織 ( 当 該 事 務 を 代 行 する 組 織 を 含 む )をいう イ 利 用 者 からの 諸 届 出 受 付 事 務 ロ 利 用 者 への 諸 連 絡 事 務

Microsoft PowerPoint - 報告書(概要).ppt

別 添 1 提 案 書 等 作 成 要 領 1 調 達 件 名 PIO-NET2015 に 係 る 運 用 等 支 援 業 務 一 式 2 提 案 書 等 の 提 出 本 調 達 に 係 る 提 案 書 等 は PIO-NET2015 に 係 る 運 用 等 支 援 業 務 一 式 調 達 仕 様

第316回取締役会議案

スライド 1

平成16年年金制度改正 ~年金の昔・今・未来を考える~

スライド 1

は 固 定 流 動 及 び 繰 延 に 区 分 することとし 減 価 償 却 を 行 うべき 固 定 の 取 得 又 は 改 良 に 充 てるための 補 助 金 等 の 交 付 を 受 けた 場 合 にお いては その 交 付 を 受 けた 金 額 に 相 当 する 額 を 長 期 前 受 金 とし

6 構 造 等 コンクリートブロック 造 平 屋 建 て4 戸 長 屋 16 棟 64 戸 建 築 年 1 戸 当 床 面 積 棟 数 住 戸 改 善 後 床 面 積 昭 和 42 年 36.00m m2 昭 和 43 年 36.50m m2 昭 和 44 年 36.

050 LGWAN-05月.indd

. 負 担 調 整 措 置 8 (1) 宅 地 等 調 整 固 定 資 産 税 額 宅 地 に 係 る 固 定 資 産 税 額 は 当 該 年 度 分 の 固 定 資 産 税 額 が 前 年 度 課 税 標 準 額 又 は 比 準 課 税 標 準 額 に 当 該 年 度 分 の 価 格 ( 住 宅

●幼児教育振興法案

2 役 員 の 報 酬 等 の 支 給 状 況 役 名 法 人 の 長 理 事 理 事 ( 非 常 勤 ) 平 成 25 年 度 年 間 報 酬 等 の 総 額 就 任 退 任 の 状 況 報 酬 ( 給 与 ) 賞 与 その 他 ( 内 容 ) 就 任 退 任 16,936 10,654 4,36

<4D F736F F F696E74202D B E E88E68C9A90DD8BC65F E DC58F4994C52E >

共 通 認 識 1 官 民 較 差 調 整 後 は 退 職 給 付 全 体 でみて 民 間 企 業 の 事 業 主 負 担 と 均 衡 する 水 準 で あれば 最 終 的 な 税 負 担 は 変 わらず 公 務 員 を 優 遇 するものとはならないものであ ること 2 民 間 の 実 態 を 考

リング 不 能 な 将 来 減 算 一 時 差 異 に 係 る 繰 延 税 金 資 産 について 回 収 可 能 性 がないも のとする 原 則 的 な 取 扱 いに 対 して スケジューリング 不 能 な 将 来 減 算 一 時 差 異 を 回 収 できることを 反 証 できる 場 合 に 原 則

Taro13-01_表紙目次.jtd

<4D F736F F D F8D828D5A939982CC8EF68BC697BF96B38F9E89BB82CC8A6791E52E646F63>

私立大学等研究設備整備費等補助金(私立大学等

<4D F736F F D208ED089EF95DB8CAF89C193FC8FF38BB CC8EC091D492B28DB88C8B89CA82C982C282A282C42E646F63>

4 参 加 資 格 要 件 本 提 案 への 参 加 予 定 者 は 以 下 の 条 件 を 全 て 満 たすこと 1 地 方 自 治 法 施 行 令 ( 昭 和 22 年 政 令 第 16 号 ) 第 167 条 の4 第 1 項 各 号 の 規 定 に 該 当 しない 者 であること 2 会 社

PowerPoint プレゼンテーション

<4D F736F F D2090AD957B94468FD88AEE94D B292428C7689E68F912E646F63>

Q IFRSの特徴について教えてください

Taro-データ公安委員会相互協力事

(5) 給 与 制 度 の 総 合 的 見 直 しの 実 施 状 況 について 概 要 の 給 与 制 度 の 総 合 的 見 直 しにおいては 俸 給 表 の 水 準 の 平 均 2の 引 き 下 げ 及 び 地 域 手 当 の 支 給 割 合 の 見 直 し 等 に 取 り 組 むとされている

第2回 制度設計専門会合 事務局提出資料

SXF 仕 様 実 装 規 約 版 ( 幾 何 検 定 編 ) 新 旧 対 照 表 2013/3/26 文 言 変 更 p.12(1. 基 本 事 項 ) (5)SXF 入 出 力 バージョン Ver.2 形 式 と Ver.3.0 形 式 および Ver.3.1 形 式 の 入 出 力 機 能 を

<4D F736F F D B8E968BC695E58F CA A2E646F63>

3. 選 任 固 定 資 産 評 価 員 は 固 定 資 産 の 評 価 に 関 する 知 識 及 び 経 験 を 有 する 者 のうちから 市 町 村 長 が 当 該 市 町 村 の 議 会 の 同 意 を 得 て 選 任 する 二 以 上 の 市 町 村 の 長 は 当 該 市 町 村 の 議



m07 北見工業大学 様式①

(Microsoft Word - \212\356\226{\225\373\220j _\217C\220\263\201j.doc)

18 国立高等専門学校機構

( 別 途 調 査 様 式 1) 減 損 損 失 を 認 識 するに 至 った 経 緯 等 1 列 2 列 3 列 4 列 5 列 6 列 7 列 8 列 9 列 10 列 11 列 12 列 13 列 14 列 15 列 16 列 17 列 18 列 19 列 20 列 21 列 22 列 固 定

その 他 事 業 推 進 体 制 平 成 20 年 3 月 26 日 に 石 垣 島 国 営 土 地 改 良 事 業 推 進 協 議 会 を 設 立 し 事 業 を 推 進 ( 構 成 : 石 垣 市 石 垣 市 議 会 石 垣 島 土 地 改 良 区 石 垣 市 農 業 委 員 会 沖 縄 県 農

科 売 上 原 価 売 上 総 利 益 損 益 計 算 書 ( 自 平 成 26 年 4 月 1 日 至 平 成 27 年 3 月 31 日 ) 目 売 上 高 販 売 費 及 び 一 般 管 理 費 営 業 利 益 営 業 外 収 益 受 取 保 険 金 受 取 支 援 金 補 助 金 収 入 保

1. 業 務 目 的 豊 見 城 市 においては スポーツコンベンションによる 地 域 振 興 を 目 標 として 掲 げ 2020 年 東 京 オリンピック パラリンピック( 以 下 オリ パラ)の 開 催 に 連 動 し た より 具 体 的 な 振 興 方 策 として オリ パラ 競 技 団

第4回税制調査会 総4-1

2 役 員 の 報 酬 等 の 支 給 状 況 平 成 27 年 度 年 間 報 酬 等 の 総 額 就 任 退 任 の 状 況 役 名 報 酬 ( 給 与 ) 賞 与 その 他 ( 内 容 ) 就 任 退 任 2,142 ( 地 域 手 当 ) 17,205 11,580 3,311 4 月 1

就 学 前 教 育 保 育 の 実 施 状 況 ( 平 成 23 年 度 ) 3 歳 以 上 児 の 多 く(4 歳 以 上 児 はほとんど)が 保 育 所 又 は 幼 稚 園 に 入 所 3 歳 未 満 児 (0~2 歳 児 )で 保 育 所 に 入 所 している 割 合 は 約 2 割 就 学

(2)大学・学部・研究科等の理念・目的が、大学構成員(教職員および学生)に周知され、社会に公表されているか

1 林 地 台 帳 整 備 マニュアル( 案 )について 林 地 台 帳 整 備 マニュアル( 案 )の 構 成 構 成 記 載 内 容 第 1 章 はじめに 本 マニュアルの 目 的 記 載 内 容 について 説 明 しています 第 2 章 第 3 章 第 4 章 第 5 章 第 6 章 林 地

自衛官俸給表の1等陸佐、1等海佐及び1等空佐の(一)欄又は(二)欄に定める額の俸給の支給を受ける職員の占める官職を定める訓令

頸 がん 予 防 措 置 の 実 施 の 推 進 のために 講 ずる 具 体 的 な 施 策 等 について 定 めることにより 子 宮 頸 がんの 確 実 な 予 防 を 図 ることを 目 的 とする ( 定 義 ) 第 二 条 この 法 律 において 子 宮 頸 がん 予 防 措 置 とは 子 宮

慶應義塾利益相反対処規程

<819A955D89BF92B28F BC690ED97AA8EBA81418FA48BC682CC8A8890AB89BB816A32322E786C7378>

<4D F736F F F696E74202D D382E982B382C68AF1958D8BE090A C98AD682B782E B83678C8B89CA81698CF6955C A2E >

Microsoft Word - 新提案書作成・審査要領、提案書作成様式(別添3,4)


(2) 業 務 処 理 過 程 における 意 思 決 定 の 迅 速 化 を 図 るためには 電 子 決 裁 機 能 を 活 用 することが 有 効 と 考 えられるが 未 だ 総 合 的 な 文 書 管 理 システムに おいて 電 子 決 裁 機 能 を 整 備 していない 府 省 がみられる ま

の と す る (1) 防 犯 カ メ ラ を 購 入 し 設 置 ( 新 設 又 は 増 設 に 限 る ) す る こ と (2) 設 置 す る 防 犯 カ メ ラ は 新 設 又 は 既 設 の 録 画 機 と 接 続 す る こ と た だ し 録 画 機 能 付 防 犯 カ メ ラ は

1

Microsoft PowerPoint - final.ppt

2. 会 計 規 程 の 業 務 (1) 規 程 と 実 際 の 業 務 の 調 査 規 程 や 運 用 方 針 に 規 定 されている 業 務 ( 帳 票 )が 実 際 に 行 われているか( 作 成 されている か)どうかについて 調 べてみた 以 下 の 表 は 規 程 の 条 項 とそこに

< 現 在 の 我 が 国 D&O 保 険 の 基 本 的 な 設 計 (イメージ)> < 一 般 的 な 補 償 の 範 囲 の 概 要 > 請 求 の 形 態 会 社 の 役 員 会 社 による 請 求 に 対 する 損 免 責 事 由 の 場 合 に 害 賠 償 請 求 は 補 償 されず(

01.活性化計画(上大久保)


資 格 給 付 関 係 ( 問 1) 外 国 人 Aさん(76 歳 )は 在 留 期 間 が3ヶ 月 であることから 長 寿 医 療 の 被 保 険 者 ではない が 在 留 資 格 の 変 更 又 は 在 留 期 間 の 伸 長 により 長 寿 医 療 の 適 用 対 象 となる 場 合 には 国

(別紙3)保険会社向けの総合的な監督指針の一部を改正する(案)

<4D F736F F D AC90D1955D92E CC82CC895E DD8C D2816A2E646F63>

<4D F736F F D208E52979C8CA78E598BC68F5790CF91A390698F9590AC8BE08CF D6A2E646F6378>

Microsoft Word - ★HP版平成27年度検査の結果

(3) 調 査 の 進 め 方 2 月 28 日 2 月 28 日 ~6 月 30 日 平 成 25 年 9 月 サウンディング 型 市 場 調 査 について 公 表 松 戸 市 から 基 本 的 な 土 地 情 報 サウンディングの 実 施 活 用 意 向 アイデアのある 民 間 事 業 者 と

タイトルを1~2行で入力 (長文の場合はフォントサイズを縮小)

< F2D819A8B638E968E9197BF82528E968BC68C7689E68F C>

<4D F736F F D C689D789B582B581698AAE90AC92CA926D816A2E646F63>

答申第585号

Ⅰ 調 査 の 概 要 1 目 的 義 務 教 育 の 機 会 均 等 その 水 準 の 維 持 向 上 の 観 点 から 的 な 児 童 生 徒 の 学 力 や 学 習 状 況 を 把 握 分 析 し 教 育 施 策 の 成 果 課 題 を 検 証 し その 改 善 を 図 るもに 学 校 におけ

(5 ) 当 該 指 定 居 宅 介 護 事 業 所 の 新 規 に 採 用 し た 全 て の 居 宅 介 護 従 業 者 に 対 し 熟 練 し た 居 宅 介 護 従 業 者 の 同 行 に よ る 研 修 を 実 施 し て い る こ と (6 ) 当 該 指 定 居 宅 介 護 事 業

基 準 地 価 格 3 年 に1 度 審 議 直 近 ではH23 年 12 月 に 審 議 土 地 評 価 替 えの 流 れと 固 定 資 産 評 価 審 議 会 基 準 地 とは 土 地 評 価 の 水 準 と 市 町 村 間 の 均 衡 を 確 保 するための 指 標 となるものであり 各 市

PowerPoint プレゼンテーション

消 費 ~ 軽 減 率 消 費 の 軽 減 率 制 度 が 消 費 率 10% 時 に 導 入 することとされています 平 成 26 年 4 月 1 日 平 成 27 年 10 月 1 日 ( 予 定 ) 消 費 率 5% 消 費 率 8% 消 費 率 10% 軽 減 率 の 導 入 平 成 26

公募

平 成 27 年 11 月 ~ 平 成 28 年 4 月 に 公 開 の 対 象 となった 専 門 協 議 等 における 各 専 門 委 員 等 の 寄 附 金 契 約 金 等 の 受 取 状 況 審 査 ( 別 紙 ) 専 門 協 議 等 の 件 数 専 門 委 員 数 500 万 円 超 の 受

通 知 カード と 個 人 番 号 カード の 違 い 2 通 知 カード ( 紙 )/H27.10 個 人 番 号 カード (ICカード)/H28.1 様 式 (おもて) (うら) 作 成 交 付 主 な 記 載 事 項 全 国 ( 外 国 人 含 む)に 郵 送 で 配 布 希 望 者 に 交

第1回

1. 前 払 式 支 払 手 段 サーバ 型 の 前 払 式 支 払 手 段 に 関 する 利 用 者 保 護 等 発 行 者 があらかじめ 利 用 者 から 資 金 を 受 け 取 り 財 サービスを 受 ける 際 の 支 払 手 段 として 前 払 式 支 払 手 段 が 発 行 される 場 合

様式(補助金)

Transcription:

OSS モデルカリキュラムの 学 習 ガイダンス 5-1- 基 開 発 フレームワークに 関 する 知 識 1. 科 目 の 概 要 開 発 フレームワークとは 何 か その 基 本 的 な 概 念 歴 史 特 徴 とメリットを 解 説 する さらに 開 発 フレームワークの 種 類 や 特 徴 を 説 明 し 実 際 の 1 開 発 に 役 立 てることができる 知 識 やノウハウを 示 す 2. 習 得 ポイント 本 科 目 の 学 習 により 習 得 することが 期 待 されるポイントは 以 下 の 通 り 習 得 ポイント 説 明 シラバスの 対 応 コマ 5-1- 基 -1. 開 発 フレームワークの 歴 史 思 想 と 背 景 開 発 フレームワークとは 何 かを 説 明 し 開 発 フレームワークの 基 本 理 念 目 的 発 展 の 歴 史 開 発 フレームワークが 登 場 した 背 景 と 思 想 について 解 説 する 1 5-1- 基 -2. 開 発 フレームワークの 特 徴 とメリット 開 発 フレームワークを 利 用 した 開 発 の 特 徴 と 開 発 フレームワーク 利 用 の 効 果 メリットにつ いて 解 説 する また 代 表 的 な 開 発 フレームワークを 紹 介 し それぞれの 歴 史 や 背 景 特 徴 利 用 上 の 注 意 点 開 発 フレームワークの 選 択 方 法 ライセンス 形 態 などを 説 明 する 1 オープンソースによるWebアプリケーション 開 発 フレームワークを 紹 介 する Struts JSF 5-1- 基 -3.Webアプリケーションで 利 用 できるOSSフレームワーク ibatis Hibernate Seasar2 Springといった 代 表 的 なフレームワークを 紹 介 し それぞれの 開 発 内 容 の 違 いについて 解 説 する 2 5-1- 基 -4.Tomcatの 特 徴 とServlet/JSPによるアプリケーション 開 Java Servlet/JSPコンテナの 代 表 的 なものとして Tomcatを 取 り 上 げ その 位 置 づけ 特 徴 と 発 Servlet/JSPによるWebアプリケーション 開 発 の 具 体 的 な 手 順 を 説 明 する 3 5-1- 基 -5.アプリケーションサーバJBossの 機 能 と 特 徴 アプリケーションサーバについて 例 として 代 表 的 なアプリケーションサーバであるJBossを 取 り 上 げ その 位 置 づけ 特 徴 を 解 説 する またTomcatとの 連 携 やEJBコンテナ 機 能 アプリ ケーションサーバ 機 能 など JBossの 持 つ 様 々な 機 能 を 紹 介 する 3 5-1- 基 -6.MVCフレームワークの 概 要 MVCモデルを 適 用 したWebアプリケーション 用 の 開 発 フレームワークとしてWeb MVCフレー ムワークの 概 念 を 説 明 する モデル ビュー コントローラのそれぞれの 役 割 と お 互 いの 依 存 性 を 低 くしたことによる 利 点 を 解 説 する 4,5,6,7,8 5-1- 基 -7.ORマッピングフレームワークの 概 要 オブジェクト 指 向 アプリケーションのデータとして 取 り 扱 うオブジェクトと リレーショナルデータ ベースに 格 納 されるレコードとの 対 応 を 取 るための 仕 組 みであるORマッピングについて 基 本 的 な 考 え 方 やオブジェクトとレコードの 対 応 関 係 OSSによるORマッピングの 実 装 例 につ いて 解 説 する 9,10,11 5-1- 基 -8.DIxAOPフレームワークの 概 要 Dependency Injection (DI)とAspect Oriented Programming (AOP)の 概 念 と 利 点 を 整 理 し 新 しいWebアプリケーションの 基 盤 を 成 すDIxAOPコンテナの 仕 組 みと 基 本 的 な 構 成 特 徴 について 解 説 する 12,13 5-1- 基 -9.Spring Frameworkの 利 用 DIxAOPコンテナ 実 装 のひとつであるSpring Framework の 基 本 的 な 仕 組 みと 基 本 的 な 構 成 特 徴 について 解 説 する またStrutsやHibernateなど 他 のフレームワークとの 連 携 や 開 発 ツールなど 実 際 の 利 用 に 有 効 なトピックを 紹 介 する 14 5-1- 基 -10.Seasar2の 構 成 と 特 徴 DIxAOPコンテナ 実 装 のひとつであるSeasar2の 基 本 的 な 仕 組 みと 基 本 的 な 構 成 特 徴 につ いて 解 説 する またStrutsやJSF Hibernateなど 他 のフレームワークとの 連 携 や 開 発 ツール など 実 際 の 利 用 に 有 効 なトピックを 紹 介 する 15 学 習 ガイダンスの 使 い 方 1. 習 得 ポイント により 当 該 科 目 で 習 得 することが 期 待 される 概 念 知 識 の 全 体 像 を 把 握 する 2. シラバス IT 知 識 体 系 との 対 応 関 係 OSS モデルカリキュラム 固 有 知 識 をもとに 必 要 に 応 じて 従 来 の IT 教 育 プログラム 等 との 相 違 を 把 握 した 上 で 具 体 的 な 講 義 計 画 を 考 案 する 3. 習 得 ポイント 毎 の 学 習 の 要 点 と 解 説 を 参 考 にして 講 義 で 使 用 する 教 材 等 を 準 備 する

OSS モデルカリキュラムの 学 習 ガイダンス 3. IT 知 識 体 系 との 対 応 関 係 5-1- 基 開 発 フレームワークに 関 する 知 識 と IT 知 識 体 系 との 対 応 関 係 は 以 下 の 通 り 科 目 名 基 本 レベル 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 オープンソースに Webアプリケー 5-1- OSSのWebコンテ 基 開 発 フレーム 開 発 フレームワー よるWebアプリ ションのMVCフ ナ/J2EEコンテ Strutsの 概 要 JSFの 概 要 Tapestryの 概 要 Wicketの 概 要 ワークに 関 する 知 識 クの 概 要 と 種 類 ケーションのフ レームワークの 概 ナの 概 要 レームワーク 要 ORマッピングの 概 要 Hibernateの 概 要 ibatisの 概 要 AOPとDIの 概 要 EJBとJBoss Seamの 概 要 Spring Frameworkの 概 Seasar2の 概 要 要 <IT 知 識 体 系 上 の 関 連 部 分 > 分 野 科 目 名 1 2 3 4 5 6 7 8 9 10 11 12 13 組 織 関 連 事 項 と 情 報 シ ス テ ム 1 2 IT-IAS 情 報 保 証 IT-IAS2. 情 報 セ IT-IAS9. 情 報 セ IT-IAS1. 基 礎 的 な IT-IAS3. 運 用 上 の IT-IAS6. 情 報 セ IT-IAS7.フォレン IT-IAS8. 情 報 の 状 IT-IAS10. 脅 威 分 と 情 報 セキュリ キュリティの 仕 組 IT-IAS4.ポリシー IT-IAS5. 攻 撃 キュリティサービ IT-IAS11. 脆 弱 性 問 題 問 題 キュリティ 分 野 ジック( 情 報 証 拠 ) 態 析 モデル ティ み( 対 策 ) ス IT-SP 社 会 的 な 観 IT-SP1.プロ IT-SP8.プロ IT-SP3.コン IT-SP6.コン 点 とプロフェッ フェッショナルと IT-SP2.コン IT-SP4.チーム IT-SP5. 知 的 財 産 IT-SP7. 組 織 の 中 フェッショナルと IT-SP9.プライバ ピュータを 取 り 巻 ピュータの 法 的 問 ショナルとしての してのコミュニ ピュータの 歴 史 ワーク 権 のIT しての 倫 理 的 な 問 シーと 個 人 の 自 由 く 社 会 環 境 題 課 題 ケーション 題 と 責 任 応 用 技 術 IT-IM2.データ IT-IM4.データモ IT-IM1. 情 報 管 理 IT-IM3.データ IT-IM5.データと IT-IM6.データ 3 IT-IM 情 報 管 理 ベース 問 合 わせ 言 デリングとデータ の 概 念 と 基 礎 アーキテクチャ 情 報 の 管 理 ベースの 応 用 分 野 語 ベース 設 計 IT-WS2. 情 報 アー IT-WS Webシステ IT-WS1.Web 技 術 IT-WS3.デジタル IT-WS6.ソーシャ 4 キテクチャ IT-WS4.Web 開 発 IT-WS5. 脆 弱 性 ムとその 技 術 [1-Ⅰ-7] メディア ルソフトウェア [1-Ⅰ-7] 5 IT-PF2.プログラ IT-PF3.オブジェ IT-PF5.イベント IT-PF プログラミ IT-PF1. 基 本 デー IT-PF4.アルゴリ ミングの 基 本 的 構 クト 指 向 プログラ 駆 動 プログラミン IT-PF6. 再 帰 ング 基 礎 タ 構 造 ズムと 問 題 解 決 成 要 素 ミング グ ソ フ ト ウェ 6 IT-IPT 技 術 を 統 IT-IPT1.システム IT-IPT2.データ 割 IT-IPT3. 統 合 的 合 するためのプロ 間 通 信 り 当 てと 交 換 コーディング グラミング [1-Ⅰ-3] IT-IPT5.ソフト IT-IPT4.スクリプ ウェアセキュリ ティング 手 法 ティの 実 現 IT-IPT6. 種 々の 問 IT-IPT7.プログラ 題 ミング 言 語 の 概 要 ア の 方 法 と 技 術 7 CE-SWE ソフト ウェア 工 学 CE-SWE0. 歴 史 と 概 CE-SWE1.ソフト 要 ウェアプロセス CE-SWE2.ソフト CE-SWE3.ソフト ウェアの 要 求 と 仕 ウェアの 設 計 様 CE-SWE4.ソフト CE-SWE5.ソフト ウェアのテストと ウェアの 保 守 検 証 CE-SWE6.ソフト CE-SWE7.ソフト CE-SWE9.ソフト CE-SWE11.ソフ ウェア 開 発 保 守 CE-SWE10.ソフト ウェアプロジェク CE-SWE8. 言 語 翻 訳 ウェアのフォール トェアの 標 準 化 ツールと 環 境 ウェアの 構 成 管 理 ト 管 理 トトレランス [1-Ⅰ-6] [1-Ⅰ-4] 8 IT-SIA システム IT-SIA3.インテグ インテグレーショ IT-SIA2. 調 達 / 手 IT-SIA4.プロジェ IT-SIA5.テストと IT-SIA6. 組 織 の 特 IT-SIA7.アーキテ IT-SIA1. 要 求 仕 様 レーション ンとアーキテク 配 クト 管 理 品 質 保 証 性 クチャ [1-Ⅰ-4] チャ 9 IT-NET ネット ワーク IT-NET1.ネット ワークの 基 礎 IT-NET2.ルーティ ングとスイッチン IT-NET3. 物 理 層 グ IT-NET5.アプリ IT-NET4.セキュリ ケーション 分 野 ティ [1-Ⅰ-5] IT-NET6.ネット ワーク 管 理 CE-NWK1. 通 信 CE-NWK0. 歴 史 と 概 ネットワークの 要 アーキテクチャ CE-NWK4.クライア CE-NWK6.ワイヤレ CE-NWK2. 通 信 ネッ CE-NWK5.データの CE-NWK8. 組 込 み 機 CE-NWK9. 通 信 技 術 ントサーバコン スコンピューティ CE-NWK7.データ 通 CE-NWK10. 性 能 評 CE-NWK11.ネット CE-NWK12. 圧 縮 と トワークのプロト CE-NWK3.LANとWAN セキュリティと 整 器 向 けネットワー とネットワーク 概 ピューティング ングとモバイルコ 信 価 ワーク 管 理 伸 張 コル 合 性 ク 要 [1-Ⅰ-3] ンピューティング シ ス テ ム 基 盤 CE-NWK テレコ 10 ミュニケーション CE-NWK14.イン CE-NWK13.クラス ターネットアプリ CE-NWK15. 次 世 代 タシステム ケーション インターネット CE-NWK16. 放 送 [1-Ⅰ-5,7] 11 IT-PT プラット フォーム 技 術 IT-PT4.デプロイ IT-PT1.オペレー IT-PT3.コン IT-PT2.アーキテ メントソフトウェ IT-PT5.ファーム IT-PT6.ハード ティングシステム ピュータインフラ クチャと 機 構 ア ウェア ウェア [1-Ⅰ-3] ストラクチャ [1-Ⅰ-4] CE-OPS オペレー CE-OPS0. 歴 史 と 概 12 CE-OPS1. 並 行 性 ティングシステム 要 CE-OPS2.スケ ジューリングと ディスパッチ CE-OPS3.メモリ 管 CE-OPS4.セキュリ CE-OPS5.ファイル CE-OPS6.リアルタ CE-OPS8. 設 計 の 原 CE-OPS9.デバイス CE-OPS10.システ CE-OPS7.OSの 概 要 理 ティと 保 護 管 理 イムOS 則 管 理 ム 性 能 評 価 アー ハー コ ン キ ド テ ウェ ピュー ク チャ ア タ と CE-CAO コン CE-CAO1.コン CE-CAO2.メモリシ CE-CAO0. 歴 史 と 概 CE-CAO3.インタ 13 ピュータのアーキ ピュータアーキテ ステムの 構 成 と 要 フェースと 通 信 テクチャと 構 成 クチャの 基 礎 アーキテクチャ CE-CAO8.コン CE-CAO4.デバイス CE-CAO5.CPUアー CE-CAO6. 性 能 コ CE-CAO7. 分 散 並 ピュータによる 計 CE-CAO9. 性 能 向 上 サブシステム キテクチャ スト 評 価 列 処 理 算 複 数 領 域 に ま た が る も の IT-ITF4.IT 分 野 IT-ITF1.ITの 一 般 IT-ITF6.IT 分 野 に IT-ITF2. 組 織 の 問 ( 学 科 )とそれに 関 14 IT-ITF IT 基 礎 的 なテーマ IT-ITF3.ITの 歴 史 IT-ITF5. 応 用 領 域 おける 数 学 と 統 計 題 連 のある 分 野 ( 学 [1-Ⅰ-4] 学 の 活 用 科 ) CE-ESY0. 歴 史 と 概 CE-ESY1. 低 電 力 コ CE-ESY2. 高 信 頼 性 CE-ESY3. 組 込 み 用 要 ンピューティング システムの 設 計 アーキテクチャ CE-ESY4. CE-ESY5.ライフサ 開 発 環 境 CE-ESY6. 要 件 分 析 CE-ESY7. 仕 様 定 義 CE-ESY8. 構 造 設 計 CE-ESY9.テスト CE-ESY10.プロ CE-ESY11. 並 行 設 計 (ハードウェ CE-ESY12. 実 装 イクル ジェクト 管 理 ア ソフトウェア CE-ESY 組 込 みシ 15 ステム CE-ESY19.インタ CE-ESY13.リアル CE-ESY14. 組 込 み CE-ESY18.ネット CE-ESY24. 信 頼 性 CE-ESY15. 組 込 み CE-ESY16. 設 計 手 CE-ESY17.ツール フェースシステム CE-ESY20.センサ CE-ESY21.デバイ CE-ESY22.メンテ CE-ESY23. 専 門 シ タイムシステム 設 マイクロコント ワーク 型 組 込 みシ とフォールトトレ プログラム 法 によるサポート と 混 合 信 号 システ 技 術 スドライバ ナンス ステム 計 ローラ ステム ランス ム

OSS モデルカリキュラムの 学 習 ガイダンス 4. OSS モデルカリキュラム 固 有 の 知 識 OSS モデルカリキュラム 固 有 の 知 識 として 具 体 的 な Java 言 語 の 開 発 フレームワークに 関 する 知 識 がある ここで 扱 うフレームワークの 実 装 は 一 般 的 な 開 発 フレームワークの 考 え 方 を 踏 襲 したものである 科 目 名 第 1 回 第 2 回 第 3 回 第 4 回 第 5 回 第 6 回 第 7 回 (1) 開 発 フレームワー (1) Webアプリケー (1) Tomcat (1) WebMVCの 概 念 (1) Strutsとは (1) JSFとは (1) Tapestryとは クの 特 徴 ションとオープンソース フレームワーク (2) 開 発 フレームワー (2) WebMVCフレーム (2) Jboss (2) 実 装 のプロセス (2) JSPのカスタムタ (2) JSPのカスタムタ (2) HTMLテンプレート クの 特 性 ワーク グライブラリ グライブラリ 5-1- 基 開 発 フレーム ワークに 関 する 知 識 (3) どのようにフレー ムワークを 選 択 し 利 用 するか (3) Webアプリケー ション 構 築 で 利 用 され る 代 表 的 なオープン ソースフレームワーク (4) ライセンス 形 態 (4) それぞれの 開 発 内 容 の 違 い (5) 基 本 的 なアプリ ケーション 記 述 の 例 (6) サンプルプログラ ム (3) Winstone (3) MyFaceとは 第 8 回 第 9 回 第 10 回 第 11 回 第 12 回 第 13 回 第 14 回 第 15 回 (1) Wicketとは (1) OR (2) 代 表 的 なORマッ (1) ibatisの 概 要 (1) DIxAOPの 機 能 (1) EJB3とは (1) Spring (1) Seasar2の 構 成 と ピングライブラリ/フ Frameworkの 構 成 と 特 特 徴 メリット レームワーク 徴 メリット (2) 代 表 的 なORマッ (2) オブジェクトとリ (2) オブジェクトとリ (2) 実 装 フレームワー (2) JBoss Seamとは (2) DIxAOP 以 外 の 主 (2) DIxAOP 以 外 の 主 ピングライブラリ/フ レーションのマッピング レーションのマッピング ク な 機 能 な 機 能 レームワーク 仕 様 仕 様 (3) マッピングファイル の 作 成 (3) 開 発 ツール (3) 開 発 ツール (3) 開 発 ツール (4) ライセンス (4) ライセンス (4) ライセンス (5) 公 式 サイトとリファ レンス 紹 介 (5) 公 式 サイトとリファ (5) 公 式 サイトとリファ レンス 紹 介 レンス 紹 介 ( 網 掛 け 部 分 は IT 知 識 体 系 で 学 習 できる 知 識 を 示 し それ 以 外 は OSS モデルカリキュラム 固 有 の 知 識 を 示 している)

スキル 区 分 OSS モデルカリキュラムの 科 目 レベル 開 発 体 系 分 野 5-1- 基 開 発 フレームワークに 関 する 知 識 基 本 習 得 ポイント 5-1- 基 -1. 開 発 フレームワークの 歴 史 思 想 と 背 景 対 応 する コースウェア 第 1 回 開 発 フレームワークの 概 要 と 種 類 5-1- 基 -1. 開 発 フレームワークの 歴 史 思 想 と 背 景 開 発 フレームワークとは 何 かを 説 明 し 開 発 フレームワークの 基 本 理 念 目 的 発 展 の 歴 史 開 発 フレームワークが 登 場 した 背 景 と 思 想 について 解 説 する 学 習 の 要 点 * 開 発 フレームワークとは アプリケーションソフトを 開 発 する 際 に 頻 繁 に 必 要 とされる 汎 用 的 な 機 能 をまとめて 提 供 し アプリケーションの 土 台 として 機 能 するソフトウェアのことである * 開 発 フレームワークは ソフトウェア 開 発 におけるさまざまな 経 験 を 踏 まえ 開 発 生 産 性 を 向 上 さ せようとする 試 みの 中 で 長 い 時 間 をかけて 発 展 してきた 図 5-1- 基 -1 開 発 フレームワークの 背 景 5-1- 基 - 1

解 説 1) 開 発 フレームワークとは 開 発 フレームワークとは アプリケーションを 開 発 する 場 合 に 必 要 となる 部 品 や 実 装 上 のアウトラ イン および 制 約 を 提 供 するもので ソフトウェア 開 発 における 生 産 性 や 保 守 性 の 向 上 を 目 的 と する アプリケーションの 骨 組 み 部 分 が 洗 練 された 形 であらかじめ 提 供 されているため 開 発 担 当 者 のスキルに 依 存 する 新 規 開 発 部 分 の 割 合 を 減 らすことが 可 能 で 結 果 として 設 計 レベルの 欠 陥 を 最 小 限 にとどめ 一 定 の 成 果 物 品 質 を 維 持 できる 2) 開 発 フレームワークの 基 本 構 成 開 発 フレームワークは フローズンスポットとホットスポットから 構 成 される * フローズンスポット アプリケーションによらず 常 に 必 要 となる 機 能 を 有 した 部 分 であり 固 有 のアプリケーションを 開 発 する 際 には 変 更 の 必 要 がないものをいう 開 発 フレームワークでは これらの 機 能 をそのまま 提 供 する * ホットスポット アプリケーションによって 個 別 に 開 発 される 部 分 開 発 フレームワークでは この 部 分 を 実 装 上 の 制 約 という 形 で 提 供 する フレームワークが 規 定 する 制 約 に 則 ってホットスポット 部 分 を 実 装 することにより 初 めて 開 発 フレームワークの 利 点 を 享 受 することができる フローズンスポットの 占 める 割 合 がホットスポットのそれに 対 して 大 きければ 大 きいほど 固 有 のア プリケーション 開 発 時 の 工 数 は 少 なくなり より 高 い 開 発 生 産 性 を 得 られる しかしそれと 同 時 に フ レームワークによる 制 約 が 多 くなるため そのフレームワークを 適 用 できるアプリケーションは 限 定 さ れ 汎 用 性 を 失 ってしまう このように フレームワークの 汎 用 性 と そのフレームワークを 適 用 した ことにより 得 られる 開 発 生 産 性 の 向 上 度 合 いは 常 にトレードオフの 関 係 にある 3) 開 発 フレームワーク 発 展 の 背 景 開 発 フレームワークは ソフトウェア 開 発 において 先 人 の 知 恵 を 再 利 用 し 開 発 生 産 性 を 向 上 させ ようとする 試 みの 中 で 長 い 時 間 をかけて 発 展 してきたものである 特 に GUI アプリケーションの 開 発 における 定 型 処 理 を 標 準 化 しようとする 動 きの 中 で 1980 年 に 発 表 された 統 合 開 発 環 境 である Smalltalk において 取 り 入 れられた MVC(Model/View/Controller)の 概 念 は 現 在 では GUI アプリケ ーションに 留 まらず Web アプリケーション 開 発 に 用 いられるフレームワークにも 大 きな 影 響 を 与 え ている 5-1- 基 - 2

スキル 区 分 OSS モデルカリキュラムの 科 目 レベル 開 発 体 系 分 野 5-1- 基 開 発 フレームワークに 関 する 知 識 基 本 習 得 ポイント 5-1- 基 -2. 開 発 フレームワークの 特 徴 とメリット 対 応 する コースウェア 第 1 回 開 発 フレームワークの 概 要 と 種 類 5-1- 基 -2. 開 発 フレームワークの 特 徴 とメリット 開 発 フレームワークを 利 用 した 開 発 の 特 徴 と 開 発 フレームワーク 利 用 の 効 果 メリットについて 解 説 する また 代 表 的 な 開 発 フレームワークを 紹 介 し それぞれの 歴 史 や 背 景 特 徴 利 用 上 の 注 意 点 開 発 フレームワークの 選 択 方 法 ライセンス 形 態 などを 説 明 する 学 習 の 要 点 * Web MVC フレームワークを 導 入 すれば Model と View とを 記 述 すればよく Controller 部 分 の 開 発 工 数 を 節 約 できる * O/R マッピングフレームワークを 導 入 すれば オブジェクトと 関 係 データベースとのインピーダン スミスマッチを 解 消 できる * DI コンテナを 導 入 すれば オブジェクト 間 の 依 存 関 係 の 管 理 を DI コンテナに 移 譲 でき オブジ ェクト 間 の 依 存 性 を 疎 に 保 つことができる 図 5-1- 基 -2 代 表 的 なフレームワーク 5-1- 基 - 3

解 説 1) 開 発 フレームワークの 種 類 と 特 徴 Web アプリケーション 開 発 でよく 用 いられている 開 発 フレームワークには Web MVC フレームワー ク O/R マッピングフレームワーク DI コンテナがある * Web MVC フレームワーク Web MVC フレームワークは MVC モデルを 適 用 した Web アプリケーション 用 の 開 発 フレームワ ークである 一 般 的 な Web MVC フレームワークでは Controller をフローズンスポットとしてフレ ームワーク 側 で 提 供 し 残 りの Model と View をホットスポットとしてアプリケーションごとに 開 発 す る Web MVC フレームワークの 代 表 的 なものとして Struts があり Struts が 普 及 して 以 来 PHP の Zend Framework や Ruby の Ruby on Rails など 他 の 言 語 でも Web MVC フレームワークが 開 発 され 普 及 していった * O/R(オブジェクト/ 関 係 )マッピングフレームワーク O/R マッピングフレームワークは オブジェクト 指 向 言 語 におけるオブジェクトと 関 係 データベー スのデータ 構 造 の 差 異 を 吸 収 し 自 動 変 換 を 行 う 機 能 を 有 した 開 発 フレームワークである オブ ジェクト 指 向 言 語 で 関 係 データベースを 扱 う 場 合 データモデルの 設 計 思 想 の 違 いから オブ ジェクトとデータベース テーブルとのマッピングのために 毎 回 煩 雑 な 処 理 を 行 わなければな らない このデータモデルの 設 計 思 想 の 違 いからくる 概 念 モデル 構 造 と 論 理 データベース 構 造 の 違 いをインピーダンスミスマッチというが O/R マッピングフレームワークでは このマッピング における 定 型 処 理 をフローズンスポットとして 提 供 し インピーダンスミスマッチを 解 消 する 手 助 けをする Java では 元 々 インピーダンスミスマッチを 解 消 するための 仕 組 みとして EJB(Enterprise Java Beans)における Entity Bean があった しかしこの EJB は 分 散 オブジェクト としての 性 質 も 併 せ 持 つなど 単 なるオブジェクトとリレーショナルデータのマッピングツールとし ては 複 雑 過 ぎ 中 小 規 模 の 開 発 を 主 とする 多 くの 開 発 者 には 受 け 入 れられなかった このよう な 中 もっと 簡 単 に O/R マッピングを 実 現 したいという 要 望 から Apache Torque をはじめ 現 在 よく 使 われている Hibernate や ibatis などの O/R マッピングフレームワークが 開 発 され その 後 他 の 言 語 でも ActiveRecord など 同 様 のものが 開 発 されていった なお 現 在 の EJB 最 新 仕 様 である EJB3 では 過 去 の 教 訓 から Hibernate などの O/R マッピングフレームワークの 影 響 を 大 きく 受 けており 従 来 に 比 べて 大 幅 に 利 用 しやすくなっている * DI(Dependency Injection)コンテナ DI コンテナは オブジェクト 間 の 依 存 関 係 を 設 定 ファイルに 記 述 することで 依 存 関 係 の 管 理 を DI コンテナに 移 譲 することができる 仕 組 みを 持 つ 開 発 フレームワークである IoC(Inversion of Control)コンテナ 軽 量 コンテナ DI フレームワークなどとも 呼 ばれる 他 のオブジェクトを 呼 び 出 す 際 には 抽 象 的 な 名 前 とインタフェースのみを 利 用 し どの 具 象 クラスを 用 いてどのような 初 期 化 を 行 ったオブジェクトを 用 いるかは 全 て DI コンテナが 外 部 から 注 入 してくるのに 任 せる このような 仕 組 みを 利 用 して 開 発 することで 他 の 具 象 クラスに 依 存 したコードを 排 除 し オブジ ェクト 間 の 依 存 性 を 疎 に 保 つことができる Java における EJB も 同 様 の 機 能 を 有 するが O/R マッピングフレームワークの 項 でも 述 べた 通 り EJB は 汎 用 的 な 反 面 非 常 に 複 雑 で 扱 いづらい 仕 様 であった DI コンテナの 代 表 的 な 実 装 として Spring があるが Spring はこの 複 雑 すぎる EJB の 代 替 として 個 人 により 開 発 が 開 始 され 以 降 オープンソースプロジェクトとして 急 速 に 成 長 し 普 及 していった 日 本 でも オープンソースのプロジェクトで 開 発 が 進 められている DI コンテナ として Seasar2 がある 5-1- 基 - 4

スキル 区 分 OSS モデルカリキュラムの 科 目 レベル 開 発 体 系 分 野 5-1- 基 開 発 フレームワークに 関 する 知 識 基 本 習 得 ポイント 5-1- 基 -3. Web アプリケーションで 利 用 できる OSS フレームワーク 対 応 する コースウェア 第 2 回 オープンソースによる Web アプリケーションのフレームワーク 5-1- 基 -3. Web アプリケーションで 利 用 できる OSS フレームワーク オープンソースによる Web アプリケーション 開 発 フレームワークを 紹 介 する Struts JSF ibatis Hibernate Seasar2 Spring といった 代 表 的 なフレームワークを 紹 介 し それぞれの 開 発 内 容 の 違 い について 解 説 する 学 習 の 要 点 * Struts は Java の Web MVC フレームワークとして 広 く 利 用 されている * Hibernate は Java の O/R マッピングフレームワークとして 広 く 利 用 されている * ibatis は Hibernate などと 異 なり SQL を 直 接 記 述 できるので 柔 軟 なデータベースアクセスが 可 能 である * Seasar2 は 国 産 の DI コンテナで 日 本 語 ドキュメントが 非 常 に 豊 富 である 種 類 Web MVC フレームワーク 名 称 Struts JSF (Sun の 参 照 実 装 ) Apache MyFaces ICEFaces 特 徴 Servlet/JSP を 利 用 設 定 をXML で 記 述 JSF 準 拠 JSF 準 拠 JSF 準 拠 O/Rマッピング フレームワーク Hibernate ibatis O/R マッピングをXML で 記 述 SQL 文 を 直 接 記 述 可 能 DIコンテナ Seasar2 Spring Framework 国 産 AOP サポート Less Configuration 思 想 AOP サポート MVC フレームワーク 内 包 図 5-1- 基 -3 開 発 フレームワークの 主 な OSS 実 装 5-1- 基 - 5

解 説 1) OSS の Web MVC フレームワーク * Struts(Apache Struts) http://struts.apache.org/ Struts は Servlet と JSP の 技 術 を 用 いて Web アプリケーションを 開 発 する 際 に 利 用 する Web MVC フレームワークで Apache ソフトウェア 財 団 のトップレベルプロジェクトとして 開 発 が 進 めら れている Struts を 利 用 して Web アプリケーションを 開 発 する 際 には Model 部 分 である Action クラス View 部 分 である JSP ページと View に 埋 め 込 まれる ActionForm クラスを 作 成 し これら の 関 連 を XML の 設 定 ファイルに 記 述 する * JSF(JavaServer Faces) http://java.sun.com/javaee/javaserverfaces/ JSF は JSR(Java Specification Request)に 定 められた Java における Web MVC フレームワーク の 標 準 仕 様 である JSF では Web ページ 表 示 を 構 成 するコンポーネントを UI コンポーネントと 呼 び 高 度 に 抽 象 化 されている また 標 準 で JSP カスタムタグライブラリを 提 供 しているが View 部 分 に JSP を 強 制 するわけではなく 別 のものに 置 き 換 えることも 可 能 である JSF の 代 表 的 な OSS 実 装 は 以 下 の 通 りである - Sunの 参 照 実 装 http://java.sun.com/javaee/javaserverfaces/download.html - Apache MyFaces http://myfaces.apache.org/ - ICEfaces http://www.icefaces.org/main/home/ 2) OSS の O/R マッピングフレームワーク * Hibernate http://www.hibernate.org/ Hibernate は オブジェクトのプロパティと 関 係 データベースのカラムとのマッピングを XML で 記 述 しておくことで O/R マッピングを Hibernate に 移 譲 できる * ibatis http://ibatis.apache.org/ ibatis は Apache ソフトウェア 財 団 のトップレベルプロジェクトとして 開 発 が 進 められている Hibernate などと 異 なり SQL 文 と その SQL 文 を 呼 び 出 すメソッド 名 および SQL 文 の 実 行 結 果 として 取 得 された 結 果 セットのマッピング 先 クラス 名 を XML で 記 述 し O/R マッピングを 実 現 する SQL 文 を 直 接 記 述 できるため 柔 軟 なデータベースアクセスを 行 いつつ ソースコードか らはインピーダンスミスマッチの 問 題 を 排 除 できる 3) OSS の DI コンテナ * Seasar2 http://s2container.seasar.org/ Seasar2 は DI と AOP(アスペクト 指 向 プログラミング)をサポートした 軽 量 コンテナである O/R マ ッピングフレームワークである S2Dao や S2JDBC や JSF 実 装 の Teeda など サブプロジェクト で 連 携 先 エンジンが 開 発 されているほか S2JSF や S2Struts S2Hibernate などを 使 用 すること により 他 のエンジンとシームレスに 統 合 できる 設 計 思 想 として Less Configuration を 掲 げてお り 大 抵 のアプリケーションで 同 様 であろう 部 分 は 極 力 設 定 をしなくても 動 作 するように 意 識 さ れている 国 産 であるため 日 本 語 ドキュメントが 非 常 に 豊 富 である * Spring Framework http://www.springframework.org/ Spring Framework は DI と AOP をサポートした 軽 量 コンテナで JDBC によるデータベースアク セスを 抽 象 化 するレイヤや MVC フレームワークを 内 包 している また Struts や Hibernate との 連 携 機 能 を 持 つ 5-1- 基 - 6

スキル 区 分 OSS モデルカリキュラムの 科 目 レベル 開 発 体 系 分 野 5-1- 基 開 発 フレームワークに 関 する 知 識 基 本 習 得 ポイント 5-1- 基 -4. Tomcat の 特 徴 と Servlet/JSP によるアプリケーション 開 発 対 応 する コースウェア 第 3 回 フリーの Web コンテナ/J2EE コンテナの 概 要 5-1- 基 -4. Tomcat の 特 徴 と Servlet/JSP によるアプリケーション 開 発 Java Servlet/JSP コンテナの 代 表 的 なものとして Tomcat を 取 り 上 げ その 位 置 づけ 特 徴 と Servlet/JSP による Web アプリケーション 開 発 の 具 体 的 な 手 順 を 説 明 する 学 習 の 要 点 * Tomcat は Java Servlet/JSP コンテナとして 高 いシェアを 誇 り 事 実 上 の 標 準 となっている * Tomcat の 実 行 モードには スタンドアロン 内 部 プロセス 外 部 プロセスの 3 つがあるが 内 部 プロセスにより Apache HTTP Server と 連 携 させる 方 法 が 主 流 である 図 5-1- 基 -4 Tomcat の 実 行 モード 5-1- 基 - 7

解 説 1) Tomcat の 特 徴 http://tomcat.apache.org/ Tomcat (Apache Tomcat)は Java Servlet と JSP のコンテナ( 実 行 環 境 )であり Java Servlet と JSP 技 術 の 公 式 な 参 照 実 装 (ソースコードレベルで 参 照 できる 実 装 )として 使 われている ASF(Apache ソ フトウェア 財 団 )が 運 営 するプロジェクトで 開 発 されている OSS であり Apache ソフトウェアライセンス に 基 づいてリリースされている 2) Tomcat の 位 置 づけ Tomcat は 実 行 モードによって 3 つの 位 置 づけがある Apache HTTP Server と 連 携 する 内 部 プロセ ス 型 がもっとも 多 く 利 用 されている * スタンドアロン 型 Tomcat 自 体 に Web サーバの 機 能 が 内 蔵 されており Java ベースの Web アプリケーションであ れば 別 途 Web サーバを 導 入 することなく 利 用 することができる * 内 部 プロセス 型 他 の Web サーバ 上 で Tomcat を 実 行 することで その Web サーバと 連 携 する * 外 部 プロセス 型 他 の Web サーバとは 別 に Tomcat を 実 行 し プロセス 間 通 信 によってその Web サーバと 連 携 す る 内 部 プロセス 型 に 比 べ 処 理 速 度 は 落 ちるが 安 定 性 や 拡 張 性 の 点 でメリットがある 3) Servlet/JSP による Web アプリケーション 開 発 Servlet/JSP による Web アプリケーションを Tomcat で 動 作 させるには 基 本 的 には 以 下 のような 手 順 で 行 う * アプリケーション 用 ディレクトリ 作 成 アプリケーションを 配 置 するディレクトリを 作 成 し アプリケーション(JSP ファイルや class ファイル) を 配 置 する * WEB-INF 作 成 WEB-INF ディレクトリを 作 成 し WEB-INF ディレクトリ 下 に web.xml を 作 成 する web.xml には Servlet/JSP のマッピング 情 報 などを 記 述 する * server.xml 編 集 Tomcat をインストールしたディレクトリ 下 の conf/server.xml を 編 集 し アプリケーション 用 ディレ クトリを 登 録 する * 他 の Web サーバの 設 定 他 の Web サーバと 連 携 する 場 合 その Web サーバ 経 由 でアクセスできるよう 設 定 する * Tomcat 再 起 動 Tomcat を 再 起 動 する 他 の Web サーバと 連 携 する 場 合 その Web サーバも 再 起 動 する 5-1- 基 - 8

スキル 区 分 OSS モデルカリキュラムの 科 目 レベル 開 発 体 系 分 野 5-1- 基 開 発 フレームワークに 関 する 知 識 基 本 習 得 ポイント 5-1- 基 -5. アプリケーションサーバ JBoss の 機 能 と 特 徴 対 応 する コースウェア 第 3 回 フリーの Web コンテナ/J2EE コンテナの 概 要 5-1- 基 -5. アプリケーションサーバ JBoss の 機 能 と 特 徴 アプリケーションサーバについて 例 として 代 表 的 なアプリケーションサーバである JBoss を 取 り 上 げ その 位 置 づけ 特 徴 を 解 説 する また Tomcat との 連 携 や EJB コンテナ 機 能 アプリケーション サーバ 機 能 など JBoss の 持 つ 様 々な 機 能 を 紹 介 する 学 習 の 要 点 * Java EE 規 格 に 準 拠 したソフトウェアは Java アプリケーションサーバと 呼 ばれ アプリケーション サーバの 主 流 をなす * JBoss は 欧 米 では 企 業 システムや 政 府 機 関 システムでの 導 入 実 績 もあり 他 の 商 用 アプリケー ションサーバに 劣 らない 機 能 と 性 能 を 実 現 している 図 5-1- 基 -5 JBoss の 構 成 5-1- 基 - 9

解 説 1) JBoss とは JBoss (JBoss Application Server)は OSS の Java アプリケーションサーバである Java アプリケーシ ョンサーバとは Java EE に 準 拠 したソフトウェアを 指 す 名 称 である JBoss は LGPL ライセンスで 提 供 される 2) JBoss の 位 置 づけと 特 徴 JBoss には Web コンテナ(Tomcat)やデータベース 管 理 システム(HSQLDB)が 同 梱 されているので JBoss を 導 入 するだけで Web アプリケーションの 動 作 環 境 が 構 築 できるようになっている また プ ログラムをアップデートする 際 特 定 のディレクトリにファイルを 設 置 すれば JBoss が 自 動 でデプロ イする JBoss 本 体 を 動 作 させたままプログラムのアップデートが 可 能 なため この 機 能 は ホットデ プロイ と 呼 ばれる 3) Java EE (Java Platform, Enterprise Edition) Java EE は Java SE(Java Platform, Standard Edition)を 主 に 企 業 の 大 規 模 システム 向 けに 拡 張 した Java の 機 能 セットの 仕 様 であり 次 のような 機 能 ( 抜 粋 )が 定 められている * Web コンテナ(Java Servlet JSP のサポート) * EJB(Enterprise JavaBeans)コンテナ * JMS(Java Message Service)による 非 同 期 メッセージ 通 信 * JAAS(Java Authentication and Authorization Service)や JACC(Java Authorization Contract for Containers)による 認 証 * JMX(Java Management Extensions)によるシステム 管 理 * Java RMI(Remote Method Invocation)や IIOP(Internet Inter-ORB Protocol)による 分 散 処 理 4) Tomcat との 連 携 JBoss のパッケージには Tomcat が 同 梱 されており Tomcat と 連 携 することで Web コンテナの 機 能 を 実 現 している 5) EJB コンテナ JBoss は EJB コンテナ 機 能 を 有 する EJB とは JavaBeans(Java アプリケーション 開 発 における 部 品 の 作 成 や 利 用 に 関 する 規 格 )を 企 業 向 けに 拡 張 した 仕 様 である EJB では ネットワークシステムに おけるサーバプログラミングのための 機 能 が 追 加 されており セッション 処 理 のための Session Bean データ 保 存 のための Entity Bean 非 同 期 処 理 などのための MDB(Message-Driven Bean)の 3 つに 大 別 される EJB は 低 レベル 処 理 の 一 切 を 引 き 受 けているので 開 発 者 はビジネスロジックだけに 専 念 することができる 5-1- 基 - 10

スキル 区 分 OSS モデルカリキュラムの 科 目 レベル 開 発 体 系 分 野 5-1- 基 開 発 フレームワークに 関 する 知 識 基 本 習 得 ポイント 5-1- 基 -6. MVC フレームワークの 概 要 対 応 する コースウェア 第 4 回 Web アプリケーションの MVC フレームワーク 概 要 第 5 回 Struts の 概 要 第 6 回 JSPの 概 要 第 7 回 Tapestry の 概 要 第 8 回 Wicket の 概 要 5-1- 基 -6. MVC フレームワークの 概 要 MVC モデルを 適 用 した Web アプリケーション 用 の 開 発 フレームワークとして Web MVC フレームワ ークの 概 念 を 説 明 する モデル ビュー コントローラのそれぞれの 役 割 と お 互 いの 依 存 性 を 低 く したことによる 利 点 を 解 説 する 学 習 の 要 点 * Web MVC により 役 割 を 分 離 させることで プログラムに 変 更 があった 場 合 に 他 の 役 割 への 影 響 を 抑 えることができる * モデルはデータとビジネスロジックを 担 当 し 処 理 の 中 核 となる * ビューは UI への 出 力 を 担 当 する * コントローラはユーザの 入 力 イベントを 受 け 取 り それに 対 応 したモデルとビューの 制 御 を 行 う 図 5-1- 基 -6 Web MVC モデル 5-1- 基 - 11

解 説 1) Web MVC の 概 念 MVC モデルはアプリケーションの 構 造 を 表 し M(モデル) V(ビュー) C(コントローラ)のそれぞれ の 機 能 を 明 確 に 分 離 し 互 いの 依 存 性 を 低 下 させる MVC モデルを 採 用 することで 設 計 実 装 の 分 業 や 各 機 能 の 交 換 再 利 用 が 容 易 になる 利 点 がある 2) モデルの 役 割 モデルはデータ 管 理 とビジネスロジックを 受 け 持 ち アプリケーションの 中 核 となる * データ 管 理 データベースとの 連 携 を 行 い UI 以 外 のデータの 入 出 力 を 管 理 する * ビジネスロジック アプリケーションの 具 体 的 な 処 理 を 行 う 3) ビューの 役 割 ビューは 出 力 を 受 け 持 つ 表 示 のためにモデルから 値 を 受 け 取 る Web アプリケーションにおいては ブラウザへ HTML 型 式 で 出 力 を 行 う 4) コントローラの 役 割 コントローラはアプリケーション 全 体 の 制 御 を 受 け 持 ち モデルとビューの 連 絡 を 行 う * 入 力 受 付 クライアントからのリクエストを 受 け 付 けたり フォームからの 入 力 パラメータを 受 け 取 ったりする * ビジネスロジックの 依 頼 リクエストの 内 容 を 判 断 し 適 切 なビジネスロジックの 実 行 をモデルに 依 頼 する また ビジネス ロジックを 処 理 した 結 果 を 受 け 取 る * 画 面 遷 移 ビジネスロジックの 実 行 結 果 に 応 じて 結 果 の 出 力 をビューに 依 頼 する 5) サービス 指 向 ビジネスロジックをモデルとコントローラのどちらに 記 述 すべきという 点 については 様 々な 意 見 が 存 在 する これに 対 する 答 えの 一 つとして ビジネスロジックを 分 離 し サービスという 形 でモデルとコ ントローラの 間 に 位 置 付 ける 設 計 モデルが 存 在 する 5-1- 基 - 12

スキル 区 分 OSS モデルカリキュラムの 科 目 レベル 開 発 体 系 分 野 5-1- 基 開 発 フレームワークに 関 する 知 識 基 本 習 得 ポイント 5-1- 基 -7. OR マッピングフレームワークの 概 要 対 応 する コースウェア 第 9 回 OR マッピングの 概 要 第 10 回 Hibernate と JPA の 概 要 第 11 回 ibatis の 概 要 5-1- 基 -7. OR マッピングフレームワークの 概 要 オブジェクト 指 向 アプリケーションのデータとして 取 り 扱 うオブジェクトと リレーショナルデータベース に 格 納 されるレコードとの 対 応 を 取 るための 仕 組 みである OR マッピングについて 基 本 的 な 考 え 方 やオブジェクトとレコードの 対 応 関 係 OSS による OR マッピングの 実 装 例 について 解 説 する 学 習 の 要 点 * オブジェクト 指 向 言 語 を 用 いてリレーショナルデータベースを 利 用 するアプリケーションを 開 発 し た 場 合 オブジェクトとデータベースのデータ 構 造 の 違 いが 問 題 となる 場 合 がある * OR マッピング(Object Relational Mapping)はオブジェクトとリレーショナルデータベースの 相 互 変 換 を 行 う 仕 組 みである * OR マッピングではクラスがテーブル インスタンスが 行 インスタンスの 属 性 が 列 に 対 応 する 図 5-1- 基 -7 OR マッピング 5-1- 基 - 13

解 説 1) オブジェクト 指 向 とリレーショナルデータベース オブジェクト 指 向 言 語 を 用 いてリレーショナルデータベースを 利 用 するアプリケーションを 開 発 した 場 合 データ 構 造 がアプリケーション 内 とデータベース 内 に 二 重 に 存 在 することになる これらのデ ータ 構 造 の 間 に 互 換 性 がない(インピーダンスミスマッチ)ため データ 構 造 間 の 変 換 処 理 が 必 要 となる また 変 換 処 理 のほかにも アプリケーション 内 のデータとデータベース 内 のデータの 同 期 処 理 データの 一 貫 性 を 確 保 するための 仕 組 みなど 煩 雑 な 処 理 を 必 要 とする 場 合 が 多 く 開 発 者 の 負 担 となりやすい 2) OR マッピング OR マッピングとは オブジェクト 指 向 言 語 におけるデータ 構 造 と リレーショナルデータベースのデ ータ 構 造 の 違 いを 吸 収 し 相 互 変 換 を 可 能 とする 仕 組 みである OSS を 含 め 様 々な 実 装 が 存 在 し 無 償 で 利 用 可 能 なものも 多 い これらを 利 用 することで 開 発 者 の 負 担 を 削 減 することができる 3) OR マッピングの 基 本 OR マッピングの 利 用 方 法 として 多 くのライブラリ/フレームワークに 共 通 する 要 素 を 以 下 にあげ る * オブジェクト 指 向 のクラスは データベースのテーブルに 対 応 する * インスタンスは データベースの 行 に 対 応 する * インスタンス 属 性 は データベースの 列 に 対 応 する * データの 検 索 結 果 はインスタンスのセットとして 返 却 される * データの 更 新 は 検 索 によって 得 られたインスタンスの 属 性 値 を 変 更 することによって 行 う 4) OR マッピングの 実 装 OR マッピングを 実 現 するライブラリ/フレームワークの 例 を 以 下 にあげる * JPA(Java Persistent API) EJB3 の 仕 様 の 一 部 であり EJB3 に 準 拠 したコンテナで 利 用 することができる J2SE 5.0 仕 様 で 導 入 されたアノテーション(あるデータに 対 してメタデータとして 注 釈 を 付 与 すること)を 利 用 して クラスとテーブルを 関 連 付 ける * Hibernate Java で 利 用 可 能 な OR マッピングフレームワークのうち 最 も 広 く 利 用 されているものの 一 つ Hibernate 本 来 の API のほかに JPA に 準 拠 したインタフェースも 提 供 する * ibatis 検 索 に 利 用 する SQL を 設 定 ファイル 内 に 明 示 する という 特 徴 を 持 つ OR マッピングフレームワ ークであり Java から 利 用 できる SQL の 知 識 を 活 かした 性 能 チューニングが 行 いやすい * ActiveRecord Ruby on Rails に 含 まれている OR マッピングライブラリ クラスとテーブルの 関 連 付 けを 規 約 によ って 行 うため 設 定 ファイルやソースコードの 記 述 量 を 大 幅 に 削 減 できる 5-1- 基 - 14

スキル 区 分 OSS モデルカリキュラムの 科 目 レベル 開 発 体 系 分 野 5-1- 基 開 発 フレームワークに 関 する 知 識 基 本 習 得 ポイント 5-1- 基 -8. DIxAOP フレームワークの 概 要 対 応 する コースウェア 第 12 回 AOP と DI の 概 要 第 13 回 EJB と JBoss Seam の 概 要 5-1- 基 -8. DIxAOP フレームワークの 概 要 Dependency Injection (DI)と Aspect Oriented Programming (AOP)の 概 念 と 利 点 を 整 理 し 新 しい Web アプリケーションの 基 盤 を 成 す DIxAOP コンテナの 仕 組 みと 基 本 的 な 構 成 特 徴 について 解 説 する 学 習 の 要 点 * Dependency Injection(DI)はオブジェクト 間 の 依 存 関 係 を 実 行 時 に 自 動 的 に 解 決 する 仕 組 みで ある * Aspect Oriented Programming(AOP)は ログの 出 力 や 例 外 処 理 のような アプリケーション 中 の 複 数 の 箇 所 で 横 断 的 に 利 用 される 共 通 処 理 を 分 離 することで プログラムのモジュール 性 を 高 めようとするプログラミング 方 法 である * DI と AOP の 実 行 環 境 を 提 供 するフレームワークとして Seasar2 や Spring などがある 図 5-1- 基 -8 Dependency Injection 5-1- 基 - 15

解 説 1) DI(Dependency Injection) DI とは プログラムのモジュール 間 の 依 存 関 係 を 実 行 時 に 解 決 する 仕 組 みである 例 えばオブジ ェクト A がオブジェクト B に 依 存 している(オブジェクト A がオブジェクト B を 利 用 している) 場 合 オ ブジェクト A がオブジェクト B を 生 成 した 上 で 利 用 するという 方 法 が 考 えられる この 方 法 の 欠 点 は オブジェクト A がオブジェクト B に 関 する 情 報 をソースコード 中 に 持 っていなければならない という 部 分 にある もしオブジェクト A がオブジェクト B の 代 わりに 別 なオブジェクトを 利 用 する 必 要 が 生 じ た 場 合 オブジェクト A のソースコードを 修 正 しなければならない DI を 利 用 した 場 合 依 存 するオ ブジェクトの 生 成 手 続 きは 実 行 環 境 によって 自 動 的 に 行 われる そのため オブジェクト 同 士 の 依 存 関 係 をソースコード 中 に 記 述 する 必 要 が 無 い これにより ソフトウェアのコンポーネント 化 が 促 進 され 保 守 のしやすい 構 造 を 実 現 できる また JNDI(Java Naming and Directory Interface)を 利 用 した 場 合 のような 煩 雑 な 生 成 手 続 きを 省 略 することが 可 能 になる 2) DI の 実 現 DI の 実 現 方 法 として オブジェクトの 依 存 関 係 を 設 定 ファイル またはアノテーションに 記 述 してお く 方 法 が 利 用 されている DI コンテナは 設 定 ファイル およびアノテーションに 基 づいてオブジェク トの 生 成 と 注 入 を 行 う Seasar2 のように コンテナが 自 動 的 に 依 存 関 係 の 解 決 を 行 う 実 装 も 存 在 す る 注 入 の 方 式 として setter メソッドを 利 用 する 場 合 や コンストラクタを 利 用 する 場 合 などがある 3) AOP(Aspect Oriented Programming) AOP とは プログラム 中 で 横 断 的 に 利 用 される 機 能 をアスペクトとして 分 離 する 手 法 である AOP を 利 用 することで 問 題 領 域 に 特 化 したロジック 部 分 を 変 更 することなく プログラムの 複 数 の 部 分 で 利 用 される 機 能 の 修 正 追 加 を 行 うことが 容 易 になる アスペクトとして 扱 うことが 可 能 な 機 能 の 例 と しては ログの 出 力 や 例 外 処 理 などがあげられる 4) AOP の 実 現 AOP の 実 現 方 法 として アスペクトとなる 処 理 を 行 うメソッドを 実 装 したクラスを 用 意 し 設 定 ファイル またはアノテーションで 実 行 条 件 に 関 する 設 定 を 行 う 方 法 が 利 用 されている AOP コンテナは 設 定 ファイル およびアノテーションに 基 づいて アスペクトを 適 用 する AOP を 利 用 する 上 で 必 要 な 概 念 を 以 下 に 示 す * Advice アスペクトが 行 う 処 理 と 実 行 するタイミングを 表 す この 場 合 のタイミングとは 例 えば 後 述 する Pointcut としてあるメソッドが 指 定 された 場 合 に 処 理 が 実 行 されるのはメソッドの 呼 び 出 し 前 か 呼 び 出 し 後 か といった 情 報 である * Joinpoint Advice を 適 用 可 能 な 場 所 を 表 す 一 般 的 な Joinpoint としては メソッド 呼 び 出 しなどがあげられ る * Pointcut Joinpoint のうち 実 際 に Advice を 適 用 する 場 所 を 表 す 具 体 的 なメソッド 名 で 指 定 する 場 合 や 正 規 表 現 によって 複 数 のクラス メソッドなどを 指 定 する 場 合 がある * Aspect Advice と Pointcut を 合 わせたものを Aspect と 呼 ぶ 5-1- 基 - 16

スキル 区 分 OSS モデルカリキュラムの 科 目 レベル 開 発 体 系 分 野 5-1- 基 開 発 フレームワークに 関 する 知 識 基 本 習 得 ポイント 5-1- 基 -9. Spring Framework の 利 用 対 応 する コースウェア 第 14 回 Spring Framework の 概 要 5-1- 基 -9. Spring Framework の 利 用 DIxAOP コンテナ 実 装 のひとつである Spring Framework の 基 本 的 な 仕 組 みと 基 本 的 な 構 成 特 徴 について 解 説 する また Struts や Hibernate など 他 のフレームワークとの 連 携 や 開 発 ツールなど 実 際 の 利 用 に 有 効 なトピックを 紹 介 する 学 習 の 要 点 * Spring Framework は DI と AOP の 実 行 環 境 を 提 供 する 他 MVC のサポートや トランザクション 管 理 およびデータベース 接 続 の 抽 象 化 機 能 などを 備 え Web アプリケーションの 全 ての 層 を カバーするフレームワークである * Spring Framework の DI は 他 のフレームワークと 併 用 することが 可 能 であり Controller として Struts を 利 用 する OR マッピングライブラリとして Hibernate を 利 用 する といった 使 い 方 が 可 能 である * Spring Framework の 開 発 に 利 用 できるツールとして Spring IDE が Eclipse のプラグインとして 提 供 されている ORマッピング フレームワーク を 統 合 可 能 Hibernate ibatis JSF ORM Web Struts AOP DAO Context Spring MVC 既 存 のMVC フレームワーク を 利 用 可 能 Core 図 5-1- 基 -9 Spring Framework の 構 造 5-1- 基 - 17

解 説 1) Spring Framework の 構 成 Spring Framework を 構 成 するモジュールのうち 主 なものを 以 下 にあげる * Core container DI を 始 めとした 全 ての 機 能 の 基 礎 となる BeanFactory を 提 供 する BeanFactory の 基 本 的 な 機 能 は XML ファイルなどの 定 義 に 従 って オブジェクトを 適 切 に 組 み 立 てることである * Application context module BeanFactory を 拡 張 し 国 際 化 メッセージ 機 能 や アプリケーションのライフサイクルにおけるイ ベント 処 理 機 能 バリデーション 機 能 などを 提 供 する また JNDI アクセス 機 能 や EJB との 統 合 機 能 など エンタープライズ 分 野 向 けの 機 能 を 提 供 する * AOP module AOP 環 境 を 提 供 する AOP Alliance インタフェースに 基 づいたアスペクトの 構 築 機 能 と AspectJ(AOP が 可 能 となるように 拡 張 した Java)のサポートを 提 供 する * JDBC abstraction and the DAO module JDBC を 利 用 したプログラミングで 発 生 する 煩 雑 なコードを 削 減 し 簡 潔 な DAO(Data Access Object)の 構 築 を 支 援 する また AOP を 利 用 したトランザクション 管 理 機 能 を 提 供 する * Object-relational mapping integration module JDBC abstraction and the DAO module をベースとして Hibernate や ibatis といった OR マッ ピングフレームワーク 向 けの DAO の 構 築 を 支 援 する * Spring MVC framework Spring 自 身 が 提 供 する MVC アーキテクチャによるプレゼンテーション 層 を 構 築 するためのフレ ームワーク 2) Spring Framework と 他 のフレームワークの 連 携 * Struts との 連 携 Struts との 連 携 用 のプラグインが 用 意 されており 連 携 にあたっては struts-config.xml に 登 録 し ておく 必 要 がある 連 携 方 法 として 以 下 の 方 法 がある - アクションクラス 内 で ApplicationContext オブジェクトを 経 由 して Spring 管 理 下 の Bean を 取 得 する アクションクラスで DI 機 能 を 利 用 することはできない - リクエストが Spring 管 理 化 のアクションクラスに 委 譲 されるように Struts の processorclass として DelegatingRequestProcessor を 指 定 する アクションクラスは 通 常 の Bean と 同 様 に Spring のコンテキストに 登 録 する この 場 合 アクションクラスで DI 機 能 を 利 用 できる * Hibernate との 連 携 Hibernate との 連 携 にあたっては 抽 象 化 レイヤとして HibernateTemplate を 利 用 することができ る HibernateTemplate を 利 用 することで セッションのオープンとクローズといった 手 続 きを Spring にまかせることができる HibernateTemplate の 設 定 情 報 として SessionFactory の 生 成 に 必 要 な 情 報 (DataSource クラス Hibernate マッピングファイルなど)を Spring コンテキストで 指 定 する 3) Spring Framework アプリケーションの 開 発 ツール Spring Framework を 利 用 したアプリケーションの 開 発 を 支 援 するツールとして Eclipse のプラグイン Spring IDE が 公 開 されている 5-1- 基 - 18

スキル 区 分 OSS モデルカリキュラムの 科 目 レベル 開 発 体 系 分 野 5-1- 基 開 発 フレームワークに 関 する 知 識 基 本 習 得 ポイント 5-1- 基 -10. Seasar2 の 構 成 と 特 徴 対 応 する コースウェア 第 15 回 Seasar2 の 概 要 5-1- 基 -10. Seasar2 の 構 成 と 特 徴 DIxAOP コンテナ 実 装 のひとつである Seasar2 の 基 本 的 な 仕 組 みと 基 本 的 な 構 成 特 徴 について 解 説 する また Struts や JSF Hibernate など 他 のフレームワークとの 連 携 や 開 発 ツールなど 実 際 の 利 用 に 有 効 なトピックを 紹 介 する 学 習 の 要 点 * Seasar2 コンテナは DI と AOP の 実 行 環 境 を 提 供 するほか ソースコードを 修 正 した 際 の 再 デ プロイ および アプリケーションサーバの 再 起 動 なしに 修 正 を 認 識 する HOT deploy 機 能 を 備 える * Seasar プロジェクト 内 には Seasar2 コンテナが 提 供 する DI/AOP/HOT deploy 機 能 を Struts や JSF など 既 存 のフレームワークと 共 に 利 用 することを 目 的 とした 様 々なサブプロジェクトが 存 在 する * Seasar2 の 開 発 に 利 用 できるツールとして 利 用 するフレームワークに 応 じた Eclipse のプラグイ ンが 提 供 されている 図 5-1- 基 -10 Seasar2 プロジェクト 5-1- 基 - 19

解 説 1) Seasar2 の 設 定 Seasar2 は Spring と 同 様 DI と AOP の 環 境 を 提 供 するコンテナ/フレームワークである 従 来 Spring では 設 定 の 多 くを XML ファイルで 行 っていたため 設 定 ファイルの 記 述 が 膨 大 なものとなり 開 発 者 の 負 担 となる 場 合 があった Spring2.5 では アノテーションを 利 用 することで XML ファイルによる 設 定 量 を 減 らすことが 可 能 になっているものの コンテナの 動 作 を 開 発 者 が 明 示 する という 方 針 は 変 わっていない Seasar2 では Spring 以 上 に 設 定 量 の 削 減 に 力 を 入 れており コンテナが 自 動 的 に 設 定 を 行 う 機 能 が 充 実 している 以 下 に 例 をあげる * 自 動 バインディング DI を 利 用 する 際 に 依 存 関 係 を 明 示 していない 場 合 でも インタフェースやクラス 属 性 名 など によってコンテナが 自 動 的 に 依 存 関 係 を 解 決 する * コンポーネントの 自 動 登 録 ファイルシステム およびjar ファイルからクラスを 検 索 し Seasar2 のコンポーネントとして 自 動 的 に 登 録 する コンポーネントに 対 する 名 前 付 けも 自 動 的 に 行 うことができる * アスペクトの 自 動 登 録 アスペクトの 適 用 先 となるクラスのクラス 名 のパターンや 実 装 インタフェースを 指 定 することで 複 数 のクラスに 対 し 自 動 的 にアスペクトを 登 録 する 2) HOT deploy Seasar2 には HOT deploy と 呼 ばれる コンテナに 登 録 されたクラスを 自 動 的 にロードし 直 す 仕 組 み が 存 在 する HOT deploy 機 能 により ソースコードを 修 正 した 際 に アプリケーションサーバの 再 起 動 や プログラムの 再 デプロイを 行 うことなく 修 正 結 果 を 確 認 することが 可 能 になる 3) Seasar2 と 他 のフレームワークの 連 携 Seasar プロジェクトには Seasar2 で 既 存 のフレームワークを 利 用 することを 目 的 とした 様 々なサブ プロジェクトが 存 在 する 以 下 に 例 をあげる * Teeda JSF に DI と AOP の 機 能 をベースとした 拡 張 機 能 を 提 供 し より 開 発 しやすい 環 境 を 提 供 する View には JSP の 代 わりに HTML を 利 用 する * SAStruts(Super Agile Struts) Struts をベースとした POJO と DI を 中 心 とするフレームワークを 提 供 する アクションクラスやア クションフォームには POJO を 利 用 する アクションクラス 内 で 必 要 なオブジェクトはアノテーショ ンによる DI で 取 得 する * S2Hibernate-JPA Seasar2 Hibernate3 Hibernate Annotations Hibernate EntityManager を 連 携 させ Seasar2 の アプリケーション 内 で JPA を 利 用 することを 容 易 にするフレームワーク 4) Seasar2 アプリケーションの 開 発 ツール * Kijimuna Eclipse プラグイン Seasar2 の 設 定 ファイルである Dicon ファイルの 編 集 を 支 援 する * Dolteng Teeda 向 けの Eclipse プラグイン ソースコードの 自 動 生 成 など 様 々な 機 能 を 提 供 する 5-1- 基 - 20