Senchaはこれまで、SPA(Single-page Application : 単一ページアプリケーション)を実装するためのフレームワークやツールを提供し、プラグインに頼らないリッチアプリケーションの開発手段を提供してきました。モバイル向けには「Touch」、ノンプログラマー向けには「Architect」と、多数のフロントエンド開発の製品をリリースし、Web標準技術には高いノウハウを持っています。
その彼らが、2月7日のブログにて、「Space」の製品版リリースをアナウンスしました。この製品が、企業のスマートデバイス向けのアプリが抱える課題とリスクに対し、Senchaが出した答えのようです。本記事では、SenchaがリリースしたMEAP(Mobile Enterprise Application Platform)の製品、Space ver.1.0の中身を追ってみます。
★ Spaceのアーキテクチャ
Spaceは、前章で述べた、HTML5世代のモダンなMEAPアーキテクチャモデルをベースに採用しています。SpaceはモバイルデバイスのOSからアプリを隔離する環境であり、セキュリティやアクセス制御が行える箱の中でアプリを動作させることで、企業向けシステムに必要な要件をクリアさせます。
開発したアプリは、モバイル上では専用のアプリ「Space」上から起動します。
Spaceの特色
★ Space固有の特徴
Spaceの特色としては、Space内で動作させるアプリ同士で通信させるための独自機能「Invoke API」を提供していることでしょう。Invoke APIは、Space内の限定されたアプリ同士を、フォワグラウンド・バッググラウンドを通じ通信させることができます。
Senchaは、彼らのコアコンピタンスであるフロントエンドのリッチ化技術を活かし、サーバに依存しないデータ通信の仕組みを強みにしようとしているようですね。彼らはサーバ製品を持たないため、フロントエンド側で高いポテンシャルを得ることに、熱心なようです。
★ アクセス制御と集中管理の考え方
Spaceは他の類似製品と同様に、Management Concoleを通じて、グループベース・ユーザベースによるアプリの有効・無効を制御することができます。これは非常に一般的な機能であるため、別の機会に解説を行います。
★ セキュアなデータの記録
Space上のWebアプリケーションは、一般的なブラウザ上で扱うものよりも強固なセキュリティでデータを扱えるよう、専用のAPIを提供しています。ファイルの操作であれば「Secure File API」、KVS形式のデータ操作であれば「Secure Local Storage」を利用することになります。
★ 開発のワークフロー
開発は、Senchaの開発ツールであるSencha cmdを利用します。SenchaはExtJSなどのフレームワークをベースにアプリケーションを作りますが、Space固有の機能追加のため、フレームワークへSpaceのプラグインを追加して利用することになります。
開発プロセスとオープン性に適用の価値を求める
以前は単なるUIコンポーネントだったSenchaも、MVV*なフレームワークへ進化。独特のフレームワークゆえにそれなりの学習が求められるものの、開発のワークフローにしっかりと踏み込み、設計からテストフェーズまで一貫した思想に沿って開発させることで、エンタープライズでの活用に道を広げようとしています。他の製品には無い、彼らのアイデンティティでしょう。
また、Spaceに関して言えば、比較的オープンという特徴を持ちます。勿論、Spaceというプラットフォームにアプリを縛ってしまうという制約を持ちますが、MEAPの製品のいくつかは、サーバサイドの技術にまで影響を及ぼし、ベンダ製品に縛るものもあります。こうした中、Senchaという箱でしっかりとカプセル化し、サーバ側は比較的制約は緩くRESTライクな機能があれば動くのはメリットとして大きいように思えます。
Spaceは現在、10ユーザまでは無償で利用できる試用版を提供しています。日本語化はまだまだ甘いと噂されますが、Xenophyが解説ビデオにまで字幕を入れるなど、翻訳そのものの動きは活発のようです。
このビデオ、本記事のテーマである、企業システム向けに求められる隔離環境「MEAP」のメリットついて、非常に的確な解説を行っているためここで紹介しておきます。
Introducing Sencha Space - 日本語字幕付き from Xenophy Japan on Vimeo.
SenchaのSpaceについては、これで以上です。
次章はSAPについて取り上げます。SybaseやSycloといった企業を買収し、モバイル向けソリューションへの拡大に意欲を見せる彼らが、どのようなプラットフォームを提供しようとしているのか。その中身に、触れてみましょう。
- そもそもMEAPとは?
- Sencha Space
- SAP Mobile Platform
- IBM Worklight