ホーム特集・コラムスーパーエンジニア > 教えて!! スーパーエンジニア
教えて!! スーパーエンジニアCTCのスペシャリストがITの効果的な活用法を指南
※このコンテンツは2007年3月にITproに連載したものです。
第3回 Web系アプリ開発 システム開発における顧客本位とは一歩引いて本質的な課題を浮き彫りにすること
Q ある業務部門から,他の業務部門が構築したシステムを利用するたびに,画面の切り替えやID/パスワードの入力が必要で能率が上がらないと苦情が出ています。「システム統合にはEAI(Enterprise Application Integration)やWebサービスを利用したSOAが有効だ」といわれますが,そろそろ当社も導入する時期でしょうか。
A 経営層や業務部門の方とよく相談するのが先決です。例えば,現行の業務システムの一部/全部の開発・運用,あるいは業務そのものを社外に委託(アウトソーシング)する予定が近い将来に組まれている可能性はないでしょうか。業務プロセスに大きな変更が伴う場合,仕事のやり方が現状とまったく変わってしまうかもしれません。システム統合において,どのような手段や技術を選ぶべきか判断するのは,それらを踏まえてからでも遅くはありません。

オープンなシステム開発を加速するWeb2.0やSOAの考え方とは

 「次世代のWeb」を総称する「Web2.0」という言葉をよく耳にします。Web2.0とは,既存の技術を組み合わせ(=マッシュアップ:混ぜ合わせるという意味)により,新しい付加価値を持つアプリケーションを開発し,互いに利便性や面白さを追求しようというムーブメントを表しているといえます。そこには,開発したAPIやツールを互いに公開・共有しあうことで,さらに新たな付加価値を持ったソフトウェアやシステムを作り出していこうという思いが込められています。

 その1つにAjax(Asynchronous JavaScript + XML)技術があります。Webアプリケーションの開発環境では,AjaxやFlashなどのリッチクライアント系の新しい技術が次々と実用化されています。こうした技術により,これまでクライアント・サーバーシステムに比べて見劣りしていたWebシステムのレスポンスや表現力は大幅に改善されてきました。

 Ajax技術におけるAPI群のように何らかのリソースを相互に公開・共有するというコンセプトは,SOA(Service Oriented Architecture)の考え方にもつながります。SOAはRESTやSOAPという通信プロトコルを介して,XMLで記述されたメッセージをやり取りする仕組みを指します。部品化(Webサービス化)された様々なアプリケーションがインターネット上で公開されており,それを活用することで業務アプリケーション開発を効率化することが可能です。

 双方の関係をビジネス・アプリケーションについて整理すると,利用者の目に触れるクライアント層,つまり「見える」部分をAjaxやFlashなどで操作性の高い表現豊かなリッチ・インターネット・アプリケーションを作るのがWeb2.0といえるでしょう。そして,ビジネスロジック層やデータベース層を構成するバックエンドの「見えない」部分について様々なサービスを組み合わせてシステムを再構築しようという取り組みが,SOAに基づくアプローチといえます。

サービス化の過程で業務プロセスを可視化する

 ただ,Web2.0やSOA,あるいはオープンソース・ソフトウェア(OSS)などを問わず,新しいからといって飛びつくと開発プロジェクトはうまくいかない恐れがあります。まずは導入の目的を明確にすることが大切です。

 例えばSOAは,社内に点在したデータや機能を部門の壁を越えて集約・統合する手法としては現実解となりえます。ただし,そのためには業務単位で照らし合わせたサービスの粒度や階層を検討することや,それに付随して複雑化した業務プロセスを整理・標準化することをしなければ,ITシステムを導入しても望んだゴールにたどり着くのは難しいでしょう。

 サービスの粒度や階層の見直しを通じて,自社の業務プロセスにおける課題,または「自社のコア・ビジネスは,Webサービスなどの標準パーツの組み合わせで構築できるのか,できないのか」などを考える機会とするのです。場合によっては情報システムやネットワークも自社で運用や保守を行うのではなく,データセンターにアウトソーシングし,社内ではシン・クライアント端末などから一元的にデータにアクセスしたほうがセキュリティも高まり,投資効率が有利な場合もあります。

 IT調達や開発については,情報システム部門が経営層や現業部門,あるいは外部のアウトソーサーとの連携を図りながら,主導的立場で実務を展開することがプロジェクト成功の鍵です。経営者もそうした視点を持って情報システム部門の立場を適切に位置づける必要があります。

