特定非営利活動法人ITコーディネータぐんま
  • カテゴリ ITシステム の最新配信
  • RSS
  • RDF
  • ATOM

オープンセミナー実績 - WEB開発の最新動向

WEB開発の最新動向

カテゴリ : 
ITシステム
執筆 : 
fujieda 2011-3-31 21:14
ITシステムの開発は様々なソフトウェア技術から構成されます。今回は筆者が実際に
仕事で使用しているいくつかの仕組みについて解説します。
■CMS/パッケージソフトを使用する
特定の業務(販売管理等)にすぐに使えるように開発済みのソフトを使用します。
ERPソフトやネットショップ専用のソフトでは、カスタマイズやアドオンの組み込み
などがよく行われます。

■フルスクラッチ開発
ゼロから開発します。コストと開発期間がかかります。

■ライブラリ使用
プログラムを作るにあたって、何度もよく使う処理は部品化しておいて再利用する
ことがよくあります。プログラム言語にはこの部品を外部から組み込んで使えるような
「ライブラリ」という仕組みがあります。
他のユーザーが作成して公開しているケースもあります。特に世界規模でメンテナンス
されている品質の高いライブラリもあり、Perl言語の「CPAN」、PHP言語の「PEAR」など
が代表です。

■テンプレートエンジンの使用
ソフトの多くは内部処理とユーザーインタフェース処理に分けることができます。
この開発を分けることができる仕組みです。
Webアプリケーションのテンプレートエンジンでは、「テンプレート」という画面の
雛形とデータを合成して出力を得ます。例えば、
\150,000円
という表示のテンプレートは、
\{$price|number_format}円
になります。内部処理では$priceの内容を「150000」という生データを扱うことに
専念できます。
ロジックとデザインを分離でき、デザイナーとの分業やメンテナンス性にすぐれます。

■フレームワークの使用
ソフトの動作環境(Windowsソフト、Webアプリケーションなど)によりある程度共通
したフローがあります。そのためのライブラリ群です。
ここではPHP言語のWebアプリケーションフレームワーク「cakePHP」の特徴を挙げます。

・MVCアーキテクチャー
プログラム動作を、
 ・Model(ビジネスロジック)
 ・Contoroller(画面遷移)
 ・View(表示)
に分けることによりメンテナンス性を増します。特にフレームワークでの開発は自分
流のコードが書きにくくなるため、多人数開発においてのルール作りが促進されます。

・「設定よりも規約」
設定ファイルを数多くするよりファイル名やテーブル名を規約に沿って付けると、
読み込むべきファイルや関連するデータを自動的に処理してくれます。

・O/Rマッピング
実際のSQLは単一のテキストであるため事後のメンテナンス性に劣りますが、
O/Rマッピングは設定形式からSQLを自動生成するため、改変や動的な修正が可能です。

・リレーション
Modelでリレーションを設定しておくと関連するデータを自動的に取得してくれます。
 1対1(hasOne)user は1つの profile をもつ
 1対多(hasMany)システムの User は複数の recipe をもつことができる
 多対1(belongsTo)recipe は user に属する
 多対多(hasAndBelongsToMany)Recipe は複数の tag をもち、かつ属する

・バリデーション機能
入力データを検証します。
 notEmpty(必須入力)
alphaNumeric(英数字のみ)
email(Email形式)

・サニタイズ
悪意のあるデータを自動的に無効化します。

・カスタムURL・ルーティング
アクセスされたURLアドレスを解析してプログラムを呼び出します。
http://example.com/コントローラ名/アクション名/パラメータ1/パラメータ2
/パラメータ3

・Auth(ログイン認証)
指定以外のページにアクセスすると自動的にログイン画面に飛ばすなどできます。

・管理画面(Admin Routing・Prefix Routing)
「/admin/...」にアクセスした場合に一括してログインチェックをかけるなど処理を
分けることができます。

・各種プラグイン(ビヘイビア・コンポーネント・ヘルパー)
面倒なメール送信やツリー構造を扱うプラグインなど外部のライブラリを組み込む
ことができます。

・レイアウト
サイトレイアウトとして、共通のヘッダー、フッター、ナビゲーション、サイドバー
に表示を包むことができます。

・テーマ
ビューを丸ごとグループ化して切り替えることができます。例えばアクセスした
クライアント端末に応じてPC用・携帯用・スマートフォン用・iPhone用などに表示を
分けることができます。

・ページング
リスト表示に対してページ送り、項目によるソートが実現できます。

