PR

 企業が今後スマートデバイス向けのアプリを継続して開発し業務に役立てていくためには、「開発基盤の整備」が不可欠だ。単発のアプリ数個を開発するだけの企業なら、基盤を整備するまでもない。しかし、スマートデバイスが業務上重要な役割を担い、多数のアプリを開発していく必要があるなら、開発や修正の効率化のためにも基盤整備に着手したい。

 ここでいう開発基盤とは、開発を効率化するためのライブラリー集や開発ツールなどである。ハイブリッド型のアプリや、HTML5を使ったWebアプリの開発を効率化することを目指す。ハイブリッド型アプリとは、ネイティブのアプリとWebの技術を融合させたもの。ネイティブのアプリの中でWebブラウザーの機能を呼び出し、HTMLファイルを表示したりJavaScriptを実行したりする。「業務用途のアプリは、ハイブリッドアプリやHTML5が主流になりつつある」(日本IBMソフトウェア事業WebSphere第一CTPの須江信洋氏)。

 オープンソースのソフトウエアなどを活用して自前で開発基盤を整える方法もある。ただ、技術力とリソースが必要になる。そこで、新日鉄ソリューションズや日本IBM、野村総合研究所(NRI)といった大手ITベンダーが提供し始めたソフトウエアやサービスが有効な選択肢となりつつある。

 これらのソフトやサービスを利用すると、ログ管理やバージョン管理、認証、サーバーとの連携といった企業アプリ向けの機能を簡単に実装できる。アプリのテンプレートも取りそろえてある。中にはプログラミングの知識が必要なく、業務部門の担当者でも使えるものも登場している。

ハイブリッド型のアプリを開発

 スマートデバイス向けアプリ開発基盤の特徴は、大きく三つある。オープンな開発ツールを使えること、マルチデバイスに対応できること、業務システムとの連携機能を担うサーバーソフトが用意されていることだ。

 日本IBMのアプリ開発基盤「Worklight」を例に説明しよう。Worklightは、オープンソースのIDE(統合開発環境)ソフト「Eclipse」に組み込んで使う専用のプラグインと、業務システムやクラウドと連携するためのサーバーソフト「Worklight Server」で構成される(図10)。

図10●日本IBMのアプリ開発基盤「Worklight」で開発したアプリが動作する仕組み
Worklightで開発したハイブリッド型アプリは、Worklight Serverと連携して認証や業務サーバーへのアクセスを実現する
[画像のクリックで拡大表示]

 Eclipseに専用のプラグインを組み込んだ「Worklight Studio」を使って、ハイブリッド型アプリを開発する。開発担当者は、HTML5やJavaScriptのコードを書き、Webアプリを開発するのと同じ要領でハイブリッド型アプリを実装する。

 その際には企業向けのアプリでニーズが高い、認証機能やプッシュ通知機能、キャッシュの暗号化機能などを、クリック操作だけでアプリに組み込める。アプリからデータベースや業務システムのサーバーなどに接続する場合は、それも指定する。

 開発が終わったら、iPhoneやiPad、Android OSのアプリとしてコンパイルするためのコードを記述したファイルを出力する。それをiPhoneであれば開発ツール「Xcode」で読み込み、アプリとしてコンパイルする。

 開発したアプリは、WorklightServerと連携して動作する。データベースや他のサーバーと通信する場合も、Worklight Serverが中継する仕組みである。

HTML5アプリの開発基盤も

 HTML5を使ったアプリ開発を支援する企業向けアプリ開発基盤も登場している。新日鉄ソリューションズの「hifive」や、NRIの「ZOOK+」がそうだ。

 HTML5アプリを開発する上でポイントになるのは、「コードの構造化」である。HTML5と組み合わせてビジネスロジックの実装に使うJavaScriptは、文法の自由度が高い開発言語である。何のルールもなくコードを書いた場合、その開発者以外にはそのコードの内容を理解するのが難しい。一つのファイルに画面更新のロジックと、データチェックのロジック、データベースアクセスのロジックを並べて書くこともできてしまう。後からアプリケーションを修正する場合に、どこに何のロジックが書いてあるかを調べるだけで時間がかかってしまう。

 そこで開発基盤では、HTML5やJavaScriptの実装ルールやそれにのっとったテンプレートを用意し、アプリの開発や保守をしやすくする。例えばhifiveでは、画面生成を担う「View」、画面操作に応じ処理する「Controller」、データベースへのアクセス処理を実行する「Logic」にアプリのコードを分ける(図11)。保守性が高まるだけでなく、分担開発もしやすくする。例えば、Viewはデザイナー、ControllerやLogicはエンジニアというように分けて開発できるようになる。

