0

私たちはすべての開発のためのインフラストラクチャをセットアップしようとしています... Web アプリ、モバイルアプリ、その他の Outlook 用プラグインなどを構築します。

これらのアプリはすべて同じ「データ」を使用します...

API と通信する単一ページの角度付きアプリを使用する Web アプリを考えていました...これらのアプリの一部は外部にあり、一部は内部、つまりファイアウォールの内側/外側にあります...

問題は、すべてのアプリが (内部および外部で) 対話する 1 つの API を構築するかどうかです。

それを行うと、この API は何と通信するのでしょうか? データベースと直接通信する必要がありますか、それともデータベースと直接通信する内部 Web サービスと通信する必要がありますか?

というか…

設計 1 = アプリ > API > Web サービス > データベース

設計 2 = アプリ > API > データベース

次の質問は、私の上司がアプリごとに API を必要としているということです。これは私を少し困惑させており、私たちはそれについて何度も議論してきました...

持っていることに意味はありますか

アプリ 1 > アプリ 1 の API > Web サービス > データベース

モバイル アプリ 1 > モバイル アプリ 1 の API > Web サービス > データベース

個人的には、次の方向に傾いています。

アプリ 1 > API > データベース

アプリ 2 > API > データベースなど...

あなたの考えは何ですか?

4

1 に答える 1

1

特定のシナリオに従って、アプリ > API > Web サービス > データベースの方が優れている理由は...

「アプリ 1 > API > データベース」アプローチでは、API には各 API で重複するビジネス ロジックが含まれます。明らかに、アプリ自体または DB にビジネス ロジックを配置するのはあまり適切ではありません。

「アプリ > API > Web サービス > データベース」では、すべての API で使用できる共有 Web サービスの下に、多くの一般的なビジネス ロジックやその他のインフラストラクチャ関連のものを配置できます。

Web サービスは異種の Web アプリケーションまたは Windows アプリケーションで使用できるため、共有機能をそのような方法で配置することは常に適切です。

于 2013-06-26T12:46:41.837 に答える