« SEが死ぬほど忙しいのは彼女もわかってくれるよね? | トップページ | 【告知】第 24 回 Ruby/Rails 勉強会@関西 »

2008/03/08

業界から見たIT技術の変遷

IT技術の変遷について考えてみると、業界の変遷と照合すると分かりやすくなる。
最新のIT技術が必要とされる業界が、流れとして、鉱工業や金融から、小売などの商業やマーケティング系へ移りつつある。

昔は、工場や銀行のようなミッションクリティカルな業務システムに、メインフレーム+Cobolで構築していた。
昨今は、メインフレーム+Cobolを、Java/.NET+オープン系システムへリプレースする案件が非常に多い。
それらの案件は大抵、大規模案件で、いつもデスマーチになる。
技術者としても、部品ばかり作って、システムの全体像が見えず、楽しくない。

昨今の小売などのネット注文Webシステム、SNSなどは、Java/PHP/Perl/Ruby+Unixで構築することが多い。
例えば、Amazon、楽天、mixiなど。
それらの案件は中小規模だが、いつも最新のWeb技術を試すし、技術革新のスピードが猛烈に速い。
技術者としては、いつも新しい技術を使うので、しんどいけれども、ワクワクする。

小売系のWebシステムの特徴は、Webシステムの特徴を生かしきっていること。
Webシステムの最大の特徴は、2つある。
一つは、クライアントはPCブラウズ又は携帯なので、Webサーバーへモジュールをデプロイすれば簡単にリリースできる。
もう一つは、スケールアップがやりやすいこと。Webサーバーを増設すれば、簡単に処理性能をUpできる。
昨今は、サーバーのコストも安くなっている。サーバーのメモリを64G積もうとしても、そんなにお金はかからない。
メインフレームよりも安く、更にカスタマイズしやすい。

小売系の業務は実はかなり複雑。
大まかな流れは下記の通り。

1・バックエンド:オペレータが商品マスタを投入する

2・PCブラウザ/携帯:ユーザが会員登録+商品検索+商品を注文する。更に、注文履歴や配送履歴を閲覧する。

3・バックエンド:オペレータが、ユーザーの連絡を受けて、ユーザーの注文データを修正したり、クレジットカード会社へ注文を取り消したりする。

4・バッチ:オペレータが売上計上する。更に会計システムや配送会社へ注文データを送る。

つまり、アクターが変わるたびに、システムが4つも変わる。
Webシステムだけで閉じているなら、テストも簡単だが、Web→バックエンド→バッチまできちんとデータが流れるか、その業務のインターフェイスを設計して品質を保つのが難しい。

業務的には、はぶさんやT字形ERによると、商品マスタというリソースが多い会社ほど、ビジネスを展開しやすい。
つまり、リソースを組み合わせることで、トランザクションを増やすことができる。
例えば、商品と顧客というリソースの関係から、注文だけでなく、購入履歴、お勧め商品、お気に入りリスト、優先会員へ割引注文、などのトランザクションを生成できる。

決済処理は、小売系で最も重要な機能。
小売系の会社は、自社のクレジットカードで決済させたがる。
理由は簡単。注文者の購入履歴を把握できるから。クレジットカード決済データがたまるほど、そこからマーケティング調査できる。
また、コンビニ注文は5日以内にお金を払わないと注文キャンセルらしい。
最近は、代引き決済なんてできるらしい。

また、小売系は、季節商品が多い。
冬はおせち・お歳暮・クリスマスケーキ・福袋、春はバレンタインデー・お花(母の日が年間で一番売れる)、夏はお中元など、やたらとイベント単位に大量に売りさばく業務が多い。

そのたびに、カスタマイズした機能を作り、商品データを流し込む作業が発生して、年中忙しいけれど、それらの商品でテストするのは楽しい。
少なくとも、女の子SEは、クリスマスケーキや女性用化粧品、女性用婦人服の商品を使ったテストが楽しいらしい。
僕もテストしたおかげで、女性用化粧品のブランドをかなり覚えたよヽ(^。^)ノ
クリニーク社の製品は実は、男性用もあるらしい、とか。

技術的には、EJBサーバーを使うとか、携帯ならFelicaや3G対応などハード面も技術調査が必要。
特に携帯は、画像の表示サイズが小さいとか、絵文字を使ったり、ハード面の制限も多い。
PCなら、ユーザが使う場面では、AjaxでUIを使いやすくするのが最近の流行。
バックエンドのシステムは、FlashやFlexなどで、昔のクラサバのシステムに近いUIにするのが普通だろう。
今年以後は、バックエンドは、AdobeAirやMSのSileverlightを使って、デスクトップアプリのようなUIを使うようになるだろう。

プログラミング的には、ミッションクリティカルな業務システムでは、Java技術がかなり枯れて安定している。
Javaはオープンソースのフレームワークやライブラリが多く、ノウハウも多い。
しかし、開発のスピードがJavaで遅いと感じる時が多い。

だから、PHP/Perl/Rubyを使うシチュエーションが多くなりつつあると思う。
Amazon、楽天、Mixi、はてなはいずれもPerlを使っている。
これからは、Ruby on Railsかな。

Webシステムの開発スタイルはアジャイル開発。
XPが最もマッチする。
特にUIやデザインは、顧客がリリース前に一度確認したがる。小売系は見た目重視だから。
だから、結局、開発チームに顧客も巻き込んだ形になる。

更に、ソース管理とビルドツールを統一的に組み合わせて、常時ビルドできる環境が普通だろう。
だからこそ、毎日リリースする開発体制を組むことも可能。
以前のメインフレーム上の開発では考えられないだろうが。

このように、ハード面も技術面もプログラミング面も開発プロセスでも、工場や銀行のシステム開発は、時代にマッチしなくなってきた。

昨今のように、3ヶ月先の景気すら見えない時代では、素早く変化できるビジネス、そして変化に対応できるシステム開発が最重要な技術。

Webシステムの最大の特徴は、リリースとスケールアップが簡単なこと。
Webシステムは、今の時代に一番マッチしている。

|

« SEが死ぬほど忙しいのは彼女もわかってくれるよね? | トップページ | 【告知】第 24 回 Ruby/Rails 勉強会@関西 »

経営・法律・ビジネス」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: 業界から見たIT技術の変遷:

« SEが死ぬほど忙しいのは彼女もわかってくれるよね? | トップページ | 【告知】第 24 回 Ruby/Rails 勉強会@関西 »