GoTheDistance

ござ先輩と言われています。(株) クオリティスタートという会社をやっています。

ヒョウタンツギな現代システム事情をRESTでぶっとばせ!

昨日休日出勤して3冊に及ぶKINGJIMを斜め読みしてふと思ったことをTwitterにぼやいた。

ものすごーく高いお金をかけて基幹システムを作っても現場で使っているのはExcelで、そのExcelをベースに手で個別システムに打ち込んで基幹にバッチでつないでいる会社がどれほど多いことか。

何でこんなことになってしまうかというと、この辺りが大きな原因かな。

  1. 基幹システムで管理したい単位と業務で管理したい単位が違う。
  2. 基幹システムは情報システム部が、業務アプリは個々の部が勝手に作っている。

1番においては、基幹システムで管理したい単位は仕訳を行うために必要な単位で業務に必要な単位はそれよりもっと細かい商品単価であるとか商品単位であるとか業界標準の何とかコードであったりとかする。特に流通・小売とかはその辺りのセマンティック・ギャップが大きいと感じる。簡単に言うと「ユニクロの型番x番のYシャツ」というのが基幹で管理したい単位だとすると、現場では「ユニクロの型番x番のサイズがMで色はブルーで柄はストライプで素材はコットンのオックスフォードなYシャツ」という感じです。どこまで深くなるかわからないけど、型番だけじゃ意味がないはず。アパレルは。

2番においては勝手に作ってしまうことで実装技術もバラバラになってしまうことになり、結局その差異を埋めるのにリアルタイム連携するとコストがかかるからファイルを吐き出したりバッチでプロシージャ組んだりみたいなことしているケースが多いと思います。業務で使うってことは今すぐ使いたいわけだから、一般ユーザーにとって今すぐ使える媒体といえば何かといえば、世界最強のERPツール「Excel」様になります、と。多分相当多いと思うのがJavaのSwingベースにExcelライクなUIを実現しようとするプロジェクト。.NETにすればいいのになって良く思うけどIIS使いたくないからなのかな。

この辺りのツギハギぶりはずーっと前から語られていて、2年ぐらい前からSOAという言葉が大流行した。今年のデブサミでSOAというキーワードがあまり出なかったそうです。EAIが出た頃も似たような感じだった。昨年仕事でイヤって言うほどSOA関連の議論をしたんだけど、SOA的なアーキテクチャの進化の過程というものは大雑把に言えばこの3段階になると思っています。

  1. バラバラなインターフェイスをバラバラなフォーマットで個別につなぐ。インターフェイス間は密結合。
  2. 各々のインターフェイスの差異をEAIツールで吸収して、インターフェイス間を疎結合にする。
  3. XML等によってデータフォーマット及びRESTによってインターフェイスも標準化し、完全な疎結合を実現する。

こういう形で進化していくと思っています。あれ、最後のカタチっていわゆるひとつのRESTじゃないですか?!

XMLのいい所は色々あると思いますが、eXtensiveという文字通り「意味情報を自分の好きな形で構造化できること」が最大のメリットだと思っています。現に流通業界では標準的なXMLフォーマットでWEB-EDIやらないかというプロジェクトが立ち上がっていると聞きます。こうなってくると各々がサーバーでありクライアントな世界が実現すると思うのです。各々がXMLを使ってRESTなアーキテクチャで対話が出来てマッシュアップで色んなアプリが作れるような世界。

となると、最も意味がなくなるものってなんでしょうね?

私は、プロプライエタリERPパッケージだと思ってます。SAPに代表される、ね。SAPもバカではありませんから自身がこういったRESTな世界のプラットフォームになろうと多大なお金をかけてNetWeaverであったりXIを作っていますが、ホントにそれで対応できるんでしょうか?コアとなる会計処理(仕訳がほとんどだろうけど)だけSAPのモジュールになってサービスとして使うという世界になるような気がします。私ならそういう使い方に切り替えていくと思います。

ここまで書いてきて思うのは、RESTはチープ革命がもたらした破壊的技術だということです。今はまだマーケットは小さいけれど、遅かれ早かれRESTな時代がやってくると思うのです。独自仕様で囲い込みなんてもうやめましょうよ。RESTな時代にはそんなもの意味がないんだから。Webは大きな意味でセマンティック&リアルタイムに向かっています。そんな時代に最も必要な素養はウェブ・リテラシーだと思っていますし、大きいことは大して意味を成さなくなってくる時代に向かっていると思います。昨年のTIMESの今年を象徴するキーワードが「YOU」であったように、システムの世界でも「YOU」になってくるはずです。

さぁ、動き出しましょう。

ウェブ・リテラシーという武装をしなければ、サバイブできない時代がやってきますよ。

SQLを学習できるWebサービスを作りました。