Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

Oracleの「Developer」で作成された画面をCurlで実装!

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

目次

Developer/Curl+ORBでの実装時の違い

 それでは、Developerでの実装時と、Curl+ORBでの実装時の差異を確認していきましょう。

Developerでの特徴

  • サーバサイド、クライアントサイドを意識することが少ない
  • 単一言語(PL/SQL)にて実装ができる
  • DBアクセスレスポンスが良い
  • 今回のサンプル程度であれば、項目定義、プロパティの設定のみで実装が可能である

Curl+ORBでの特徴

  • サーバサイド、クライアントサイドを分割して実装できる。データクラスを定義していれば並行開発が可能
  • サーバサイドは、一般的なJava+DBアクセスロジックにて実現でき、クライアントにCurl/ORBを使っていることを意識する必要がない
  • Curl側のデータクラスはツールにて自動生成できるため、負荷が少ない
  • 煩雑なサーバ/クライアント間のデータ通信部分のロジックを省略でき、Curl側へのデータ描画、Java側のデータ抽出作成 部分に注力できる
  • ORBはオープンソースで公開されているため、自由なカスタマイズが可能

DBアクセスレスポンスについて

 両者のアーキテクチャーが大きく違うため単純な比較はできませんが、DBアクセスレスポンスを比較しました。テーブル[HINMK_TBL]に1000件のデータを格納し、それを画面に表示するという速度検証を行いました。

 結果は、Curl/Developer共に1秒以下で表示されます。体感はDeveloperが早いですが、1000件程度の表示であれば両者の速度に大差は感じられませんでした。

作業性について

 今回の画面作成の作業性を比較してみます。Developerは、1人で作業し、1時間で作成できました。クライアント/サーバを意識する必要がない反面、分担して作業することができません。Curl+ORBは、サーバサイド/クライアントサイドで担当を分け、2人で作業しました。サーバサイド:30分、クライアントサイド:30分で作成できました。DeveloperもCurl+ORBも トータルでかかる作業時間は大差ありませんでした。Curl+ORBでは自動生成で作成する部分もあるので、”コーディング”する部分は局所的です。

 APサーバの設定については、経験がないと苦戦するという点では、Developer/Curlも同じです。両者共に丁寧な解説サイトがありますので、それに従えば構築できます。Curlは、利用するサーバサービスに依存していないため、特段Curlに関する知識がなくても、一般的なWeb/APサーバを構築するための知識さえあればスムーズにサーバを構築できます。

開発ツールについて

 Developerの開発は、Forms Builderという開発ツールを用います。項目を作成し、プロパティを設定していき、必要に応じてPL/SQLでロジックをコーディングしていきます。画面のエディタも配備しております。

 Curlの開発は、CDE(Curl Development Tools for Eclipse)という開発ツールを用います。Curlのソースコードは、テキストベースですので、前述のコーディングレベルであれば、テキストエディタでも作成可能ですが、開発ツールを用いるとコード補完などコーディングする際に有用な機能が多数あり生産性が向上します。

 また、Ver.8.0.0では便利な機能も多数盛り込まれています。詳細は、こちらをご覧ください。

バージョンアップについて

 開発ツール/実行環境の宿命上、バージョンが存在します。旧バージョンの開発ツールで作成したプログラムを新バージョンにコンバージョンさせるシーンに良く出会うと思います。

 Developerでは、古いバージョンのソースを新しいバージョンのソースにコンバージョンできます。やり方はいくつかありますが、基本的には古いバージョンで作成したソースを新しいバージョンのツールで開き、コンパイルして保存する、というやり方です。(もちろん、バージョン間で変更されたAPIに対する対応は必要です)

 Curlの場合は、ヘラルドと呼ばれる部分に新しいバージョン番号を書きます。今回の例では、ヘラルドに{curl 6.0, 7.0, 8.0 applet}と記載しています。これは、Ver.6、7、8のCurl RTEで稼動することを意味しています。

 例えば、このプログラムをVer.9に対応させたい(記載日時点でVer.9は存在しません)場合は、ヘラルドに

{curl 6.0, 7.0, 8.0, 9.0 applet}

 と書きます。変更後のテストは必要ですが、基本的にはこれでVer.9のCurl RTEでも稼動します(Developerと同様に、バージョン間で変更されたAPIに対する対応は必要です)。

 Developerと大きく違うのは、Curlの場合、{curl 6.0, 7.0, 8.0, 9.0 applet}と記載していれば、単一のソースプログラムでCurl RTE Ver.6.0/7.0/8.0/9.0で稼動させることができることです。個々のバージョンで稼動することを確認する必要がありますが、バージョンアップしたからといって、新バージョンでしか稼動しないということはなく、旧バージョンのCurl RTEで稼動させることも可能です。


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

バックナンバー

連載:CurlデベロッパーセンターPick Up

もっと読む

All contents copyright © 2005-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5