長野工業高等専門学校紀要第
3 3
号( 1 9 9 9 ) 2 1
JavaによるWWWとDBを利用したレポート受理システムの試作
鈴木彦文 保坂歩美 八重澤麻衣
The trial production of the report submit system which used WWW and DB system by J a v a
Hikofumi. SUZUKI and Ayumi. HOSAKA and Mai. YAEZAWA
To da y ,a sar e s l l l tt ha tt hel nt e me twa spo pu la r i z e dr a pi dl y ,t hes ys t e m whi c hl l S e dWW i so nt he i nc r e a s e .So , wede ve l o pt her e po r ts ubm its ys t e m whi c hWWW s y s t e m c o nbi ne dw it ht heDBs ys t e m.
Ar e po r ts ubmi ti sa ut o ma t e dbyl l S l ngt hi ss ys t e m t hr o u g h t heWWW・Mo r e o v e r ,t e a c he r sc a no bt a in t hes t ude nt ' si nf o r ma t i o n,a ndt hei mpr o v e me nto ft hec l a s sa ndt hee xpe r ime ntbe c o me spo s s i bl e .
キーワード:レポー ト受理,CAI,Ja . va
,WW
W,Dat a Ba s e
l. はじめに
今 日のインターネ ットの急速な普及にともない,
WW W ( Wor l dWi deWe b)
ブラウザを端末の代替として使ったシステムが増加している.このシステム が利用するデ」タ量が少ないうちは,通常のファイル を用いたデータ管理で十分だった.しかし,データ 量の増大とともに,大量のデータの管理が可能なデー タベースとの連携が必要不可欠になってきた.また, システムが複雑になるにつれ,HTML(
Hype rTe xt Mar k n pLa ngua ge )
からフォームとCGI ( Co mmon Gat e wa yI nt e r f ac e ) ( WWW ブラウザからの要求に
対 しWW W サーリくが別のプログラムを起動し,その 結果をブラウザに返す際のインタフェース)を用いる だけでは,十分な機能を提供しきれなくなり,Ja va
ア プレットが広 く利用されるようになってきている.そ こで,本研究 では
WWW
サーバ とDB ( Da t aBa s e )
サーバを用い,Jav aとデータベースを
連携させることにより,長野高専において 「紙1また は 「フロッピー」を媒介にしていたレポー ト提出及び 受け取 りを,W WW ブラウザ上で行 うシステムの開 発を行った.このシステムは,ペーパーレスなレポー ト作成や自宅または寮でのレポート提出を可能にする.よって,レポー ト碇出の簡略化,レポー トのデータ ベース化が実現される.
レポー トのデ」タベース化は教官側にとって利点が ある.今まではレポー ト評肺後,そのレポー トは学生 に返却しているため,学校側には情報が残らない.こ
●電子情報工学科 助手,…亀子情報工学科
6
期生 原稿受付1 9 9 9
年1 0
月2 9
Elれでは,前年度の学生との理解力の比較が難しい.比 較をすることによって,教官側の指導方法の改善が可 能になる.
2.
システム概要本システム (図
1 )
では,Ja
Ⅷ を用いて作成したア プレットにより,データベース‑アクセスする.また, データベース‑アクセスするためのAPI ( APpl i c at i on l nt e 血 c e )
としてJDBC
を使用する・図1
よ り,JDBCにアクセスする方法は 3
通 りある.( 1 )
アプレットから直旋アクセス( 2 )WWW サーバを経由してアクセス
( 3)WWW
サーバ を経 由 してAS( Appl i c at i on Se r ve r )
を経由しアクセス2
( 1 ) ,( 3)
はJDBC‑のアクセスが可能だが,( 2)
はJDBCのセキュリテ ィモデルでアクセス不可能であ
る・( 2)
の方法でJDBCにアクセスするには,セキュ リテ ィレベルを下げたJDBC
ドライバを構築し,イ ンスト‑ソレしなければならない.また,セキュリティ レベルを下げたために,日本語が使用不可能になるの で,( 2 )
の方法は好ましくない・ww
w ブラウザ上で本システムを使用するには( 3 )
の方法でなければならない. しかし,本研究でDBMS( Da t a Ba s eMa nage me ntSys t e m)
として使 用 したPos t gr e SQLに対応 したサーブレットが現在
開発中のため,( 3)
の方法は使用不可能である・よっ て,現在,本システムでは( 1 )
のアプレットから直旋直接アクセスできない 亀 代理でアクセスを行う
J a v a
で作られた サーバ (サーブレットなど)2 2
鈴木彦文 ・保坂歩美 ・八重浮麻衣アクセスする方法をとっている.そのため
,WWW
ブラウザ上ではなくアプレットビューワ上でのみ軌作 する.また,プログラミングは図
1
の破線で囲まれた 部分のみを考えれば良い.図
1
システム構成図 システムに使用したものを以下に挙げる.OSFr e e BSI ) 2. 2. 7
v
rw
W サ ーバ Apa c he l
・3
・4 1)DBM SPo s t g r e SQI . 6. 4. 2 2 )
音 括 Ja v a( JDK
l.1 1 6)
JDI
(はJ a NaDe ve l o pme n tK it
の略である.2‑1 Java
J a v a
は,SunMi c r o s ys t e ms
社が開発したオブジェ クト指向型のインタープリタ音詩である.インターネッ ト環境において,特定のハードウェアシステムやOS
に依存しないアプリケーションを作成することを目的として開発された.
本 シ ス テ ム で は
,Ja v a
ア プ レットに よ り,RDB( Re l a t i o na lDa t a
BaBe)3‑の接続処理を行なっ ている.図2
の矢印では次の処理をしている.アプレットは
RDB
アクセス処理を行なうものである.( 1 )WW
W サーヅh UR
Lで指定されたETML
ファ イルを要求する.( 2 )ⅡTML
ファイルをダウンロードする・( 3)ⅡTML
内で使われているアプレットを要求する・( 4)
アプレットをダウンロードする・( 5)RDB
‑アクセスし処理を実行する・2‑2 JDBC
JDBC
は,Ja v a So f t
社が開発 したJ a v a
プログラ ムからRDB
にアクセスするためのJa v a API
であ る.これはJa v a
プログラミング言語で書かれたクラ スとインタフェースのセ ットから構成 される.Ja v a
と
J DBC
を組み合わせることにより,作成したプロEd g e rF. Co d d
博士が錬 したr脚t
,J
に基づいて開発され たデータベースシステムWW≠br ows e r
Vr
Ws c r y e rma c
tdnc
U R L 指 定( ( 1 2) ) WW s e r y e r
≡ ≡
m L表示(3) (4) rrTML表示
(
51 ‑ L RDB
Ap 実行 pl e t
図
2 Ja v a
アプレットによるRDB
アクセス グラムは異なるプラットフォームでも実
行可能である.2‑2‑1 JDBC
の構造J DBC
を使ってRDB
にアクセスするプログラムの構造を図示すると,図3
のようになる. 4)
≒ ≡ ・ (
︼図
3 J DBC
の構造図
3( 2 )
のJDBCAPI
とは,図3( 1 )
のアプレッ トから図3( 3 ) J DBC
ドライバマネージャを経由して 図3( 5 ) J DBC
ドライバを呼び出し,SQL
文を実行し たり,結果を受けとったりするためのインタフェース を規定したAPI
である.図
3( 4) JDBC
ドライバ API
とは,図3( 3) JDBC
ドライバマネージャから図3( 5) JDBC
● ドライバを取 り扱 うためのインタフェースを規定したAPI
であり,JDBC
ドライバを実装する際に従うAPI
である.そ のため,通常のアプリケーションの作成者はこのAPI
J a v a に よる W W と
DBを利用 した レポー ト受理 システムの試作を無理に学習する必要はない.
2‑2‑2 JDBC
ドライバ データ心 ‑ス‑の接 続にはJDBC
ドライバを使用するが,現在このドライバは
4
タイプに分類される. 3)
( 1 )J DBC‑ ODBCBr idg e
ODBC
ドライバを経由してデータベースにアク セスする.ODBC
ドライバをクライアントにお く必要があるため,セキュリティ制限のあるアプ レットからは直按使用できない.( 2) Na t i veAPIPa r t l y‑ J a ‑
データベース固有の
API
呼び出しを経由してデー タベースにアクセスする.クライアント上のライ ブラリを使用する必要があるため,セキュリティ 制限のあるアプレットからは直旋使用できない.( 3 ) Ne tPr o t oc o lAl l ‑ Ja v a
JDBC
呼び出しをデータベース独自のネットワー クプロトコルに変換 し,サーバ ミドルウェアを 経由しデータベース‑のアクセスを行 う. 全てJa v a
で実装されてお り,アプレットから使用可 能 (ドライバをダウンロードできる)・( 4 ) Na t i vePr o t o c o lAl LJ a va
JDBC
の呼び出しをデータベース国有のプロトコ ルに変換 して直接アクセスする.全てJa va
で実 装されてお り,アプレットから使用可能 (ドライ バをダウンロードできる)本システムでは
,( 4 ) Na t i vePr o t o c o lAl l ‑ J a v a Dr i ve r
を使用した.3.
主な機能学生側の利用は,レポー トの提出,自分が過去に提 出したレポー トの確瓢,そして,教官からのレポート の評蛎を確露することである.また,教官からの利用 は,レポー ト提出状況を見ること,学生から出された レポー トを見ること,それをもとにレポー トの評価を することである.今回は,学生側からの利用のみの開 発を行った.学生からのレポート提出の際に必要な登 録事項は
( 1 )
学年( 2 )
出席番号( 3 )
名前( 4 )
レポー ト名( 5 )
レポート本文,となる・レポート名は敏郎 ミ 指定するもので,学生全員共通のものである.4.
登録 ・検索の流れ図
4
は本システムの登録,検索の流れを教官と学生 側に分けて,表 したものである.教官と学生の間に位 置しているのがDBMS
である.テーブルとは,RDB
の放念であり,情報を列と行で管理するものである.2 3
まず,教官がレポー ト名の登録を行 う.例えば,悼 報理論という教科でマルコフ情報源のプログラムを作 成するという課題であったら
, r
マルコフ情報源」 と 登録する.情報理論を受けている学生はレポー ト名を 検索する.レポー トを作成したら,先ほど検索したレ ポー ト名 「マルコフ情報源」 と指定 して登録を行 う.「マルコフ情報源」のレポー トを出した教官のみ,そ のレポー トを検索できる.敏郎まそのレポー トをみて, 評価をし,その評価を登録する.学生は自分の評価の みを検索し,確認ができる.図に示していないが,学 生は過去に出したレポー ト内容も,評価と同様に検索 できる.また,教官もレポー ト提出状況をレポー ト内 容 と同様に検索できる.
DBS ,‑.亡学生 :,‑‑. レポート名作lレポ‑榊 ,.r1 レJr‑ト… r‑‑ヱ
A). 暮Jレtポするートテーブ名手ル レポート毛暮■
レポートt■■ 匝 I
レポ小机 L1 ItレするポートテープtJL' ‑ レ1‑ポ‑ト作JL I
f f I
JL ■■I. I レポート■書 .. IJtする■Ifテーブル Ir書暮■1‑
図
4
登録 ・検索の流れ5.
画面5‑1
アクセス制御画面本システムを使用するには,まずユーザ
I D
とパス ワードの入力が必要である.この入力を,図5
のアク セス制御画面で
行う.これは,事前にユーザ登尉 ミ行 われている学生のみがこのシステムを使用できるとい うアクセス制限を行 うためのものである.(ユーザ登 録を行 うのはシステム管理者である.)図
5
アクセス制御画面2 4
鈴木彦文 ・保坂歩美 ・八重揮麻衣5‑2
入出力画面図
6
は,このシステムを使用するための学生用の入 出力画面である.図
6
学生用の入出力画面 それぞれの入力方法を以下に示す.学年,出席番号,名前 学年はリス トから選択 し,也 席番号と名前は各自のものを入力する.
レポート名 教 官から指定された レポー ト名をリス ト から選択する.この名前がそのままテーブルの名 前になるので,学生全て共通である.
テキス トファイル ボタンが押されると,ファイルを 選択する画面が出て くるので,作成したレポー ト のファイル名を選択する.
イメージファイル テキス トファイルと同様で,ここ では画像ファイルの選択を扱 っている.
登録 必要事項を指定 したら,このボタンを押すと登 録が行なわれる.登録が正常に行われると,図7 が表示される.
検索 過去に提出したレポー トを検索するためのもの である.はじめに上部のレポー ト名を記入してか ら,このボタンを押す.すると,中央のエリアに 学年からレポー ト内容まで全て表示 される.
評価 左のボタンからレポー ト名を選択 してこのボタ ンを押すと,教官がそのレポー トについて評価 し た結果が自分の分だけ検索される.これも中央の エ リアに表示される.
クリア 入力エ リアから入力した文字を消去する.
登録が正常に行われると,図
7
が表示される.この 画面の終了は0
Ⅸ ボタンをクリックする.検索が正常に行われると,指定 した レポー トの内 容が図
6
の中央のエ リア内に表示 される. しかし,塞 録 されていないレポー トの検索を行 うとエラーが表示 される.システムの終了は図6
の左上のAppl e t
をク リックし,Ql l i t
を選ぶ.図
7
登録完了画面6.
まとめこのように,学生からの利用のみだが
,J a v a
とデ」タベースを連勝させ,レポー トを提出するアプレット m 成,実行することができた.
現段階では,セキュリティ上,作成したアプレット は
WW
W ブラウザ上では軌作しない.しかし,アプレットビューワでは動作確認できたので,サーブレッ トの完成次第で今回作成したアプレットの改善をしな くても
,WW
W ブラウザ上での使用は可能となる.また,ファイルの使用 (図の取 り込み)が不可能で ある.これは,開発に使用した
JD
E のバージ ョンを 1.1.6から1.2に劫ずることによって実現可能である.しかし,現在
pos t gr e SQ
UまJD
I(1 . 2
に対応 してい ない.よって,Post g r e SQLが JD
I(1 . 2
に対応次第, ファイルをロー ドし,図の登録等ができる.課題としては,教 官からの利用を可能にすることで ある.これは,学生用の入出力画面の磯把に,レポート 提出状況の確認と成績評価の登録を加えることによっ て実現できる.
参 考 文 献
1 )J APANI ZEDAPACHESERVERPROJ ECT ht t p: / / www. a pa c he ・ o r ・ j p/
2 )
石井達夫 著 :「 Po s t g r e SQL
完全攻略ガイドJ
,技術 評論社( 1 9 9 9 ) .
3 )
菊田英明 著 :「実践JDBCJ a
Ⅷ データベースプログ ラミング術」,オーム社( 1 9 9 8 ) .
4 )日本サン ・マイクロシステムズ株式会社 編 :
rJ a v a
プ ログラミングJ DBC
」,サイエンス社( 1 9 9 7 ) . 5 )
田口毅 著 :「 J AVAPRESSv o l . 3 JJ
DK1 . 2
の新機能 ,技絹評論社