SlideShare une entreprise Scribd logo
1  sur  42
Building Larger
                      Applications with IBM
                            Worklight
                               Andrew Ferrier
                          andrew.ferrier@uk.ibm.com




Monday, 25 March 13                                   1
Agenda
                      • Recap - Web, Mobile, and Worklight
                      • Development Time
                        • Toolkits and Frameworks
                        • Structuring Code
                      • RESTful Services and Worklight Adapters
                      • Lifecycle - Library Systems, Builds / Testing /
                          Deployment

                      •   Other Tips - Client-side, Server-side, and
                          Updating
Monday, 25 March 13                                                       2
Recap - How Has The
                         Web Changed?




Monday, 25 March 13                         3
Web 1.0 Model
       l   Static HTML content, little-
            to-no-dynamicity
       l   Most folks know this already
       l   Server-side-driven content
            l   Perhaps with a small amount
                 of JavaScript for effects or
                 form validation
            l   Traditionally written with a
                 variety of technologies –
                 Servlets, JSPs, PHP, etc.




Monday, 25 March 13                             4
Web 2.0 Model
        l   Browser using AJAX/XHR
             to communicate with
             server
        l   Lightweight RESTful
             Services (often using
             JSON data)
        l   Service Gateway or other
             technology to proxy all
             service invocations



Monday, 25 March 13                     5
The Programming
                           Model




Monday, 25 March 13                     6
What does the mobile
                       landscape look like?
                                                    Web                             Mobile Web                   Hybrid Mobile                     Native Mobile
                                                 Application                        Application                   Application                       Application
                      Characteristics




                                           Desktop and mobile using open       Mobile only using open web    Mobile only, app runs on the      Mobile only, developed using
                                           web (HTML, JavaScript) client       (HTML5, JavaScript) client   device, but leverages open web   native languages or transcode to
                                               programming models                programming models           (HTML5, JS) via JavaScript           native via MAP tools
                                                                                                                          bridge
                                            Limited to no device-specific          Off-line capabilities                                         Native appearance and
                                                    functionality                                              Native device capabilities    device capabilities, performance
                                                                                                               (GPS, camera, contacts)
                                                                                                               Mimic native appearance



                                                          Mobile Browser Execution                                       AppStore download and install
                  Traditional Trade-offs
                  (without MEAP/MAP)




                                                                            Richness of Mobile Presentation / Services

                                                                              Portability (cross-device reuse)

                                                                                           Maintenance Cost (TCO)



Monday, 25 March 13                                                                                                                                                             7
What is Worklight?
            Worklight*Run.me*Component
                                     *
               (Common&Framework) &

                      Web&Code&


                <!DOCTYPE&html&PUBLIC&
                <html>&
                <!&A&A&created&2003A12A1&
                <head><Gtle>XYZ</Gtle&
                </head>&
                </body>&
                </html>&




                      Device&APIs
                                &




Monday, 25 March 13                                  8
Build Once, Run
                        Anywhere...




Monday, 25 March 13                     9
Development Time



Monday, 25 March 13                      10
Toolkits vs.
                                Frameworks

                      • Toolkits - JavaScript-based libraries used
                        on top of JavaScript itself
                      • Smooth out the rough edges of JavaScript
                      • Add additional features, UI controls etc.

Monday, 25 March 13                                                  11
Toolkits vs.
                               Frameworks

                      • Frameworks - used on top of toolkits
                      • Structure applications
                      • Provide large-application functionality


Monday, 25 March 13                                               12
Toolkit Options

                      • The largest players in the market are



                      • Generally, IBM ‘prefers’ Dojo

Monday, 25 March 13                                             13
Why Dojo?
                      • Enterprise-grade toolkit and feature set
                      • Stronger support for structuring large
                        applications

                        • e.g. Class system (dojo/declare)
                      • Better focus on internationalization,
                        accessibility, etc.
                      • But jQuery is a supported choice too for
                        Worklight
Monday, 25 March 13                                                14
Do we need a
                               framework?
                      • Coding without JS toolkit in 2013 is like
                        entering the program in binary
                      • You can code without a framework, but
                        you lose:
                       • Endpoint management (stubbing)
                       • State / session management
                       • (other application-level stuff)
