私はRO/DAの幸せなユーザーです。私はROについて(スペイン語で)プレゼンテーションを行ったので、Roをあらゆる言語/フレームワークで最高のリモーティングライブラリにする重要なものをいくつか指摘します。
- マルチエブリシング:.NET、Mono、Delphi、FreePascalでサーバーを作成できます。+ Obj-C(iOSも)、javascript、REST対応、SOAP対応のすべての言語でクライアントを作成できます。
私は今、delphi、iOS、pythonのクライアントを備えた2台のサーバー(1台のdelphi、1台のnet / mono)を持っています。これは大きなプラスです。
odbc、ado、anydac、devart、.netなどのDB用のマルチデータベースドライバーをサポートします。本当にたくさんあります。
マルチプロトコルをサポート:SOAP、REST、XML-RPC、oData、およびバイナリ。高速、小型、プロプライエタリ、オープン、低速のテキストプロトコルから選択する必要はありません。コードを変更する必要はなく、いくつかのプロトコルで同じサーバーにサービスを提供することができます。真剣に、これは揺れる。
マルチチャネルのサポート:つまり、呪いのhttpだけでなく、SuperHTTP(双方向)、TCP / IP、UDP、名前付きパイプ、メモリ内、Windowsメッセージ、IIS SYSなど(チャネルは.netまたはdelphiにあるかどうかによって異なります) )。
また、サーバーを一度に複数のチャネルで公開できます。したがって、HTTP+UDPを同時に使用できます。
2-データの要約:
一種のORMに似ていますが、N層用です。DAはデータベースの「仮想」表現であり、物理データベース(または複数のデータベースに接続できます)は非常に異なる場合があります。
以前の開発者からのDBのくだらないスキーマがあるとしましょう。顧客テーブルは「CUST」と呼ばれ、名前フィールドは「1」と呼ばれます(これは、オープンソースPOSでの名前の付け方です)。ただし、フィールド「名前」を持つ仮想テーブル「顧客」を持つことができます。
したがって、「SELECT Name FROM Customer」を実行すると、DAは「SELECT1FROMCUST」を実行します。これは「DASQL」と呼ばれます。とてもきれいです。特に、本番データベースにあるくだらないスキーマの移行用です。
テーブルはビューに似ていますが、更新可能です。
DAは強い型のLINQクラス(またはDelphiクラス)を生成したので、ORMの優れたOOサポートがありますが、2層に縛られていません。
2つのデータベースにクエリを実行し、1つの仮想テーブルにデータを結合して、更新をポストバックできます。
JSを使用してロジックの検証を埋め込み、クライアントにストリーミングできます。
3-速い
BIN形式のサポートにより、すべてが高速になります。圧縮+暗号化(SSLを使用できない場合)が含まれています。
非同期呼び出し+同期呼び出し。使用する方法ごとに選択できます。
4-その他のきちんとしたもの
Bonjourをサポートするサーバーの公開と自動検出のサポート。負荷分散+フェイルオーバーを簡単に追加できます。oDataに公開します。html+jsページを公開します。http://connect.remobjects.com/での良好なサポート。
唯一の悪い点は、ドキュメントをフォローするのが少し難しいことです(IMHO)(しかし素晴らしいビデオ)。主に、基本的なものは最初は難しいように見えるものです(コードが理解しにくいためではなく、libが大きいためです)。
ソースコードが含まれています。デモは良いです。
しかし、一般的に、libは素晴らしいです。とても素晴らしいので、最近のプロジェクトでは、このlibを使用するためだけにpython(私のお気に入り、delphiの後)を使用する代わりにC#.NETを使用しています(言語は嫌いですが)。その良い;)