(この記事は、日本アイ・ビー・エム株式会社発行の「IBM developerWorks」から、日本アイ・ビー・エム株式会社の許可を得て転載したものです)
はじめに
IBM Worklight V5はスマートフォンやタブレット用のモバイル・エンタープライズ・アプリケーションを開発するための、オープンで包括的かつ高度なプラットフォームです。Worklightは、HTML5、CSS3、Apache Cordovaなどの技術を活用したオープンスタンダード・ベースの完全なプラットフォームとして、あらゆる規模の組織がHTML5によるモバイル・アプリケーションやハイブリッド・モバイル・アプリケーション、ネイティブ・モバイル・アプリケーションを効率的に開発、接続、実行、管理するのを支援します。
Worklightは、アプリケーションのビルド、デプロイメント、実行、管理など、モバイル・アプリケーションの開発ライフサイクルのあらゆるフェーズをサポートしており、また各フェーズではそのプロセスを支援するツールを提供しています。
標準ベースの技術とツールを活用したWorklightには、包括的な開発環境、モバイル用に最適化されたミドルウェア、管理や分析用の統合コンソールが含まれ、それらが多様なセキュリティー・メカニズムによってサポートされています。Worklightを使用することで、コード変換や独自のインタープリター、さらにはあまり使われないスクリプト言語などを使用することなく、リッチなクロスプラットフォームのアプリケーションを作成することができます。また、市場導入までの時間の短縮、開発コストの削減、全体的な複雑さの軽減につながるとともに、多種多様なモバイル・デバイスに対して優れたユーザー・エクスペリエンスを実現できるようになります。
Worklightを使用することにより、最適化されたさまざまなバージョンのモバイル・アプリケーションの開発および保守を効率的に管理することができます。また、異なるモバイル・オペレーティング・システム(AndroidやiOS、その他)を対象としたモバイル・アプリケーションを共通の方法で構築することができます。共通のコード・ベースの大部分が複数のオペレーティング・システムの間で共有されるため、作成済みコンポーネントを利用することや、デバイスに依存しないコード部分を共有することも可能になり、開発時間を大幅に削減することができます。Worklightを使用して配布されたモバイル・アプリケーションは多種多様なデバイスに共通のWeb技術を活用しており、しかもネイティブ技術やネイティブ・ツール(Objective-C、Xcode、Androidなど)の強力さを活用した機能を犠牲にすることはありません。そのため、必要な場合には、特定のオペレーティング・システムを対象とするアプリケーションにネイティブ・コードを追加することもできます。共有される共通のコード・ベースとApache CordovaやネイティブAPIとを組み合わせて使用することで、アプリケーションから特定のモバイル・デバイスの機能にアクセスすることができます。
この記事では、Worklightの最新の主要な機能を概要レベルで紹介することで、読者の皆さんがWorklightの能力を理解する手助けをすると同時に、皆さんがモバイル・アプリケーションの開発に着手し、迅速かつ効果的な開発ができるようにする上でWorklightがどのように役立つかを理解する手助けもします。
IBM Worklightは、ビジネスの中でモバイル・アプリケーションの開発、デプロイメント、管理を完全な形で行う上で不可欠な要素を提供するIBM Mobile Foundation製品ファミリーの一部です。
Worklightの概要
Worklightプラットフォームは以下の4つの主要なコンポーネントで構成されています。
- IBM Worklight Studio: EclipseベースのIDE(Integrated Development Environment: 統合開発環境)です。この環境を使用すると、さまざまなモバイル・オペレーティング・システムで完全に動作するモバイル・アプリケーションを開発するために必要な、あらゆるコーディング作業と統合作業を行えます。Worklight Studioにはコード開発支援機能があるおかげで、EclipseユーザーがWorklight Studioを使ってモバイル・アプリケーションを開発する際に、追加で学習しなければならないことは、ほとんどあるいはまったくなく、EclipseユーザーにとってWorklight Studioは使いやすいはずです。
- IBM Worklight Server: アプリケーション、外部サービス、エンタープライズ・バックエンド・インフラストラクチャーなどとの間のスケーラブルなゲートウェイとして機能するJavaベースのサーバーです。このサーバーには、接続、マルチソースのデータ抽出およびデータ操作、認証、Webアプリケーションやハイブリッド・アプリケーションの直接更新(Direct Update)、分析、運用管理などを実現するためのセキュリティー機能があります。Worklight ServerはWorklightアプリケーションを実行するためのIBM WebSphere Application Serverランタイム環境とApache Tomcatランタイム環境をサポートしています。
- IBM Worklight Device Runtimeコンポーネント: デプロイされたアプリケーションのターゲット環境にサーバー機能を組み込むためのクライアント・サイドのランタイム・コードで構成されるコンポーネントです。
- IBM Worklight Console: Worklight Server、Worklight Serverにデプロイされたアプリケーションに加え、アダプター、プッシュ通知などを対象とした継続的な監視と管理をサポートするためのWebベースの管理コンソールです。このコンソールを使用することで、さまざまなバージョンのモバイル・アプリケーションを管理したり、アプリケーションのユーザーに任意の通知を送信したりすることもできます。
Worklightはこれらのコンポーネントを通じて多種多様な機能と能力を提供します。その一部を以降で紹介します。
クロスプラットフォームのアプリケーションを構築するための統合開発支援環境
Worklight Studioはサポート対象となるすべてのモバイル・プラットフォームに対し、モバイル・アプリケーションの開発環境を提供します。アプリケーションはモバイルWebアプリケーションとして開発することもできますが、特定のオペレーティング・システム(Android、iOS、BlackBerry、Windowsなど)を対象に開発することもできます。図1はWorklight Studio開発環境の画面です。
オープンな手法でサードパーティーのライブラリーと統合
サードパーティーのJavaScriptライブラリー(jQuery Mobile、Sencha Touch、Dojo Toolkitなど)をWorklight Studio開発環境にシームレスに統合することができます。そのため、これらのライブラリーを使用して構築された既存のアセットを再利用することができます。Worklightには、任意のアプリケーションに使用できるDojoライブラリーが含まれています。jQueryライブラリーやSenchaライブラリーを使用するには、モバイル・アプリケーションの作成時にこれらのライブラリーを構成する必要があります。新しいモバイル・アプリケーションを開発する際に既存のアセットを利用できると、モバイル・アプリケーションの開発サイクルを短縮できる可能性があります。図2に示すのはWorklightアプリケーション作成ウィザードであり、さまざまなライブラリーを統合するためのオプションが表示されています。
強力な認証フレームワーク
Worklightには認証フレームワークが組み込まれており、このフレームワークはほとんど手間をかけずに構成して使用することができます。認証はフォーム・ベースで行うこともできますし、クッキー・ベース、HTTPヘッダー・ベース、アダプター・ベースで行うこともできます。Worklight Studioにはエディターが用意されており、あらゆるアプリケーションに関する認証の構成を表示、編集することができます。またWorklightでは、カスタムの認証フレームワークを作成することもできます。図3はWorklight Studioの「Authentication Configuration Editor(認証構成エディター)」を示しています。
オペレーティング・システム間で共通コード・ベースを共有
Worklightの主要な能力の1つは、サポートしているすべてのモバイル・オペレーティング・システム間で共通のコード・ベースを共有できることです。Worklightでアプリケーションを作成する場合、Worklightはアプリケーション・コード・ベースのデフォルトの場所として、commonというフォルダーを作成します。クロスプラットフォームの共通機能に必要なアプリケーション・コードの大部分を、この共通コード・ベースを使用してコーディングおよびテストすることができます。いったん共通の機能が完成すると、アプリケーションに対するプラットフォーム固有の要件は、そのプラットフォーム専用のコード・ベースに追加することができます。そのため、たとえ複数のオペレーティング・システムを対象とするアプリケーションを開発する場合でも、共通のコードを最大限に再利用することができ、冗長なコーディングを防ぐことができます。また、Worklightを使用すると、コードの管理やサポートが簡単かつ便利な方法で行えるようになります。図4はWorklightアプリケーションのファイル構造を示しており、commonフォルダーのアプリケーション・コードはどのプラットフォーム環境を対象とするアプリケーションの間でも共有することができます。
エンタープライズ・バックエンドとの接続が可能
Worklightアダプターを使用すると、Worklightを使って開発されたアプリケーションとバックエンド・システムを統合することができます。データベース、Webサービス、またはCast Ironを使用するエンタープライズ・バックエンド・システムへの接続に、デフォルトのままのアダプターを使用することができます。また、アダプターはWorklight Studioの中でも容易に作成することができます。作成できるアダプターのタイプは以下の3種類です。
- SQLアダプター
- HTTPアダプター
- Cast Ironアダプター
Worklight Studioでは、アダプターをクライアント・アプリケーションが使用する前に、アダプターの機能をテストすることもできます。図5にWorklight Studioのアダプター作成ウィザードを示します。ウィザードを使用してアダプターを作成すれば、モバイル・アプリケーションをエンタープライズ・バックエンドに接続して、既存のサービスを再利用するのが容易になります。
すべてのアプリケーションを管理できる管理コンソール
Worklightにはブラウザー・ベースの管理コンソールがあり、このコンソールを使用して、すべてのアプリケーションやアダプターを1つのインターフェースでデプロイ、管理することができます。この管理コンソールを使用することで、サポートしているすべてのモバイル・オペレーティング・システム用のアプリケーションを管理することができます。また、アプリケーションの複数のバージョンの管理や、プッシュ通知の構成、アクティブ・ユーザー・レポートの作成などもすることもできます。図6にWorklight Consoleのアプリケーション管理画面を示します。
統一的なプッシュ通知
プッシュ通知は、Worklightアプリケーションがインストールされているデバイスに通知を送信することができるメカニズムです。アプリケーションがデバイスのフォアグラウンドで実行されているか否かにかかわらず、デバイスへ通知が送信されるようにプッシュ通知を構成することができます。構成の設定により、AndroidまたはiOSを使用するデバイスに対し、それぞれAndroid C2DMまたはApple APNSを使用して通知を送信することができます。Worklightでは、すべてのデバイスに通知を送信することも、一部のデバイスのみに通知を送信することも、1つのデバイスのみに通知を送信することもできます。
データを暗号化してオフラインで利用できる機能
Worklightは、暗号化してデバイスに格納する必要のあるデータを暗号化する機能を備えています。オフラインの場合にアプリケーションが適切な動作をするように、WorklightのAPIフレームワークはアプリケーションの接続状態を検出します。オフラインの場合には、Worklightの暗号化キャッシュ・メカニズムを使用して機密データを暗号化フォーマットでデバイスに格納することができます。そのため、デバイスに格納する必要のある情報のデータ・セキュリティー要件に対応することができます。こうした組み込みの機能を使用すると、オフラインでアプリケーションを利用することができ、またオフラインで認証を行うことができます。この機能により、ネットワークとの接続状況を考慮したセキュアなモバイル・アプリケーションを開発するという要件に対応することができます。
直接更新機能(Direct Update)とリモートからの無効化機能
いったんWorklightアプリケーションがデバイスにインストールされると、Worklight Serverにデプロイされたアプリケーションに変更があった場合にはアプリケーションの更新を直接適用することができます。この機能は直接更新(Direct Update)と呼ばれます。Worklightアプリケーションがデバイスのフォアグラウンドで起動されると、そのアプリケーションはWorklight Serverに更新情報がないかどうかをチェックします。更新がある場合には、Worklight Serverはアプリケーションの更新をそのデバイスにプッシュし、そのデバイスは最新バージョンのアプリケーションを実行するようになります。この機能により、アプリケーションの更新版をデバイスにリリースするために通常費やされる時間と手間を大幅に減らすことができます。またWorklight Consoleでは、何らかの理由でアプリケーションの使用を一時的に停止する必要がある場合、そのアプリケーションを無効化することもできます。無効化する場合には、アプリケーションが利用可能であるか否かの状況をユーザーが認識できるように、そのアプリケーションを無効化するという通知がアプリケーションのユーザーにプッシュされます。図7に示す画面では、アプリケーションをリモートから無効化すること、そしてユーザーに送信される通知メッセージおよびダウンロード・リンクを指定することができます。この機能により、変更された機能や修正についての情報をアプリケーションに通知するという要件に対応することができます。
アプリケーションのセキュリティー
Worklightには、アプリケーションのセキュリティーをサポートするための機能が多数用意されています。Worklight Serverに接続されるすべてのアプリケーションの真正性を構成することができるため、配布後に変更されたアプリケーションはWorklight Serverにアクセスできないように構成することができます。この機能は、どのアプリケーションにおいても、アプリケーション記述子構成ファイルの中でtestAppAuthenticityプロパティーを使用して構成することができます。万一、変更が加えられたために真正でない可能性のあるWorklightアプリケーションの再配布が試みられた場合でも、この機能を使用すると、再配布を防ぐことができるため、アプリケーションをセキュアに維持することができます。承認されていない変更を伴うアプリケーションが再配布されるのを防ぐために、コードを難読化することもできます。図8にWorklightアプリケーションの構成ファイルでセキュリティー構成のオプションを指定する部分のスナップショットを示します。
分析のためのデータ収集
Worklightには分析用のデータを収集するための機能が用意されています。データはサーバー・レベルとデバイス・レベルの両方で収集することができ、収集したデータは、さまざまなレポート・ツールを使用して、各種の要件に応じた分析データを得られるように構成することができます。Worklightのレポートを作成できる能力は、アクティブなユーザーを管理コンソールから見つける上で役に立ちます。基本的な分析レポート(新規ダウンロード、アプリケーションへのアクセス・パターン、日々の訪問状況やヒット状況などに基づいた、そのアプリケーションに固有のレポートなど)はBIRT(Business Intelligence Reporting Tool)Eclipseプラグインを使用して構成することができ、この分析データをエンタープライズ・レポート・システムにエクスポートすることができます。この機能により、分析やレポートを企業全体で行うという要件に対応することができます。図9に、この30日間にログインしたユーザーを示すWorklight Consoleのアクティブ・ユーザー・レポートの画面を示します。
まとめ
この記事ではIBM Worklightの主要な機能と能力について概要レベルで説明しました。Worklightの詳細について学ぶための資料については以下の「参考文献」を参照してください。これらの資料を読むことでWorklightの利点を活用し、皆さんのモバイル・エンタープライズ・アプリケーションの競争力を高めてください。
Worklightには、すべての機能を無期限で使用できるDeveloper Editionが提供されています(WindowsおよびMacに対応)。ぜひ実際に触って使い勝手をお試しください。
参考文献
学ぶために
- IBM Worklightのユーザー向けドキュメント
- IBM Worklightの主な特長
- IBM developerWorks Worklightゾーン
- IBM developerWorksのWebSphereゾーン