Monday, 25 March 13                                                 15
Generally use views
                          for Mobile...
                      • Rather than multiple .html pages, have
                        one
                      • Less page startup pain for mobile web
                      • Dynamically insert views (HTML) into
                        DOM
                      • Dojo Mobile has this concept built in -
                        dojox.mobile.view
                      • Reuse this concept for Hybrid too
Monday, 25 March 13                                               16
Framework Options
                      • For Dojo:
                       • dojox/app
                       • issw.mobile/issw.pocMobile
                       • Your own custom framework
                         • Not as bad an idea as it sounds!
                      • For jQuery:
                       • mustache, RequireJS, Knockout JS,
                          Backbone, etc...
Monday, 25 March 13                                           17
dojox/app
                      • Can define “page controllers” for different
                        views in the application
                      • Manages loading of views and associated
                        page controllers via configuration
                      • Also allows for declarative MVC
                        framework where needed (working with
                        dojox/mvc)
                      • No endpoint management, etc...
Monday, 25 March 13                                                  18
ISSW Offerings
           •      ISSW has offerings e.g.
                  issw.pocMobile. Includes:

                •     Extra dojox.mobile.* widgets

                •     Easy lazily-loaded views

                •     Worklight ‘mocking’ to use project
                      outside of WL

                •     Abstraction of endpoints / adapters /
                      services

                •     etc...


Monday, 25 March 13                                           19
Structuring Code
                      • Whatever framework you use, follow code
                        structuring practices:
                       • 1:1 mapping between View (‘page’) and
                          programmatic controller class for that
                          page
                       • Dynamically load views into the DOM
                          on-demand to avoid overloading it


Monday, 25 March 13                                                20
RESTful Services and
                         WL Adapters


Monday, 25 March 13                          21
RESTful Services
           • The world (at least UIs) are
                  moving to simpler services
                •     A RESTful style - plain   GET http://mycorp.com/customer/1234


                      HTTP GET, PUT, POST,      {
                                                    “name”: “Fred Bloggs”,
                                                    “address”: “123 Anytown”
                      DELETE                    }



                • JSON as the data format
           • Practically mandatory for
                  consumption by Web 2.0
                  clients
Monday, 25 March 13                                                               22
WL Adapters
       • WL adds adapter framework
        • Customized on server with
                      server-side JS
       • Supports HTTP, JMS, SQL, and
              Cast Iron adapter types
             • Most common use is HTTP
                      adapter to integrate with
                      JSON/REST or SOAP/HTTP

Monday, 25 March 13                               23
WL Adapters - REST &
                        HTTP
                      • You could use RESTful services directly
                        from WL container with conventional
                        XHRs, but you lose:
                        • The ability to use the WL server as a
                          “choke point”
                        • WL’s authentication mechanism for
                          services
                        • WL Logging/Auditing
Monday, 25 March 13                                               24
WL HTTP Adapter and
                       REST
                      • Even for services already exposed over
                        REST, we would re-expose them using the
                        WL HTTP Adapter.
                        • This is comparatively straightforward to
                          do.
                      • You can also use SOAP services from WL
                       • Abilities are limited at the moment so for
                          more sophisticated scenarios, consider an
                          ESB.
Monday, 25 March 13                                                   25
Lifecycle



Monday, 25 March 13               26
Library Systems

                      • WL can work with most version control
                        systems that integrate with Eclipse
                      • Common choices:
                       • Rational Team Concert
                       • Git
                       • Subversion
Monday, 25 March 13                                             27
Library Systems 2

          • There are files that must
                 be excluded as they are
                 part of WL generated
                 resources, see here:
                •     http://pic.dhe.ibm.com/infocenter/wrklight/v5r0m5/
                      index.jsp?topic=%2Fcom.ibm.worklight.help.doc
                      %2Fdevref%2Fr_integrating_with_source_contro.html




Monday, 25 March 13                                                        28
Building
      •       You will want to automate the build.

      •       WL provides the <app-builder> and
              <adapter-builder> ANT tasks

            •         Only builds the Server portion of the
                      projects - the .war customisation file,
                      the .wlapp file, and the .adapter
                      files.

            •         You will need to build the .apk
                      and .ipa files using platform-native
                      process.
Monday, 25 March 13                                            29
Building
                      • During build, externalise certain things:
                       • worklightServerRootUrl in
                          application-descriptor.xml

                        •server/conf/
                          worklight.properties

                        • maxConcurrentConnectionsPerN
                          ode for adapters


