SlideShare ist ein Scribd-Unternehmen logo
1 von 65
Downloaden Sie, um offline zu lesen
Worklight Overview



          Andrew Ferrier
     andrew.ferrier@uk.ibm.com

           Matt Perrins
   matthew_perrins@uk.ibm.com

 WebSphere User Group, March 2012
                © 2012 Worklight, Inc. an IBM company. All rights reserved.
The story until now...
l
    Mobile apps, both pure-web-based and hybrid, are
    becoming popular in the enterprise space.

l
    IBM's main focus in this area has been the Web 2.0
    and Mobile Feature Pack for WebSphere, specifically
    Dojo Mobile with HTML5/CSS3

l
    Now, Worklight is in the picture to round out the
    picture... continuing the same technological base.

l
    Let's talk about Worklight...

                                 The mobile lifecycle


• Strong demand by LoB
• Higher expectations of user experience
  with mobile apps
• Lack of best practices guidance on
  how to deliver mobile applications
• More direct involvement from
  users/stakeholders in design
• Native programming models are
  not portable across devices.
• Highly fragmented set of mobile
  devices and platforms
• Very large number of configurations
  of devices, platforms, carriers, etc. to test
• Mobile landscape evolves at a much faster
  pace
• More frequent releases and updates for apps
  with more urgent time-to-market demands




                                          © 2012 Worklight, Inc. an IBM company. All rights reserved.
Worklight Vision
    Provide the best platform in the market for enterprises to
    develop, run and manage smartphone and tablet apps

        Open platform, built around HTML5 & supporting hybrid
                                                               apps
             Focus on new devices and OS’s and their unique
                                                        capabilities
             Cater to high-end enterprise needs regarding app
           capabilities, delivery, integration, security, scale and
                                                     management
                      Handle the entire lifecycle of mobile apps



4
Worklight Overview
              Worklight Studio
              The most complete, extensible environment with
              maximum code reuse and per-device optimization


              Worklight Server
              Unified notifications, runtime skins, version
              management, security, integration and delivery


              Worklight Runtime Components
              Extensive libraries and client APIs that expose and
      ←       interface with native device functionality


              Worklight Console
              A web-based console for real-time analytics and control
              of your mobile apps and infrastructure

5
Worklight Architecture




6
Worklight Application Types
    BrowserApps
       Web Access                  Hybrid Apps - Web
                                   Hybrid Apps Web                 Hybrid Apps - Mixed
                                                                     Hybrid Apps -           Native Apps
                                                                                             Native Apps
                                                                          Mixed
    Written in HTML5               HTML5 code and                  User augments           Platform-specific.
    JavaScript and                 Worklight runtime               web code with           Requires unique
    CSS3. Quick and                libraries packaged              native language         expertise, pricy
    cheap to develop,              within the app and              for unique needs        and long to
    but less powerful              executed in a                   and maximized           develop. Can
    than native.                   native shell.                   user experience.        deliver higher
                                                                                           user experience.

       Mobile Browser                   Native Shell                    Native Shell                 Native
                                                                                                 Application
                                                                                               10010101010111010010
                                        Web Code                            Web                10010010101110100100
                                                                                               11010101010100100100
         Web Code                       <!DOCTYPE html                  <!  Native
                                                                                 100101        10111100100110010101
                                        PUBLIC                          DOCTY     010101       01001010101010010101
         <!DOCTYPE html                 <html>                          PE html   110100
         PUBLIC                                                         PUBLIC    101010       01010101010101011111
                                        <! - - created 2003-12-1
         <html>                         <head><title>XYZ</title         created   101010       10000010101010101010
         <! - - created 2003-12-        </head>                         2003-12   100100       01001010101010101000
         12 - -                                                         </p>      100101
                                        </body>                                                11110101000111101010
         <head><title>XYZ</title        </html>                         </body>   111001
         >                                                                                     01110101011111001011
                                                                        </html>   001100
         </head>                                                                    10         01111010001011001110
         <body>
         </p>
         </body>
         </html>



                                        Device APIs                     Device APIs             Device APIs



      Browser Access                  Downloadable                    Downloadable            Downloadable


7
Worklight Studio
                       • Eclipse-based IDE
                       • Combining native and standard web
                         technologies in one multiplatform app
                       • Environment-specific optimization
                       • 3rd-party libraries integration
                       • Device SDK integration
                       • Back-end connectivity utilities




8
Worklight Studio

                       Integrated Development
                       Environment
                       (Eclipse Plug-in)

                       Application development
                       using native and/or familiar
                       web technologies:
                       • HTML5
                       • CSS3
                       • JavaScript

                       Integrated device SDKs allow
                       direct access from within the
                       IDE to emulators and code
                       debugging utilities




9
Single Shared Codebase

                              Project structure separates
                              device-specific and device-
                              independent “common”
                              code.

                              Build procedure assembles
                              and deploys chosen
                              device-specific variants




10
Worklight Server
        • Distribution of mobile web apps
        • Enterprise connectivity:
          • Secure client/server connectivity
          • 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




11
Direct Update – On-device Logic
                                Web resources packaged
                                 with app to ensure initial
                                        offline availability
                               Web resources transferred
                                  to app's cache storage
                                 App checks for updates
                                                • On startup
                                             • On foreground
                                       Updated web resources
                                   downloaded when necessary




12
Enterprise Connectivity: Adapters
                               Secure back-end integration

                               XML-based declarative
                               specification

                               Multi-source data mashups

                               Eclipse plug-in supporting
                               auto-complete and validation

                               Simplified adapter testing

                               Server-side debugging

                               Web services and JDBC
                               integration

                               Access to session data and
                               user properties


13
Direct Update - Distribution
                                                                                                               V1.
                                                                                            Native Shell       0
                                                                                                Web
                      Web                                              Updated Web
                                           Worklight Server
                                                                                                Code

                      Resources                                        Resources for V1.0
                                                                                              <!DOCTYPE
                                                                                              html PUBLIC
                                                                                              <html>



       Worklight
                                                                                              <! - - created
                                                                                              2011-12-1
                                                                                              <head><title>X


                                      Maintains recent web
                                                                                              YZ</title
                                                                                              </head>



        Studio
                                                                                              </body>


                                                                       Updated Web
                                                                                              </html>


                                      resources for native apps V1.0
                                      and V1.1                         Resources for V1.1
                                                                                                               V1.
       Develop:                                                                             Native Shell       1
       • Native app                                                                             Web
                                                                                                Code
       • Web
                      Native + Web
         resources
                      Resources                 Application              Download             <!DOCTYPE
                                                                                              html PUBLIC
                                                                                              <html>
                                                                                              <! - - created
                                                                                              2011-12-1



                                                 Stores (*)
                                                                                              <head><title>X
                                                                                              YZ</title
                                                                                              </head>
                                                                                              </body>
                                                                                              </html>




     (*) During development cycles, testers automatically get recent web resources via
     internal distribution mechanisms and not application stores.


14
Unified Push Notifications
                                                                             Apple     Worklight
                                                                iOS
                                                                              Push     Client-side
                                                                            Servers       Push
                                                    iOS       Push API
                                                                                        Services
                                                 Dispatcher                  (APN)

