1.MEAPとBaaSとは?
今回は、スマートデバイス向けのアプリケーションを開発するときに役立つ2つのキーワード「MEAP」と「BaaS」を取り上げる。いずれのキーワードもモバイルアプリを効率よく迅速に作成するうえで欠かせない存在である。
MEAP(MADP)はフロントエンド開発支援
まず、MEAP(Mobile Enterprise Application Platform)とは、モバイルアプリケーションの開発を可能にするツールおよびサービスの統合パッケージのこと。ガートナーが2008年に発表したレポートの中でMEAPという用語は初めて使われた。
例えば、MEAPを使ってモバイルアプリケーションを開発すれば、1つのソースコードを開発しただけで、いろいろなモバイルデバイス(スマートフォン、タブレットなど)、いろいろなモバイルOS(iOS、Androidなど)向けにアプリを展開することができる。具体的には、IBMの「IBM Worklight」やSAPの「SAP Mobile Platform 3.0」などがMEAPに該当する。
なお、MEAPという言葉を生み出したガートナー自体は、今まで使ってきたMEAPおよびMCAP(Mobile Consumer Application Platform)という用語に代わって、MADP(Mobile Application Development Platform)という用語を使うようになっている。
MADPとは、モバイルアプリの迅速な開発と展開をサポートするために設計されたソフトウェアを指す。MADPを導入することで、ネイティブアプリもWebアプリもハイブリッドアプリも、あるいはどのモバイルOSやモバイルデバイス向けでも統一された環境で作成から保守までを一元管理できるようになる。
このように本家ガートナーはMADPという言葉を使い始めているが、マーケットではまだMEAPという言葉のほうがポピュラーだ。このため本記事では、MEAP(MADP)と併記することにした。
BaaSはバックエンド処理支援
もう1つのBaaS(Backend as a Service)も、モバイルアプリの開発を支援するソリューションで、こちらはクラウドサービスとして提供される。
BaaSが提供するのは、モバイルアプリのバックエンドサーバ機能である。例えば、モバイルアプリに認証機能や会員登録機能を組み込みたい場合、ユーザが直接操作するフロントエンド(スマートデバイス側)のソフトウェアを開発しただけではこれらの機能を実現することはできない。データベースサーバやWebアプリケーションサーバなど、バックエンド処理を行うサーバ側のソフトウェアも開発しなければならない。
そこで、サーバ側のソフトウェア開発(サーバサイドプログラミング)の経験やノウハウがない場合でも、認証や会員登録などの機能をモバイルアプリに容易に組み込めるように、サーバ機能をAPIで提供するサービスであるBaaSが登場したのである。
その結果、ユーザーはフロントエンドの開発に専念できるようになり、バックエンドの知識がなくてもサーバ機能を使った高度なモバイルアプリケーションも簡単に開発することができるようになった。具体的に言えば、FacebookのParse、マイクロソフトのWindows Azure モバイルサービス、アピアリーズのappiariesなどがBaaSに該当する。
アプリケーションに必要な一部の機能を提供するという意味では、アプリケーションが稼動する基盤を提供するPaaSと、アプリケーションそのものを提供するSaaSの中間に位置するクラウドサービスとして、BaaSは位置づけることができるだろう。