2010年11月20日土曜日

Cenaとは何?特徴は?

Cenaを使うと何が便利になるのか?
前回のエントリーで書いたローカルデータベースを使った場合の問題を解決できます。

つまり、データのシンクロナイズ、ローカル上のデータをサーバーにアップロードする処理が簡単になります。
  • 新規登録および既存データのID(プライマリキーですね)の追跡が簡単になるため、レコード間のリレーションを含めてアップロードできる
  • 更新したデータのみをサーバーにアップロードできる。
    しかもレコード単位でなく、修正した項目のみのアップロードが可能
  • 一度に複数の更新および新規登録データのシンクロが可能。
そもそもが難しい問題(と思う)ので、簡単にシンクロが出来るというよりは「(比較すれば)簡単になる」と書くべきかもしれません。

また、HTML5などのようなサーバー&クライアントといった関係でのみ対応が可能と考えてます。全てのどんなデータベースでも通信、というのは解決できてません。

Cenaの本質は?

Cenaの本質は、多分トランスファープロトコルです。
データをシンクロするための通信内容を規定しています。

このため、クライアント側とサーバー側の両方でプロトコルを理解する必要があります。サーバーはPHP(5.3以降)、クライアントはJavaScript(jQueryプラグイン)で開発しています。

CenaのPHPライブラリ

ORMの上にCenaのレイヤーをかぶせることで、Cenaに対応しています。ただしORMは自分で開発しているものになります。

理論的には他のORM(Doctrine2とか)でも使えると思いますが、今のところは作業は進んでいません。

CenaのjQueryプラグイン

HTML5のローカルデータベースを使うためにjQueryのプラグインを開発しています。現在はWebSqlDatabaseを使っているため、Webkit系(Chrome、Safariなど)のブラウザーで動作します。

WebIndexDatabaseが安定したら、対応する予定です。
個人的にはsynchronous APIが早く動いて欲しいところですが。

1 件のコメント:

Patmos Pete さんのコメント...

あなたに神を愛しています。聖書を読んでください。