3

かなり大きな設計上の決定を下さなければならないので、経験豊富な方からのアドバイスをお願いしたいと思います。

WCF (ログイン + ユーザー アカウント管理、顧客データベース、会社のさまざまな製品ラインのプレゼンテーションを含む) を使用して SOA サービスを開発しています。

ここで、ユーザーがブラウザーで表示できる HTML を生成するために使用するフロントエンド テクノロジを決定する必要があります。

論理的な答えは、ASP.Net です。ただし、他のオプションについて知りたいです。PHPサービスの利用を考えています(この言語を学びたいので)。このシナリオを考えることができます: - エンド ユーザーは HTTP 経由で PHP サービスにアクセスし、PHP サービスは SOAP 経由で WCF サービスへのビジネス ロジック呼び出しを実行し、結果をユーザーに返します。

これにより、WCF サービスは PHP サービスによってのみ呼び出されるため、少なくともユーザー セッション管理が PHP サービスの側になければならないという問題が生じます。

では、WCF サービスの前に (動的な) HTML プレゼンテーション レイヤーを取得する簡単な方法はありますか (ASP.net を無視し、できれば PHP を使用します)。

4

1 に答える 1

0

私が約6か月前に参加した小さなプロジェクトでは、非常によく似た状況がありました。WindowsAzureでホストされているWCFサービスと通信するWebサイトと3つのモバイルアプリがありました。モバイルアプリの開発者はWCFサービスとの会話に問題はありませんでしたが、Webサイトは別の獣でした。

ASP.Netフロントエンドを使用しましたが、Azure内で別のプロジェクトとしてホストされていたため、HTTP経由でWCFサービスにアクセスする必要がありました。

これが設定方法であると判断したら、ASP.NetとPHPのどちらを選択するかは、(ホスティングコストなどを除いて)それほど重要ではなくなったと思います。基本的に、フロントエンドは、要求をWCFサービスにルーティングしてブラウザーに戻すシンプロキシになります。これは、PHPとASP.Netの両方で簡単に実行できます。

今プロジェクトを振り返ると、同じプロジェクトでWCFサービスとフロントエンドをホストすることを主張しましたが、2つの別々のWebロールを使用していました。これにより、フロントエンドがHTTP呼び出しを行うことに伴う遅延が完全になくなります。また、フロントエンドとWCFサービスは、同じクラスライブラリを使用してビジネスロジックにアクセスできます。理想的には、フロントエンドサービスとWCFサービスの両方が、すべてのビジネスロジックの同じクラスライブラリとインターフェイスするシンラッパーになります。

これが、HTMLプレゼンテーション層が簡単になるのを見ることができる唯一の方法です。フロントエンドが他の場所にあり、HTTPを介してビジネスロジックとインターフェイスする場合は、PHPとASP.Netの両方が同じようにタスクに適しています。セッション管理に関する限り、ユーザーアカウントの管理とログインはすべてWCFサービスによって処理されることを示したので、これは非常に簡単です。PHPまたはASP.Netセッションは、おそらくサービスから提供されたセッショントークンのみを保持し、サービスはセッションタイムアウトなどを担当します。

于 2013-02-11T15:02:51.340 に答える