図11●新日鉄ソリューションズのHTML5アプリ開発基盤「hifive」でソースコードを構造化する狙い
HTML5やJavaScriptはコード記述の自由度が高いため保守がしにくいという欠点を、構造化ルールにより解消する
[画像のクリックで拡大表示]

 実はこういった、HTML5やJavaScriptのコード構造化を支援するフレームワークは、オープンソースのものが多数利用されている。「Angular.js」「Backbone.js」「Knockout.js」などだ。構造化が主眼なら、これらを使う。

 企業向け開発基盤は、単に構造化するだけでなく、マニュアルやツール、UI部品なども併せて提供し、開発作業を効率化する。例えばNRIのZOOK+は、コードの構造化を支援するのに加えて、機能部品を豊富に提供する。コマンドを1行追加するだけで、ZOOK+が用意している画面部品を呼び出すことが可能である(図12)。多言語化機能やログ出力機能なども用意する。

図12●野村総合研究所のHTML5アプリ開発基盤「ZOOK+」で利用できる画面部品の例
HTML5アプリで実行するJavaScriptに1行追加するだけで、どの端末でもネイティブアプリに近い機能が使える
[画像のクリックで拡大表示]

ERPへセキュアにアクセス

 特定のパッケージソフトをスマートデバイスから利用するためのアプリ開発基盤も登場した。SAPジャパンの「SAP MobilityPlatform」はその一つだ(図13)。

図13●SAPジャパンのアプリ開発基盤「SAP Mobility Platform」でSAP ERPのデータにアクセスする仕組み
SAP Mobility Platformは、SAP ERPのデータベースをオブジェクト(MBO)として保持。アプリからオブジェクトへのアクセスを制御する
[画像のクリックで拡大表示]

 SAPは、米アドビシステムズの「PhoneGap」、米アップセラレーターの「Titanium」、米センチャの「Sencha Touch」という主要な三つの開発環境向けに、SDKを提供する。これら3ツールはいずれも、マルチデバイス対応のアプリ開発が可能なソフトウエアである。使い慣れた開発ツールをそのまま使える利点がある。

 もう一つの利点は、セキュリティ強化の仕組みが用意されていることだ。SAP Mobility Platformが目指すのはSAP ERPとスマートデバイス用アプリとの連携である。ただし、スマホやタブレット端末からSAP ERPに直接アクセスできるようにするのはリスクがある、と判断する企業はまだ多い。

 そこでSAP Mobility Platformでは、SAP ERPのデータベースにある情報の一部を、「MBO(モバイル・ビジネス・オブジェクト)」として切り出して管理する。MBOへのアクセスに制限を設けることでセキュリティを保つ。

ウイザードでアプリを作る

 スマートデバイス向けアプリを、もっと速く、簡単に開発できるクラウドサービスやソフトが登場している。アプリの種類や機能は限定されるものの、開発言語の知識がない業務部門の担当者でも手軽に使えることから、今後利用する企業が増えそうだ。

 この7月にサービスを開始したモビラス・ジャパンのアプリ開発クラウド「AppExe」は、その代表例である。利用者は、AppExeのWebサイトにアクセスし、ブラウザー画面上で、アプリの画面設計や、扱うデータ項目の内容などを指定する。プログラミングの必要はなく、ウイザード形式で内容を指定するだけでよい(図14)。

