Accelerating mobile app development
with MBaaS
Afkham Azeez
Director, Architecture
WSO2 Inc.
Credits: http://theemf.org/2013/09/10/enterprise-mobility-is-no-game/
Enterprise Mobility Challenges
• Backend integration
• Channel security
• Client side development
• Fast delivery of apps
What is MBaaS?
• A model for providing web and mobile app
developers with a way to link their applications to
backend cloud storage while also providing features
such as user management, push notifications, and
integration with social networking services.
• These services are provided via the use of custom
SDKs and APIs.
Why MBaaS?
• Reduce the time and complexity required to build
mobile applications
• Allow developers to focus on core features instead of
low-level tasks
• virtual machine configuration
• developing common functionality like user authentication
or notifications
When do you need an MBaaS?
• Many apps
• Many developers
• Many in-house integrations
• Many backend systems
• Many third party integration
• Multiple mobile platforms
• Multiple versions
Core components of an MBaaS
• Cloud-based storage for mobile data
• Cloud caching
• Ability to automatic generate REST-based interfaces to
read and write data
• Internet optimized data access
• User & security management
• SSO
• Usage analytics
• Location service
• Specialized integration with enterprise software
MBaaS in a nutshell
App
S
D
K
MBaaS
Service 1
Service 2
Service N
…
Afkham Azeez
Source: http://devcenter.kinvey.com/android/samples/scrumptious
APNS
MBaaS
Push Notifications
• A style of Internet-based communication where the
request for a given transaction is initiated by the publisher
or central server
• Apple Push Notifications (APNS)
• Android Push Notifications (Google Cloud Messaging for
Android)
• Blackberry Push Notifications
• Microsoft Push Notifications
Types of MBaaS
• Consumer MBaaS
• Enterprise MBaaS
Enterprise vs. Consumer
Enterprise Consumer
Identity Providers Active Directory, IBM Data
Power, Salesforce.com
Twitter, Facebook
Identity Protocols SAML, WS-Trust, WS-
Federation, Passive Profile,
OAuth
OAuth, OpenID
Mobile Ops Management MDM, MAM integration No MDM, MAM integration
Compliance PCI, HIPAA, Compliance APIs No level of compliance
Cloud Topology Public, Private, Hybrid clouds Mostly public cloud
Environments Dev, QA, Production Single environment
Data sources Business data sources Social, public
Tenancy Enterprises which are building
multiple apps for 100s or
1000s of users
Developers building one app
for multiple users
Pricing Model Based on number of users Based on number of API calls
Key Players
MBaaS SDK
• Static SDK
• Dynamic SDK
• Provides a consistent developer experience irrespective of
platform
• Java/JavaScript etc.
• Handles the complexities of the transport protocol
• Similar to service stubs
• Can include MAM features
MBaaS vs. BaaS
• Not much different
• BaaS synonymously used for MBaaS
• Also written as (M/m)BaaS
• Arguably MBaaS is more optimized towards mobile
app development
• MBaaS == BaaS == PaaS?
Developer Experience without MBaaS
Developer experience with MBaaS
MBaaS Challenges
• Scalability
• Availability
• Extensibility
How to build an MBaaS using WSO2
Infrastructure-as-a-Service
Mobile Apps
Connectors
Service Cartridges
SDK
MBaaS & MEAP
MBaaS
+
API Management vs. MBaaS
• (M)BaaS – Mobile add on to API Management
• Mobile optimized
• Mobile SDK
Governance and MBaaS
• API call rate limiting
• Policy enforcement
Corporate data cannot be accessed from certain NWs or
geographic locations
• SLA monitoring
Conclusion
• The need for mobile apps is exponentially growing
• Mobile app developers need to fully concentrate on
(mobile) app development
• High scalability, availability, extensibility, security are core
requirements
• MBaaS, BaaS, PaaS -> same thing?
• MBaaS is about the developer experience
• Final thought; IoT & BaaS
Reference
• http://www.kidozen.com/enterprise-vs-consumer-
mbaas/
• http://servicesangle.com/blog/2012/10/23/mobile-
backend-as-a-service-mbaas-all-hype-or-here-to-
stay/
• https://cloud.google.com/developers/articles/mobile
-backend-starter
[WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS

[WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS

Editor's Notes

  • #5 Growth in Enterprise Mobile Apps
  • #10 Ability to automatic generate REST-based interfaces to read and write data – API Everywhere
  • #12 Services;Facebook, Location, Foursquare, GoogleNotify when friends a close byRecommend to nearby locations
  • #17 EnterpriseKidoZenAnyPresenseAppceleratorFeedHenryConsumerKinveyParse (acquired by Facebook)StackMob (acquired by PayPal)
  • #18 Features of an mBaaS SDKevery Facebook mobile app uses MQTT to communicate with the Facebook
  • #24 Ability to automatic generate REST-based interfaces to read and write data – APIs Everywhere
  • #25 Mobile Enterprise Application Platform http://en.wikipedia.org/wiki/Mobile_enterprise_application_platform