Back-end                           Notificatio                              Google
 Back-end    Polling                                                                   Worklight
System                              n State       Android     Android        Push      Client-side
 System     Adapters
                                   Database      Dispatcher
                                                              Push API      Servers       Push
                                                                                        Services
                                                                            (C2DM)

                        Unified                  BlackBerry   BlackBerry               Worklight
                                                 Dispatcher                RIM Push    Client-side
                       Push API                                Push API
                                                                            Servers       Push
                                                                                        Services
                                                  Windows
Back-end    Message-                User-          Phone      Windows
 Back-end                                                                  Microsoft   Worklight
System       based                  Device       Dispatcher   Push API
                                                                                       Client-side
 System                                                                     Push
            Adapters               Database                                Servers        Push
                                                                                        Services
                                                    SMS
                                                 Dispatcher
                                                              Broker API
                                                                           SMS/MMS
                                                                            Brokers
                       Administrative Console




15
Device Runtime Components
       • Framework for server integration:
         • Secure server connectivity
         • Authentication
         • Remote disable & notification
         • Push registration
         • Event reporting for analytics & audit
       • Cross-platform compatibility layer
       • Runtime Skins
       • Secure encrypted storage




16
Worklight Console
        • Application Version Management
        • Push management
        • Usage reports and analytics
        • Reports of custom application events
        • Configurable audit log
        • Administrative dashboards for:
          • Deployed applications
          • Installed adapters
          • Push notifications
        • Data export to BI enterprise systems




17
Dynamic Control of Deployed Apps




     • Centralized control of all installed applications and adapters
     • Remotely disable apps by device and version
     • Customize user messages

18
Push Services Management




19
Data Collection and Analytics




20
Worklight Studio
                                       Writing Your First Application




© 2011 Worklight, Inc. All rights reserved. The information contained herein is the proprietary and confidential information of Worklight.
Development: Server + Studio


                                    Studio is Eclipse-based




          Worklight Server

          Server-side                  Server runs on Tomcat (today)
        Application Code
                                             wl_start to launch
        JSON Translation     Direct Update

                               Mobile
         Authentication       Web Apps

                             Unified Push
         Adapter Library
                             Notifications




22
Hello Worklight Application

      Create a Worklight Project




23
Hello Worklight Application

      Right Click on the
      project node and create
      a new Worklight
      Application

      Name it HelloWorklight




24
Worklight Project Structure

                  A Worklight Project consists of the following folders:
                  • adapters:
                    • Contains the project’s adapters
                    • Right-click → Create Adapter to create a new one
                  • apps:
                    • Contains the project’s applications
                    • Right-click → Create Application to create a new
                      one
                  • bin:
                    • A destination folder for deliverables
                  • lib:
                    • Contains the project’s 3rd-party libraries




25
HelloWorklight - Project Structure
                   The default environment is called common
                   The common environment contains all the
                   resources that are shared between
                   environments
                   You can add new environments by right-
                   clicking application folder and choosing the
                   Add new environment option
                   • A new environment will be created.
                   • The new environment’s resources will have the
                     following relationship with the common resources:
                    • images - override the common images in case both
                      share the same name
                    • css – extend and/or override the common CSS files
                    • js - extends the common application instance JS object
                    • (The environment class extends the common app class)
                    • HTML - override the common HTML code in case both
                      share the same name


26
HelloWorklight - Project Structure
                   Common Environment:
                   • HelloWorklight.html
                     • The main HTML file.
                   • css
                     • HelloWorklight.css - main application’s CSS file.
                     • reset.css - bringing all rendering engines to one common
                       ground.
                   • images
                     • Default Worklight images for the common environment
                   • js
                     • HelloWorklight.js
                          • The main JavaScript file for the application.
                     • messages.js
                          • JSON object holding all app messages. Can be used for
                            localization
                     • Auth.js
                          • Application’s custom authentication mechanism implementation
                   Legal
                   • This folder should hold all legal related docs.
                   Application-descriptor
                   • Application’s meta data




27
HelloWorklight - Application Descriptor
      An XML file to hold all the application’s meta data
      Based on the W3C Widget Packaging and Configuration
                                  Specify the application name,
                                  description and author’s name to
                                  be displayed in the Worklight
                                  Console




28
HelloWorklight - Application Descriptor
      An XML file to hold all the application’s meta data
      Based on the W3C Widget Packaging and Configuration




                                 Mobile worklightRootURL
                                 The URL to be used as a root URL
                                 in generated mobile applications –
                                 iOS, Android etc.



29
HelloWorklight.html
     During the runtime of an application, the main HTML document cannot be
     replaced by another HTML document.
                                           Default application HTML template complies
                                           with HTML5 standard markup, but any other
                                           DOCTYPE can be specified.




30
HelloWorklight.html
     During the runtime of an application, the main HTML document cannot be
     replaced by another HTML document.


                                       Worklight Client framework initialization
                                       bound to body onload event. For possible init
                                       options see Developers Guide




31
HelloWorklight.html
     During the runtime of an application, the main HTML document cannot be
     replaced by another HTML document.
                                       This is the right place to insert your html
                                                           code




32
HelloWorklight.js
      The app’s main .js file contains its JavaScript portion
      It has a wlCommonInit() function that will be invoked
      automatically once Worklight framework initialization
      finishes
      You can add your application’s initialization code here
      This function will be used in environment-specific
      JavaScript files to have a common initialization starting
      point




33
Building an Application

                               Make sure your Worklight
                               Server is up and running
                               Select an app to build and
                               right click on it
                               Click Run As
                               Select Build All and
                               Deploy
                               After build completes, the
                               application will be
                               available for preview in the
                               catalog tab of the
                               Worklight Console




34
Deploying Apps Using the Worklight
     Console
       http://{Worklight Server}/console




35
Adding a New Environment
     • To add a new environment right-click on your
      application folder and select New → Worklight
      Environment




36
Adding a New Environment
     Select the Android
     phones and tablets
       checkbox and click Finish




37
Adding a New Environment

      Two folders will be automatically
     added:                                               1
     1.android folder inside the application folder
     2.Android Project folder in your workspace.

      IMPORTANT
     •. The auto-generated Android Project folder
       does not contain a copy of the code, but it
       is mapped to a native folder within the
                                                      2
       android folder of the application.



38
Review of the Android Folder Structure
     The Android environment consists of the following folders:
     • css – properties specified in here will override CSS files
       from the common folder.
     • images – Android specific images can be added here. If
       an image with same filename exist in the common
       folder it will be overwritten in the Android application.
     • js – JavaScript that can extend (and override if required)
       JavaScript code from the common folder.




39
Review of the Android Folder Structure Cont.

      The native folder under android
      contains automatically generated
      android application code that is
      automatically imported into the eclipse
      workspace as an Android Project.
      It is not recommended to edit files
      under the assets folder, as each time
      the application is built they are
      regenerated.
40
Running Your App on the Android Emulator
     Build and deploy your application on the Worklight Server




     Right-click the automatically generated Android Project
     and select Run As → Android Application




41
Running Your App on the Android Emulator
     Congratulations, you’ve just created your first Android
                          application




