The document discusses the challenges of enterprise mobile development. It covers security topics like authentication, authorization, and context. It also discusses backend services for storage, messaging, and mobile capabilities. Integration with cloud services and on-premise systems is another challenge. The document evaluates options for the mobile front-end like web apps, native apps, hybrid apps, and cross-compiling code. It emphasizes that security must be centralized and standardized, backend services should be generalized, and different front-end approaches suit different scenarios. Building enterprise mobile apps is difficult.
4. Enterprise Mobile Development
Why is it different?
BYOD
Multiple Applications
Existing Infrastructure
Third Parties
Outside the confines of your Intranet
11. Security β Auth part 2
DRAWBACKS
β
Adds Complexity
β
Building STS can be challenging
BENEFITS
β
Centralizes
β
Standardizes
β
Interoperability
12. Security β Auth part 3
STS
Company
B
Cr
ls
ia
nt
e
ed
JW
T
JWT
??
OAuth
App A
lib
SAML
SA
ML
Cr
ed
en
ti
WS-Fed
als
STS
AD
13. Security β Auth part 3
l
tia
en
d
re
C
s ??
App
A
lib
JW
T
?
?
STS
Compa
ny B
??
OAuth
Fed
Provi
der
JW
T
WS-Fed
?
?
Cr
s ede
nti
al
STS
AD
14. Security β Auth part 3
DRAWBACKS
β
Adds Complexity
β
Building a Fed Service IS challenging
BENEFITS
β
Centralizes
β
Standardizes
β
Interoperability
β
Existing Federation Services
15. Security - Authorization
β
Claims based
β
β
Role based
β
β
user.claims.ofType('action').contains('approve')
user.isInRole('manager')
Resource based
β
Allow GET /my/resource
31. Front End β Web App
β
jQuery Mobile
β
jqTouch
β
Sencha UI
β
Kendo UI
β
Bootstrap 3.0 (responsive)
32. Front End - Native
Xcode - Objective-C
Android Studio - Java
Visual Studio - C#
33. Front End - Native
β
Full access to native capabilities
β
Best Performance
34. Front End - Hybrid
Build
HTML5 + js
Native App
WebView
APP
Libs
β
Native Application Package
β
Access through App Stores
β
Access to Native capabilities
β
Not the best performance
38. Front End - Summary
β
Web Applications for simple apps and fast
development.
β
Native Apps for full Native Performance
β
Hybrid for maximum code reuse
β
Cross Compile for significant code reuse and
Native performance
40. Summary
β
β
β
β
β
Federate Security
Generalize as many Backend Services as
possible
Publishing services to the internet is not the
only way, we have service bus too.
There's a front end approach (or more) for
every scenario.
Building Mobile Apps for Enterprises is HARD.