2009-09-03 12 views
2

現在、値を読み書きするためにリモートサーバー/データベースにアクセスする必要があるアプリケーションを作成しています。最高の技術は何ですか? XML Webサービスのサポートがないと聞いたことがありますが、これはASP.NET Webサービスがアクセスしにくいということですか?リモートサーバー/データベースに接続してIPhoneからデータを取得するにはどうすればいいですか

ありがとうございました。

答えて

0

Webサービスは明示的にサポートされていませんが、NSURLconnectionおよびNSXMLParserクラスを使用して独自のロールを作成することはできます。

これらのテクノロジを使用するのは例外的に難しいことではありませんが、アクセスしたいすべてのWebサービスのコードを書くのに時間がかかることがあります。

+0

"自分自身をローリングする"(表現のように!)は実行可能ですが、不必要に時間がかかります。最近、痛みの大部分を取り除くラッパーがたくさんあります... – h4xxr

+0

私はwebservicesの仕組みの低レベルの詳細を扱っています。 ASP.NETやその他の方法をお勧めしますか? –

+0

私はiPhoneプロジェクトで.net Webサービスを使用してきました。時間がかかり、リクエストごとにカスタムSOAPラッパーを作成する必要がありました。個人的には、何らかのRESTサービスを利用しています。それではXMLを解析するだけです。 –

1

XML Webサービスはサポートされていないというわけではないので、Webサービスがこれを行う最も簡単な方法です。

のObj-CのXML解析のものはかなりハードコアなので、きちんとlibxml2のラッパーのカップルのために、このリンクを打つ:

http://cocoawithlove.com/2008/10/using-libxml2-for-parsing-and-xpath.html

+0

私は、サポートが意味するのは、XCodeが自動的にラッパークラスを生成しないということです。例えば、VisualStudioのような重いものを置き換えるものが自動的に生成されるわけではありません。 – Dana

0

あなたはSOAPを使用する必要がありますか?従来の理由やiPhoneが既存のWebサービスプロバイダの唯一のクライアントではない場合、SOAPベースのWebサービスを使用する必要があるかもしれませんが、さまざまなサービス(サーバー側のコンポーネント)と通信するアプリケーションがあります。独自のXMLスキーマを使用します。ここでは、標準NSXMLParserを使用しています。

0

MonoTouchを使用することもできます。

0

http://ODBCrouter.com/ipad(新)には、アプリケーションがサーバー側のドライバを使用してマルチスレッドODBCを実行できるXCodeクライアント側ライブラリ、ヘッダーファイル、およびObjective Cオブジェクトが追加されました。

これにより、多数のライブ・ユーザーがいるとかなり怖いSOAP/RESTサービスを個別に保守するのではなく、通常のSQLまたはストアド・プロシージャを使用できます。 ODBCrouterの内容は無料ではありませんが、SOAP/RESTサービスとCocoa Touchの開発にかかる人件費よりもずっと安いです。

静的構成をモバイルデバイスに「時々刻々と」転送することができましたが、実際には「サーバー環境」内のバッチジョブまたは企業間でデータを交換するように設計されていました。 (電源コードと空調)、モバイルアプリのn個のコピーから頻繁に来るデータベースクエリに対しては効率的ではありません。モバイルCPUがXMLで描画するネットワークオーバーヘッドとバッテリ電力が高いだけでなく、ODBCを使用するよりも高速にバックエンドサーバーのRAMとCPUの電力を増やすことができます。つまり、クエリがレーザーで効率的であることを確認してください(ストアドプロシージャやトリガのみを使用し、必要な列のみを選択して、ワイルドカードを回避し、結果セットをユーザーにとって有益なものに限定する)。

関連する問題