View
474
Download
0
Category
Preview:
Citation preview
1
TM
Louis SaccoPrincipal IT Engineer | @occasl
Succeeding with your IT Mobile Strategy
2
Born Mobile™• 30 years of driving the evolution of wireless
communications• Making wireless more personal, affordable and
accessible• World’s largest fabless semiconductor company*• $26.5 billion in revenue FY2014• S&P 100/ S&P 500/ Fortune 500
*Qualcomm Technologies, Inc.
3
Who’s Lou?• 20+ years software engineering experience• Solutions Architect for several IT mobile initiatives
at Qualcomm• Full stack developer with Java, JavaScript, Node.js,
MongoDB• Community evangelist for Meteor Meet-up San
Diego• M.S. Software Engineering, University of Michigan*Qualcomm Technologies, Inc.
4
MOBILEDevelopment Landscape
5
Mobile Development LandscapeWhich type of Mobile App?
Advanced UI interactionsFastest performanceApp store distribution
NativeWeb developer skillsAccess to native platformApp store distributionPerpetual Authentication
Hybrid
Web developer skillsInstant updatesUnrestricted distribution
HTML5
fullcapability
partialcapability
multipleplatforms
singleplatform
6
Mobile Development LandscapeWhat frameworks are available to me?
Functionality
InteroperabilityWeb distribution
MobileSite
MobileWeb App
App store distribution
Hybrid App
Cross-compiled
AppNative
App
7
Qualcomm Mobile LandscapeAndroid phones most popular at Qualcomm
Global AppStore
Global email
66.7
57
29.7
32
3.5
7 4
Android iOS WinPhone BB
• Android dominates, iOS a close second, others very low usage• Over 60+ applications available for Qualcomm employees• Airwatch by VMWare used as our MDM solution for managing
access and applications
8
Qualcomm Mobile App StoreAccessible from mobile browsers and integrated with our MDM solution
9
Mobile Architecture Implementation
10
Qualcomm Mobile QpeopleLaunched June 2013
• Browse Qualcomm people, lists and room directory
• Ability to favorite people• Designed for mobile-web first, wrapped
with PhoneGap for phase 2• Written with SenchaTouch, Node.js,
MongoDB and SASS• Utilizes several IT data services • Over 1500 unique users a month
11
Request-Response Web Application ArchitectureSingle Page Apps still make AJAX calls for data
Source: http://nerds.airbnb.com/isomorphic-javascript-future-web-apps/
Mobile WebApplication REST
API
ServerJava
GrailsPHPRuby
12
Cloud (Connected)/Client Architecture#7 Gartner Strategic Technology Trend in 2015 realized by Meteor
Client-sideJavaScript
Server-sideJavaScript(Node.js)
Laptop
Mobile
IoT
Cloud Services
http://www.gartner.com/newsroom/id/2867917
13
Qualcomm Mobile Approvals HubLaunched December 2014
• One stop shop to view, approve or reject requests from multiple IT systems
• Written with Meteor wrapped with PhoneGap
• Push notifications for Android and iOS• Perpetual authentication• Over 400 unique users a month• 7500+ requests approved since
launch
14
Mobile Approvals Hub Success CriteriaChanging the paradigm from email to mobile
• Must be fast with no backend latency from the integrated IT systems (some taking upwards to 30 seconds to process)
• Automatic application updates without users needing to manually install new versions
• Real-time push notifications when there are new requests (versus e-mail)
• Multiple approvers on the same request must receive immediate updates if request is acted on
15
Mobile Approvals Hub ArchitectureBenefit #1: Near edge cache for extremely fast user experience
Business Unit Owned
Adapters
AMQP (Messaging)
Approval SystemsServices FaçadeMobile
ApplicationMobile Approvals Hub
AsynchronousRequest/Reply
SynchronousRequest/Reply
NotificationEvent
event eventeventrequest request
reply reply
MongoDB
Integration
/list/action
DatabaseUpdates
Push Notify
REST API
Meteor AppWeb
Sockets
Benefit #2: MongoDB = flexible schema; resilient to data changes
REST API
16
Meteor Keeping Everyone in the KnowBenefit #3: Asynchronous data updates with “reactive” UI
MeteorServer
DatabaseUpdated
Client 1 Request XAuto
UpdatedClient 3 Client nClient 2 Request X
ApprovedRequest X
AutoUpdated
Request XAuto
Updated
MongoDB
17
Server
Meteor Securely Publishes InformationBenefit #4: Publish/Subscribe model and authorization at server
MongoDB
Client
MiniMongo
18
Meteor is Simple to ImplementBenefit #5: Doesn’t require an army of developers
// On the server1. Requests = new Meteor.Collection("requests");2. Meteor.publish("requests", function(limit) {3. var userToken = sessionUserAndToken(this.userId, this.connection.id);4. var user = userToken.user;5. 6. return Requests.find( { $and: [7. {uid: user.uid},8. {status: {$nin: [‘approved’, ‘failed’, ‘cancelled’, ‘completed’]}},9. ]}, {sort: { ‘timestamp’: 1, ‘requestedFor’: 1}, ‘limit’: limit});10.}
// On the client1. Meteor.subscribe(“requests”, Session.get(‘listLimit’), function()
{2. // Callback function (e.g., process counts)3. }
19
Meteor Automatic Application UpdatesBenefit #6: Update App without Mobile App Updates
MeteorServer
CodeRedeployed
Client 1 AutoUpdated
Client 3 Client nClient 2 AutoUpdated
AutoUpdated
AutoUpdated
20
Mobile Security
21
Mobile Authentication & Security
• Siteminder Edge allows Mobile Web applications to securely callback into the Intranet managed in a walled off domain
• Axway OAuth solution provides perpetual, token-based authentication unique to application
• AirWatch MDM solution provides security from multiple threat vectors, device management, monitoring and mobile application management
22
Meteor and OAuth 2.0 Benefit #7: Meteor stores OAuth tokens on the server not the client
MeteorServer Authenticate
Client FormsBasedAuth
MongoDB
AxwayServer Authenticate
LDAP
Save Token
23
Mobile Testing
24
Mobile Authentication & Security
• Use x86 enhanced emulators for Android testing (e.g. Genymotion)
• Don’t just depend on browsers and emulators; test often on device or with automated tools (e.g. Perfecto)
• Virtualize services and data for functional testing (e.g. CA Lisa)
• Perform interrupt testing and network drop or low-latency testing
25
Mobile Deployment
26
Employee App Store
App Store DeploymentOur custom App Store integrated with AirWatch MDM Solution
InstallApproval HubThis app will approve just about anything. Just give it a try and you will see how productive you’re going to be.
MDM Platform
Browse
Submit New AppName
Icon
ScreenshotsBrows
e
Upload
Admin
MDM
Binaries
Metadata
Yes
No
MDM
User?
27
Mobile Strategy Recommendations
28
Mobile Recommendations3 things to take-away from today’s session
• Choose the right tool for the job:− Responsive design for web content on multiple device sizes (desktop, mobile,
etc.)− Hybrid apps for a home screen icon, perpetual authentication, push
notifications, etc.− Native apps for the most demanding applications (e.g. gaming, graphics, etc.)
• For mobile hybrid development, strongly consider using Meteor for real-time updates to your mobile clients and seamless app version updates
• Consider using OAuth tokens for perpetual authentication and Meteor can safely store these tokens on the server rather than the client
29
For more information on Qualcomm, visit us at: www.qualcomm.com & www.qualcomm.com/blog ©2013-2015 Qualcomm Technologies, Inc. and/or its affiliated companies. All Rights Reserved.
Qualcomm, Snapdragon, Gobi, Qualcomm RF360, Vuforia and FSM are trademarks of Qualcomm Incorporated, registered in the United States and other countries. Why Wait, Born Mobile, and IZat are trademarks of Qualcomm Incorporated. All Qualcomm Incorporated trademarks are used with permission. AllPlay is a trademark of Qualcomm Connected Experiences, Inc., registered in the United States and other countries, used with permission. Other products and brand names may be trademarks or registered trademarks of their respective owners.
References in this presentation to “Qualcomm” may mean Qualcomm Incorporated, Qualcomm Technologies, Inc., and/or other subsidiaries or business units within the Qualcomm corporate structure, as applicable. Qualcomm Incorporated includes Qualcomm’s licensing business, QTL, and the vast majority of its patent portfolio. Qualcomm Technologies, Inc., a wholly-owned subsidiary of Qualcomm Incorporated, operates, along with its subsidiaries, substantially all of Qualcomm’s engineering, research and development functions, and substantially all of its product and services businesses, including its semiconductor business, QCT.
Thank youFollow us on:
Louis SaccoPrincipal IT Engineer
@occasl
Recommended