スマートデバイスの普及にともない、クロスプラットフォームに対応することがいかに重要かということは、前回説明した。今回は、SCSKが提供するモバイル開発環境「Caede」と、そのベースになっている、RIA(Rich Internet Applications)/リッチクライアントの開発基盤「Curl」言語(以下、Curl)の機能や特徴を紹介する。
DARPAとMITが生んだ次世代技術
「Curl」の歴史は意外に古い。その起源はいまから20年前、Javaの登場と同時期の1995年にさかのぼる。米国国防総省の軍事技術研究開発機関である国防高等研究計画局(DARPA=Defense Advanced Research Projects Agency)がマサチューセッツ工科大学(MIT=Massachusetts Institute of Technology)に出資し、次世代のRIA/リッチクライアント技術を研究開発する共同プロジェクトをスタートさせた。
プロジェクトを発起したDARPAといえば、インターネットの原型であるARPANET(Advanced Research Projects Agency Network)、あるいは衛星測位システムのGPS(Global Positioning System)の発明でも知られている。また、Curlの開発にはWWW(World Wide Web)を考案したティム・バーナーズ=リー氏も参画している。それだけ由緒ある技術なのだ。
「1990年後半からのWebの世界で“動くWebアプリケーション”を作るための技術基盤として開発が始まったのがCurlです。Windows、Linux、MacなどのOSや様々なブラウザなどのマルチプラットフォーム対応の先駆けとして誕生しました」と語るのは、SCSKの流通システム第一事業本部 流通システム第一部 Curlプロダクト課で開発業務のマネージャを務める山本剛司氏だ。
プロジェクトの成果としてCurl Ver.1が発表されたのは、プロジェクトがスタートしてから6年後の2001年。その間“動くWebアプリケーション”としては、Javaアプレット、Adobe Shockwave、Adobe Flashなどの技術が広く普及したが、それらを動かすプレイヤーとHTML、Java Scriptなどを複雑に組み合わせなければ思い通りのWebアプリケーションが開発できないという課題が生じていた。その解決策として、特に企業の基幹系システムにおけるRIA/リッチクライアント用途で支持されたのがCurlだった。
「Curlのコンセプトは、『ワンソース・マルチユース』です。つまり、スタティックなWebアプリケーションから2D/3Dアプリケーション、ロジックまでを含めてすべて1つの言語で対応できるというものです。このコンセプトは現在のHTML5に通じるものがありますね」(山本氏)
その後2004年には、SCSKの前身である旧・住商情報システムがCurlについてのすべての権利を買収。以降はSCSKがCurlの開発・保守のすべてを行なっている。
モバイルによる業務効率を向上させるCaede
Curlの特徴は、操作性とパフォーマンスに優れたセキュアなマルチプラットフォーム対応のRIA/リッチクライアントが開発できることだ。しかし時代が進み、企業システムのクライアントとしてスマートフォンやタブレットなどのモバイルデバイスのニーズが高まると、Curlだけでは対応が難しい場面も出てくるようになった。
「CurlはもともとPC向けの技術であり、サーバ側でソースコードを管理しながらクライアントPC側の『Curl RTE』という実行エンジンで、JIT(Just In Time)コンパイルする仕組みになっています。ところがモバイルアプリケーションには、インストール可能なモジュールに制約があります。そうしたモバイルアプリケーションの課題を解決する基盤として用意したのがCaedeです」と語るのは、山本氏と同じCurlプロダクト課に所属し、開発業務の第一線をになう小段政樹氏だ。
Caedeの開発環境では、Curlを使ってWebアプリケーションを開発するだけで、PCや各種モバイルデバイス向けにソースコードが自動的に変換される。たとえば、iOS/Android向けのアプリケーションなら、Caedeに実装された「Caedeトランスレータ」がCurlのソースコードをHTML5やObjective-C、Javaのネイティブコードにコンバートする。これによりiOS用・Android用のアプリケーションを別々に開発する必要はなくなり、1つのソースコードだけであらゆるプラットフォームに対応したアプリケーションを生成できるようになる。これが「ワンソース・マルチユース」というCaedeのコンセプトだ。
そして、Caedeの最大の特徴は業務効率を向上させる豊富な機能があらかじめ用意されている点だ。
「Caedeは手書きアプリ連携やバーコード連携で入力を補完するといった、業務効率を向上させる機能を提供しています。ネットワークに接続できない場合を想定して、オフラインで利用することも可能です。また従来のバージョンアップ以外に、アプリケーション内部のモジュールを利用者に意識させずに更新する、自動コンテンツアップデート機能など、運用効率を向上させる機能も用意されています。さらにデバイスのウィンドウサイズに合わせて自動的にレイアウト調整する機能があるなど、開発効率も格段に向上します」(小段氏)
そしてもう一つ、大きな特徴となっているのがSCSKの保守・サポート体制だ。
「SCSKの一番の強みは、金融、製造、通信などの業種別ソリューションを手がける部隊、モバイル系ツールを含むパッケージソリューションを提供する部隊、データセンターインフラを運用する部隊が密に連携している点です。これにより、お客様のあらゆるニーズに応えるソリューションを開発から運用までワンストップで提供することができます。CaedeはSCSKの自社製品であり、社内のプロパーメンバーが企画から保守まで提供する体制になっています。何か問題があったときの調査・対応も、弊社サポートセンターにて行います。こうしたサポート体制は、他社製品をベースにしたソリューションを提供する会社には真似のできない特徴です」(山本氏)
このようにメリットの多いCaedeは現在、製造、金融、商社、自動車業界を中心とする多くの基幹系システムに採用されている。Curlは国内600社以上、全世界1,500社以上の企業で稼働し、Caedeによるモバイルアプリケーション開発に着手した企業も急増しているという。次回は、Curl/Caedeを導入した事例を紹介する。
2015年6月2日(火)ライブ開発&ノンプログラミング開発デモセミナー
Android、iOSアプリの開発から実機確認までが超高速に一気通貫!
ノンコーディングを追求した「次期新開発環境」もご紹介します。