[WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS

29
Accelerating mobile app development with MBaaS Afkham Azeez Director, Architecture WSO2 Inc.

description

The number of mobile applications is growing exponentially. There is an app for almost anything you want to do, and everyday, thousands of apps are added to app stores. The demand for mobile apps is also growing. Mobile app developers have to cater to this increasing demand in a rapid manner. Enterprise are increasingly utilizing mobility, and this has led to enterprises developing a large number of enterprise mobile apps that cater to their needs. Developing such apps and governing API calls made by those apps in a standard manner thus becomes a major challenge. This is when choosing a proper Mobile Backend as a Service (mBaaS) platform would be immensely helpful. An mBaaS platform provides enterprise Backend as a Service (BaaS) APIs along with enterprise mobility specific APIs. The mBaaS would provide a rich set of APIs that are readily available to mobile app developers that would enable them to rapidly develop mobile applications. Using the mBaaS APIs, the mobile app developers would be able to make effective use of the enterprise assets in a standard, governed, and secured manner, and it would also allow them to connect the mobile apps to the rest of the business organization. Standard SDKs provided with mBaaS also makes developers’ life easier, and enables rapid development of apps without having to worry about platform-specific complexities. In this session, Azeez will take you through the concepts behind mBaaS, how it can be utilized by mobile app developers to accelerate enterprise mobile app development, and how an mBaaS adds value by enabling you to connect your apps to the rest of the enterprise.

Transcript of [WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS

Page 1: [WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS

Accelerating mobile app development with MBaaS

Afkham AzeezDirector, Architecture

WSO2 Inc.

Page 2: [WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS
Page 3: [WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS
Page 4: [WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS

Credits: http://theemf.org/2013/09/10/enterprise-mobility-is-no-game/

Page 5: [WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS

Enterprise Mobility Challenges

• Backend integration• Channel security• Client side development• Fast delivery of apps

Page 6: [WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS

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.

Page 7: [WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS

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

Page 8: [WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS

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

Page 9: [WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS

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

Page 10: [WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS

MBaaS in a nutshell

AppSDK

MBaaS

Service 1

Service 2

Service N

Page 11: [WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS

Afkham Azeez

Source: http://devcenter.kinvey.com/android/samples/scrumptious

Page 12: [WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS

APNS

MBaaS

Page 13: [WSO2Con Asia 2014] Accelerating Mobile App Development with 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

Page 14: [WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS

Types of MBaaS

• Consumer MBaaS• Enterprise MBaaS

Page 15: [WSO2Con Asia 2014] Accelerating Mobile App Development with 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

Page 16: [WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS

Key Players

Enterprise Consumer

Kinv

ey

Pars

e

Stac

kMob

Feed

Hen

ry

AnyP

rese

nse

Appc

eler

ator

Kido

Zen

Page 17: [WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS

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

Page 18: [WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS

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?

Page 19: [WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS
Page 20: [WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS

Developer Experience without MBaaS

Page 21: [WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS

Developer experience with MBaaS

Page 22: [WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS

MBaaS Challenges

• Scalability• Availability• Extensibility

Page 23: [WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS

How to build an MBaaS using WSO2

Infrastructure-as-a-Service

Mobile Apps

Connectors

Service Cartridges

SDK

Page 24: [WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS

MBaaS & MEAP

MBaaS+

Page 25: [WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS

API Management vs. MBaaS

• (M)BaaS – Mobile add on to API Management• Mobile optimized• Mobile SDK

Page 26: [WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS

Governance and MBaaS

• API call rate limiting• Policy enforcement

Corporate data cannot be accessed from certain NWs or geographic locations

• SLA monitoring

Page 27: [WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS

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

Page 29: [WSO2Con Asia 2014] Accelerating Mobile App Development with MBaaS