10

これが数回尋ねられたことは知っていますが、明確な答えがないようです...過去3日間以上これを検索しています.

iOS アプリから Oracle データベースに接続するには、次の 2 つの方法があるようです。

  1. ODBC クライアント ARM 用の gcj を使用して ODBC (どの ODBC ですか?) をコンパイルする必要があります。私はこれが難しい方法だと思います。エラーを伴いますが、かなりの努力をすれば可能です。

  2. Web サービスの使用 App から Web サービスに接続し、Web サービスから Oracle DB に接続します。

これらは利用可能な2つの方法ですか、それとも他の方法ですか?

2 つの方法に関するいくつかの質問: どちらがより安全ですか? b. 私の会社のセキュリティ部門は、上記のいずれかに反対しますか? c. どちらがよりパフォーマンスが高いですか? d. 上記のうち、通常使用するものはどれですか?

4

4 に答える 4

6

アプリからデータベースに直接接続することはお勧めできません。SELECT しかできないアカウントを作成すれば安全ですが、他にも考慮すべき点がいくつかあります。

アプリケーションに Oracle クライアントの負担をかけるのはなぜですか?

多くのユーザーがいる場合、Oracle が膨大な数の同時接続を処理することを心配する必要があります。Restful API では、リクエストはステートレスです。

スキーマを変更する場合。また、アプリを変更する必要があります。間にサービスを配置すると、アプリはスキーマに依存しなくなります。

于 2013-04-04T01:55:39.860 に答える
2

ODBC 接続では、Oracle ポートがインターネットに対して開かれている必要がありますが、これはほとんどの場合、セキュリティとパフォーマンスの理由から許可されません。たとえそうであったとしても、あるいは安全な VPN を確立したとしても、データベースへの直接アクセスでは接続を開いたままにしておく必要があり、これはモバイル デバイスがネットワーク カバレッジに出入りできる場合に問題になる可能性があります。

HTTP は、信頼性の低いネットワークに対してはるかに耐性があり、SSL (HTTPS) を使用して暗号化できます。HTTP の問題は、データベースがこのトランスポートを直接サポートしていないため、ほとんどの人が専用の Web サービスを開発することです。

私は、データベースから RESTful API を自動的に構築する SlashDB というプロジェクトに取り組んでいます。パブリック API の場合、このブログ投稿で説明されているように、いわゆる DMZ (2 つのファイアウォール間のネットワーク セグメント) に /db をインストールします。

SlashDB は、パブリック ユーザーに限定されたデータ アクセスを許可するように構成したり、データに対するさまざまな権限を持つ特定のユーザーを定義したりできます。ステートレス サービスとして設計されているため、ロード バランサーの背後に複数のノードを簡単に設定し、高可用性の Web スケール デプロイ用にリバース HTTP プロキシを設定できます。

Web サービスを手動で開発するか、当社の製品を使用するかに関係なく、直接的なクライアント/サーバー アプローチを使用するよりも、ソリューションのスケーラビリティ、パフォーマンス、およびセキュリティが向上します。REST API は社内のエンタープライズ データ統合ソリューションで使用する必要があるとさえ主張しますが、それはまったく新しいトピックです。

于 2013-04-04T05:38:18.453 に答える
0

他の人が言ったことを繰り返しますが、Rest API が最適です。データベースに直接接続しないでください。ただし、自分で試したことのないデータベースに接続する方法があるかもしれません。

http://odbcrouter.com/iosvsweb#hn_iOS_Open_Database_Connectivity_SDK

于 2013-04-10T10:25:27.923 に答える