2012-01-25 15 views
1

私は、9つの他のサイトからAPIを呼び出すことを含むプロジェクトで忙しいです。この数は将来的に増加すると予想され、APIの実際のメソッド(SOAPまたはXML)は異なります。CakePHP - 数多くのAPI呼び出しをモデル化する最良の方法

私のクライアントがAPIを(他のアグリゲーターに与えることができるように)販売できるように、各サイトをモジュラーにする必要があるという仕様があります。

私は過去にいくつかのCakeプロジェクトを完了しましたが、それらはすべてデータベース駆動型でした。誰かがこれにアプローチする最善の方法を教えてもらえますか?

現在、私は各APIをプラグインにすることを考えています。 API呼び出しをモデル(データベーステーブルには添付されていません)に配置し、残りは自然に従います。各APIの実際のビューが異なるため、共通のコントローラまたはビューを使用することはできません(私たちが消費する各会社APIには、異なるビジネスルールがあります)。

このアプローチが妥当と聞こえるか、私がオフトラックしているか誰にでも教えていただけますか?

おかげで、 アンディ

答えて

0

は多分あなたのルートアプリケーションに、あなたはのAppModelを拡張することができます。 SoapベースのAPI呼び出し用のSoapModel、RESTベースの呼び出し用のRestModel

各プラグインで、モデルを基本通信用の適切なクラスに拡張することができます。それらのモデルのサイト固有のビジネスルールこの抽象化の余分なレイヤーは、WS実装の詳細をうっかり隠すでしょう。

脂肪モデルのルートに行く場合は、プラグインに分割する必要はありません。プラグインは、ある種の「サブアプリケーション」を自己完結して他のCakeアプリケーションで再利用できるようにする場合にのみ特に便利です。

+0

ありがとうございます。 APIを他の開発者が使用できる必要があるため、プラグインのアプローチが必要です。私は、一般的なコミュニケーションのための抽象レイヤーを作成し、おそらく解析するという考えが好きです。 – Andy

関連する問題