図14●モビラス・ジャパンのアプリ生成クラウド「AppExe」の画面例
画面部品を配置したり、ウイザード形式で設定したりするだけでアプリを生成できる
[画像のクリックで拡大表示]

 設定が終わると、どのOS、どの機種向けにアプリを生成するかを選ぶ画面が表示される。端末を選ぶと、AppExeのサーバー内で、指定したOS、機種で動作するネイティブアプリを生成。利用者があらかじめ登録しておいたメールアドレスに、アプリのファイルをダウンロードするためのURLが送られてくる。利用者はアプリをダウンロードし、動作を確認するという流れだ。

 アプリには様々な機能を実装できる。例えばアプリ内にデータベースを持たせたり、ボタンをタップした際のアクションを指定したりできる。社内システムと接続する、といった機能も実現可能だ。モビラスが用意する「運用サーバー」が、アプリと社内サーバーの通信を中継する仕組みである。

 アシアルの「Monaca」やジェナの「seap」も、同様の機能を提供するサービスである(図15)。Monacaは、HTML5ベースのハイブリッド型アプリを開発するクラウドサービス。必要に応じて、Webブラウザーの画面からHTML5やJavaScriptのコードを追加することが可能だ。

図15●アプリを開発できるクラウドサービスやソフトウエア
プログラミングの知識がなくても手軽にアプリを作ることができる
[画像のクリックで拡大表示]

 seapは、アプリのテンプレートを用意するクラウドサービス。利用者は画面構成をカスタマイズしたり、表示するデータを組み込んだりしてアプリを開発する。「カタログ」「アンケート」などのひな形がある。

業務データの登録・参照に特化

 特定の用途に特化しているのが、エヌジェーケーのアプリ作成ソフト「MobileEntry」である。外出先での報告書入力アプリなどを、手軽に作成できる。クラウドサービスではないが、PCサーバーなどにMobileEntryのサーバーソフトをインストールして使う。

 開発者がサーバーにアクセスし、アプリ利用者が入力するデータ項目などを指定すると、その情報がCSVファイルに出力される。利用者の端末にはあらかじめMobileEntryのアプリをインストールしておく。アプリを起動すると、サーバーからCSVファイルを自動的にダウンロード。アプリがCSVファイルの中身に応じた入力画面を生成し、表示する仕組みである。

 MobileEntryのアプリには、スマホやタブレット端末のカメラやGPSセンサーを呼び出す機能があらかじめ搭載されている。これらも、CSVファイルの記述に応じて呼び出すことで利用可能だ。

 入力項目を増やしたり、変更したりするのも、サーバーにアクセスしてCSVファイルに出力する情報を編集するだけ。ネイティブアプリともハイブリッド型アプリとも異なるが、そん色ない機能を簡単に実現できる。

「Surface」のアプリもHTML5

 マイクロソフトが2012年6月に発表した「Surface」と「WindowsPhone 8」は、Windows 8を搭載したスマートデバイスである。同社はWindows 8を10月末に発売すると表明していることから、Windows 8を搭載したスマートフォンやタブレット端末は年内にも国内に登場しそうだ。

 Window 8を搭載するスマートデバイスは、企業にとってはiPhone/iPad、Android端末に続く、第3の選択肢と言ってよい。既存のWindows資産を流用できると考えて、Windows 8端末の登場を待っている企業もある。

 Windows 8では、従来通りのWindows画面と、新たに搭載されるU「I Metro」が利用できる。Metroについては、HTML5アプリが利用可能だ。開発ツールとしては、Microsoft Visual Studio 2012Expressを使う。

 通常のHTML5のWebアプリと異なり、センサーやカメラなどのハードウエア固有の機能と連携するためのライブラリーが用意されている。HTML5やJavaScriptの知識さえあれば、Windowsアプリを開発できるようになる。ただ、独自の仕様であるため、ほかのスマートデバイスでは動作しない。

関連記事
日経コンピュータ 2012年5月10日号
 Report「スマホで既存資産とスキルが使える
日経コンピュータ2012年5月24日号
 特集 「オフィスはこの手の中に