頑固なRESTafarianとして、HTTP(問題のRESTプロトコル)を最大限に活用すると思います。なんで?さて、私は昨日、真剣に賢い(そして以前はITの教授であり、今でも講義をしていて、どこへ行ってもお尻を蹴る)私の親友とのメール交換からの2つのスニペットを紹介します;
昨日、mappodrhomアプリケーションの重要なマイルストーンを通過しました。これで、
長時間実行されるバックグラウンド計算
をワーカープールで起動できるようになりました。終了すると、ワーカーは結果を直接RESTリソースにPOSTバックします。これにより、より多くのバックグラウンド処理がトリガーされ、すべて依存関係グラフによって制御されます。
そして興味深い点は、このRESTfulなバックグラウンドが
実際には私の特定のアプリケーションから独立していることです。しかし、私は
現在、結果を完全に把握するにはあまりにも疲れています:-)
問題の結果は巨大であり(これは、多くの小さなスタック、イベント、サービス、アプリを備えたRESTフレームワークであり、すべて独自の検出可能なURIを備え、すべて同じ統合インターフェースを備えています)、拡張性とスケーラビリティの点で、他に類を見ないものです。そのシンプルさ。あなたのアプリケーションが、場所を旅したり、熱いひよこに会ったりすることのない、ちっぽけな小さなものであるなら、ええ、あなたはそれを必要としないかもしれません。しかし、その後、私は同じことを言いました、そして突然、ロシア人の秘密のスパイであるかわいい女の子と一緒にパリへの電車に乗っていることに気づきました、そしてまあ、あることが別のことにつながりました...
これが私の返事です。私自身の経験もいくつかあります。
私はこれが素晴らしいと思います(私のフランス語を許してください)。私は自分のRESTのものでも同様のことを経験しています。中間層は非常に薄く透明なので、インフラストラクチャについてあまり気にすることなく、必要な方法で拡張できます。それはとても自由で、私の脳が爆発するほどのクールなものであり、なぜもっと多くの人がそれをしていないのかという気になる好奇心です。
つまり、RESTを途中で実行することは、実際にはまったく実行しないことと同じです。単純化されたAPIを見逃して、コアでステートマシン、セマンティクス、および実装のデカップリングに移行し、ネットを構築した原則を使用して、別のパイプラインに移行しているだけです(したがって、私はあなたと言います)かなり実績のあるアイデアがあなたの背後にあります)、統一されたインターフェース、そしてモデリングの一部としてURIを持っています。
私はあなたが選ぶことができると言うのが一般的であることを知っています、それはすべてただのオプションです。そうではありません。RESTはそれを完全に使用することによってのみ意味がありますが、実際に脳を少し伸ばして賢いことをするように説得するために、私はあなたにFUDを切り抜けることしかできません(それはすべてRPCに関するものであり、GETとPOSTだけが必要です、 JSON、SOAP、その他の同類のものと同等のすべてを必要とせず、アプリケーションの作成方法についてより賢くなります。ええ、私はあなた方全員をあえてします!