com32-create powerful enterprise-ready widgets

Upload: bbdocs

Post on 08-Apr-2018

233 views

Category:

Documents


0 download

TRANSCRIPT

  • 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.html
  • 8/7/2019 COM32-Create Powerful Enterprise-ready Widgets

    25/25

    Thank You

    Dennis Reumer

    COM32 - Create Powerful Enterprise-ready BlackBerry Widgets

    September 29, 2010