42
Running Your Application On a Real Device

       When an Android device is connected to the
       computer via USB cable, the Eclipse ADT plug-in will
       automatically recognize it and attempt to deploy
       applications onto it.


       More info and device drivers can be found at:
       http://developer.android.com/sdk/win-usb.html




43
Development

       HTML5 / CSS3
       JavaScript, both on Client and Server
       • For Client: optionally, a JavaScript Framework
        • Dojo Mobile, JQuery Mobile, Sencha Touch

       Optionally on Client
       • Native code, as a PhoneGap plugin

       Optionally on Server
       • Java code




44
The WL Namespace – client APIs
      To use Worklight API, a WL namespace is used
      • WL.Client, WL.Utils, …
       Exposes the API objects, methods and constants
      (usually enums)
       Automatically added to the app’s main HTML file
      •   wlcommon.js
      •   wlclient.js
      •   worklight.js
      •   wlfragments.js
      WL Namespace is automatically available on
      application initialization


45
WL.Client

      WL.Client lets you perform the following types of
      functions:




46
WL.Client

      WL.Client lets you perform the following types of
      functions:
      • Initialize and reload the application.



                                                 WL.Client.init (options)
                                                  - onSuccess
                                                  - onFailure
                                                  - showLogger
                                                  - minAppWidth
                                                  - busyOptions

                                                 WL.Client.reloadApp()




47
WL.Client

      WL.Client lets you perform the following types of
      functions:
      • Initialize and reload the application.
      • Manage authenticated sessions.


                                                 WL.Client.getUserName (realm)
                                                 WL.Client.getLoginName (realm)
                                                 WL.Client.login (realm, options)
                                                 WL.Client.logout (realm, options)
                                                 WL.Client.isUserAuthenticated
                                                 (realm)
                                                 WL.Client.getUserInfo (realm, key)
                                                 WL.Client.updateUserInfo (options)




48
WL.Client

      WL.Client lets you perform the following types of
      functions:
      • Initialize and reload the application.
      • Manage authenticated sessions.
      • Obtain general app information.


                                                 WL.Client.getEnvironment ()
                                                 WL.Environment.ADOBE_AIR
                                                 WL.Environment.FACEBOOK
                                                 …




49
WL.Client

      WL.Client lets you perform the following types of
      functions:
      •   Initialize and reload the app.
      •   Manage authenticated sessions.
      •   Obtain general app information.
      •   Retrieve and update data from corporate information systems.



                          WL.Client.invokeProcedure (invocationData,
                          options)

                          WL.Client.makeRequest (url, options)




50
WL.Client

      WL.Client lets you perform the following types of
      functions:
      •   Initialize and reload the app.
      •   Manage authenticated sessions.
      •   Obtain general app information.
      •   Retrieve and update data from corporate information systems.
      •   Store and retrieve user preferences across sessions.


                                 WL.Client.setUserPref (key, value, options)
                                 WL.Client.setUserPrefs ({key1:value1, …},
                                 options)
                                 WL.Client.getUserPref (key)
                                 WL.Client.removeUserPref (key, options)
                                 WL.Client.hasUserPref (key)


51
WL.App.openURL
     WL.Client                                     WL.App.getDeviceLangu
                                                   age
                                                   WL.App.getDeviceLocale
      WL.Client lets you perform the following types of
                                                   WL.Client.onDock
      functions:                                   WL.Client.onShow
      • Initialize and reload the app.             WL.Client.onHide
      • Manage authenticated sessions.             WL.BusyIndicator
      • Obtain general app information.            WL.TabBar
      • Retrieve and update data from corporate information systems.
                                                   WL.SimpleDialog
      • Store and retrieve user preferences acrossWL.OptionsMenu
                                                    sessions.
      • Internationalize app texts.
      • Specify environment-specific user interface behavior.




52
WL.Client

      WL.Client lets you perform the following types of
      functions:                   WL.Client.logActivity (activityType)
      •   Initialize and reload the app.
      •   Manage authenticated sessions.
      •   Obtain general app information.
      •   Retrieve and update data from corporate information systems.
      •   Store and retrieve user preferences across sessions.
      •   Internationalize app texts.
      •   Specify environment-specific user interface behavior.
      •   Store custom log lines for auditing and reporting purposes in
          special database tables.




53
WL.Client
                                             WL.Logger.debug (msg)
                                             WL.Logger.error (msg)
      WL.Client lets you perform the following types of
      functions:
      • Initialize and reload the app.
      • Manage authenticated sessions.
      • Obtain general app information.
      • Retrieve and update data from corporate information systems.
      • Store and retrieve user preferences across sessions.
      • Internationalize app texts.
      • Specify environment-specific user interface behavior.
      • Store custom log lines for auditing and reporting purposes in
        special database tables.
      • Write debug lines to a logger window.




54
WL.Client
                                                   WL.Fragment.load
      WL.Client lets you perform the following types of
                                                   WL.Page.load
      functions:                                   WL.Page.back
      • Initialize and reload the app.             WL.Page.isLoaded
      • Manage authenticated sessions.
      • Obtain general app information.
      • Retrieve and update data from corporate information systems.
      • Store and retrieve user preferences across sessions.
      • Internationalize app texts.
      • Specify environment-specific user interface behavior.
      • Store custom log lines for auditing and reporting purposes in
        special database tables.
      • Write debug lines to a logger window.
      • Dynamic page and fragments loading.



55
WL.Client

      WL.Client lets you perform the following types of
      functions:
      • Initialize and reload the app.
      • Manage authenticated sessions.
      • Obtain general app information.
      • Retrieve and update data from corporate information systems.
      • Store and retrieve user preferences across sessions.
      • Internationalize app texts.
      • Specify environment-specific user interface behavior.
      • Store custom log lines for auditing and reporting purposes in
        special database tables.
      • Write debug lines to a logger window.
      • Dynamic page and fragments loading.
      For full documentation please refer to the Developer Reference
      Guide.

56
Server-Side Development
                                                       Information
                                                         Systems
                                                                 Databases
      An Adapter is a transport layer                                        Applications

      used by the Worklight Platform to
      connect to various back-end         Query    Response
      systems.                                                          Update
                                             2           3               data


      Adapters are used for:                      SQL          WS        HTTP
      • Retrieving information                             Worklight
      • Performing actions
                                             Invoke
                                           1 adapter                Data/Result
                                                                     as JSON
      Out of the box:                       procedure                                4
      • SQL Adapter
      • HTTP Adapter (supports both
      • REST and SOAP)


57
Example: Build a SQL Adapter


      A Worklight SQL Adapter is designed to communicate with
      any SQL data source

      Both plain SQL queries or stored procedures can be used




58
Creating a Worklight SQL Adapter

      Within the Worklight Studio, right click on the Worklight
      Project and create a new Worklight SQL Adapter




     A standard SQL Adapter
       structure will be created




59
XML File
     Connectivity Settings

      Connection can be either JNDI or data source definition
      • JNDI - Java Naming and Directory Interface - providing Java
        applications with a unified interface for multiple naming and
        directory services.
      • A JNDI name can be declared as a parameter that is
        defined in a worklight.properties file. This is an
        adapter’s XML file:



      And these are corresponding entries in the
      worklight.properties file



