コードジンのヘッダーが入ります
Curlは、もともと1995年にDARPA(米国防総省)とMIT(マサチューセッツ工科大学)の共同研究でスタートした次世代のWeb開発言語/実行環境だ。Webアプリケーションが普及する中で、Web開発言語としての優位性が評価され、基幹業務システムを中心に国内大手企業300社以上に導入された実績を持つ。
住商情報システムCurl事業部Curlシステム開発部長の岡井道和氏は、Webアプリケーションに求められる要件として、セキュリティ、使いやすさ、理解しやすさ、稼働環境の柔軟性、また業務系アプリケーションとしての大量データ操作、BtoCアプリケーションとしてのオープン環境における稼働などをあげた。Curlは、これらの要件をすべて可能にしているという。
Curlの実行にあたっては、予めクライアント側にインストールされたCurl実行環境「Curl RTE」上に、必要に応じてWebサーバからCurlのアプリケーションソースがダウンロードされ、実行環境でJITコンパイルされる。通信は、SOAP、HTTP、HTTPSなどのプロトコルを使って行われ、サーバの環境基盤に依存しない。
このようにクライアント/サーバ型に近い環境を持つCurlで既存資産を利用したいという声もあがってきた。「VBで実現しているプログラムの機能をそのままWeb化したい、という顧客の要望は大きく、またコンバージョンしたいけれど市販のツールは対応できていないし、コンバージョンしたとしてもソースプログラムが読みづらいといった問題がありました。そこで、もっと簡単でやりやすい開発ツールができないかと考えたのです」と、岡井氏は 「VB?Curlマイグレーション」の実現に至った経緯を語る。
岡井氏は、Web環境が成熟する中で、Enterprise 2.0が標榜され、従来のC/S型とWebアプリケーションのいいとこ取りをしたリッチクライアントへの流れを解説し、さらにC/S型からWeb型へ変換した場合の構成について述べた。
VBからCurlへの実際のコンバージョンでは、VBの画面レイアウト部(.frmファイル)はCurlレイアウトソースコードに、VBのロジック部分(.frm、.bas、.clsファイル)はCurlソースコードに変換される。VBプログラムをCurlに変換して動かすデモを、VBマイグレーションツールの開発を担当したJavaプログラマのきしだなおき氏が行った。
きしだ氏は「Curl言語は、Lispのような関数型言語にJavaのようなオブジェクト指向を載せ、HTMLのような文書記述ができるようにした言語」と、その特徴を端的に述べた。変換によってVBのプログラムはCurlソースコードになるが、きしだ氏は「コンバージョンにあたっては、メンテナンスが続けられるコードを生成することが大前提」と指摘した。それには、Curlに変換できない部分に関しては手作業で修正する必要があるが、できるだけCurlネイティブの型や制御構造を保つ必要があると話す。ライブラリに登録されていない機能についても、Curl言語でファンクションを作成しライブラリに追加することが可能だ。また、VBプログラムで問題視される「GoTo」文は匿名プロシジャに変換するなどの工夫についても披露した。
最後に岡井氏が、米国InfoWorld誌の「2008年InfoWorld Technology of the Year RIAプラットフォーム部門」で、Curlが最優秀賞を受賞したことを報告。米国でRIAが技術として確立していることと、Curlに対する評価の高さを強調してセッションを締めくくった。