1

事はこれです、私は顧客が恐ろしいバックエンド定義を持っているいくつかのプロジェクトを持っており、いくつかの形式でデータを返し、私が必要としない多くのものを持っています. 私はモバイルWebアプリを行っているので、slimframework(www.slimframework.com)を使用してphpで中間層を作成しています。これにより、基本的にRESTFUL構文が得られ、必要のないすべてのデータが削除され、必要な形式(JSON)になります. もちろん、この中間層は顧客のバックエンドに展開されるため、フロントエンドの実装が非常に簡単になったとしても、パフォーマンスと「チェーン」に別のブレークポイントを追加することについて少し心配しています。パフォーマンスのために、slimframework にアクセスするたびに、固有の JSON データをキャッシュとして保存します。また、各請願の最大秒数を簡単に設定できるテキスト ファイルがあります。

より技術的には、実際のWebサービスをcurlで読み取り、PHPオブジェクトに変換し、必要なすべてのデータを削除して変更してからjson_encodeを作成します...また、すべてをプルするcronでバッチプロセスを作成するなど、別のアイデアを考えました顧客からのWebサービスとローカルjsonを生成します...ビデオキャッチアップアプリケーションであるため、最新のデータを取得できないことを心配する必要はありません。そのため、すべてのWSをキャッシュしますが、最終的なURLはキャッシュされません.

私のワークフローのためのより簡単な解決策はありますか?

4

1 に答える 1

1

私にはいいですね。

確かに、新しい潜在的な障害点が追加されていますが、問題を見つけて弾力的に処理できる新しい場所も追加されています。既存のバックエンドは信頼できないようです。ユニット/ストレステストでインターセプトレイヤーを徹底的にテストし、過度の新しいリスクを追加していないというすべての確信を得る.

パフォーマンスは?何でもそうですが、ベンチマークを行い、結果と他の利点とのバランスを取る必要があります。私は優れた抽象化レイヤーが大好きです。サービスを拒否するレベルのパフォーマンスの低下が見られない限り (なぜそうすべきなのかわかりません)、ほぼ確実に価値があります。

何も制御できないように見えるこのデータ バックエンドを抽象化する以外に何もない場合、これにより、いつか別のものに切り替える完全な柔軟性が効果的に得られます。

そして、バックエンドが自発的に変更されたら? 少なくとも、インターセプト レイヤーの分離された部分を調整するだけでよく、サードパーティのデータに依存する顧客向けフロントエンドのすべての部分を調整する必要はありません。

結論として、これは完全に堅牢なソリューションのように思えます。絶対に進めるべきだと思います。


†もちろん、あまり多くは必要ありません。適切な数を決定するのは私たち次第です。通常、ゼロは受け入れられない答えだと思います。:)

于 2013-02-16T18:22:59.140 に答える