60
JS File
     Procedure

      A procedure must be declared in the Adapter’s XML file


      The adapter’s JavaScript file is used to implement the
      procedure logic

      IMPORTANT – The same name declared in the XML file
      should be used for the procedure’s JavaScript function

      There are two ways of invoking SQL statements:
      • Using SQL statement query
      • Using SQL Stored Procedure



61
JS File
     SQL Query
      To execute an SQL query
      1.Prepare an SQL query using the WL.Server.createSQLStatement
        API
      2.WL.Server.createSQLStatement should ALWAYS be called
        outside of the function
      3.Add additional parameters if required
      4.Use the WL.Server.invokeSQLStatement API to invoke prepared
        queries
      5.Return invocation result to procedure invocator (application or
        another procedure)
                                                                          1

                                  4

                           3



62
JS File
     Stored SQL Procedure

      To execute a stored SQL procedure
      1.Use the WL.Server.invokeSQLStoredProcedure API to execute a
        stored procedure
      2.Specify an SQL stored procedure name as an invocation parameter
      3.Add additional parameters if required
      4.Return invocation result to procedure invocator (application or
        another procedure)


                                                           1


                                                      2
                                          3




63
WL Adapters
     Invocation Result

      Result retrieved as a JSON
      object

      isSuccessful property defines
      whether invocation was
      successful

      resultSet is an array of
      returned records




64
Summary
l
    Worklight extends IBM's existing mobile strategy and
    offerings

l
    Fully integrated platform for mixed web / hybrid /
    native development

l
    More information:

l
    http://www.youtube.com/user/WorklightInc?feature=watch

l
    http://worklight.com/

Weitere ähnliche Inhalte

Was ist angesagt?

DevBeat 2013 IBM Master Class presentation
DevBeat 2013 IBM Master Class presentationDevBeat 2013 IBM Master Class presentation
DevBeat 2013 IBM Master Class presentationLeigh Williamson
 
Introduction to IBM Worklight: Building and connecting cross-platform mobile ...
Introduction to IBM Worklight: Building and connecting cross-platform mobile ...Introduction to IBM Worklight: Building and connecting cross-platform mobile ...
Introduction to IBM Worklight: Building and connecting cross-platform mobile ...Jeremy Siewert
 
Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]Sreeni Pamidala
 
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...Bruce Elgort
 
June 25 webcast adding mobile to power applications
June 25 webcast   adding mobile to power applicationsJune 25 webcast   adding mobile to power applications
June 25 webcast adding mobile to power applicationsLeigh Williamson
 
IBM MobileFirst - Hybrid Application Development with Worklight
IBM MobileFirst - Hybrid Application Development with WorklightIBM MobileFirst - Hybrid Application Development with Worklight
IBM MobileFirst - Hybrid Application Development with WorklightIBIZZ
 
Application Development for IBM Connections with IBM Bluemix
Application Development  for IBM Connections with IBM BluemixApplication Development  for IBM Connections with IBM Bluemix
Application Development for IBM Connections with IBM BluemixIBM Connections Developers
 
Presentation build and connect apps, devices and data ibm worklight overview
Presentation   build and connect apps, devices and data ibm worklight overviewPresentation   build and connect apps, devices and data ibm worklight overview
Presentation build and connect apps, devices and data ibm worklight overviewxKinAnx
 
Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...LetsConnect
 
AnDevCon: Introduction to Darwino
AnDevCon: Introduction to DarwinoAnDevCon: Introduction to Darwino
AnDevCon: Introduction to DarwinoPhilippe Riand
 
Hybrid Applications with WebSphere commerce and Worklight
Hybrid Applications with WebSphere commerce and WorklightHybrid Applications with WebSphere commerce and Worklight
Hybrid Applications with WebSphere commerce and WorklightMohammad Omer Raza
 
Security and Mobile Application Management with Worklight
Security and Mobile Application Management with WorklightSecurity and Mobile Application Management with Worklight
Security and Mobile Application Management with WorklightIBM WebSphereIndia
 
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...IBM Connections Developers
 
Kony Mobile Management
Kony Mobile ManagementKony Mobile Management
Kony Mobile ManagementDipesh Mukerji
 

Was ist angesagt? (20)

DevBeat 2013 IBM Master Class presentation
DevBeat 2013 IBM Master Class presentationDevBeat 2013 IBM Master Class presentation
DevBeat 2013 IBM Master Class presentation
 
Introduction to IBM Worklight: Building and connecting cross-platform mobile ...
Introduction to IBM Worklight: Building and connecting cross-platform mobile ...Introduction to IBM Worklight: Building and connecting cross-platform mobile ...
Introduction to IBM Worklight: Building and connecting cross-platform mobile ...
 
Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]
 
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
 
June 25 webcast adding mobile to power applications
June 25 webcast   adding mobile to power applicationsJune 25 webcast   adding mobile to power applications
June 25 webcast adding mobile to power applications
 
IBM MobileFirst - Hybrid Application Development with Worklight
IBM MobileFirst - Hybrid Application Development with WorklightIBM MobileFirst - Hybrid Application Development with Worklight
IBM MobileFirst - Hybrid Application Development with Worklight
 
Application Development for IBM Connections with IBM Bluemix
Application Development  for IBM Connections with IBM BluemixApplication Development  for IBM Connections with IBM Bluemix
Application Development for IBM Connections with IBM Bluemix
 
Presentation build and connect apps, devices and data ibm worklight overview
Presentation   build and connect apps, devices and data ibm worklight overviewPresentation   build and connect apps, devices and data ibm worklight overview
Presentation build and connect apps, devices and data ibm worklight overview
 
Mobile hig
Mobile higMobile hig
Mobile hig
 
Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...
 
Rational HATS overview 7.5.1
Rational HATS overview 7.5.1Rational HATS overview 7.5.1
Rational HATS overview 7.5.1
 
AnDevCon: Introduction to Darwino
AnDevCon: Introduction to DarwinoAnDevCon: Introduction to Darwino
AnDevCon: Introduction to Darwino
 
Kony plaform short
Kony plaform   shortKony plaform   short
Kony plaform short
 
Hybrid Applications with WebSphere commerce and Worklight
Hybrid Applications with WebSphere commerce and WorklightHybrid Applications with WebSphere commerce and Worklight
Hybrid Applications with WebSphere commerce and Worklight
 
Security and Mobile Application Management with Worklight
Security and Mobile Application Management with WorklightSecurity and Mobile Application Management with Worklight
Security and Mobile Application Management with Worklight
 
Ibm empresa movil
Ibm empresa movilIbm empresa movil
Ibm empresa movil
 
IBM Worklight Whitepaper
IBM Worklight WhitepaperIBM Worklight Whitepaper
IBM Worklight Whitepaper
 
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
 
Kony Mobile Management
Kony Mobile ManagementKony Mobile Management
Kony Mobile Management
 
RIA
RIARIA
RIA
 

Ähnlich wie Worklight Overview

Udvikling af apps til mobile enheder med IBM Worklight, Christina Møller, IBM
Udvikling af apps til mobile enheder med IBM Worklight, Christina Møller, IBMUdvikling af apps til mobile enheder med IBM Worklight, Christina Møller, IBM
Udvikling af apps til mobile enheder med IBM Worklight, Christina Møller, IBMIBM Danmark
 
