2013-04-01 2 views
9

これは何度か尋ねられたことはわかっていますが、明確な答えはないようです...過去3日間以上これを検索しています。私は、ODBCをコンパイルする必要がiOSアプリケーションからOracleに接続する

  1. ODBCクライアント (これはODBC?)ARM用GCJを使用して:

    は、iOSアプリからOracleデータベースに接続するには2つの方法があるように思われます。私はこれがエラーで作られた難しい方法だと思っていますが、かなりの努力で可能です。

  2. ウェブサービスの使用 アプリケーションからWebサービス、およびWebサービスからOracle DBに接続します。

これら2つの方法はありますか?

2つの方法に関するごくわずかです。 a。どちらがより安全ですか? b。私の会社のセキュリティ部門は上記のいずれにも反対しますか? c。どちらがより効果的ですか? d。どちらが普通に使うのですか?

+0

あなたもチェックすることができます。.. http://www.oracle.com/technetwork/products/database-mobile-server/oracle-database-lite-10gr3-ds-130079.pdfて、http: //orclib.sourceforge.net/blog/ – TonyMkenu

答えて

6

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

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

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

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

2

ODBC接続では、Oracleポートがインターネットに公開されている必要があります。これは、大部分の場合、セキュリティとパフォーマンスの理由から許可されません。たとえセキュアなVPNを構築したとしても、直接データベースにアクセスするには、接続が開いたままである必要があります。これは、モバイルデバイスがネットワークにアクセスしたり、ネットワークから通信を遮断したりする場合に問題になります。

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

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

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

ウェブサービスを手作業で開発した場合でも、当社製品を使用した場合でも、直接クライアント/サーバーアプローチよりも優れたスケーラビリティ、パフォーマンス、セキュリティをソリューションに提供します。私はREST APIを社内のエンタープライズデータ統合ソリューションで使用すべきだと主張しますが、それはまったく新しいトピックです。

6

Webサービスが答えです。モバイルデバイスから直接データベースに接続する人はいないでしょう。 Webサーバーは、セキュリティを一層追加するだけでなく、データベースに直接負荷をかけずに同時リクエストを処理する機能を追加します。

a。どちらがより安全ですか? 上記で説明したWebサービス

b。私の会社のセキュリティ部門は上記のいずれにも反対しますか? はい、セキュリティ部門は、すでに開いていないかぎり、oracleポートを直接開いて開くことを拒否します。

c。どちらがより効果的ですか? Webサービスでは、Webサーバーに適切なキャッシュポリシーを設定することで、リソースをデータベースに保存できます。

d。どちらが普通に使うのですか? Webservicesは、セキュリティとパフォーマンスにおいて大きな利点を提供するだけでなく、Webサービスが再利用可能で、さまざまなプラットフォームからアクセスできるだけでなく、後でAndroid搭載デバイスでアプリケーションを提供したいと考えています。多くの開発時間。

市場で今日のトップアプリケーションの多くは、Webサービスを使用して、それについて考えてください。

Googleマップは、どのように強力なウェブサービスであるかの素晴らしい例です。

0

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

http://odbcrouter.com/iosvsweb#hn_iOS_Open_Database_Connectivity_SDK

関連する問題