Monday, 25 March 13                                                 30
Deploying

                      • Deploy the .war using relevant application
                        server method
                      • Deploy the .wlapp and .adapter server-
                        side portions of the application using
                        <app-deployer> and <adapter-
                        deployer> ANT tasks.



Monday, 25 March 13                                                  31
Deployment Topology
                      •   Options include:

                          •   WebSphere
                              Application Server -
                              familiar

                          •   WAS Liberty Profile -
                              simpler

                          •   Tomcat

                      •   Consider HTTPS,
                          load spraying
Monday, 25 March 13                                  32
Deploying to Phones
                      • You still need to get the native application
                        (.ipa, .apk, etc.) onto your user’s phones.
                        • Testing lifecycle: AppCenter - comes
                          with WL server editions
                        • B2C: public App Stores (Apple App
                          Store, Google Play Store)
                        • B2E: Tivoli Endpoint Manager or similar
Monday, 25 March 13                                                    33
Testing

                      • Typically you’ll want to test:
                       • Manual UI on physical phones
                         • Coverage across devices
                       • Automated UI - mocking framework
                         and automated test tool (e.g. Selenium)
                       • Adapters - load / performance /
                         functional tests - just HTTP

Monday, 25 March 13                                                34
Other Tips



Monday, 25 March 13                35
Client-side
                      • Don’t optimize for size of the client like
                        you would do for Mobile Web
                      • Nevertheless, there is still a browser
                        control underneath

                      • Use WL.Logger.{debug,error} API,
                        logging in development environment is
                        customizable, & log the username on errors


Monday, 25 March 13                                                  36
Client-side

                      • Understand handling errors on client-side,
                         in particular adapter invocations:
                        • http://www.ibm.com/developerworks/websphere/techjournal/1212_paris/
                            1212_paris.html?ca=drs-


                      • Use connectOnStartup:          false,
                        with WL.Client.Connect() after
                        startup - gives more startup control
                      • Write as little native code as possible
Monday, 25 March 13                                                                             37
Server-side

                      • Again, understand how to handle errors
                        from adapter invocations (same article).

                      • Again, use WL.Logger API - has various
                        levels of logging, can be configured on
                        server. Log the username on errors.




Monday, 25 March 13                                                38
Two Ways to Update -
                           Method 1
                      • Update your web code only
                      • Don’t change the version
                        number of the application
                      • Redeploy .wlapp only
                      • Implicitly encourages a
                        “Direct Update” next time
                        client connects.

Monday, 25 March 13                                 39
Two Ways to Update -
                           Method 2
             • Method 2:
              • Update web code and/or
                        custom native code
                      • Do update the
                        application version
                        number
                      • Re-release via binary
                        method (App Store, etc.)
Monday, 25 March 13                                40
Updating Worklight

                      • Re-release an app using method 2
                       • Gets new Device Runtime onto end-
                          users’ phones
                      • But end-users can continue using old app;
                        wire protocol is backward-compatible



Monday, 25 March 13                                                 41
Summary
                      • Development Time
                        • Toolkits and Frameworks
                        • Structuring Code
                      • RESTful Services and Worklight Adapters
                      • Build Time - Library Systems, Builds / Testing /
                          Deployment

                      •   Other Tips


Monday, 25 March 13                                                        42

Contenu connexe

Tendances

AD106 - IBM Lotus Domino XPages anywhere - Write them once, See them Everywhere
AD106 - IBM Lotus Domino XPages anywhere - Write them once, See them EverywhereAD106 - IBM Lotus Domino XPages anywhere - Write them once, See them Everywhere
AD106 - IBM Lotus Domino XPages anywhere - Write them once, See them EverywhereStephan H. Wissel
 
Building Multi-Channel Data-Aware Applications
Building Multi-Channel Data-Aware ApplicationsBuilding Multi-Channel Data-Aware Applications
Building Multi-Channel Data-Aware Applicationscjolif
 
Impossible Software - NOAH12 San Francisco
Impossible Software - NOAH12 San FranciscoImpossible Software - NOAH12 San Francisco
Impossible Software - NOAH12 San FranciscoNOAH Advisors
 
HTML5 Mobile Application Framework
HTML5 Mobile Application FrameworkHTML5 Mobile Application Framework
HTML5 Mobile Application FrameworkThanh Nguyen
 
Aspects of Modern APM Solutions
Aspects of Modern APM SolutionsAspects of Modern APM Solutions
Aspects of Modern APM Solutionsnlwebperf
 