Worklight technical intro v2
Worklight technical intro v2Worklight technical intro v2
Worklight technical intro v2Vinh Nguyen
 
Mobile Development Challenges
Mobile Development ChallengesMobile Development Challenges
Mobile Development ChallengesNir Levy
 
Development Workshop on ET1, Android and Motorola RhoElements
Development Workshop on ET1, Android and Motorola RhoElementsDevelopment Workshop on ET1, Android and Motorola RhoElements
Development Workshop on ET1, Android and Motorola RhoElementsRomin Irani
 
Duncan hallas netbiscuits mobile publishing masterclass
Duncan hallas netbiscuits mobile publishing masterclassDuncan hallas netbiscuits mobile publishing masterclass
Duncan hallas netbiscuits mobile publishing masterclassJames Cameron
 
Real-world Dojo Mobile
Real-world Dojo MobileReal-world Dojo Mobile
Real-world Dojo MobileAndrew Ferrier
 
Ionic App Platform Overview
Ionic App Platform Overview Ionic App Platform Overview
Ionic App Platform Overview Ionic Framework
 
Adobe AIR Mobile development for Android and PlayBook
Adobe AIR Mobile development for Android and PlayBookAdobe AIR Mobile development for Android and PlayBook
Adobe AIR Mobile development for Android and PlayBookMihai Corlan
 
Html5 workshop part 1
Html5 workshop part 1Html5 workshop part 1
Html5 workshop part 1NAILBITER
 
Crosswalk and the Intel XDK
Crosswalk and the Intel XDKCrosswalk and the Intel XDK
Crosswalk and the Intel XDKIntel® Software
 
Android Development with Flash Platform
Android Development with Flash PlatformAndroid Development with Flash Platform
Android Development with Flash PlatformMihai Corlan
 
IBM Worklight
IBM WorklightIBM Worklight
IBM WorklightNir Elbaz
 
Understanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile ArchitecturesUnderstanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile ArchitecturesSalesforce Developers
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile DevelopmentManesh Lad
 
Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDee Sadler
 
Build Consumer Apps Using Mobile SDK and Ionic Framework
Build Consumer Apps Using Mobile SDK and Ionic FrameworkBuild Consumer Apps Using Mobile SDK and Ionic Framework
Build Consumer Apps Using Mobile SDK and Ionic FrameworkSalesforce Developers
 

Ähnlich wie Worklight Overview (20)

Udvikling af apps til mobile enheder med IBM Worklight, Christina Møller, IBM
Udvikling af apps til mobile enheder med IBM Worklight, Christina Møller, IBMUdvikling af apps til mobile enheder med IBM Worklight, Christina Møller, IBM
Udvikling af apps til mobile enheder med IBM Worklight, Christina Møller, IBM
 
Worklight technical intro v2
Worklight technical intro v2Worklight technical intro v2
Worklight technical intro v2
 
Mobile Development Challenges
Mobile Development ChallengesMobile Development Challenges
Mobile Development Challenges
 
Development Workshop on ET1, Android and Motorola RhoElements
Development Workshop on ET1, Android and Motorola RhoElementsDevelopment Workshop on ET1, Android and Motorola RhoElements
Development Workshop on ET1, Android and Motorola RhoElements
 
Duncan hallas netbiscuits mobile publishing masterclass
Duncan hallas netbiscuits mobile publishing masterclassDuncan hallas netbiscuits mobile publishing masterclass
Duncan hallas netbiscuits mobile publishing masterclass
 
Real-world Dojo Mobile
Real-world Dojo MobileReal-world Dojo Mobile
Real-world Dojo Mobile
 
Ionic App Platform Overview
Ionic App Platform Overview Ionic App Platform Overview
Ionic App Platform Overview
 
Adobe AIR Mobile development for Android and PlayBook
Adobe AIR Mobile development for Android and PlayBookAdobe AIR Mobile development for Android and PlayBook
Adobe AIR Mobile development for Android and PlayBook
 
Html5 workshop part 1
Html5 workshop part 1Html5 workshop part 1
Html5 workshop part 1
 
Crosswalk and the Intel XDK
Crosswalk and the Intel XDKCrosswalk and the Intel XDK
Crosswalk and the Intel XDK
 
Android Development with Flash Platform
Android Development with Flash PlatformAndroid Development with Flash Platform
Android Development with Flash Platform
 
IBM Worklight
IBM WorklightIBM Worklight
IBM Worklight
 
Understanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile ArchitecturesUnderstanding Native, Hybrid, and Web Mobile Architectures
Understanding Native, Hybrid, and Web Mobile Architectures
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile Development
 
Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile design
 
Jquery mobile
Jquery mobileJquery mobile
Jquery mobile
 
The App Evolution Continues
The App Evolution ContinuesThe App Evolution Continues
The App Evolution Continues
 
BlackBerry WebWorks
BlackBerry WebWorksBlackBerry WebWorks
BlackBerry WebWorks
 
HTML 5 - A developers perspective
HTML 5 - A developers perspectiveHTML 5 - A developers perspective
HTML 5 - A developers perspective
 
Build Consumer Apps Using Mobile SDK and Ionic Framework
Build Consumer Apps Using Mobile SDK and Ionic FrameworkBuild Consumer Apps Using Mobile SDK and Ionic Framework
Build Consumer Apps Using Mobile SDK and Ionic Framework
 

Mehr von Andrew Ferrier

Artificial Intelligence 101: What is It and Why is it Suddenly a Big Deal Again?
Artificial Intelligence 101: What is It and Why is it Suddenly a Big Deal Again?Artificial Intelligence 101: What is It and Why is it Suddenly a Big Deal Again?
Artificial Intelligence 101: What is It and Why is it Suddenly a Big Deal Again?Andrew Ferrier
 
What *Is* Cloud? - A introduction for non-techies
What *Is* Cloud? - A introduction for non-techiesWhat *Is* Cloud? - A introduction for non-techies
What *Is* Cloud? - A introduction for non-techiesAndrew Ferrier
 
Integration (Application?) Modernization with IBM Garage
Integration (Application?) Modernization with IBM GarageIntegration (Application?) Modernization with IBM Garage
Integration (Application?) Modernization with IBM GarageAndrew Ferrier
 
Why is Infrastructure-as-Code essential in the Cloud Age?
Why is Infrastructure-as-Code essential in the Cloud Age?Why is Infrastructure-as-Code essential in the Cloud Age?
Why is Infrastructure-as-Code essential in the Cloud Age?Andrew Ferrier
 
Become an IBM Cloud Architect in 40 Minutes
Become an IBM Cloud Architect in 40 MinutesBecome an IBM Cloud Architect in 40 Minutes
Become an IBM Cloud Architect in 40 MinutesAndrew Ferrier
 
Become a Bluemix Architect in 45 Minutes
Become a Bluemix Architect in 45 MinutesBecome a Bluemix Architect in 45 Minutes
Become a Bluemix Architect in 45 MinutesAndrew Ferrier
 
Creating Effective Mobile Applications with IBM Bluemix
Creating Effective Mobile Applications with IBM BluemixCreating Effective Mobile Applications with IBM Bluemix
Creating Effective Mobile Applications with IBM BluemixAndrew Ferrier
 
