• ベストアンサー

webアプリケーション開発の考え方

卒業課題としてデータベースを利用したwebアプリケーション開発を始めたのですが、考え方というか開発手順がよく分かりません。 IDとパスワードを入力してログインし、従業員一覧から各ページに遷移していくというものです。私はこの一覧の制作を担当していますが、ログイン処理をしてリクエストセッションにデータを保存して…というところまではいいのですがそれ以外に必要な処理が分かりません。 MySQL1.5+eclipse3.1です。 漠然としていますが、ご教授いただけますようお願いします。参考になるサイトでも結構ですのでお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • guttyjr
  • ベストアンサー率62% (5/8)
回答No.1

担当されている処理の流れをまとめると、 [処理の流れ] 1. ログインページでID、パスワードを入力し、ログインボタンを押下する。 2. 1で入力されたID、パスワードを照合する。  2.a 照合OKの場合は3へ  2.b 照合NGの場合はログインページへ 3. ログイン情報をセッションに保存する。 4. 従業員一覧情報をDBから取得する。 5. 従業員一覧ページに4で取得した情報を表示する。 のような感じでしょうか。 ログイン処理まではできているようなので、4, 5の処理が必要でしょう。 JavaでのDBプログラミングがわからないようであれば、 http://www.hellohiro.com/jdbcmysql.htm が役にたつと思います。 ちなみにMySQL1.5ではなくMySQL5.0ですよね?

shiro-joe
質問者

お礼

返事が遅くなってしまい申し訳ありません。 大変丁寧にご教授いただき誠にありがとうございます。 頑張って勉強をして質問する側から回答する側に変われるようにしたいです! 本当に有難うございます。 (MySQLのバージョンは5.0でした。失礼しました。)

その他の回答 (2)

  • covachan
  • ベストアンサー率38% (46/120)
回答No.3

認証機能は別担当なんですよね? であれば、要点は簡潔です。 ログイン処理で受け取ったデータを評価し、NGであればログイン画面へ、 OKであればそのまま次のページへ引き渡す為にページの中で保持するだけです。 通常、そのために使いまわされる認証情報は秘匿の為に暗号化します。特に難しいところは暗号化された認証情報のデコーディング(復元)と評価ですかね。 ここらあたりのつくりは他の機能画面との打ち合わせが必要ですね。

shiro-joe
質問者

お礼

ご回答、有難うございます。 情報の暗号化は時間的余裕があればやるということになっています。 個人的には一番気になるところなのですが。普通のサーブレットみたいにプログラムを書いていってどうして情報が暗号化されるの??不思議です。おいおい勉強していきたいと思います。 現代において欠かせない技術ですし。 有難うございました。

回答No.2

いわゆる教科書に書かれているようなものとか、正常系の処理については、多くの書籍やWebサイトに構築の仕方を示したものがあるので、 それを参考すると良いと思います。 Webアプリケーション開発を行う上で、注意しなければならないことを考察する必要があります。 概要設計・詳細設計・構造設計・テスト設計・品質管理設計・構成管理設計・配布管理設計などが必要になります。 これらの設計を行う上で、前提用件の確認・確定を行う必要があります。 ソフトウェアの品揃えやハードウェアの品揃えなどについても十分な考察が必要になります。 制約事項がある場合、それに伴うリスクを十分に検討しておかなければなりません。・・・設計段階で、そのリスクをどのように回避するのか、決定しておく必要があります。 利用ユーザのことや、資源関係についても考察しておく必要があります。 ・不特定多数の人達が利用するのか、または特定化された人のみが利用するWebアプリケーションであるのか、 ・Webアプリケーションは、どのようなネットワーク環境で利用されるのか、ローカルLAN内なのか外部LANからも利用できるものなのか、 ・利用できるポートは何が利用できるのか、 ・VPN配下での運用とするのか、ネットワーク資源、ルールの確認が必要。 利用される方が善意の方達だけでなく、悪意を持った人達が利用されると仮定して構築する必要があります。 ・通信データへの不正アクセスをどのような対策を用意するのか、 ・データベースへの不正アクセスをどのような対策を用意するのか、 ・データベースのデータ構造(テーブル構造)としてどのようにするか、 ・データベース認証についてどのようにするのか、ネットワーク上のLANアナライザーで解析されないようにするためにどのような通信暗号化を利用し、保護を図るか システム障害設計をどのように考えるかにより、Webアプリケーションの品質レベルが大きく変わります。 技術的なことは、どのようなシステム環境で、Webアプリケーションが動くのか、動かすのかによっても大きくかわります。 これほど、すくない文字数では、語ることはむずかしいでしょうね。 考え方として参考にしてもらえれば幸いです。

shiro-joe
質問者

お礼

ご教授有難うございます。開発で精一杯になってしまってセキュリティは二の次になっているのが現状です。 1つの方向からだけでなく多方面からの見方が重要になってくるのですね。貴重な時間を割いていただき有難うございます。 頑張ってよりよいプログラム開発をします。