昨年から今年にかけて大きなインパクトを与えたのは「Web 2.0」というキーワードに代表される数々の技術やサービスだろう。エンタープライズITの観点からは軽視されがちな印象があるが、その痕跡はIT業界を変えようとしている。Web 2.0以降の技術トレンド、業界の動向について、稚内北星学園大学学長 丸山不二夫氏と、同大学東京サテライト校の客員教授で日本総合研究所きっての技術者である細川努氏が語り合った。 左:丸山不二夫氏、右:細川努氏(稚内北星学園大学東京サテライト校にて) |
Web 2.0とSOAの類似点とは |
――昨年来「Web 2.0」と呼ばれる流れが、技術的にも社会的にも大きな影響を与えていると思います。そこでまず、エンタープライズITの観点から「Web 2.0とは何か」を考えていきたいのですが、いかがでしょうか。
丸山不二夫氏(丸山氏) Web 2.0とは何かというと、基本的には「Webをプラットフォームとし、ネットワークを通じてサービスを組み立てる」ことであり、突き詰めれば「技術をどう結合するのか」だと考えています。つまり「ネットワークを通じてサービスをどのように組み合わせるか」が大切であり、それが現在の技術の切り口になっているんですね。
稚内北星学園大学学長 丸山不二夫氏 |
そういう意味では、Web 2.0は、エンタープライズITの世界でいうSOA(Service Oriented Architecture)と意外と接点がありますね。Web 2.0、あるいはマッシュアップというと、SOAに比べて“軽い”という印象がありますが、「ネットワークを通じてユーザーがサービスを結合していく」という点は同じだと考えています。
2006年は、Webが日本に登場してちょうど10年という節目。技術トレンドで見れば、あと10年はこの流れが続くでしょう。現在はその中心にいて「Webを再評価しよう、もっと使い道があるはずだ」という状況なんですね。その結果がWebサービスであり、Webアプリケーションであり、Web 2.0という流れになったと思います。
稚内北星学園大学東京サテライト校客員教授 細川努氏 (日本総合研究所 次世代カードシステム事業本部) |
コンテンツとしてのコンポーネントと、そういったものを「利用する立場」でのマッシュアップとが協調しながら、双方なくてはならないものになる。マッシュアップと同じ次元なのは、例えばSaaS(Software as a Service)がそうですし、いま出てきたSOAもそうですね。
またコンポーネント開発に関していえば、「いままでにない新しいモノを作ること」だけではなく、いまは、COBOL資産などを含めた古いものまで含めてコンポーネントとして開発・利用する考え方が主流になってきています。そういう意味で、今後重要になるのはSCA(Service Component Architecture)という概念でしょう。
丸山氏 基本は「技術をどう結合するのか」ですよね。確かに、SOAやSCAは“重く”、Web 2.0は“軽い”ですし、出自はまったく異なりますが、共通するものはあります。
細川氏 技術的に見ても、SOAにしろ、Ajaxと外部WebサービスAPIの組み合わせにしろ、基本的に「ネットワークとXML技術を使っている」という点で共通点は多いと思います。もちろんAjaxには固有の技術も多少ありますが、大きな観点からは、両者はかなり似ていますね。
Web 2.0以前の開発方法論のジレンマ |
――いま、マッシュアップやコンポーネント開発という単語が出ましたが、Webの節目を迎えた今後、システム開発ではどのような変化が起こるとお考えですか。
細川氏 最近、Web 2.0以前の開発方法論のジレンマが少しずつ出てきているのは確かです。それは「人月工数による生産性向上」という考え方に偏っていたこと。「技術者が何日でプログラムを何ステップ組めるか」ではなく、現在は「技術者が頑張ることで、どれだけ価値のあるサービスが作れるか」が重要なんです。
「最近、Web 2.0以前の開発方法論のジレンマが少しずつ出てきている」(細川氏) |
そういう意味で、開発プロセスや方法論は、むしろ「これから変わる」分野だと考えています。どのような変化かといえば、大きく2点あります。1つは開発プロセスそのもの、もう1つはアーキテクチャです。
前者は、「ビジネス要求とシステム開発が、小刻みにフィードバックしながら進化していく」という形です。しかし、その具体的な方法論は、まだ確立していません。唯一近いのがアジャイル開発ですが、日本のようにユーザー企業とベンダが完全に分断されていると、アジャイルといってもユーザー(ビジネス要求)を巻き込めず、結局開発部分だけにしか適用されません。本当はユーザー企業とベンダでスクラムを組むのが理想なんですけどね。
こうした中でモデリングが果たす役割について、異業種でかなり明確に出ているんです。自動車業界や電機業界における「フロントローディング」がそれです。
これは、ニーズを設計に落とし、性能を作り込んで生産計画を立てる中で、CAD/CAMを駆使しながらバーチャルに“動くもの”を作ることで、品質を向上させる方法論です。私はソフトウェアの世界でもフロントローディングが必要だと考えているんですよ。例えばモデルを書いてみる、最低限動くシステムを作ってみることが、ソフトウェアでいうフロントローディングかなと。
「現在はまだ、どちらに転ぶか分からない。まさに技術の分かれ道」(丸山氏) |
丸山氏 ぼくはいま、Web 2.0的な“軽い”開発の行く末を少し心配しているんです。というのは、現在プログラムは“使い捨て”状態なんですよね。スピード化の時代、「モデリングして設計する」という工程から離れて作られたサービスを使い倒している状況です。
もちろん、モデリングや設計から離れるのが悪いのではありません。ただ、将来大きなつけが回ってくるような気がするんです。例えば、ある日突然システムがダウンする。ソースを調べてみても「こんなスクリプトは知らない」と途方に暮れる。そんなことが起こるかもしれません。逆に、ひょっとすると誰かが日々更新を続け、進化し、マッシュアップされたサービスが生き残る可能性もあります。
現在はまだ、どちらに転ぶか分からない。まさに分かれ道にいるのだと思います。設計し、モデリングしていく開発が収束するのか、それとも、ある日突然つけが回ってくるのか。まだ決められない、どうなるか分からないんですよ。
細川氏 確かにいまは、「技術の複雑化」と「短納期」というクリティカルな状況下にありますね。だからこそ、開発方法論がコードの自動生成や、大量のドキュメントを残す方法論に寄り過ぎてしまい、かえって変化への対応力を失うというジレンマに陥っています。
けれど今後問われるのは、モノ作りの量ではなく、質でしょう。具体的には「物事をシンプルにして、必要なことだけに集中できるようにしていこう 」ということ。この流れが、少しずつ出てきていますね。その1つが、マイクロソフトの「Software Factories」でしょう。
Software Factoriesには、いくつかの素晴らしいアプローチが含まれています。その1つがDSL(Domain Specific Language)です。これは、「モデルと実装との関係をシンプルにしよう」とする考え方といってもいいかもしれません。従来のモデルの代表例であるUMLは、MDAによって、 UMLからコードを完全自動生成することにこだわり過ぎていました。一方 DSLは、HTML、プログラム、データベースなどの実装対象ごとに最適なモデル記述仕様を用いることで、UMLにおけるジレンマを解決しようとしています。
もう1つ重要なのが、「プロダクトライン」という考え方です。これは再利用可能なアーキテクチャやコンポーネントを共通基盤として再利用することによって、必要な部分だけを追加実装してソフトウェアを生産するものです。これらは、個人的に非常に楽しみにしている方法論です。
丸山氏 「コードを書く」ところに特化すると、本当に簡単かつ減っていますね。極端な話、「人間が考えなくてもプログラムが作れる」ということまで、できるようになるかもしれません。そこで技術や開発方法論がどのように流れるのか、まだ分からない。なので、ぼくら技術者は、“重い”ものも“軽い”ものも、両方知っておくべきなんです。
細川氏 そうですね、開発プロセス自体、はてなや楽天がやっているように、Web上のコミュニティを立ち上げて、顧客/サービスの受け手からのフィードバックを受け、小刻みに進化していく時代が来るかもしれません。
このように、ビジネス要求とシステム開発が小刻みに進化を遂げていくには、そもそもITアーキテクチャも変わらないといけません。それが今後のアーキテクチャの課題でしょう。
原点回帰するフレームワーク |
――アーキテクチャという言葉が出てきたところで、現在のフレームワークについてはいかがでしょう。ここ1〜2年の間で、どのような変化がありましたか。
丸山氏 いまは、JBoss Seamのほか、Seasar、日本ならRuby on Railsが注目されていますね。グローバルでいえば、Springも主流です。基本的に、Rails系の技術が流行ですね。
細川氏 Railsは、複雑化し過ぎてメリットが薄れつつあるJ2EEの問題を回避しつつ、原点に回帰しているんです。これが注目されている理由ですね。具体的には、View(プレゼンテーション層)を前面に据え、ControllerとModelがその後ろにあるMVCモデルに回帰しているんです。
――すると、J2EEとの違いとは?
「Railsは原点回帰しているがゆえに、注目されている」(細川氏) |
細川氏 J2EEの場合、シンプルな画面を作る場合でも、MVCに相当する機能のほかに、DTO(Data Transfer Object)などのクラスを、あれこれ作る必要がありました。
Railsでは、基本的に Model、View、 Controllerに相当する実装だけに集中してシステムを構築できるので、余計な作業から解放されます。ちなみにJ2EEでもこの点を重視し、新しいアプローチを試みています。例えば、ひがやすを氏(比嘉康雄氏:電通国際情報サービス所属、稚内北星学園大学東京サテライト校客員教授)が率いる「The Seasar Project」では、ChuraファミリーでRailsに負けない高い生産性の実現をめざしていると聞いています。またJBoss Seamでは、JSF(JavaServer Faces)と、EJB またはPOJOを組み合わせることで、システムを構築できるアプローチを実現しつつあります。また一方、.NETのように、ビジュアルにWebシステムやリッチクライアント、 Ajaxシステムを構築できる環境もある。私としては、これらの使い分けができることが重要だと思っています。
丸山氏 いろいろな論争もありますが、フレームワーク自体も進歩していますね。
細川氏 データアクセスにしても、今まではDAO(Data Access Object)偏重だったのが、RailsではActiveRecordにより、オブジェクトの中に、データアクセス機能からビジネスロジックまですべて組み込めてしまいます。 このActiveRecordは、テーブルに対してシンプルにデータアクセスするだけならば、わずか2〜3行でアクセス機能を実装できます。またデータベースにカラムを足すと、画面の方にも自動的にそれに対応した表示や入力の項目が増える。このように、いままでにない柔軟性を実現しているのです。
丸山氏 ITがどんどん開発部分を吸収しているわけですね。考えてみれば当たり前ですが、その分、いままでコードを書いてきた技術者の役割が減ることになります。ですから技術進歩といっても、単純に喜んではいられません。そのジレンマをどのように解決するかが鍵なんです。
技術進歩のジレンマを解消するには |
――その「技術進歩のジレンマ」について、詳しくお願いします。
丸山氏 例えばIT技術者派遣業でいえば、黙々と画面まわりのコードを書くなど小さな仕事が、どんどん淘汰されていくかもしれません。そういう意味では、Web 2.0にしろ、それに付随するさまざまな技術革新にしろ、いまのIT業界の利益や構造に、大きな影響を与えるでしょう。
細川氏 労働集約的にモノを作るという世界は、収束していくかもしれませんね。日本は、ユーザー企業のIT技術者が少なく、ベンダやソフトハウスに階層的に技術者が集まっていますが、欧米ではユーザー企業にCIO(Chief Information Officer)やアーキテクト、技術分野ごとのスペシャリストがいて、専門職として確立されています。
特に、Googleなどのように、先進的なビジネスモデルと最新のITが企業の競争力を創出するためには、ビジネスの前線で技術者が活躍することが求められているのです。
こうした時代の技術者にとって大事なことは、「ITをビジネスに活用する力」「変化への対応力」「システムアーキテクチャを定義する能力」などをベースに、果敢に新しい技術にチャレンジしていくことではないでしょうか。
丸山氏 おっしゃるとおりです。それに技術動向は、まだ定まっているわけではありません。まだ芽吹いていない新技術というのは、実はたくさんあるんですよ。
「仕事をしながら、最先端と実践力を身に付け、新大陸へ進もう」(丸山氏) |
ぼくは技術的にいえば、Web 2.0にしろ、エンタープライズITにしろ、HTTPの強い影響力から抜けきれていないと考えています。ぼくはそれを「HTTPの呪縛」と呼んでいるのですが、J2EEも、AjaxのようなWeb 2.0技術も、まだまだHTTPの延長から抜けていません。本当の“新しい技術の芽”は、現在もたくさん出てきています。
ただ、ミッションクリティカルで安定を求めるエンタープライズITで、新しいけど不確定な技術を適用するわけにもいきません。いまの技術者は、時代や技術の流れを追いつつ、一方でビジネスをこなしていかなければならないという、大きなジレンマを抱えているわけです。
細川氏 確かに、数年後に何が来るかは誰にも分からないので、特定技術だけでなく、幅広い視点を持つべきでしょう。ただし、そこで仕事の手を止めず、実践力と先端力の両方を持たなくては。
丸山氏 そういう意味では、現在若い技術者の間では、Haskellなどちょっとマイナー系を始め、Ruby、J2EEなど、いろいろな言語に対する関心が高くなっており、非常にいいことだと思っています。自分で自分の準備をしないと、新しい技術の波に飲まれて、仕事を失う可能性がありますから。だからこそ、仕事をしながら、時代や技術の流れを学ぶことが大切なんです。実践力と先端力を持った教官や仲間に囲まれて、新大陸へと進んでいきましょう。
********************************
新技術の台頭に備え、価値ある技術者となるために、いまできることは「実践力と先端力」を身に付けること。その場を提供するのが、稚内北星学園大学東京サテライト校だ。2007年はさらに、強力な客員教授陣が加わり、ジレンマに悩む技術者を新大陸へといざなうだろう。
稚内北星学園大学 東京サテライト校 入試説明会 |
稚内北星学園大学東京サテライト校の目的・カリキュラムなどの説明を受けることなどできます。 詳細は東京サテライト校Webページにてご確認ください。 ■日時 2007年1月20日(土) 13:00〜 ■場所 東京都千代田区外神田1-18-13 秋葉原ダイビル ■内容 ・東京サテライト校に関する説明 ・大学での学び方と科目紹介 ・丸山/浅海/佐藤ゼミ活動紹介 ・個別進学相談会 ・東京サテライト校授業見学 ■お問い合わせ先 03-5297-5520(東京サテライト校) |
提供:稚内北星学園大学
企画:アイティメディア株式会社
制作:@IT編集部
掲載内容有効期限:2007年1月19日
【最新】東京サテライト校 学校説明会 | ||||||||
■学校説明会日時 2008年1月13日(日) 2008年2月16日(土) ■内容(下記スケジュールは1/13実施分です)
詳しくは、東京サテライト校学校説明会のページをご覧ください。 ■お問い合わせ 稚内北星学園大学 東京サテライト校 東京都千代田区外神田1-18-13 秋葉原ダイビル12階 TEL 03-5297-5520 ■参加申込み 東京サテライト校説明会 |
稚内北星学園大学 |
■稚内北星学園大学 情報メディア学部 ■本校 北海道稚内市若葉台1丁目2290番28 電話:0162-32-7511 FAX:0162-32-7500 ■東京サテライト校 東京都千代田区外神田1-18-13 秋葉原ダイビル <交通> JR秋葉原駅電気街口 徒歩1分 東京メトロ銀座線 末広町駅 徒歩3分 東京メトロ日比谷線 秋葉原駅 徒歩4分 つくばエクスプレス 秋葉原駅 徒歩3分 |
東京サテライト校 入試説明会 | |||||
2007年1月20日(土)に第3期入試の説明会を開催します。
詳しくは、東京サテライト校入試説明会のページをご覧ください。 ■お問い合わせ 稚内北星学園大学 東京サテライト校 東京都千代田区外神田1-18-13 秋葉原ダイビル12階 TEL 03-5297-5520 |
東京サテライト校 客員教授 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|