Understanding Docker and IBM Bluemix Container Service
Understanding Docker and IBM Bluemix Container ServiceUnderstanding Docker and IBM Bluemix Container Service
Understanding Docker and IBM Bluemix Container ServiceAndrew Ferrier
 
WebSphere User Group UK: Larger Applications with Worklight
WebSphere User Group UK: Larger Applications with WorklightWebSphere User Group UK: Larger Applications with Worklight
WebSphere User Group UK: Larger Applications with WorklightAndrew Ferrier
 

Mehr von Andrew Ferrier (10)

Artificial Intelligence 101: What is It and Why is it Suddenly a Big Deal Again?
Artificial Intelligence 101: What is It and Why is it Suddenly a Big Deal Again?Artificial Intelligence 101: What is It and Why is it Suddenly a Big Deal Again?
Artificial Intelligence 101: What is It and Why is it Suddenly a Big Deal Again?
 
What *Is* Cloud? - A introduction for non-techies
What *Is* Cloud? - A introduction for non-techiesWhat *Is* Cloud? - A introduction for non-techies
What *Is* Cloud? - A introduction for non-techies
 
Integration (Application?) Modernization with IBM Garage
Integration (Application?) Modernization with IBM GarageIntegration (Application?) Modernization with IBM Garage
Integration (Application?) Modernization with IBM Garage
 
Why is Infrastructure-as-Code essential in the Cloud Age?
Why is Infrastructure-as-Code essential in the Cloud Age?Why is Infrastructure-as-Code essential in the Cloud Age?
Why is Infrastructure-as-Code essential in the Cloud Age?
 
Become an IBM Cloud Architect in 40 Minutes
Become an IBM Cloud Architect in 40 MinutesBecome an IBM Cloud Architect in 40 Minutes
Become an IBM Cloud Architect in 40 Minutes
 
Become a Bluemix Architect in 45 Minutes
Become a Bluemix Architect in 45 MinutesBecome a Bluemix Architect in 45 Minutes
Become a Bluemix Architect in 45 Minutes
 
Creating Effective Mobile Applications with IBM Bluemix
Creating Effective Mobile Applications with IBM BluemixCreating Effective Mobile Applications with IBM Bluemix
Creating Effective Mobile Applications with IBM Bluemix
 
Understanding Docker and IBM Bluemix Container Service
Understanding Docker and IBM Bluemix Container ServiceUnderstanding Docker and IBM Bluemix Container Service
Understanding Docker and IBM Bluemix Container Service
 
MEAPs meet the Cloud
MEAPs meet the CloudMEAPs meet the Cloud
MEAPs meet the Cloud
 
WebSphere User Group UK: Larger Applications with Worklight
WebSphere User Group UK: Larger Applications with WorklightWebSphere User Group UK: Larger Applications with Worklight
WebSphere User Group UK: Larger Applications with Worklight
 

Kürzlich hochgeladen

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 

Kürzlich hochgeladen (20)

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 

