[WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS
-
Upload
afkhamazeez -
Category
Technology
-
view
1.308 -
download
1
description
Transcript of [WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS
Accelerating mobile app development with MBaaS
Afkham AzeezDirector, 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
AppSDK
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. ConsumerEnterprise 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 integrationCompliance PCI, HIPAA, Compliance APIs No level of complianceCloud Topology Public, Private, Hybrid clouds Mostly public cloudEnvironments Dev, QA, Production Single environmentData sources Business data sources Social, publicTenancy 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
Enterprise Consumer
Kinv
ey
Pars
e
Stac
kMob
Feed
Hen
ry
AnyP
rese
nse
Appc
eler
ator
Kido
Zen
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