ASP.NETWebアプリを作成するとします。あなたはそれが常に(通常のページとモバイルページを備えた)単なるウェブアプリになると思いますが、あなたは決して知りません。いつの日か、iPhone、iPad、Android、またはその他のアプリをクライアントとして使用したいと思うかもしれません。この可能性が0%の場合は、ビジネスレイヤーをDLLとしてパッケージ化し、クライアントからそれらを参照します。将来、これらの他のフロントエンドアプリの可能性が1%以上になる場合は、ビジネスレイヤーをWCFにパッケージ化し、http(つまり、サービス指向アーキテクチャ(SOA)、クライアントが利用できるサービスとしてのソフトウェア)を介して公開します。プラットフォームに関係なく)。
- DLLプロ:速度/パフォーマンス。
- DLL con: Microsoftクライアントのみが消費でき、クライアントにDLLが必要です。これは、DLLがクライアントアプリに埋め込まれている場合、データをビジネス層に移動して処理してから返すための長距離であることも意味します。
- WCFプロ:拡張性..どのクライアントも消費できます。
- WCF con:速度/パフォーマンス。
ソフトウェアアーキテクチャとは、パフォーマンスと柔軟性の適切なバランスを見つけることです。この場合、保険証券としてWCFを使用する必要があると思いますか?