Worklight Overview

  • 1. Worklight Overview Andrew Ferrier andrew.ferrier@uk.ibm.com Matt Perrins matthew_perrins@uk.ibm.com WebSphere User Group, March 2012 © 2012 Worklight, Inc. an IBM company. All rights reserved.
  • 2. The story until now... l Mobile apps, both pure-web-based and hybrid, are becoming popular in the enterprise space. l IBM's main focus in this area has been the Web 2.0 and Mobile Feature Pack for WebSphere, specifically Dojo Mobile with HTML5/CSS3 l Now, Worklight is in the picture to round out the picture... continuing the same technological base. l Let's talk about Worklight...
  • 3. The mobile lifecycle • Strong demand by LoB • Higher expectations of user experience with mobile apps • Lack of best practices guidance on how to deliver mobile applications • More direct involvement from users/stakeholders in design • Native programming models are not portable across devices. • Highly fragmented set of mobile devices and platforms • Very large number of configurations of devices, platforms, carriers, etc. to test • Mobile landscape evolves at a much faster pace • More frequent releases and updates for apps with more urgent time-to-market demands © 2012 Worklight, Inc. an IBM company. All rights reserved.
  • 4. Worklight Vision Provide the best platform in the market for enterprises to develop, run and manage smartphone and tablet apps Open platform, built around HTML5 & supporting hybrid apps Focus on new devices and OS’s and their unique capabilities Cater to high-end enterprise needs regarding app capabilities, delivery, integration, security, scale and management Handle the entire lifecycle of mobile apps 4
  • 5. Worklight Overview Worklight Studio The most complete, extensible environment with maximum code reuse and per-device optimization Worklight Server Unified notifications, runtime skins, version management, security, integration and delivery Worklight Runtime Components Extensive libraries and client APIs that expose and ← interface with native device functionality Worklight Console A web-based console for real-time analytics and control of your mobile apps and infrastructure 5
  • 7. Worklight Application Types BrowserApps Web Access Hybrid Apps - Web Hybrid Apps Web Hybrid Apps - Mixed Hybrid Apps - Native Apps Native Apps Mixed Written in HTML5 HTML5 code and User augments Platform-specific. JavaScript and Worklight runtime web code with Requires unique CSS3. Quick and libraries packaged native language expertise, pricy cheap to develop, within the app and for unique needs and long to but less powerful executed in a and maximized develop. Can than native. native shell. user experience. deliver higher user experience. Mobile Browser Native Shell Native Shell Native Application 10010101010111010010 Web Code Web 10010010101110100100 11010101010100100100 Web Code <!DOCTYPE html <! Native 100101 10111100100110010101 PUBLIC DOCTY 010101 01001010101010010101 <!DOCTYPE html <html> PE html 110100 PUBLIC PUBLIC 101010 01010101010101011111 <! - - created 2003-12-1 <html> <head><title>XYZ</title created 101010 10000010101010101010 <! - - created 2003-12- </head> 2003-12 100100 01001010101010101000 12 - - </p> 100101 </body> 11110101000111101010 <head><title>XYZ</title </html> </body> 111001 > 01110101011111001011 </html> 001100 </head> 10 01111010001011001110 <body> </p> </body> </html> Device APIs Device APIs Device APIs Browser Access Downloadable Downloadable Downloadable 7
  • 8. Worklight Studio • Eclipse-based IDE • Combining native and standard web technologies in one multiplatform app • Environment-specific optimization • 3rd-party libraries integration • Device SDK integration • Back-end connectivity utilities 8
  • 9. Worklight Studio Integrated Development Environment (Eclipse Plug-in) Application development using native and/or familiar web technologies: • HTML5 • CSS3 • JavaScript Integrated device SDKs allow direct access from within the IDE to emulators and code debugging utilities 9
  • 10. Single Shared Codebase Project structure separates device-specific and device- independent “common” code. Build procedure assembles and deploys chosen device-specific variants 10
  • 11. Worklight Server • Distribution of mobile web apps • Enterprise connectivity: • Secure client/server connectivity • 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 11
  • 12. Direct Update – On-device Logic Web resources packaged with app to ensure initial offline availability Web resources transferred to app's cache storage App checks for updates • On startup • On foreground Updated web resources downloaded when necessary 12
  • 13. Enterprise Connectivity: Adapters Secure back-end integration XML-based declarative specification Multi-source data mashups Eclipse plug-in supporting auto-complete and validation Simplified adapter testing Server-side debugging Web services and JDBC integration Access to session data and user properties 13
  • 14. Direct Update - Distribution V1. Native Shell 0 Web Web Updated Web Worklight Server Code Resources Resources for V1.0 <!DOCTYPE html PUBLIC <html> Worklight <! - - created 2011-12-1 <head><title>X Maintains recent web YZ</title </head> Studio </body> Updated Web </html> resources for native apps V1.0 and V1.1 Resources for V1.1 V1. Develop: Native Shell 1 • Native app Web Code • Web Native + Web resources Resources Application Download <!DOCTYPE html PUBLIC <html> <! - - created 2011-12-1 Stores (*) <head><title>X YZ</title </head> </body> </html> (*) During development cycles, testers automatically get recent web resources via internal distribution mechanisms and not application stores. 14
  • 15. Unified Push Notifications Apple Worklight iOS Push Client-side Servers Push iOS Push API Services Dispatcher (APN) Back-end Notificatio Google Back-end Polling Worklight System n State Android Android Push Client-side System Adapters Database Dispatcher Push API Servers Push Services (C2DM) Unified BlackBerry BlackBerry Worklight Dispatcher RIM Push Client-side Push API Push API Servers Push Services Windows Back-end Message- User- Phone Windows Back-end Microsoft Worklight System based Device Dispatcher Push API Client-side System Push Adapters Database Servers Push Services SMS Dispatcher Broker API SMS/MMS Brokers Administrative Console 15
  • 16. Device Runtime Components • Framework for server integration: • Secure server connectivity • Authentication • Remote disable & notification • Push registration • Event reporting for analytics & audit • Cross-platform compatibility layer • Runtime Skins • Secure encrypted storage 16
  • 17. Worklight Console • Application Version Management • Push management • Usage reports and analytics • Reports of custom application events • Configurable audit log • Administrative dashboards for: • Deployed applications • Installed adapters • Push notifications • Data export to BI enterprise systems 17
  • 18. Dynamic Control of Deployed Apps • Centralized control of all installed applications and adapters • Remotely disable apps by device and version • Customize user messages 18
  • 20. Data Collection and Analytics 20
  • 21. Worklight Studio Writing Your First Application © 2011 Worklight, Inc. All rights reserved. The information contained herein is the proprietary and confidential information of Worklight.
  • 22. Development: Server + Studio Studio is Eclipse-based Worklight Server Server-side Server runs on Tomcat (today) Application Code wl_start to launch JSON Translation Direct Update Mobile Authentication Web Apps Unified Push Adapter Library Notifications 22
  • 23. Hello Worklight Application Create a Worklight Project 23
  • 24. Hello Worklight Application Right Click on the project node and create a new Worklight Application Name it HelloWorklight 24
  • 25. Worklight Project Structure A Worklight Project consists of the following folders: • adapters: • Contains the project’s adapters • Right-click → Create Adapter to create a new one • apps: • Contains the project’s applications • Right-click → Create Application to create a new one • bin: • A destination folder for deliverables • lib: • Contains the project’s 3rd-party libraries 25
  • 26. HelloWorklight - Project Structure The default environment is called common The common environment contains all the resources that are shared between environments You can add new environments by right- clicking application folder and choosing the Add new environment option • A new environment will be created. • The new environment’s resources will have the following relationship with the common resources: • images - override the common images in case both share the same name • css – extend and/or override the common CSS files • js - extends the common application instance JS object • (The environment class extends the common app class) • HTML - override the common HTML code in case both share the same name 26
  • 27. HelloWorklight - Project Structure Common Environment: • HelloWorklight.html • The main HTML file. • css • HelloWorklight.css - main application’s CSS file. • reset.css - bringing all rendering engines to one common ground. • images • Default Worklight images for the common environment • js • HelloWorklight.js • The main JavaScript file for the application. • messages.js • JSON object holding all app messages. Can be used for localization • Auth.js • Application’s custom authentication mechanism implementation Legal • This folder should hold all legal related docs. Application-descriptor • Application’s meta data 27
  • 28. HelloWorklight - Application Descriptor An XML file to hold all the application’s meta data Based on the W3C Widget Packaging and Configuration Specify the application name, description and author’s name to be displayed in the Worklight Console 28
  • 29. HelloWorklight - Application Descriptor An XML file to hold all the application’s meta data Based on the W3C Widget Packaging and Configuration Mobile worklightRootURL The URL to be used as a root URL in generated mobile applications – iOS, Android etc. 29
  • 30. HelloWorklight.html During the runtime of an application, the main HTML document cannot be replaced by another HTML document. Default application HTML template complies with HTML5 standard markup, but any other DOCTYPE can be specified. 30
  • 31. HelloWorklight.html During the runtime of an application, the main HTML document cannot be replaced by another HTML document. Worklight Client framework initialization bound to body onload event. For possible init options see Developers Guide 31
  • 32. HelloWorklight.html During the runtime of an application, the main HTML document cannot be replaced by another HTML document. This is the right place to insert your html code 32
  • 33. HelloWorklight.js The app’s main .js file contains its JavaScript portion It has a wlCommonInit() function that will be invoked automatically once Worklight framework initialization finishes You can add your application’s initialization code here This function will be used in environment-specific JavaScript files to have a common initialization starting point 33
  • 34. Building an Application Make sure your Worklight Server is up and running Select an app to build and right click on it Click Run As Select Build All and Deploy After build completes, the application will be available for preview in the catalog tab of the Worklight Console 34
  • 35. Deploying Apps Using the Worklight Console http://{Worklight Server}/console 35
  • 36. Adding a New Environment • To add a new environment right-click on your application folder and select New → Worklight Environment 36
  • 37. Adding a New Environment Select the Android phones and tablets checkbox and click Finish 37
  • 38. Adding a New Environment Two folders will be automatically added: 1 1.android folder inside the application folder 2.Android Project folder in your workspace. IMPORTANT •. The auto-generated Android Project folder does not contain a copy of the code, but it is mapped to a native folder within the 2 android folder of the application. 38
  • 39. Review of the Android Folder Structure The Android environment consists of the following folders: • css – properties specified in here will override CSS files from the common folder. • images – Android specific images can be added here. If an image with same filename exist in the common folder it will be overwritten in the Android application. • js – JavaScript that can extend (and override if required) JavaScript code from the common folder. 39
  • 40. Review of the Android Folder Structure Cont. The native folder under android contains automatically generated android application code that is automatically imported into the eclipse workspace as an Android Project. It is not recommended to edit files under the assets folder, as each time the application is built they are regenerated. 40
  • 41. Running Your App on the Android Emulator Build and deploy your application on the Worklight Server Right-click the automatically generated Android Project and select Run As → Android Application 41
  • 42. Running Your App on the Android Emulator Congratulations, you’ve just created your first Android application 42
  • 43. Running Your Application On a Real Device When an Android device is connected to the computer via USB cable, the Eclipse ADT plug-in will automatically recognize it and attempt to deploy applications onto it. More info and device drivers can be found at: http://developer.android.com/sdk/win-usb.html 43
  • 44. Development HTML5 / CSS3 JavaScript, both on Client and Server • For Client: optionally, a JavaScript Framework • Dojo Mobile, JQuery Mobile, Sencha Touch Optionally on Client • Native code, as a PhoneGap plugin Optionally on Server • Java code 44
  • 45. The WL Namespace – client APIs To use Worklight API, a WL namespace is used • WL.Client, WL.Utils, … Exposes the API objects, methods and constants (usually enums) Automatically added to the app’s main HTML file • wlcommon.js • wlclient.js • worklight.js • wlfragments.js WL Namespace is automatically available on application initialization 45
  • 46. WL.Client WL.Client lets you perform the following types of functions: 46
  • 47. WL.Client WL.Client lets you perform the following types of functions: • Initialize and reload the application. WL.Client.init (options) - onSuccess - onFailure - showLogger - minAppWidth - busyOptions WL.Client.reloadApp() 47
  • 48. WL.Client WL.Client lets you perform the following types of functions: • Initialize and reload the application. • Manage authenticated sessions. WL.Client.getUserName (realm) WL.Client.getLoginName (realm) WL.Client.login (realm, options) WL.Client.logout (realm, options) WL.Client.isUserAuthenticated (realm) WL.Client.getUserInfo (realm, key) WL.Client.updateUserInfo (options) 48
  • 49. WL.Client WL.Client lets you perform the following types of functions: • Initialize and reload the application. • Manage authenticated sessions. • Obtain general app information. WL.Client.getEnvironment () WL.Environment.ADOBE_AIR WL.Environment.FACEBOOK … 49
  • 50. WL.Client WL.Client lets you perform the following types of functions: • Initialize and reload the app. • Manage authenticated sessions. • Obtain general app information. • Retrieve and update data from corporate information systems. WL.Client.invokeProcedure (invocationData, options) WL.Client.makeRequest (url, options) 50
  • 51. WL.Client WL.Client lets you perform the following types of functions: • Initialize and reload the app. • Manage authenticated sessions. • Obtain general app information. • Retrieve and update data from corporate information systems. • Store and retrieve user preferences across sessions. WL.Client.setUserPref (key, value, options) WL.Client.setUserPrefs ({key1:value1, …}, options) WL.Client.getUserPref (key) WL.Client.removeUserPref (key, options) WL.Client.hasUserPref (key) 51
  • 52. WL.App.openURL WL.Client WL.App.getDeviceLangu age WL.App.getDeviceLocale WL.Client lets you perform the following types of WL.Client.onDock functions: WL.Client.onShow • Initialize and reload the app. WL.Client.onHide • Manage authenticated sessions. WL.BusyIndicator • Obtain general app information. WL.TabBar • Retrieve and update data from corporate information systems. WL.SimpleDialog • Store and retrieve user preferences acrossWL.OptionsMenu sessions. • Internationalize app texts. • Specify environment-specific user interface behavior. 52
  • 53. WL.Client WL.Client lets you perform the following types of functions: WL.Client.logActivity (activityType) • Initialize and reload the app. • Manage authenticated sessions. • Obtain general app information. • Retrieve and update data from corporate information systems. • Store and retrieve user preferences across sessions. • Internationalize app texts. • Specify environment-specific user interface behavior. • Store custom log lines for auditing and reporting purposes in special database tables. 53
  • 54. WL.Client WL.Logger.debug (msg) WL.Logger.error (msg) WL.Client lets you perform the following types of functions: • Initialize and reload the app. • Manage authenticated sessions. • Obtain general app information. • Retrieve and update data from corporate information systems. • Store and retrieve user preferences across sessions. • Internationalize app texts. • Specify environment-specific user interface behavior. • Store custom log lines for auditing and reporting purposes in special database tables. • Write debug lines to a logger window. 54
  • 55. WL.Client WL.Fragment.load WL.Client lets you perform the following types of WL.Page.load functions: WL.Page.back • Initialize and reload the app. WL.Page.isLoaded • Manage authenticated sessions. • Obtain general app information. • Retrieve and update data from corporate information systems. • Store and retrieve user preferences across sessions. • Internationalize app texts. • Specify environment-specific user interface behavior. • Store custom log lines for auditing and reporting purposes in special database tables. • Write debug lines to a logger window. • Dynamic page and fragments loading. 55
  • 56. WL.Client WL.Client lets you perform the following types of functions: • Initialize and reload the app. • Manage authenticated sessions. • Obtain general app information. • Retrieve and update data from corporate information systems. • Store and retrieve user preferences across sessions. • Internationalize app texts. • Specify environment-specific user interface behavior. • Store custom log lines for auditing and reporting purposes in special database tables. • Write debug lines to a logger window. • Dynamic page and fragments loading. For full documentation please refer to the Developer Reference Guide. 56
  • 57. Server-Side Development Information Systems Databases An Adapter is a transport layer Applications used by the Worklight Platform to connect to various back-end Query Response systems. Update 2 3 data Adapters are used for: SQL WS HTTP • Retrieving information Worklight • Performing actions Invoke 1 adapter Data/Result as JSON Out of the box: procedure 4 • SQL Adapter • HTTP Adapter (supports both • REST and SOAP) 57
  • 58. Example: Build a SQL Adapter A Worklight SQL Adapter is designed to communicate with any SQL data source Both plain SQL queries or stored procedures can be used 58
  • 59. Creating a Worklight SQL Adapter Within the Worklight Studio, right click on the Worklight Project and create a new Worklight SQL Adapter A standard SQL Adapter structure will be created 59
  • 60. XML File Connectivity Settings Connection can be either JNDI or data source definition • JNDI - Java Naming and Directory Interface - providing Java applications with a unified interface for multiple naming and directory services. • A JNDI name can be declared as a parameter that is defined in a worklight.properties file. This is an adapter’s XML file: And these are corresponding entries in the worklight.properties file 60
  • 61. JS File Procedure A procedure must be declared in the Adapter’s XML file The adapter’s JavaScript file is used to implement the procedure logic IMPORTANT – The same name declared in the XML file should be used for the procedure’s JavaScript function There are two ways of invoking SQL statements: • Using SQL statement query • Using SQL Stored Procedure 61
  • 62. JS File SQL Query To execute an SQL query 1.Prepare an SQL query using the WL.Server.createSQLStatement API 2.WL.Server.createSQLStatement should ALWAYS be called outside of the function 3.Add additional parameters if required 4.Use the WL.Server.invokeSQLStatement API to invoke prepared queries 5.Return invocation result to procedure invocator (application or another procedure) 1 4 3 62
  • 63. JS File Stored SQL Procedure To execute a stored SQL procedure 1.Use the WL.Server.invokeSQLStoredProcedure API to execute a stored procedure 2.Specify an SQL stored procedure name as an invocation parameter 3.Add additional parameters if required 4.Return invocation result to procedure invocator (application or another procedure) 1 2 3 63
  • 64. WL Adapters Invocation Result Result retrieved as a JSON object isSuccessful property defines whether invocation was successful resultSet is an array of returned records 64
  • 65. Summary l Worklight extends IBM's existing mobile strategy and offerings l Fully integrated platform for mixed web / hybrid / native development l More information: l http://www.youtube.com/user/WorklightInc?feature=watch l http://worklight.com/