DB2 z/OS &amp; Java - What\'s New?
DB2 z/OS &amp; Java - What\'s New?DB2 z/OS &amp; Java - What\'s New?
DB2 z/OS &amp; Java - What\'s New?Laura Hood
 
IBM Worklight for Digital Agencies
IBM Worklight for Digital AgenciesIBM Worklight for Digital Agencies
IBM Worklight for Digital AgenciesGraham Churchill
 
Vertically Challenged
Vertically ChallengedVertically Challenged
Vertically ChallengedAurynn Shaw
 
Den Multi Device Konsumenten zufrieden stellen …
Den Multi Device Konsumenten zufrieden stellen …Den Multi Device Konsumenten zufrieden stellen …
Den Multi Device Konsumenten zufrieden stellen …Connected-Blog
 
SAP and Mobility 2012 - A Developer's Perspective
SAP and Mobility 2012 - A Developer's PerspectiveSAP and Mobility 2012 - A Developer's Perspective
SAP and Mobility 2012 - A Developer's PerspectiveJohn Moy
 
Agileload - load testing tool for better web performance
Agileload - load testing tool for better web performanceAgileload - load testing tool for better web performance
Agileload - load testing tool for better web performanceAgileload testing
 
Ajax World 08 Silverlight2 Overview
Ajax World 08 Silverlight2 OverviewAjax World 08 Silverlight2 Overview
Ajax World 08 Silverlight2 Overviewrajivmordani
 
Magic mobile webinar_Jan2013
Magic mobile webinar_Jan2013Magic mobile webinar_Jan2013
Magic mobile webinar_Jan2013Magic Software
 
Squared roof technology
Squared roof technologySquared roof technology
Squared roof technologyAbhishak Singh
 

Tendances (17)

AD106 - IBM Lotus Domino XPages anywhere - Write them once, See them Everywhere
AD106 - IBM Lotus Domino XPages anywhere - Write them once, See them EverywhereAD106 - IBM Lotus Domino XPages anywhere - Write them once, See them Everywhere
AD106 - IBM Lotus Domino XPages anywhere - Write them once, See them Everywhere
 
Building Multi-Channel Data-Aware Applications
Building Multi-Channel Data-Aware ApplicationsBuilding Multi-Channel Data-Aware Applications
Building Multi-Channel Data-Aware Applications
 
Impossible Software - NOAH12 San Francisco
Impossible Software - NOAH12 San FranciscoImpossible Software - NOAH12 San Francisco
Impossible Software - NOAH12 San Francisco
 
HTML5 Mobile Application Framework
HTML5 Mobile Application FrameworkHTML5 Mobile Application Framework
HTML5 Mobile Application Framework
 
Aspects of Modern APM Solutions
Aspects of Modern APM SolutionsAspects of Modern APM Solutions
Aspects of Modern APM Solutions
 
DB2 z/OS &amp; Java - What\'s New?
DB2 z/OS &amp; Java - What\'s New?DB2 z/OS &amp; Java - What\'s New?
DB2 z/OS &amp; Java - What\'s New?
 
IBM Worklight for Digital Agencies
IBM Worklight for Digital AgenciesIBM Worklight for Digital Agencies
IBM Worklight for Digital Agencies
 
Vertically Challenged
Vertically ChallengedVertically Challenged
Vertically Challenged
 
Den Multi Device Konsumenten zufrieden stellen …
Den Multi Device Konsumenten zufrieden stellen …Den Multi Device Konsumenten zufrieden stellen …
Den Multi Device Konsumenten zufrieden stellen …
 
Don Schwarz App Engine Talk
Don Schwarz App Engine TalkDon Schwarz App Engine Talk
Don Schwarz App Engine Talk
 
SAP and Mobility 2012 - A Developer's Perspective
SAP and Mobility 2012 - A Developer's PerspectiveSAP and Mobility 2012 - A Developer's Perspective
SAP and Mobility 2012 - A Developer's Perspective
 
Agileload - load testing tool for better web performance
Agileload - load testing tool for better web performanceAgileload - load testing tool for better web performance
Agileload - load testing tool for better web performance
 
MDA
MDAMDA
MDA
 
Ajax World 08 Silverlight2 Overview
Ajax World 08 Silverlight2 OverviewAjax World 08 Silverlight2 Overview
Ajax World 08 Silverlight2 Overview
 
