2017-02-16 3 views
1

XMLでデータベースからデータを取得するために使用できるSDKを備えたサードパーティのデータベースアプリケーションがあるとします。LaravelのWebサービス

もう一方で、私はPHPのLaravelフレームワークを使ってウェブサイトを開発しました。ウェブサイトは、アプリケーションのデータベースからデータを表示することになっています。私の知る限り理解し、私は私のウェブサイトのデータベース内で要求されたデータを保存するか、単に保存せずにそれを表示することができますいずれか

  1. :I上記に関しては

    は、以下の質問を持っています。どのようなテクニックを提案しますか?

  2. データベースサーバーからウェブサイトへのxmlデータ転送を実現するにはどうすればよいですか? C#で開発経験があることを考慮して、データベースサーバー上で実行されるいくつかのWebサービスを開発し、必要なデータを取得して自分のWebサイトに送信する必要があると仮定します。したがって、WebサービスはLaravel Webサイトからリクエストを受け取り、それに応じてデータベースサーバーからデータを取得し、xml応答を最終的に表示するWebサイトに渡す必要があります。私は正しい方法でいますか?もしそうなら、これらの部分をコード化して束縛する方法を私に教えてもらえますか?

ありがとうございます。

+1

こんにちは、明確にするために、「第三者データベースアプリケーション」とは、SDKで処理してXMLを返すローカルデータベースを意味しますか?それとも、XMLを提供する第三者が主催するWebサービスであることを意味しますか? –

+2

ソースデータベースサービスでWebサービスがまだ実行されていない場合は、そのサービス全体を実行してみませんか?あなたはそこで走っている要求を処理するLaravelアプリしか必要としません。そうでない場合は、Webサービスとそれに対話するフロントエンドアプリケーションの両方を開発する必要があります。 これは非常に広い質問です。これを行う多くの方法... – Serge

+0

@RyanLund正確には、「サードパーティのデータベースアプリケーション」とは、xmlメッセージのさまざまなタイプを返すSDKを持つローカルデータベースを意味します。 –

答えて

0

コメントに@Sergeに同意する必要があります。非常に広い質問であるため、これを行うには多くの方法があります。

私の答えは、サードパーティのデータベースがどのくらい定期的に更新されるのかをあなたのコメントから判断すると、かなり頻繁に処理されると思われます。この場合、私はおそらく、あなたのlaravelアプリから、ここにあるfirebirdドライバを使用してサードパーティのデータベースに直接接続します:https://github.com/jacquestvanzuydam/laravel-firebird(これを使用したことはありませんので、私はそれについてコメントすることはできません) 。ファイアバード自体についてはあまりよく分かりませんが、セキュリティ上の理由からSSHトンネルやVPNを使用して接続したいと考えています。

それで、非常に頻繁に変更される可能性が低いことが分かっている場合は、MySQLにデータを保存します(この場合、laravelコマンドを使用し、スケジュールに従って実行し、[X]データに応じて日/時間/分)、または潜在的なWeb要求ごとにデータが変更される可能性がある場合は、Web要求を高速化するためにキャッシュシステム(redis、memcache、ファイルキャッシュなど)を使用します。それは特に有用ではない場合

申し訳ありません - あなたはより多くの情報を提供することができれば、多分私はさらにあなたを助けることができます:)

幸運を!

+0

私はあなたが提案するアイデアが気に入っています。特に、別のWebサービスを開発する必要はありません。しかし、1つの問題があります。サードパーティのデータベースは暗号化されたものです。したがって、私はテーブルとその列構造、および関係についての情報を持っていません。私がサードパーティのソリューションについて持っている唯一のものはSDKです。したがって、私は、Webサービスの開発がデータベースと通信する唯一の方法だと考えています。しかし、私は現在、xmlデータがシステム間を移動する方法を想像していないので、固執しています。 –

+0

具体的には、はい、私は、私のWebサービスが、出力からいくつかのxmlメッセージを持つように、データベースからデータを抽出するいくつかのメソッドをSDKから参照することを理解しています。次のステップは何ですか?ウェブサイトにどのように応答(xmlを送信する)を提供する必要がありますか?より一般的には、PHP/Laravel Webサイトと.Net Webサービスをどのように通信するのですか?このようなフレームワークの組み合わせについては、どこでもっと読むことができますか? –

+1

あなたが暗号化されていると言うと、どのように暗号化されていますか(私は一般的にファイヤーバードに関してほとんど何も知らないことに注意してください)?本当に他のオプションがなく、データベースのデータが定期的に変更される可能性がある場合は、C#SDKを使用して単純なREST APIを作成し、curlを使用してlaravelアプリケーションからそのAPIにリクエストを送信するのが最も簡単な方法です。 C#側のデータ形式をXMLからJSONのようなよりコンパクトなものに変更することで、スピードを上げることができます(これはラベラー側で解析する方が簡単です)。 –