・リクエストハンドリング
クライアント端末の情報に加え、XMLデータがPOST送信された場合の自動処理も
してくれます。

・セキュリティコンポーネント
Basic認証の実行やSSL接続の識別、POST用の一時キーの発行などを行います。

・ACL(アクセスコントロールリスト)
役員グループ、営業グループなどアカウントの所属グループに対してアクセス制限を
かけることができます。

・キャッシュ

・ログ

・Scaffolding
モデルとコントローラーを用意するだけで、ビューを自動生成してくれます。
プロトタイプが数分で動作できます。

・Bakeコマンド
コンソール対話形式でモデルとコントローラーを自動生成してくれます。

・国際化対応

・デバッグ制御
デバックレベルを設定できます。レベル2では実行されたSQLが表示されます。
公開用のレベル0ではエラー表示も抑制されます。

・テストケース対応

・parseExtensions
URLアドレスの末尾に拡張子をつけた場合、ビューを切り替えてデータ送信します。
デフォルトは「HTML」で、「RSS」「XML」「JSON」のほか、任意の形式も扱えます。

■Ajax
AjaxのAはAsynchronous(エイシンクロナス、非同期)の意味で、WWWブラウザーで
動作中のJavascriptからサーバーへの通信ができます。

・DOM(DocumentObjectModel)操作
HTML中の一部を書き換えることができます。

・エフェクト
視覚動作を提供します。表示非表示の切り替え、スライド、フェードインなど。

・イベント処理
DOM要素にマウスクリックや通信完了時などのイベントを割り当てます。

・Ajax
Ajax通信を行います。POST送信やタイムアウト、成功・失敗のステータスも取れます。

・プラグイン
プラグインで拡張が可能です。機能系・表示系・入力支援系などがあります。

■RESTful
ここまでは開発効率・開発コストの低減のお話でした。
RESTfulとはWebサービスのソフトウェアアーキテクチャーのスタイル(考え方・取り
組み方)のひとつで、分散した各サービス間(ブラウザーによるWeb閲覧も含む)の
メッセージング手法の提案です。

仕様
・HTTP標準の仕様のみで可能
・URL一意性、リソース志向。ひとつのURLは一つの意味しか持たない
 例:http://www.example.com/user/13(UPDATEメソッド) //ユーザーID13を編集する
・ステートレス、セッションレス。検索条件を裏で持つなどの条件によらない
操作 RESTful HTTPメソッド SQL(CRUD)対比
検索 /user GET SELECT
閲覧 /user/13 GET SELECT
追加 /user POST INSERT
更新 /user/13 UPDATE UPDATE
削除 /user/13 DELETE DELETE

デメリット
・UPDATE/DELETEメソッドは現在の標準的なWWWブラウザーに実装されていない
・ID以外のデータをURLで渡しづらい。

RESTfulの仕様は従来の「SOAP」「XML-RPC」に比べて簡単・単純・標準的なので
理解しやすく、他サーバー間との通信のみならず自サイトでAjaxを使用したユーザー
への利便性向上にも寄与できる点を特に強調しておきます。

特定非営利活動法人ITC群馬 正会員  藤枝 哲哉

トラックバック

トラックバックpingアドレス https://www.itc-gunma.com/modules/d3blog/tb.php/42
メインメニュー
ITコーディネータとは
ITコーディネータ協会

ITコーディネータは、経営とITの両面に精通したプロフェッショナル
経営者の立場に立って「真に経営に役立つIT投資」をサポートします
ITコーディネータとは

ITC群馬の紹介
設立:2004年7月12日
理事長:木島 隆
会員:27名(2020年7月現在)
目的:群馬県内で活動するITC(ITコーディネータ)や中小企業診断士をはじめとする経営と情報の専門家を核として、企業のIT導入・活用を支援する事業などを行い、企業の情報化に寄与すること。
活動内容:
(1)ITC活動に関する情報の交換・共有化
(2)ITC制度の普及及び広報活動
(3)テーマ別研究会による研究活動
(4)企業のIT導入・活用のための支援活動
(5)ITCを目指す方々のための支援活動
(6)その他、ITC群馬の目的を達成するために必要な事業
お問合せ
特定非営利活動法人
   ITC群馬
〒371-0232
群馬県前橋市茂木町407-7
Tel:050-3700-3538
ログイン
ユーザ名:
パスワード:

パスワード紛失: 新規登録
Copylight 2006 ITC-gunma All right riserved.