Main | May 2006 »

April 26, 2006

REST ってやっぱり難しいかも。

RESTは簡単なんだけど...

RESTが難しいってことについて

でどっちなんよ、という事なんですが、大元のご当人は、「ネタなんで...」と仰ってますが、個人的感想で一言でいうと、「使うのはむちゃくちゃ簡単」、「説明するのはとても難しい」ということだと思います。

因みに、RESTアーキテクチャに則ったプロトコルを策定するWGの議論に参加し、それを利用するアプリケーションを開発し、かつ自分で新たなプロトコルを作る作業をしている経験上では、

利用する<<作る<<説明する

ぐらいの関係で、説明するのが一番大変です。 ま、何事にしろ自分の言葉で説明するのは理解してないと出来ない事なんで当然ちゃ当然ですが。

例えば「全部GET・POSTでいいじゃん」とか言う人に、具体的にRESTfullにすることの利点を説くのは物凄く労力が入ります。HTTP DELETEの代わりにGETのパラメーターでhoge?action=deleteとかやっても動いちゃうから、別にいいじゃん...という人にどう説明するか...。これは、クライアント側のアプリケーション を作る側からすると簡単に分かることなんですが、Web側の人には分かりにくいかもしれない。

あと誤解されないように、ちゃんとすべてを説明するのは不可能に近い。誤解の例としては、

  • 「やり取りされるのはXMLである」は間違い。
    ー>RESTでは規定されてない。というかRESTはアーキテクチャスタイルなんで、そういう事自体規定しないし。
  • 「チャレンジ・レスポンスのDigest認証はRESTfullではない」は間違い(だと思う)。
    ー>セッション情報などを持ち歩かない(self descriptive)ステートレスという事と、チャレンジ・レスポンスのやり取りは別(だと思う)
  • 「リソースが存在するURI=HTML等のページのアドレスでないといけない」

とか...。説明せずに、触れずにいると必ずといっていいほど、誤解される事が多い。

April 13, 2006

BorlandがDelphiなどのIDEを売却または別会社に移すとする発表がされたわけだけど、Delphiユーザーとしてはとても複雑な心境。

Borlandはここ1、2年、明らかにIDE系、特にKylixとかC++Builderへのリソースを割いてこなかった(売却の発表と前後して数年ぶりにC++Builder2006出たけど)。ユーザとしては宙ぶらりんで何とかして欲しい、という状態だった。だから、結局新しい会社がIDEを継続して開発してくれるのであれば、それもありかなという話もあるほどだ。

一応言っておくけれど、BorlandのIDE製品はどれも発売当時も今も、革新的に素晴らしものだった。ネイティブなアプリケーションをRADで開発できるというDelphiとC++Builderは今でも非常に魅力がある。さらには、KylixでWindowsアプリケーション開発とLinuxアプリケーション開発の垣根を下げた事は本当に偉大だった。でもなぜか経済的市場の受けは芳しくなかったようだ。Delphiというマイナー気味な言語のせいか、Linuxというオープンソース文化の問題なのか、Borlandのマーケティングの失敗なのか、はたまたMSの圧力という噂まである。

ともかく、ユーザーとして、優れた製品を使っていると感じつつも、いまいち最後の詰めが甘い感と、何で一般受けしないんだろう感を感じていたのは、自分だけではないと思う。

才能がありながらも世渡りが下手なアーティスト感たっぷり。一昔のAppleのMacに似たところがある。気に入る人はとっても気に入るが、なぜか一般受けしない、みたいな。

で、IDE事業を売却、と発表されてその後、別会社にするとか少し話しが変わっているようなところもあるけれど、他の企業が参加してくる事は間違いないだろう。とすると、Delphiを含むIDEの将来を決するのはその企業によってくるところが大きいはず。

IDEを手に入れる企業とIDEの既存ユーザーである開発者の両者にとって、どこの企業がいいか、という話だけど、最良の選択はNovell以外にない

NovellはLinuxのSuSE買収後中々上手くやっている。個人的にPerl等のWebアプリ開発ではもっぱらSuSEマシンを利用している。また、Linux上で.NETアプリを動かすMonoプロジェクトも予想外にまじめに進めているらしい(今年中に出る予定のSuSE Linux Exterprise Desktop 10にMonoで作ったデスクトップアプリを含めてくるとか)。Linux対Windowsで動くアプリケーションの質と量が足りないというのはNovellも分かっているはず。であればKylixのように、DelphiとC++を含む統合開発環境を手に入れるのはまったく利にかなっている。

Windowsの開発に使われるDelphiが、Linuxの推進を進めるNovellへか?という向きもあるだろう。しかしながら、総合的に見れば、WindowsとLinuxで開発が出来るKylixという存在があるし、NovellはLinuxで動く.Net環境のMonoに力を入れている。なので、.Netに対応する限り、Windowsでも動くわけだ。おまけにDelphiでの開発者ベースはNovellにとって喉から手が出るほど欲しいリソースのはず。よってNovellも馬鹿ではないからDelphiのWindowsサポートを切るような事はしないはず。Windowsサポートを切るような事をしたら開発者は逃げるだろう。開発者はWindowsもLinuxも両方開発できるなら残るだろう。もとからNovellは.NETを推進している事だし、今後もするだろう。 つまり両者の協力には大きなシナジー効果がある。

Delphi、C++Builderのユーザーは、NovellによるバックアップがあってKylixの路線を進められれば、Windows(.NET)のみならず、Linuxでの開発という活躍の場が広がるという利点がある。(出来ればMacでの対応も欲しいところだが...)

一つ提案があるとすれば、Java関連のIDEは、別に切り分けることだ。いっそRedHatにでも売ってしまえという所だ。RedHatはJBossも買ったことだし。Oracleでも良い。(というかJavaなんて携帯用以外に使わないので別にどうでもいい)

IDE事業の売却先には色々名前だけが挙がっている。どれも部外者がすべき論で話しているだけだけれど、例えば、Oracle、RedHat、あとなぜかGoogle。しかし、どれもBorlandのIDEすべてを有効に生かす事が出来そうな会社では無い。OracleはJava以外のIDEを生殺しにするだろうし、RedHatはWindowsサポートを平気で切り捨てるだろう。さらに、Googleは...手を出す理由がない...Microsoftに対する嫌がらせぐらいしかGoogleがBorlandのIDEに興味を持つだろう理由が思いつかない。もっともそれも面白いかも知れないけれど。その他企業は大抵世界的なサポート体制すら持っていないため論外。

Novellぐらいが、世界的なサポート体制と、有効利用する上でのシナジー効果と理由と資源を既にもっている。 ただ問題があるとすれば、BorlandというMicrosoftよりの企業からすれば大きな変化が必要となることだろう。ここでMicrosoftからのくびきをといて、Kylix路線または.NET(Mono)によってクロスプラットホームでのアプリケーション開発がばりばり出来るようになれば素晴らしいことになると思う。Write Once Compile Everywhere見たいな。

という予想だけれども、どうだろうか。

April 7, 2006

仕事でブログ書いているけれど、個人的なことは書きづらいときがあるので、ここで書いてみるテスト。

書くエネルギーが残っているかどうか分からないので不定期更新は確実。でも仕事と違って気安くかけるので、思ったらなるたけ即Upの方針で。