Ajaxとは
 Ajaxとは,RIA(Rich Internet Application)を作るための手法のひとつ。「Asynchronous JavaScript + XML」の略称で,JavaScriptやDOM,XML,XML HTTP RequestなどのWeb関連の既存技術を組み合わせ,ブラウザ上にリッチインターフェースを作る手法で,地図アプリケーションやWebメーラーなどで使われています。Flashのようなプラグインをわざわざインストールしなくても,ブラウザのみで動作する手軽さがあります。
ページトップへ
Interview:お客様の業務の「あるべき姿」を真剣に考えること
亀田 積氏
ITエンジニアリング室 先端技術チーム
チーム長 亀田 積
CTCでは、OSS(Open Source Software)のコミュニティ活動にも早くから関与されているそうですね。

亀田 社内のエンジニア有志が,自分たちで開発した追加部品を開発元コミュニティへ提供するなど,コミュニティ活動へひと役買うことは以前からしていました。最近では,「Ruby」を軸にして地域活性化を目指す,という島根県における新しいOSSコミュニティ活動を試みており,当社もそれをバックアップしています。本プロジェクトにはRubyの開発者であるネットワーク応用通信研究所(NaCl)のまつもとゆきひろ氏も参画しており,他の自治体などからの関心を集めています。
 もともと当社では,企業の基幹システムやビジネス・アプリケーションにOSSを利用した開発プロジェクトを手がけてまいりました。今後,コミュニティとより良い関係を構築していければと思います。

■CTCにおけるRubyへの取組み
CTCにおけるRubyへの取組み
一方、Webシステム開発の現場では、最近気になることがあるそうですね。
亀田 Web2.0やSOAなどのITの専門用語が独り歩きし,お客様がそれに惑わされているように感じます。「Web2.0やSOAを導入したほうがいいのでしょうか」と問われますが,これらは要するにひとつの考え方やコンセプトであり,それ自体の導入は経営上の何らかの目的を達成するための手段に過ぎません。それらを実現する技術も,従来からあったものを組み合わせただけで特に目新しいものではありません。
では、どのような点に着眼して開発プロジェクトを進めるべきでしょうか。

亀田 冒頭のQ&Aにもあるように,中長期的にみて業務プロセスに大きな変更が伴う可能性があれば,システム同士の統合におけるアプローチも変わってきます。ユーザー部門の悩みは業務端末インターフェースの統合かもしれませんが,そこだけにとらわれていると問題の本質を見誤るリスクが高まり,その機能が業務であまり使われないということにもなりかねません。どのような手段や技術を選ぶべきかを判断する前に,企業のビジョンや経営戦略,業務の実態をよく見極めてからでも遅くはありません。それによって選択すべき技術は変わってきます。

■商品受注の業務フロー
 中長期的にみて業務プロセスに大きな変更が伴う可能性があれば,システム同士の統 合におけるアプローチも変わってくる。どのような手段や技術を選ぶべきかを判断する前に,企業のビジョンや経営戦略,業務の実態をよく見極めてからでも遅くはない。 それによって選択すべき技術は変わってくる。
商品受注の業務フロー
SEに求められる役割は大きく変わってきそうですね。
亀田 業務やシステムの要件を十分に検討することがますます重要になっています。ただし,お客様の企業文化や業務のことをよく熟知していないと,一歩踏み込んだ議論を交わすことができません。また,ユーザー部門と情報システム部門だけでなく,経営層も含めていろいろとコミュニケーションを積み重ねて初めてわかることもあります。大切なのは,SEがお客様のことを中長期的な観点も含めてどれだけ我が事のように真剣に考えられるかという姿勢です。それと同時に,本質的な課題を浮き彫りにするために,一歩引いた立場でお客様の判断をサポートすることが重要になります。
 もちろん,このようなコミュニケーション能力を兼ね備えた人材の育成は一朝一夕ではできません。このため,当社では社員同士でのノウハウの共有・活用をはじめ,お客様の意思決定を支援するための各種IT診断ツールや開発テンプレートなどを拡充し,日々SEの教育や育成に取り組んでいます。
ページトップへ

記載されている会社名、製品名、サービス名は伊藤忠テクノソリューションズ(株)または各社の商標もしくは登録商標です。

ページの先頭へ