Magic mobile webinar_Jan2013
Magic mobile webinar_Jan2013Magic mobile webinar_Jan2013
Magic mobile webinar_Jan2013
 
MJB Technologies
MJB TechnologiesMJB Technologies
MJB Technologies
 
Squared roof technology
Squared roof technologySquared roof technology
Squared roof technology
 

En vedette

Extending sap solutions to the mobile enterprise with ibm mobile first platfo...
Extending sap solutions to the mobile enterprise with ibm mobile first platfo...Extending sap solutions to the mobile enterprise with ibm mobile first platfo...
Extending sap solutions to the mobile enterprise with ibm mobile first platfo...bupbechanhgmail
 
IBM Mobile Foundation POT - Part 4 Advanced client-side development Presentation
IBM Mobile Foundation POT - Part 4 Advanced client-side development PresentationIBM Mobile Foundation POT - Part 4 Advanced client-side development Presentation
IBM Mobile Foundation POT - Part 4 Advanced client-side development PresentationAIP Foundation
 
IBM Mobile Foundation POT - Part 3 securing and managing mobile appilcations ...
IBM Mobile Foundation POT - Part 3 securing and managing mobile appilcations ...IBM Mobile Foundation POT - Part 3 securing and managing mobile appilcations ...
IBM Mobile Foundation POT - Part 3 securing and managing mobile appilcations ...AIP Foundation
 
Portal at the Speed of Light
Portal at the Speed of LightPortal at the Speed of Light
Portal at the Speed of LightProlifics
 
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
 
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
 
Mobile and IBM Worklight Best Practices
Mobile and IBM Worklight Best PracticesMobile and IBM Worklight Best Practices
Mobile and IBM Worklight Best PracticesAndrew Ferrier
 
IBM Worklight - Technical Overview
IBM Worklight - Technical OverviewIBM Worklight - Technical Overview
IBM Worklight - Technical OverviewIIC_Barcelona
 

En vedette (9)

Extending sap solutions to the mobile enterprise with ibm mobile first platfo...
Extending sap solutions to the mobile enterprise with ibm mobile first platfo...Extending sap solutions to the mobile enterprise with ibm mobile first platfo...
Extending sap solutions to the mobile enterprise with ibm mobile first platfo...
 
IBM Mobile Foundation POT - Part 4 Advanced client-side development Presentation
IBM Mobile Foundation POT - Part 4 Advanced client-side development PresentationIBM Mobile Foundation POT - Part 4 Advanced client-side development Presentation
IBM Mobile Foundation POT - Part 4 Advanced client-side development Presentation
 
IBM Mobile Foundation POT - Part 3 securing and managing mobile appilcations ...
IBM Mobile Foundation POT - Part 3 securing and managing mobile appilcations ...IBM Mobile Foundation POT - Part 3 securing and managing mobile appilcations ...
IBM Mobile Foundation POT - Part 3 securing and managing mobile appilcations ...
 
Portal at the Speed of Light
Portal at the Speed of LightPortal at the Speed of Light
Portal at the Speed of Light
 
Adapters
AdaptersAdapters
Adapters
 
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 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
 
Mobile and IBM Worklight Best Practices
Mobile and IBM Worklight Best PracticesMobile and IBM Worklight Best Practices
Mobile and IBM Worklight Best Practices
 
IBM Worklight - Technical Overview
IBM Worklight - Technical OverviewIBM Worklight - Technical Overview
IBM Worklight - Technical Overview
 

Similaire à WebSphere User Group UK: Larger Applications with Worklight

Meetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleMeetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleIT Arena
 
Building single page applications
Building single page applicationsBuilding single page applications
Building single page applicationsSC5.io
 
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
 
Webinar The App Lifecycle Platform
Webinar The App Lifecycle PlatformWebinar The App Lifecycle Platform
Webinar The App Lifecycle PlatformService2Media
 
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
 
Acceleo Day - Orange
Acceleo Day - OrangeAcceleo Day - Orange
Acceleo Day - Orangesliard
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA
 
Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Adam Mokan
 
Model Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & FutureModel Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & Futureelliando dias
 
Objective View of MEAPs
Objective View of MEAPsObjective View of MEAPs
Objective View of MEAPsSimon Guest
 
Keynote Client Connectivity And The Cloud
Keynote Client Connectivity And The CloudKeynote Client Connectivity And The Cloud
Keynote Client Connectivity And The CloudGoogleTecTalks
 
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog CcFlex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog CcFrançois Le Droff
 
