26日に、ディービーコンセプト渡辺さんの「XEAD Driver」発表会に参加してきました。
「XEAD Driver」は、アプリケーション構築のための一種のフレームワークですが、従来型のフレームワークと少しアプローチが異なります。 従来型は、特定のプログラミング言語の中で使える、アプリケーションプログラムの骨組みや構成部品を提供します。 これに対して、XEAD Driver は、個々の部品や骨組みを提供するというより、アプリケーション設計者にとって親しみやすい抽象化レイヤを、 プログラミング言語の上に一枚かぶせるようなソフトウェアです。
渡辺さんの記事にあるように、 コンピュータで「イパネマの娘」の音楽演奏シーケンスを作るミュージシャンは、プログラムを自分で書くわけではなく、 演奏シーケンス制御用ソフトウエアを使って、もっとわかりやすい形(楽譜など)で、演奏内容を指示します。 業務システム開発者も、それと同じように、XEAD Driver という「業務処理シーケンス制御用ソフトウェア」に対して業務仕様を指示してやると、 業務システムが動く、というのが、(私の理解した)XEAD Driver の狙いどころです。
コンピュータ技術の世界は、抽象化レイヤの積み重ねで進歩してきました。
CPUと機械語命令セットの上にアセンブリ言語、C言語とOSのレイヤを重ね、さらにその上にファイルシステム、DBMSを重ね、
C言語では単にバイトが並んだメモリ領域に過ぎなかった「文字列」は、高水準言語ではユニコード文字の並びにまで抽象化されました。
そこから考えれば、こうした抽象化の流れが、業務システムの領域でも、もっと推し進められても良いはずです。
まだ深く理解したわけでは無いですが、XEAD Driver は、単にデータ定義から画面を生成するといった、ありがちなレベルを越えて、 データ処理も含めた業務仕様を記述できる方向に進んでいるように見えました。
業務システムの領域では、音楽の世界での「楽譜」に匹敵するような高レベルの表現手段が、整備・共有されているわけではないので、 こうしたツールを作るということは、並行して、そういった表現手段も整備していくことにならざるを得ないはずです。
その意味で、たやすい仕事ではないし試行錯誤もあると思います。渡辺さんに敬意を表するとともに、今後、なんらかの貢献ができればなあ と考えています。当面は、FusionPlace で手一杯ですけど。
ところで、渡辺さんの話を聞いていて、FusionPlace も、計数管理業務に特化した「業務処理シーケンス制御用ソフトウェア」 に当たるのかもしれないなと感じました。業務処理の領域を広くとらえるか狭く捉えるかによって、シーケンスの最適な表現方法は異なリ得るので、 XEAD Driver のように広く捉えるアプローチと、FusionPlace のように領域を限定するアプローチのいずれも「あり」だと思います。
とはいえ、どの領域にあっても、自分は特定の「業務処理シーケンス」を書こうとしているのか、「業務処理シーケンス制御用ソフトウェア」を
書こうとしているのか、鋭く意識しないと立ち行かない時代になっていくのではないでしょうか。
前者なら、ツールを熟知したうえでお客様の業務に立ち入って一緒に改善していく気概とスキルがいりますし、
後者なら「オブジェクト指向は業務システムに役立つのか?」なんて、腰の引けた問いかけを、いつまでも繰り返しているわけにはいかなくなります。
そう、確かに変化は必要です。しかし、変化の先には、なかなか魅力的な世界があるように感じませんか?