2016-11-16 8 views
1

分割symfonyの

私は今、大規模な顧客に、このアプリケーションを実装する必要がありますが、彼はいませんDMZからデータベースに接続することができます。私は、データベースと通信し、Webサービスを介してDMZ上のアプリケーションにデータを提供するネットワーク内のサーバーを実装する必要があります。

symfonyアプリケーションをWebサービス経由で通信する2つの部分に分割する簡単な方法はありますか? 1つの部分はフロントエンドで、クライアントと通信し、他の部分はバックエンドである必要があり、データベースとの通信が必要です。これらの2つの部分の間の通信は、Webサービス経由で行う必要があります。

私は現在考えることができる唯一の方法は、データベースの代わりにWebサービスに接続し、ネットワーク側のフロントエンドをhtmlからWebサービスに変換するDMZサーバーのバックエンドのほとんどをやり直すことです。これを自動化するプラグインや方法はありますか?それとも最初からやり直していますか?

+0

もちろん、アプリケーションのクローンを作成し、バックエンドとして使用してください。それにREST APIを実装します。あなたはここで見ることができます - 非常に役立つことができますhttp://knpuniversity.com/screencast/symfony-rest – pavlovich

+0

@pavlovichええ、私は休息を知っています。私はほとんどすべてのアプリでそれを使用しています。しかし、それは難しい方法です:)私は完全にそこに残りを得るために多くを再構築する必要があります。 – darthzejdr

答えて

0

私は独自のログインコントローラを実装してしまい、設定に応じてすべての受信データをローカルサーバーまたはリモートサーバーに渡せるようにアプリケーションを設定しました。私はsymfonyのセキュリティをいくらか無効にしなければならず、自分で実装する必要がありました。

これは完璧な解決策ではありませんが、近い将来にsymfonyからnodeJSにバックエンドを切り替えることを決めました。問題はありません。

0

このケースを解決するためのエレガントな方法が必要な場合は、プロジェクトの負荷が大きい高可用性を計画している場合は、ESBソリューションの1つを実装することが考えられます。しかし、大砲で飛行していないかどうかは、自分で判断しなければならない。そのような弾性sollutionの

例は、溶液のこの種は、エンドポイントの任意の種類との間の通信の観点から任意のプロジェクトでposibilitiesを広げることもできWSO2

あります。

EDIT
また、私はこれは素晴らしい解決策だと思う教義休憩ドライバー https://github.com/CircleOfNice/DoctrineRestDriver

を実行することができます。