worklight building, deploying and running mobile applications
TRANSCRIPT
Worklight: building, deploying, and running mobile applications
Daniel Yellin, PhD, Director, IBM Mobile Platform Development and Israel Software Lab
© 2012 IBM Corporation
Director, IBM Mobile Platform Development and Israel Software Lab
IBM Confidential
DO NOT DISTRIBUTE WITHOUT EXPLICIT PERMISSION
TO BE USED FOR GOMOBILE PRESENTATION EXCLUSIVELY
© 2012 IBM Corporation
Overview
�Example application
�Key features of Worklight
�Future Directions
© 2012 IBM Corporation
CityPulse: Connecting municipalities with their citizens
© 2012 IBM Corporation
Mobile citizens
© 2012 IBM Corporation
Analytics
© 2012 IBM Corporation
Challenges
� Supporting multiple devices
� Application governance and management
� Analytics
© 2012 IBM Corporation
Fast and cost-effective development, integration and management of rich, cross-platform mobile
applications
Delivering for multiple mobile platformsIBM Worklight
Client Challenge
Using standards-based technologies and tools and delivering an enterprise-grade platform that meets the needs of mobile employees and customers
© 2012 IBM Corporation
Key Principles
employees and customers
Mobile-optimized middleware
� Open approach to mobile development and 3rd-party integration
� HTML5 as the core cross-platform technology
� Reduces the overhead for enterprise-grade mobile apps: integration, security and authentication, application management, analytics, development process,
� B2C, B2E, and B2B
Approaches to application developmentNative AppsNative Apps
Platform-specific.
Requires unique
expertise, pricy and
long to develop.
Can deliver higher
user experience.
Hybrid Apps -
Mixed
Hybrid Apps -
MixedUser augments web
code with native
language for unique
needs and
maximized user
experience.
Hybrid Apps - WebHybrid Apps - Web
HTML5 code and
Worklight runtime
libraries packaged
within the app and
executed in a native
shell.
Web AppsWeb Apps
Written in HTML5
JavaScript and
CSS3. Quick and
cheap to develop,
but less powerful
than native.
Browser AccessBrowser Access Hybrid Apps - WebHybrid Apps - Web Hybrid Apps - MixedHybrid Apps - Mixed Native AppsNative Apps
© 2012 IBM Corporation
Native Application
Device APIs
1001010101011101001010
0100101011101001001101
0101010100100100101111
0010011001010101001010
1010100101010101010101
0101011111100000101010
1010101001001010101010
1010001111010100011110
1010011101010111110010
1101111010001011001110
Native Shell
Web Native
Device APIs
<!DOCTY
PE html
PUBLIC
created
2003-12
</p>
</body>
</html>
1001010
1010111
0100101
0101010
1010010
0100101
1110010
0110010
Native Shell
Web Code
<!DOCTYPE html PUBLIC
<html>
<! - - created 2003-12-1
<head><title>XYZ</title
</head>
</body>
</html>
Device APIs
Mobile Browser
Web Code
<!DOCTYPE html PUBLIC
<html>
<! - - created 2003-12-12 -
-
<head><title>XYZ</title>
</head>
<body>
</p>
</body>
</html>
Browser Access Downloadable Downloadable Downloadable
Worklight ServerMobile middleware offering unified push notifications,
Worklight StudioThe most complete, extensible development environment with maximum code reuse and per-device optimization
Worklight delivers all types of native, hybrid, and mobile web in a
single solution
© 2012 IBM Corporation
Mobile middleware offering unified push notifications, version management, security and integration
Worklight Console & Enterprise App StoreA web-based console for real-time analytics and control of your mobile apps and infrastructure
Worklight Runtime ComponentsExtensive libraries and client APIs that expose and interface with native device functionality and the
Worklight Server←←←←
Common web codebase facilitates reuse
• Common code is
placed in a primary
location
• Environments
optimizations allow
overrides to the
common code
• Common code is
placed in a primary
location
• Environments
optimizations allow
overrides to the
common code
© 2012 IBM Corporation
common code
• Worklight optimizes
the delivery and
merge of the various
environments
common code
• Worklight optimizes
the delivery and
merge of the various
environments
Native build and test with device SDKs
© 2012 IBM Corporation
• Create native components as needed
• Final packaging step for hybrid apps
• Debug native components using device SDK simulators
Different Screen Sizes
Different Screen Densities
Provide different user experiences with runtime skins
© 2012 IBM Corporation
Different Input Method
Screen Densities
Supportfor HTML5
Mobile UI visualization
Worklight Design
Perspective
© 2012 IBM Corporation
Mobile Views• Select which view
displays in design tab• Modify view properties• Create and delete
mobile views
Rich Page Editor• Source, Design and Split
views• UI rendering using
browser engine, synched with source pane
Palette• Drag and drop visual
elements into the Editor pane.
• Offers HTML constructs and Dojo widgets
Extensive libraries and client APIs that expose
and interface with native device functionality
and the Worklight server
•Cross-Platform Compatibility Layer
•Server Integration Framework
Extensive libraries and client APIs that expose
and interface with native device functionality
and the Worklight server
•Cross-Platform Compatibility Layer
•Server Integration Framework
Worklight – Device Runtime
© 2012 IBM Corporation
•Server Integration Framework
•Encrypted Storage
•Offline Authentication
•Runtime Skinning
•Statistics and Diagnostics Reporting
•Server Integration Framework
•Encrypted Storage
•Offline Authentication
•Runtime Skinning
•Statistics and Diagnostics Reporting
• A mechanism for
storing sensitive data on the client side
• Implemented using HTML5 local storage
technology
• Encrypts data with a combination of user-
provided key and server-retrieved randomly
• A mechanism for
storing sensitive data on the client side
• Implemented using HTML5 local storage
technology
• Encrypts data with a combination of user-
provided key and server-retrieved randomly
Encrypted cache on-device
© 2012 IBM Corporation
provided key and server-retrieved randomly
generated token for security
• Stores data using key-value pairs
• Like a security deposit box – it will remain
open until you close it, so don’t forget to
close the cache once you are done working
with it
provided key and server-retrieved randomly
generated token for security
• Stores data using key-value pairs
• Like a security deposit box – it will remain
open until you close it, so don’t forget to
close the cache once you are done working
with it
An middleware component which deliveries unified notifications, runtime skinning, version management, security features, and integration Services
• Distribution of mobile web apps
• Enterprise connectivity:
• Secure client/server connectivity
• Direct access to enterprise back-end
An middleware component which deliveries unified notifications, runtime skinning, version management, security features, and integration Services
• Distribution of mobile web apps
• Enterprise connectivity:
• Secure client/server connectivity
• Direct access to enterprise back-end
Worklight Server
© 2012 IBM Corporation
• Direct access to enterprise back-end
data and transaction capabilities
• Authentication enforcement
• Client control:
• Application version management and
remote disabling
• Direct update of application code
• Unified Push Notifications
• Aggregation of usage statistics
• Direct access to enterprise back-end
data and transaction capabilities
• Authentication enforcement
• Client control:
• Application version management and
remote disabling
• Direct update of application code
• Unified Push Notifications
• Aggregation of usage statistics
Worklight’s Unified Push Notifications Framework
Back-end
System
Back-end
SystemBack-end System
Back-end System
Polling Adapters
Unified
Notification State
Database
iOSDispatcher
Android Dispatcher
BlackBerry
Apple
Push Servers (APN)
Google Push
Servers (C2DM)
Worklight
Client-side
Push
Services
Worklight
Client-side
Push
Services
Worklight Worklight
iOS
Push API
iOS
Push API
Android Push APIAndroid
Push API
© 2012 IBM Corporation
Back-end System
Back-end SystemBack-end System
Back-end System
Message-based
Adapters
Unified Push API
User-Device
Database
BlackBerry Dispatcher
Win Phone Dispatcher
SMS Dispatcher
RIM Push Servers
Microsoft Push
Servers
SMS/MMS BrokersAdministrative Console
Worklight Client-side
Push Services
Worklight Worklight Client-side
Push Services
BlackBerryPush API
BlackBerryPush API
WindowsPush APIWindowsPush API
Broker APIBroker API
Roadmap
Roadmap
Roadmap
Enforcing security updates
Remote Direct
Security Features Mapping
Compatibility App
Protecting data on the device
Encrypted Offline Secure
challenge-
© 2012 IBM Corporation
Remote disable
Direct update
Providing robust authentication and
authorization
Auth
integration
framework
Data protection
realms
Device provisioning
Streamlining Corporate security
processes
Mobile platform as a trust factor
Application Security
Code protection
SSL with server identity
verification
Proven platform security
Compatibility with jailbreak detection libs
App authenticity
testing
Encrypted offline cache
Offline authentication
challenge-response on
startup
© 2012 IBM Corporation20
Direct update
Native Shell
Pre-packaged resources
1 Download
App Store
2 Transfer
1. Web resources initially
packaged with the app to
ensure first offline availability
2. Web resources transferred to
app's cache storage
3. App checks for updates
1. Web resources initially
packaged with the app to
ensure first offline availability
2. Web resources transferred to
app's cache storage
3. App checks for updates
© 2012 IBM Corporation
Worklight Server
4 Update web resource
Web resources
Cached resources
2 Transfer
3 Check for updates
3. App checks for updates
• On startup
• On return to foreground
4. Updated web resources
downloaded when
necessary
3. App checks for updates
• On startup
• On return to foreground
4. Updated web resources
downloaded when
necessary
Direct update – client user experience
1. Detection upon startup and foreground
2. Dialog for easy user selection
3. App download progress bar
© 2012 IBM Corporation
4. Application restarts automatically
Enterprise Store: Download Application over-the-air to the device
© 2012 IBM Corporation
Provide Feedback or switch back
© 2012 IBM Corporation
Feedback aggregated on Application Center console
© 2012 IBM Corporation
Analytics
� IBM Worklight comes with an extensive reporting mechanism
� Both predefined and custom actions can be logged and processed
� Server side BIRT reports viewer application to view reports generated by WL server
� Separate reports are generated for application usage and notifications data (both push and
SMS)
© 2012 IBM Corporation26
Application Governanc
e
• Enterprise App Store
• Application Governance
• Integration with IBM MDM (IBM Endpoint Manager)
Platform
• SMS notifications
• New target devices: Windows 8, Java ME
• New integration points: JMS adapter
New features and enhances in IBM Worklight v5.0.5
© 2012 IBM Corporation27
Advanced Mobile
capabilities
• on-device, offline available, reliable, scalable, encryptable, and syncable JSON database
• Server triggered security challenges
Apps and Tooling
• Native libraries for iOSand Android
• jQuery tooling support
• Updates: iOS6,Android 4.1, Cordova 2.2
IBM Worklight
V5.0.5
New environment – Windows 8 Metro Applications
� IBM Worklight brings support for Windows 8 Metro Applications
� Windows 8 environment can be added from Add New Environment wizard
� Once built IBM Worklight will generate a native Windows 8 Metro Application project that
can be edited and compiled using Microsoft Visual Studio
© 2012 IBM Corporation28
Legal Disclaimer
• © IBM Corporation 2011. All Rights Reserved.• The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained
in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software.
• References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.
• If the text contains performance statistics or references to benchmarks, insert the following language; otherwise delete:Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
• If the text includes any customer examples, please confirm we have prior written approval from such customer and insert the following language; otherwise delete:All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer.
• Please review text for proper trademark attribution of IBM products. At first use, each product name must be the full name and include appropriate trademark symbols (e.g., IBM Lotus® Sametime® Unyte™). Subsequent references can drop “IBM” but should include the proper branding (e.g., Lotus Sametime Gateway, or WebSphere Application Server).
© 2012 IBM Corporation29
Lotus® Sametime® Unyte™). Subsequent references can drop “IBM” but should include the proper branding (e.g., Lotus Sametime Gateway, or WebSphere Application Server). Please refer to http://www.ibm.com/legal/copytrade.shtml for guidance on which trademarks require the ® or ™ symbol. Do not use abbreviations for IBM product names in your presentation. All product names must be used as adjectives rather than nouns. Please list all of the trademarks that you use in your presentation as follows; delete any not included in your presentation. IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International Business Machines Corporation in the United States, other countries, or both. Unyte is a trademark of WebDialogs, Inc., in the United States, other countries, or both.
• If you reference Adobe® in the text, please mark the first use and include the following; otherwise delete:Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries.
• If you reference Java™ in the text, please mark the first use and include the following; otherwise delete:Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
• If you reference Microsoft® and/or Windows® in the text, please mark the first use and include the following, as applicable; otherwise delete:Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both.
• If you reference Intel® and/or any of the following Intel products in the text, please mark the first use and include those that you use as follows; otherwise delete:Intel, Intel Centrino, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.
• If you reference UNIX® in the text, please mark the first use and include the following; otherwise delete:UNIX is a registered trademark of The Open Group in the United States and other countries.
• If you reference Linux® in your presentation, please mark the first use and include the following; otherwise delete:Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others.
• If the text/graphics include screenshots, no actual IBM employee names may be used (even your own), if your screenshots include fictitious company names (e.g., Renovations, Zeta Bank, Acme) please update and insert the following; otherwise delete: All references to [insert fictitious company name] refer to a fictitious company and are used for illustration purposes only.