Poly Source It Profile
Poly Source It ProfilePoly Source It Profile
Poly Source It Profilemoseskhedi
 
Polysource It Profile
Polysource It ProfilePolysource It Profile
Polysource It Profileelenarys
 
Client Continuum Dec Fy09
Client Continuum Dec Fy09Client Continuum Dec Fy09
Client Continuum Dec Fy09Martha Rotter
 
Polysource-IT Profile
Polysource-IT ProfilePolysource-IT Profile
Polysource-IT ProfileHelen
 
Polysource-IT Profile
Polysource-IT ProfilePolysource-IT Profile
Polysource-IT ProfileHelen
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolithMarkus Eisele
 

Similaire à WebSphere User Group UK: Larger Applications with Worklight (20)

Meetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleMeetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech People
 
Building single page applications
Building single page applicationsBuilding single page applications
Building single page applications
 
Cloud & The Mobile Stack
Cloud & The Mobile StackCloud & The Mobile Stack
Cloud & The Mobile Stack
 
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
 
Webinar The App Lifecycle Platform
Webinar The App Lifecycle PlatformWebinar The App Lifecycle Platform
Webinar The App Lifecycle Platform
 
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]
 
Acceleo Day - Orange
Acceleo Day - OrangeAcceleo Day - Orange
Acceleo Day - Orange
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case Study
 
Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012
 
Model Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & FutureModel Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & Future
 
Blue Ruby SDN Webinar
Blue Ruby SDN WebinarBlue Ruby SDN Webinar
Blue Ruby SDN Webinar
 
Objective View of MEAPs
Objective View of MEAPsObjective View of MEAPs
Objective View of MEAPs
 
Keynote Client Connectivity And The Cloud
Keynote Client Connectivity And The CloudKeynote Client Connectivity And The Cloud
Keynote Client Connectivity And The Cloud
 
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog CcFlex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
 
Poly Source It Profile
Poly Source It ProfilePoly Source It Profile
Poly Source It Profile
 
Polysource It Profile
Polysource It ProfilePolysource It Profile
Polysource It Profile
 
Client Continuum Dec Fy09
Client Continuum Dec Fy09Client Continuum Dec Fy09
Client Continuum Dec Fy09
 
Polysource-IT Profile
Polysource-IT ProfilePolysource-IT Profile
Polysource-IT Profile
 
Polysource-IT Profile
Polysource-IT ProfilePolysource-IT Profile
Polysource-IT Profile
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
 

Plus de 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
 
Building Effective and Rapid Applications with IBM MobileFirst Platform
Building Effective and Rapid Applications with IBM MobileFirst PlatformBuilding Effective and Rapid Applications with IBM MobileFirst Platform
Building Effective and Rapid Applications with IBM MobileFirst PlatformAndrew Ferrier
 

Plus de Andrew Ferrier (11)

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
 
Building Effective and Rapid Applications with IBM MobileFirst Platform
Building Effective and Rapid Applications with IBM MobileFirst PlatformBuilding Effective and Rapid Applications with IBM MobileFirst Platform
Building Effective and Rapid Applications with IBM MobileFirst Platform
 
Worklight Overview
Worklight OverviewWorklight Overview
Worklight Overview
 

Dernier

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 

Dernier (20)

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

