既存の.NETライブラリをイントラネットに公開したいと考えています。
多くの人がRESTfulサービスに移行しているため、OpenRastaは魅力的に見えます。同様に、IronRubyでSinatraをいじっています。
私は主に3つのポイントを探しています:
1)既存のコードベースをWebに公開するために何を使用していますか?
2)あなたのメソッドは実装を容易にします
3)あなたのメソッドはそれを安全にしますか?
既存の.NETライブラリをイントラネットに公開したいと考えています。
多くの人がRESTfulサービスに移行しているため、OpenRastaは魅力的に見えます。同様に、IronRubyでSinatraをいじっています。
私は主に3つのポイントを探しています:
1)既存のコードベースをWebに公開するために何を使用していますか?
2)あなたのメソッドは実装を容易にします
3)あなたのメソッドはそれを安全にしますか?
あなたの図書館がインターネットに公開されるように設計されていなければ、そうすることは悪い考えだと思います。
さらに、ライブラリがHTTPの意味でリソースとして意味のあるものを処理しない場合は、RESTインターフェースでそれらを公開することはお勧めできません。
コメントに応えて、「なぜ?」
うまく設計されたライブラリだと思います。ライブラリが設計されたとき、あなたは特定の要件を念頭に置いていたと思います。特定のユースケースとシナリオ。使いやすさを確認するために、ライブラリの使用例を作成したこともあります。その結果、ライブラリはこれらの要件をすべて満たし、適切に設計されたと言えます。
しかし、要件やユースケースに「インターネットへの公開」が含まれていないようです。「RESTインターフェースを介した公開」も含まれていないようです。偶然でない限り、1つの要件セットを満たすように適切に設計されたライブラリは、他の2つの要件を満たすように適切に設計されない可能性があります。
これは特にRESTアスペクトの場合です。ライブラリによって公開されるオブジェクトは、RESTが基づく「リソース」のHTTP定義を満たす可能性はほとんどありません。それらを正しい形にねじろうとすると、ただ苦痛になります。
私の推奨事項は、ライブラリの機能を適切に設計された一連のサービスとして公開するための新しい一連の要件をまとめることです。これらのサービスは、ライブラリへの呼び出しによって実装されます。
理想的な世界では、このプロセスにより、最初に設計したものとまったく同じRESTAPIが作成されます。しかし、それはまったく異なる結果になる可能性があります。