Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » Mobile Link - クイック・スタート » Mobile Link テクノロジの概要 » Mobile Link 同期の概要

 

サーバ側の同期論理の作成オプション

Mobile Link 同期スクリプトは、SQL で記述することも、Java (Java 用 Mobile Link サーバ API を使用) または .NET (.NET 用 Mobile Link サーバ API を使用) で記述することもできます。

サポートされている統合データベースと同期する場合は、通常は SQL 同期論理が最適です。

サポート対象外の統合データベースと同期する場合は、Java や .NET が便利です。また、SQL 言語の制限事項やデータベース管理システムの機能によって設計が制限されている場合や、異なる RDBMS タイプ間での移植性が必要な場合も、Java や .NET が便利です。

Java と .NET の同期論理は、SQL 論理と同様に機能します。Mobile Link サーバは、Mobile Link イベントの発生時に SQL スクリプトにアクセスするのと同様に、Java メソッドや .NET メソッドを呼び出すことができます。Java または .NET を使用している場合は、一部の追加処理を実行するイベントを使用できます。ただし、アップロード・ローやダウンロード・ローを直接処理するイベントのスクリプトを処理するときは、Java または .NET の実装が SQL 文字列を返す必要があります。ダイレクト・ロー・ハンドリングで使用される 2 つのイベントを除き、Java と .NET の同期論理では、アップロードとダウンロードに直接アクセスできません。Java または .NET から SQL 文字列で返された内容を Mobile Link が実行します。

ダイレクト・ロー・ハンドリングでは、handle_UploadData イベントと handle_DownloadData イベントを使用して、データ・ソースと同期します。この操作により、アップロード・ローとダウンロード・ローが直接操作「されます」

Java または .NET でのスクリプトの作成を検討する場合のシナリオを以下に示します。

  • ダイレクト・ロー・ハンドリング   Java と .NET の同期論理では、Mobile Link を使用して、統合データベース以外のデータ・ソース (アプリケーション・サーバ、Web サーバ、ファイルなど) にアクセスできます。

  • 認証   ユーザ認証プロシージャを Java または .NET で記述し、Mobile Link 認証を企業のセキュリティ・ポリシーに組み込みます。

  • ストアド・プロシージャ   RDBMS でユーザ定義のストアド・プロシージャを使用できない場合は、Java や .NET でメソッドを作成できます。

  • 外部呼び出し   プログラムが同期イベント中に外部サーバへの接続を必要とする場合は、Java または .NET 同期論理を使用して、同期イベントによりトリガされるアクションを実行できます。Java または .NET 同期論理は、複数の接続間で共有できます。

  • 変数   データベースに変数を処理する機能がない場合は、接続または同期の間持続する変数を Java や .NET で作成できます。また、SQL スクリプトでユーザ定義の名前付きパラメータを使用することもできます。この方法は、すべてのタイプの統合データベースに使用できます。ユーザ定義の名前付きパラメータを参照してください。

Mobile Link サーバ API

Java と .NET 同期論理は、Mobile Link サーバ API を介して使用できます。Mobile Link サーバ API は、Mobile Link 同期用のクラスとインタフェースのセットです。

Java 用 Mobile Link サーバ API には、次の利点があります。

  • 統合データベースへの既存の ODBC 接続に JDBC 接続としてアクセスできます。

  • JDBC、Web サービス、JNI などのインタフェースを使用して、別のデータ・ソースにアクセスできます。

  • 統合データベースへの新規 JDBC 接続を作成し、現在の同期接続の外部でデータベースを変更できます。たとえば、同期接続でロールバックを行う場合でも、これをエラー・ログや監査に使用できます。

  • 統合データベースと同期する場合は、Java コードを作成してデバッグしてから Mobile Link サーバで実行できます。多くのデータベース管理システムの SQL 開発環境は、Java アプリケーションが使用可能な環境に比べると初歩的です。

  • SQL ロー・ハンドリングとダイレクト・ロー・ハンドリングの両方を使用できます。

  • 高度で豊かな Java 言語が提供する多数の既存のコードやライブラリを使用できます。

Java 用 Mobile Link サーバ API リファレンスを参照してください。

.NET 用 Mobile Link サーバ API には、次の利点があります。

  • .NET から ODBC を呼び出す iAnywhere クラスを使用して、統合データベースへの既存の ODBC 接続にアクセスできます。

  • ADO.NET、Web サービス、OLE DB などのインタフェースを使用して、別のデータ・ソースにアクセスできます。

  • 統合データベースと同期する場合は、.NET コードを作成してデバッグしてから、Mobile Link サーバで実行できます。多くのデータベース管理システムの SQL 開発環境は、.NET アプリケーションが使用可能な環境に比べると初歩的です。

  • SQL ロー・ハンドリングとダイレクト・ロー・ハンドリングの両方を使用できます。

  • .NET Common Language Runtime (CLR) 内でコードが実行されるため、すべての .NET ライブラリ (SQL ロー・ハンドリングとダイレクト・ロー・ハンドリングの両方を含む) にアクセスできます。

.NET 用 Mobile Link サーバ API リファレンスを参照してください。

参照