WebSphere User Group UK: Larger Applications with Worklight

  • 1. Building Larger Applications with IBM Worklight Andrew Ferrier andrew.ferrier@uk.ibm.com Monday, 25 March 13 1
  • 2. Agenda • Recap - Web, Mobile, and Worklight • Development Time • Toolkits and Frameworks • Structuring Code • RESTful Services and Worklight Adapters • Lifecycle - Library Systems, Builds / Testing / Deployment • Other Tips - Client-side, Server-side, and Updating Monday, 25 March 13 2
  • 3. Recap - How Has The Web Changed? Monday, 25 March 13 3
  • 4. Web 1.0 Model l Static HTML content, little- to-no-dynamicity l Most folks know this already l Server-side-driven content l Perhaps with a small amount of JavaScript for effects or form validation l Traditionally written with a variety of technologies – Servlets, JSPs, PHP, etc. Monday, 25 March 13 4
  • 5. Web 2.0 Model l Browser using AJAX/XHR to communicate with server l Lightweight RESTful Services (often using JSON data) l Service Gateway or other technology to proxy all service invocations Monday, 25 March 13 5
  • 6. The Programming Model Monday, 25 March 13 6
  • 7. What does the mobile landscape look like? Web Mobile Web Hybrid Mobile Native Mobile Application Application Application Application Characteristics Desktop and mobile using open Mobile only using open web Mobile only, app runs on the Mobile only, developed using web (HTML, JavaScript) client (HTML5, JavaScript) client device, but leverages open web native languages or transcode to programming models programming models (HTML5, JS) via JavaScript native via MAP tools bridge Limited to no device-specific Off-line capabilities Native appearance and functionality Native device capabilities device capabilities, performance (GPS, camera, contacts) Mimic native appearance Mobile Browser Execution AppStore download and install Traditional Trade-offs (without MEAP/MAP) Richness of Mobile Presentation / Services Portability (cross-device reuse) Maintenance Cost (TCO) Monday, 25 March 13 7
  • 8. What is Worklight? Worklight*Run.me*Component * (Common&Framework) & Web&Code& <!DOCTYPE&html&PUBLIC& <html>& <!&A&A&created&2003A12A1& <head><Gtle>XYZ</Gtle& </head>& </body>& </html>& Device&APIs & Monday, 25 March 13 8
  • 9. Build Once, Run Anywhere... Monday, 25 March 13 9
  • 11. Toolkits vs. Frameworks • Toolkits - JavaScript-based libraries used on top of JavaScript itself • Smooth out the rough edges of JavaScript • Add additional features, UI controls etc. Monday, 25 March 13 11
  • 12. Toolkits vs. Frameworks • Frameworks - used on top of toolkits • Structure applications • Provide large-application functionality Monday, 25 March 13 12
  • 13. Toolkit Options • The largest players in the market are • Generally, IBM ‘prefers’ Dojo Monday, 25 March 13 13
  • 14. Why Dojo? • Enterprise-grade toolkit and feature set • Stronger support for structuring large applications • e.g. Class system (dojo/declare) • Better focus on internationalization, accessibility, etc. • But jQuery is a supported choice too for Worklight Monday, 25 March 13 14
  • 15. Do we need a framework? • Coding without JS toolkit in 2013 is like entering the program in binary • You can code without a framework, but you lose: • Endpoint management (stubbing) • State / session management • (other application-level stuff) Monday, 25 March 13 15
  • 16. Generally use views for Mobile... • Rather than multiple .html pages, have one • Less page startup pain for mobile web • Dynamically insert views (HTML) into DOM • Dojo Mobile has this concept built in - dojox.mobile.view • Reuse this concept for Hybrid too Monday, 25 March 13 16
  • 17. Framework Options • For Dojo: • dojox/app • issw.mobile/issw.pocMobile • Your own custom framework • Not as bad an idea as it sounds! • For jQuery: • mustache, RequireJS, Knockout JS, Backbone, etc... Monday, 25 March 13 17
  • 18. dojox/app • Can define “page controllers” for different views in the application • Manages loading of views and associated page controllers via configuration • Also allows for declarative MVC framework where needed (working with dojox/mvc) • No endpoint management, etc... Monday, 25 March 13 18
  • 19. ISSW Offerings • ISSW has offerings e.g. issw.pocMobile. Includes: • Extra dojox.mobile.* widgets • Easy lazily-loaded views • Worklight ‘mocking’ to use project outside of WL • Abstraction of endpoints / adapters / services • etc... Monday, 25 March 13 19
  • 20. Structuring Code • Whatever framework you use, follow code structuring practices: • 1:1 mapping between View (‘page’) and programmatic controller class for that page • Dynamically load views into the DOM on-demand to avoid overloading it Monday, 25 March 13 20
  • 21. RESTful Services and WL Adapters Monday, 25 March 13 21
  • 22. RESTful Services • The world (at least UIs) are moving to simpler services • A RESTful style - plain GET http://mycorp.com/customer/1234 HTTP GET, PUT, POST, { “name”: “Fred Bloggs”, “address”: “123 Anytown” DELETE } • JSON as the data format • Practically mandatory for consumption by Web 2.0 clients Monday, 25 March 13 22
  • 23. WL Adapters • WL adds adapter framework • Customized on server with server-side JS • Supports HTTP, JMS, SQL, and Cast Iron adapter types • Most common use is HTTP adapter to integrate with JSON/REST or SOAP/HTTP Monday, 25 March 13 23
  • 24. WL Adapters - REST & HTTP • You could use RESTful services directly from WL container with conventional XHRs, but you lose: • The ability to use the WL server as a “choke point” • WL’s authentication mechanism for services • WL Logging/Auditing Monday, 25 March 13 24
  • 25. WL HTTP Adapter and REST • Even for services already exposed over REST, we would re-expose them using the WL HTTP Adapter. • This is comparatively straightforward to do. • You can also use SOAP services from WL • Abilities are limited at the moment so for more sophisticated scenarios, consider an ESB. Monday, 25 March 13 25
  • 27. Library Systems • WL can work with most version control systems that integrate with Eclipse • Common choices: • Rational Team Concert • Git • Subversion Monday, 25 March 13 27
  • 28. Library Systems 2 • There are files that must be excluded as they are part of WL generated resources, see here: • http://pic.dhe.ibm.com/infocenter/wrklight/v5r0m5/ index.jsp?topic=%2Fcom.ibm.worklight.help.doc %2Fdevref%2Fr_integrating_with_source_contro.html Monday, 25 March 13 28
  • 29. Building • You will want to automate the build. • WL provides the <app-builder> and <adapter-builder> ANT tasks • Only builds the Server portion of the projects - the .war customisation file, the .wlapp file, and the .adapter files. • You will need to build the .apk and .ipa files using platform-native process. Monday, 25 March 13 29
  • 30. Building • During build, externalise certain things: • worklightServerRootUrl in application-descriptor.xml •server/conf/ worklight.properties • maxConcurrentConnectionsPerN ode for adapters Monday, 25 March 13 30
  • 31. Deploying • Deploy the .war using relevant application server method • Deploy the .wlapp and .adapter server- side portions of the application using <app-deployer> and <adapter- deployer> ANT tasks. Monday, 25 March 13 31
  • 32. Deployment Topology • Options include: • WebSphere Application Server - familiar • WAS Liberty Profile - simpler • Tomcat • Consider HTTPS, load spraying Monday, 25 March 13 32
  • 33. Deploying to Phones • You still need to get the native application (.ipa, .apk, etc.) onto your user’s phones. • Testing lifecycle: AppCenter - comes with WL server editions • B2C: public App Stores (Apple App Store, Google Play Store) • B2E: Tivoli Endpoint Manager or similar Monday, 25 March 13 33
  • 34. Testing • Typically you’ll want to test: • Manual UI on physical phones • Coverage across devices • Automated UI - mocking framework and automated test tool (e.g. Selenium) • Adapters - load / performance / functional tests - just HTTP Monday, 25 March 13 34
  • 35. Other Tips Monday, 25 March 13 35
  • 36. Client-side • Don’t optimize for size of the client like you would do for Mobile Web • Nevertheless, there is still a browser control underneath • Use WL.Logger.{debug,error} API, logging in development environment is customizable, & log the username on errors Monday, 25 March 13 36
  • 37. Client-side • Understand handling errors on client-side, in particular adapter invocations: • http://www.ibm.com/developerworks/websphere/techjournal/1212_paris/ 1212_paris.html?ca=drs- • Use connectOnStartup: false, with WL.Client.Connect() after startup - gives more startup control • Write as little native code as possible Monday, 25 March 13 37
  • 38. Server-side • Again, understand how to handle errors from adapter invocations (same article). • Again, use WL.Logger API - has various levels of logging, can be configured on server. Log the username on errors. Monday, 25 March 13 38
  • 39. Two Ways to Update - Method 1 • Update your web code only • Don’t change the version number of the application • Redeploy .wlapp only • Implicitly encourages a “Direct Update” next time client connects. Monday, 25 March 13 39
  • 40. Two Ways to Update - Method 2 • Method 2: • Update web code and/or custom native code • Do update the application version number • Re-release via binary method (App Store, etc.) Monday, 25 March 13 40
  • 41. Updating Worklight • Re-release an app using method 2 • Gets new Device Runtime onto end- users’ phones • But end-users can continue using old app; wire protocol is backward-compatible Monday, 25 March 13 41
  • 42. Summary • Development Time • Toolkits and Frameworks • Structuring Code • RESTful Services and Worklight Adapters • Build Time - Library Systems, Builds / Testing / Deployment • Other Tips Monday, 25 March 13 42