2004年6月3日号
復刻第20弾!
━━━━━━━━━━━━━━━━━━━━━ 2004.06.03 Vol.971 ━━━━━ ■□■□■ ■□■□■ 日刊「WEBのツボ!」 □■□■□ http://www.soho-union.com/ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 配信部数 3266部 「続 システムはオブジェクト指向 Ruby & Flash」(#010) 福井修@Fsys.NET 【○】本日のお題 「 簡潔で奥深いオブジェクト指向スクリプト 」 ━━━━ はや6月に入ってしまいました。蒸し暑い梅雨の季節がやってきますね。 こんにちは、Fsys福井システムリサーチの福井です。 前回「XMLの生成と受け渡し」注1)にてサーバサイドDB連携では、Rubyの特長を 生かして、リッチクライアントにはFlashの特長を生かして、そして受け渡しには XMLを使うという組み合わせが、いかに簡潔にできるかという例を説明しました。 前回「XMLの生成と受け渡し」について駆け足で進めた分の解説は、次のシリーズ があればそちらでじっくりやることにして、今回は、本シリーズの最終なので、 まとめ的な話をします。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ 『 簡潔で、奥深い 』 ──────────────────────────────────── 『 簡潔で、奥深い 』 というのはまさに『 よくできている 』ということでし ょう。 VBという言語が、単体で動作するWindowsプログラムを『簡単に』作ることがで きたので、市場に受け入れられました。ただインターネットなどネットワーク連 携には、力不足で、マイクロソフト自身に『切られて』しまいました。 Javaは、複雑なC++を 簡単に使いやすくという立場でスタートしました。しかし その後 重装備になりすぎて 「“誰もが書けるEJB”を実現する「EJB 3.0」」注2) と迷走しています。 だって「 誰も書けないEJB 」と自覚しているのでしょうから:-p まあ予算規模1億以上の世界では、優秀な方々もやっておられるので、重装備で よいのでしょう。しかしながら、予算300万のシステムで、EJBが普及すると は私には思えません。ほんとうにその土俵では、どうすればよいのでしょう。 システム構築は、建物を建てるのに似ていると思います。 プレハブの物置は、60万でできますが、2階建ては、1千万はいるでしょうし 高層ビルは、何十億、何百億でしょう。 規模に応じて、やり方はかわります。ただし本質的なところは、共通です。 システム開発は、人件費がコストですから、『 簡潔にできる 』という点が一番 コストセーブになります。 単純計算で、簡潔さによる合理化で、1千万かかるところを5百万でできるとし たら、1億かかるところは5千万で済むことになります。 このあたり PHP推進の動機にもなっています。PHPもPHP5でやっとオブジェクト 指向が強化されます。 まあ現在、手続き的に作られているスクリプトは、リファクタリングの好機が得 られます:-) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ プログラム開発とソフト開発とシステム開発 ──────────────────────────────────── さて開発の話題なので少し「プログラム開発」「ソフト開発」「システム開発」 という表記についてです。 「プログラム開発」と「ソフト開発」と「システム開発」では、ニュアンスが 少し違います。ではどうちゃうねん?という疑問にひとつ解釈を。 プログラム開発は『閉じた』部品 という感じですし、システム開発は『開いた』 しかけという感じでしょうか。ソフト開発はその中間ですね。関連要素の規模が 異なってきます。 ・「プログラム開発」は、1本単位での作成のイメージです。 「ちょっとこのFlashのActionScript作って」 -> 「 ほいほい 出来ました 10万円 です。」 てな感じで、作るだけ。設置や面倒は、注文者が見るという感じ。 ・「ソフト開発」は、ある機能を実現するために、ある程度の規模で、設計や実 装・設置、テスト、確認を行うイメージで、まあ画面に向かっていて収束 する狭い感じ。 それでも何十万〜何百万程度。 ・「システム開発」は、ハードや、外部環境(経営レベルでの意識、現場操作者 の指導)の方向付け・調整も含めて、最終顧客も含め関係する人たち(ステ ークホルダー)の「開いた」世界で、ある成果を達成する感じ。 何百万〜何千万、何億。 例でいうと たとえば 家具を買うのが、プログラム開発で、車を買って使うの がソフト開発で、家を建てるのは、システム開発という規模の違いな感じです。 家を建てるには配管工事など外とのやりとりもありますし、風呂場、トイレや台 所..いろいろあります。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ それなりに、それなりに ──────────────────────────────────── 業務の基幹となるシステム(たとえば不動産業の検索システム)は、どの範疇に なるでしょうか? ホームページにCGIを拡張してできることには、それなりに予算規模に比例しま す。 10万円では、家は建ちません。 まあ家具なら買えるでしょう。 また1ケ月借りるだけなら可能ですね。 Web-DB連携システムは、通常関係要素が多くなりますので『開いた』しかけとし て予算や期間を確保して取り組まないと無理がでます。 Web-DB連携システムをWebの拡張で何千万も予算が確保できるのは、まれでしょ うから、少ない予算で何とかしたいケースが多いでしょう。 『簡単さ』では、かつての ASP (ActiveServerPages) は、長じていました。 が、『奥深さ』に欠けていたので、VBScriptごとマイクロソフト自身に『切られ て』しまいました。 『 簡単だが、浅い 』や『 重装備で、やればできる 』は、まあありありでしょ う。 『 簡潔で、奥深い 』ことというのは、なかなかありませんが、Rubyは、それを 既に実現しています。Flash ActionScriptは、まだ発展途上ですね。注3) 5千万のシステムを Rubyで2千5百万で構築することができても、10万円では できませんが。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ まとめ ──────────────────────────────────── 『 簡潔で、奥深い 』ことというのは、なかなか困難なテーマです。 何度も磨きぬいた結果でやっと到達できる境地だからです。 このシリーズの連載も最後なので、なぜ 「 システムはオブジェクト指向 Ruby & Flash 」 なのか の答えとして 『 簡潔で、奥深い 』こと そしてそれは、少ない予算で何とかしたいニーズに応えられること を再確認しておきます。 補足)ただし ActionScript開発は、まだまだ大変^^;; 次回のシリーズがあれば(あるつもりです^^)、またお会いしましょう。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ※ 注釈、資料、参考情報 ──────────────────────────────────── 注1) 続 システムはオブジェクト指向 Ruby & Flash (#008) 「クラスの生成と部品の利用」 http://www.melma.com/mag/02/m00020302/a00000749.html 注2)“誰もが書けるEJB”を実現する「EJB 3.0」 http://www.atmarkit.co.jp/fjava/kaisetsu/j2eewatch02/j2eewatch02.html 注3) 「Ellipsis」マクロメディア、Flash作成ツールの新バージョンをテストへ http://japan.cnet.com/svc/nlt2?id=20068912 【プロフィール&近況】 福井 修 ( FUKUI Osamu ) o-fukui@po.iijnet.or.jp 福井システムリサーチ http://fsys.net/ 主幹。システム構築歴27年。 システム構築エキスパート 日本Linux協会、神戸商工会議所、情報処理学会、関西IT共同体 会員 関西ソーホ・デジタルコンテンツ事業協同組合員