2012-01-09 3 views
-1

私たちは、Air(Adobeはサポートを中止し、実際にはsqlite APIの実装が悪いなど)から抜け出したいと考えています。ローカルMySQLデータベースにフラッシュ(ないウェブ)アプリケーションでAS3はソケットまたはPHPとmysql接続していますか?

  1. 接続:

    は、私は3つの事を作りたいです。

  2. リモートのmysqlデータベースにfalsh(ウェブではない)アプリケーションで接続します。
  3. リモートのmysqlデータベースを使用してフラッシュ(Web)アプリケーションに接続します。

このすべてが問題なく行うことができ、但し: 1及び2は、例えば使用(ウェブサーバを使用せずに)行うことができ、この:

http://code.google.com/p/assql/

3を用いて行うことができます上記のものも私が理解する限りです。

質問は以下のとおりです。

  • あなたはなぜ、インターコネクションのように接続するために(PHPで例えば)Webサーバーを使用し、ソケットウィットMySQLサーバと接続できますか?コネクトを直接しないのはなぜですか?
  • 私はこれをAMFPHPを使って何度もやってきましたが、すぐには進まないでしょうか?
  • ローカルマシンにアクセスする場合、フラッシュアプ​​リケーション+ mysqlサーバーだけを必要とするよりシンプルな配備アプリケーションで、Webサーバーをインストールする必要はありません。 この仮定は正しいですか?

ありがとうございます。

+0

リモートSQLサーバがリモート接続を許可しない場合はどうなりますか?とにかくウェブサービスが必要です。あなたはまた、JavaやC#を使用してflexのWebサービスを書くことができますが、それはPHPにする必要はありません。 Webサービスを持つとデータ操作の柔軟性が増し、セキュリティが向上します。 –

+0

お返事ありがとうございました。 しかし、私はフラッシュアプ​​リケーション(空気ではない)がローカルデータベースを使用している場合に別の質問を開きます。 ありがとうございました。 – voskyc

答えて

0

データアクセスの分離層の必要性は、通常、ユーザーがアプリケーションを構築する方法、階層化されたアーキテクチャ、作業負荷の分散などに起因します.SQLサーバは、通常、ユーザ管理、セッション管理などそのため、データベースとクライアントアプリケーションの間に中間層を使用し、その層がデータの格納に直接関係しない問題を処理できるようにします。セキュリティも重要な役割を果たしています。たとえば、メンテナンス上の理由でデータベースへのアクセスをすべて終了したい場合もありますが、ユーザーに意図を通知するための中間層がない場合は、彼らはあなたのアプリケーションがまだ生きているかどうか疑問に思います。データアクセス層では、キャッシュを大量に行うこともできます。実際にはデータベースへのアクセスを保存し、クライアントから行う必要があります(もちろん、クライアントも同様に行うことができますが、ymmv)。

しかし、いくつかの単純なケースでは、中間層を持つことがオーバーヘッドです。もっと重要なのは、できれば中間層なしでやってほしいということです。少ないコードでより良いプログラムを作ることができますが、その理由のためにその層が必要になる可能性があります。

0

インターネット経由で遠隔地に接続すると、膨大な巨大なセキュリティ問題が発生するため、インターネット経由でデータベースに直接接続するアプリケーションを決して配備しないでください。そのため、開発タイプのツールを構築する場合を除いて、AIRとFlexにはリモートMysqlドライバがないため、使用しないでください。また、たとえ直接接続できるツールを構築したとしても、下位ネットワーク管理者はDMZと内部ネットワークの外のどこからでもデータベースへのアクセスをブロックします。

まず、アプリケーションをデータベースに接続するには、データベースポートを世界に公開する必要があります。つまり、データを取得するためにアプリケーションをハックする必要はありません。私はあなたのデータベースをハックする必要があります。あなたがデータベースポートを私に開いたままにしておくほど愚かであったので、私はあなたを問題から完全に切り離すことができます。

ほとんどのデータベースでは、資格情報やデータの暗号化は行われません。ほとんどのデータベースはSSL接続をサポートしていますが、アプリケーションは超高速データアクセスを望んでおり、SSL暗号化のオーバーヘッドを支払う必要はないため、ほとんどの人はそれをオンにしません。さらに、ほとんどのアプリケーションはDMZに格納されており、データベースはファイアウォールの内側にあるため、サーバーとデータベースの間で会話に盗聴される可能性はほとんどありません。しかし、AIRアプリケーションからデータベースに直接接続した場合、SSLを使用していないため、自分自身を真ん中に挿入してデータベースからトラフィックを監視するのは非常に簡単です。

プライバシとデータの完全性に関するあなたの提案には、データベースへのRIAの直接アクセスを許可して保証することはできません。

中央サーバーにレポートを公開するなどの現代的な機能を実行したい場合、ユーザーがソフトウェアをインストールして電子メール、ソーシャル機能、Webサービスの統合を送信する必要はありません、クラウドストレージ、コラボレーション、リアルタイムメッセージングなど、Webアプリケーションを使用しない場合には得られません。ミドルウェアによってデータベースを制御できるため、接続をプールしてより大きな負荷を処理することもできます。 Webアプリケーションを使用すると、セキュリティだけでなくテーブルに多くのものがもたらされます。

関連する問題