8/7/2019 COM32-Create Powerful Enterprise-ready Widgets
1/25
COM32 - Create Powerful Enterprise-readyBlackBerry Widgets
Dennis Reumer
COM32
September 29, 2010
8/7/2019 COM32-Create Powerful Enterprise-ready Widgets
2/25
Session Surveys
Remember to complete your breakoutsession evaluation in one of two ways:
On your BlackBerry smartphone use the
DEVCON 2010 mobile guide, from Pyxis
Login to My Scheduler at one of the
Cyber Zone locations or on your PC
8/7/2019 COM32-Create Powerful Enterprise-ready Widgets
3/25
Challenges for the Enterprise
More types of end-user devices with different capabilities.
Smart-Phones
Tablets
More OSes used on end-user devices
Windows, Linux, OSX, iOS, BlackBerry OS, Android, etc..
Managing security to all end-user devices
Large legacy systems with legacy interfaces (like older MQseries)
8/7/2019 COM32-Create Powerful Enterprise-ready Widgets
4/25
Strategy for the Enterprise
Enterprise Strategy Standardizing Application development on WEB based standards(WEB
Interface (HTML) and Web Services (HTTP))
Transform the current Enterprise BUS (MQ Series) to use WEB services
Create an Authentication Platform for WEB services
Promote contextualization made possible through Web Services.
Goal
Provide Services through an agnostic back-end and middle-ware to
support any accessing device, which supports WEB standards to
deliver superior applications through end-to-end integration.
8/7/2019 COM32-Create Powerful Enterprise-ready Widgets
5/25
What are BlackBerry Widgets ?
Based off of the W3C widget specification
Standalone applications entirely created with standard web
technology (HTML, CSS, JavaScript)
BlackBerry Widgets leverage BlackBerry APIs in a secure
manageable container
Same distribution/management model as native applications
and can be distributed through BlackBerry App World
storefront
Available in BlackBerry Device Software 5.0 and above
8/7/2019 COM32-Create Powerful Enterprise-ready Widgets
6/25
BlackBerry Widget Model
8/7/2019 COM32-Create Powerful Enterprise-ready Widgets
7/25
How do Widgets fit in ?page 1
Agnostic of Platform Widgets available on multiple mobile
platforms Develop once use multiple times
JIL Widgets, Android Widgets, Nokia, Opera Widgets.
No changes required to existing applications
Easy leverage existing Web (services) based applications
Provide point functionality within few days/week time
Same Security as with Java Applications
8/7/2019 COM32-Create Powerful Enterprise-ready Widgets
8/25
How do Widgets fit in ?page 2
OTA distribution
No or minimal Java development needed. Integrate with Mail, Contacts, Calendar
User Interface Centric design
Can be used for Internal Enterprise applications or external
Enterprise applications / products.
8/7/2019 COM32-Create Powerful Enterprise-ready Widgets
9/25
Widget or Java ?
Benefits of Widgets over Java
WEB development is UI centric using well known techniques of HTML,
CSS and JavaScript
Allows for faster development and prototyping
Can be easily reused to deploy on other platforms/screen sizes
Through JavaScript extensions it can basically do the same as a Mobile
Java Application, with the exception of certain UI elements.
8/7/2019 COM32-Create Powerful Enterprise-ready Widgets
10/25
Widget Development Process
Align with the relevant line of Business
Decide on the key functionality from the existing application(s)
Get acquainted with the original application and interfaces
(hopefully through existing documentation)
Outline the Widget UI and Functionality
Define the elements you want from the original application
Make the handheld JS, CSS, HTML (and/or Java extensions)
Create the widget and package
End-user testing
Deploy to all relevant users through the BAS
8/7/2019 COM32-Create Powerful Enterprise-ready Widgets
11/25
Methods for DevelopmentPage scrubbing
Page scrubbing (copy over HTML)
Pros:
Almost just a copy-paste action, using slightly modified script libraries and
style sheets.
Cons:
Only works with relatively simple web applications. If the original
application changes the widget might become obsolete.
8/7/2019 COM32-Create Powerful Enterprise-ready Widgets
12/25
Methods for DevelopmentReparsing
Reparsing - Using JavaScript or Java to reparse the original Web
pages or specific elements of the pages.
Pros:
Leaves the original application intact. You just reparse the content
elements you need.
Allows the original application to change slightly.
Cons:
Context /session handling might be tricky at times.
With complex DOM, the parsing might be prone to errors.
8/7/2019 COM32-Create Powerful Enterprise-ready Widgets
13/25
Methods of developmentAJAX
AJAX using existing background calls
Pros:
Build your own application and functionality fast and independent of the
existing application
Cons:
Existing application must have AJAX capabilities.
8/7/2019 COM32-Create Powerful Enterprise-ready Widgets
14/25
Methods of developmentWeb Services
Web Services Build directly on existing Services
Pros:
This allows to build robust applications with rich functionality and
integration on backend systems
The existing application of web front-end on the desktop is of no concern.
Using SQL Web Services allows direct access to a database.
Cons:
Extending Web Services require Java development skills to create the
JavaScript Extensions for the Web Services*
* If you have access to the server side, you might create simpler web services, which you can also
call straight from JavaScript using XMLHTTPrequest and JSON parsers.
8/7/2019 COM32-Create Powerful Enterprise-ready Widgets
15/25
Demo Page ScrubbingStandard user request
Aim: Allow users to submit a standard user request and check
the status.
Pulled the pages of the website
Created the HTML
Defined the posts
Used XMHTTPRequest to search for open requests statuses
8/7/2019 COM32-Create Powerful Enterprise-ready Widgets
16/25
STANDARD USER REQUESTSUse page scrubbing to create a simple widget
8/7/2019 COM32-Create Powerful Enterprise-ready Widgets
17/25
Demo AJAXUser Directory
AIM: Open up the company user directory on the BlackBerry
Used the available backend elements of the web application to create
the mobilized version of the companies user directory.
Add the ability:
To create a contact on the BlackBerry
Send an email
Make a call to the user.
8/7/2019 COM32-Create Powerful Enterprise-ready Widgets
18/25
COMPANY USER DIRECTORYUse AJAX to create Widget
8/7/2019 COM32-Create Powerful Enterprise-ready Widgets
19/25
Demo Web ServicesMobile interface for BRAMBLE Front Office
Aim: Create a mobile interface to Bramble Front Office*
Created the Web Services stubs for the backend using the Sun
Wireless Toolkit.
Created the JavaScript extensions to the Web Services stubs
Setup Push notification to inform users on their order status changes.
Build the web application
* BRAMBLE Front Office is a self-service portal for users to order/manage/cancel their IT services,
build on JBOSS J2EE and a Web Services interface.
8/7/2019 COM32-Create Powerful Enterprise-ready Widgets
20/25
MOBILE INTERFACE FOR PORTALExtend Web Services through Java-Script extensions and use push
notifications.
8/7/2019 COM32-Create Powerful Enterprise-ready Widgets
21/25
Q&A
Questions ? and Answers
8/7/2019 COM32-Create Powerful Enterprise-ready Widgets
22/25
For More Information
Reparsing:
http://jquery.com/
http://www.prototypejs.org/
Java Mobile Widgets (For BlackBerry, Android, etc.)
http://www.jil.org/web/jil
http://jquery.com/http://www.prototypejs.org/http://www.jil.org/web/jilhttp://www.jil.org/web/jilhttp://www.prototypejs.org/http://jquery.com/8/7/2019 COM32-Create Powerful Enterprise-ready Widgets
23/25
Resources
BlackBerry Developers Zone: http://na.blackberry.com/eng/developers/
Widget Documentation
http://docs.blackberry.com/en/developers/subcategories/?userType=
21&category=BlackBerry+Widgets&subCategory=BlackBerry+Widget+Sample+Applications
Developer Support Forums
http://supportforums.blackberry.com/rim/?category.id=BlackBerryDev
elopment
Widget Web Services:
http://supportforums.blackberry.com/t5/Web-Development/How-
quot-I-quot-would-call-a-web-service-from-a-Widget-Example/td-
p/519745
http://na.blackberry.com/eng/developers/http://docs.blackberry.com/en/developers/subcategories/?userType=21&category=BlackBerry+Widgets&subCategory=BlackBerry+Widget+Sample+Applicationshttp://docs.blackberry.com/en/developers/subcategories/?userType=21&category=BlackBerry+Widgets&subCategory=BlackBerry+Widget+Sample+Applicationshttp://docs.blackberry.com/en/developers/subcategories/?userType=21&category=BlackBerry+Widgets&subCategory=BlackBerry+Widget+Sample+Applicationshttp://supportforums.blackberry.com/rim/?category.id=BlackBerryDevelopmenthttp://supportforums.blackberry.com/rim/?category.id=BlackBerryDevelopmenthttp://supportforums.blackberry.com/t5/Web-Development/How-quot-I-quot-would-call-a-web-service-from-a-Widget-Example/td-p/519745http://supportforums.blackberry.com/t5/Web-Development/How-quot-I-quot-would-call-a-web-service-from-a-Widget-Example/td-p/519745http://supportforums.blackberry.com/t5/Web-Development/How-quot-I-quot-would-call-a-web-service-from-a-Widget-Example/td-p/519745http://supportforums.blackberry.com/t5/Web-Development/How-quot-I-quot-would-call-a-web-service-from-a-Widget-Example/td-p/519745http://supportforums.blackberry.com/t5/Web-Development/How-quot-I-quot-would-call-a-web-service-from-a-Widget-Example/td-p/519745http://supportforums.blackberry.com/t5/Web-Development/How-quot-I-quot-would-call-a-web-service-from-a-Widget-Example/td-p/519745http://supportforums.blackberry.com/rim/?category.id=BlackBerryDevelopmenthttp://supportforums.blackberry.com/rim/?category.id=BlackBerryDevelopmenthttp://docs.blackberry.com/en/developers/subcategories/?userType=21&category=BlackBerry+Widgets&subCategory=BlackBerry+Widget+Sample+Applicationshttp://docs.blackberry.com/en/developers/subcategories/?userType=21&category=BlackBerry+Widgets&subCategory=BlackBerry+Widget+Sample+Applicationshttp://docs.blackberry.com/en/developers/subcategories/?userType=21&category=BlackBerry+Widgets&subCategory=BlackBerry+Widget+Sample+Applicationshttp://na.blackberry.com/eng/developers/8/7/2019 COM32-Create Powerful Enterprise-ready Widgets
24/25
Resources
General Java Mobile Edition development en Web ServicesStub creation:
WTK 2.5.2 Toolkit (has default Stub builder)
http://www.oracle.com/technetwork/java/download-135801.html
Java ME 3.0 SDK (Has a JSR172 demo with stub builder)
http://www.oracle.com/technetwork/java/javame/downloads/sdk30-
jsp-139759.html
Java ME general page
http://www.oracle.com/technetwork/java/javame/downloads/index.html
http://www.oracle.com/technetwork/java/download-135801.htmlhttp://www.oracle.com/technetwork/java/javame/downloads/sdk30-jsp-139759.htmlhttp://www.oracle.com/technetwork/java/javame/downloads/sdk30-jsp-139759.htmlhttp://www.oracle.com/technetwork/java/javame/downloads/index.htmlhttp://www.oracle.com/technetwork/java/javame/downloads/index.htmlhttp://www.oracle.com/technetwork/java/javame/downloads/index.htmlhttp://www.oracle.com/technetwork/java/javame/downloads/index.htmlhttp://www.oracle.com/technetwork/java/javame/downloads/sdk30-jsp-139759.htmlhttp://www.oracle.com/technetwork/java/javame/downloads/sdk30-jsp-139759.htmlhttp://www.oracle.com/technetwork/java/download-135801.html8/7/2019 COM32-Create Powerful Enterprise-ready Widgets
25/25
Thank You
Dennis Reumer
COM32 - Create Powerful Enterprise-ready BlackBerry Widgets
September 29, 2010
Top Related