0

既存の.NETライブラリをイントラネットに公開したいと考えています。

多くの人がRESTfulサービスに移行しているため、OpenRastaは魅力的に見えます。同様に、IronRubyでSinatraをいじっています。

私は主に3つのポイントを探しています:
1)既存のコードベースをWebに公開するために何を使用していますか?
2)あなたのメソッドは実装を容易にします
3)あなたのメソッドはそれを安全にしますか?

4

2 に答える 2

3

あなたの図書館がインターネットに公開されるように設計されていなければ、そうすることは悪い考えだと思います。

さらに、ライブラリがHTTPの意味でリソースとして意味のあるものを処理しない場合は、RESTインターフェースでそれらを公開することはお勧めできません。


コメントに応えて、「なぜ?」

うまく設計されたライブラリだと思います。ライブラリが設計されたとき、あなたは特定の要件を念頭に置いていたと思います。特定のユースケースとシナリオ。使いやすさを確認するために、ライブラリの使用例を作成したこともあります。その結果、ライブラリはこれらの要件をすべて満たし、適切に設計されたと言えます。

しかし、要件やユースケースに「インターネットへの公開」が含まれていないようです。「RESTインターフェースを介した公開」も含まれていないようです。偶然でない限り、1つの要件セットを満たすように適切に設計されたライブラリは、他の2つの要件を満たすように適切に設計されない可能性があります。

これは特にRESTアスペクトの場合です。ライブラリによって公開されるオブジェクトは、RESTが基づく「リソース」のHTTP定義を満たす可能性はほとんどありません。それらを正しい形にねじろうとすると、ただ苦痛になります。

私の推奨事項は、ライブラリの機能を適切に設計された一連のサービスとして公開するための新しい一連の要件をまとめることです。これらのサービスは、ライブラリへの呼び出しによって実装されます。

理想的な世界では、このプロセスにより、最初に設計したものとまったく同じRESTAPIが作成されます。しかし、それはまったく異なる結果になる可能性があります。

于 2009-07-15T16:59:23.660 に答える
2

個人的には、WCFを使用して.NETライブラリを公開しています。多くの異なるトランスポートプロトコルとバインディングをサポートします。きっとあなたのニーズに合ったものが見つかるはずです。また、安全な通信を実装することもできます。

于 2009-07-15T16:56:05.710 に答える