SlideShare a Scribd company logo
Deploying Domino
Applications to the
   BlackBerry.
            Bill Buchan
             HADSL
 Den nächste Schritt zum Erfolg : Domino&Notes
                                                   Powered by
 8                                               Bundled-KnowHow
Agenda …
•   Introduction
•   Architectures
•   Lesson 1: Web Service Enabling a Domino Application
•   BlackBerry MDS Studio Overview
•   Lesson 2: First Application
•   Lesson 3: A Complex Application
•   Wrap-up


               Den nächste Schritt zum Erfolg : Domino&Notes
                                                                 Powered by
               8                                               Bundled-KnowHow
What Is This About?
• This workshop aims to teach you:
   – How to web service enable Domino applications
   – The BlackBerry MDS studio
   – Developing your first BlackBerry application
• Why BlackBerry?
   – Market leading handheld data device
   – Robust
   – Loved by CIOs
   – Do you have them already?
• Who am I?
   – Bill Buchan – HADSL – http://www.hadsl.com

                 Den nächste Schritt zum Erfolg : Domino&Notes
                                                                   Powered by
                 8                                               Bundled-KnowHow
What is this About?(cont.)

• Where do I find BlackBerry MDS Studio?
  – The BlackBerry Web site
     • www.BlackBerry.com
• The MDS toolkit contains:
  – A BlackBerry simulator
  – The BlackBerry Mobile Data Suite Engine
  – An integrated development environment



            Den nächste Schritt zum Erfolg : Domino&Notes
                                                              Powered by
            8                                               Bundled-KnowHow
What do you need to do ?
• Have a Domino server running locally (or use
  mine)
• Have Domino Designer open and ready
• Install BlackBerry MDS studio – accepting ALL
  defaults




           Den nächste Schritt zum Erfolg : Domino&Notes
                                                             Powered by
           8                                               Bundled-KnowHow
Agenda …

•   Introduction
•   Architectures
•   Lesson 1: Web Service Enabling a Domino Application
•   BlackBerry MDS Studio Overview
•   Lesson 2: First Application
•   Lesson 3: A Complex Application
•   Wrap-up


               Den nächste Schritt zum Erfolg : Domino&Notes
                                                                 Powered by
               8                                               Bundled-KnowHow
MDS Architecture
• MDS is a Java-based application stack
   – May run on the BlackBerry Enterprise Server
      • In a small environment
      • Larger environments may require dedicated servers
   – Application repository holds applications
   – Can push applications to users’ BlackBerries
• MDS also provides:
   – On-line data connectivity services via web services
      • Allowing handsets to utilize web services
   – Application access to PIM data on the BlackBerry
      • Allowing applications to interrogate the BlackBerry
                   Den nächste Schritt zum Erfolg : Domino&Notes
                                                                     Powered by
                   8                                               Bundled-KnowHow
Solution Architecture
           Sec
 RIM          u re D
                    ata




                                           ll
                        C    han




                                         wa
                                 nel




                                        re
                  Internet




                                     Fi
  GPRS




                                                    BES

                                        MDS
                                                       W
BlackBerry                                            Se eb
 BlackBerry                                             rv          Domino
   BlackBerry     MDS    Mobile Data Suite                 ice     Domino
                  BES    BlackBerry Enterprise Server         s     Servers
                                                                  Domino
                                                                   Servers
                  RIM
                  GPRS
                         Research In Motion
                         General Packet Radio Service
                                                                  Servers
          Den nächste Schritt zum Erfolg : Domino&Notes
                                                                     Powered by
          8                                                        Bundled-KnowHow
Solution Architecture (cont.)

• We are interested in:
  – Web service enabling a Domino application
  – Interacting with that application via a BlackBerry
    handset




             Den nächste Schritt zum Erfolg : Domino&Notes
                                                               Powered by
             8                                               Bundled-KnowHow
Agenda …

•   Introduction
•   Architectures
•   Lesson 1: Web Service Enabling a Domino Application
•   BlackBerry MDS Studio Overview
•   Lesson 2: First Application
•   Lesson 3: A Complex Application
•   Wrap-up


               Den nächste Schritt zum Erfolg : Domino&Notes
                                                                 Powered by
               8                                               Bundled-KnowHow
Web Service Enabling: Introduction
•   What is a web service?
     – A web service is a standard application-to-application interface
     – It usually uses the “http” protocol — just like a web page
     – It usually encapsulates its data into an XML file
     – It can be made secure
•   How can I create a web service?
     – Prior to Domino 7, using Java Servlets
     – In Domino 7 you can create web services in LotusScript
•   How can I “consume” a web service:
     – Quick and Dirty: MS SOAP DLL
          Use for Testing
     – Better: use a Java Agent – Project “Stubby” – http://www.openNtf.org

                      Den nächste Schritt zum Erfolg : Domino&Notes
                                                                                Powered by
                      8                                                       Bundled-KnowHow
Web Services: Resources
• www.nsftools.com
  – Julian’s site is a very good repository of Domino Java
    Code
• The sample database for this session
• www.openNtf.org
  – The “Stubby” project




               Den nächste Schritt zum Erfolg : Domino&Notes
                                                                 Powered by
               8                                               Bundled-KnowHow
Web Services: Design
• We shall create a web service
  that provides a single function
   – GetAllPurchaseOrders()
     shall return a String
     Array containing all
     Purchase Orders
• Open Designer and
  navigate to “Web
  Services”
   – Create a new web
     service called
     “Simple”


                  Den nächste Schritt zum Erfolg : Domino&Notes
                                                                    Powered by
                  8                                               Bundled-KnowHow
Solution
  Web Services: Coding the Return Type

• We cannot return a string array() via a function:
• However, we can return a class..
 Class Returns
    Public purchaseOrders() As String

    Sub new()
       Redim purchaseOrders(0)
    End Sub

 End Class



              Den nächste Schritt zum Erfolg : Domino&Notes
                                                                Powered by
              8                                               Bundled-KnowHow
Solution
Web Services: Coding the Web Service
• Now populate our web service class
Class testWebService

   ' This function returns a string array!
   Public Function GetAllPurchaseOrders() As Returns
      On Error Goto errorhandler

      ' collect all documents in the view
      ' and summarise them into the string array

exitFunction:
       Exit Function
errorhandler:
       MsgBox "The system experienced a run-time error: "+_
        Error$ + " at line: " +Trim(Str(Erl)) + Chr(10)
       Resume exitFunction
   End Function
                Den nächste Schritt zum Erfolg : Domino&Notes
                                                                  Powered by
End Class       8                                               Bundled-KnowHow
Web Services: Performance
• Domino reloads LotusScript on each call
   – Ouch. It might not handle large concurrency.
   – No persistent (in memory) data
   – Don’t do complex actions during your web service
      • Keep it to lookup or store operations
          – Write documents that are then “completed” by a
            scheduled agent
   – How can I tell if its taking a long time?
      • User response
      • Lack of scalability in terms of concurrent users
      • “Profile” the web service using agent profiling

                 Den nächste Schritt zum Erfolg : Domino&Notes
                                                                   Powered by
                 8                                               Bundled-KnowHow
Web Services: Scalability

• Want a heavyweight, scalable web service?
   – Consider rewriting in Java:
• Persistent session data
      • Caching of common lookup views
      • Able to use threading to separate “heavy duty” tasks
• Use a LotusScript web service to prototype and test
• If performance does not scale, rewrite in Java



               Den nächste Schritt zum Erfolg : Domino&Notes
                                                                 Powered by
               8                                               Bundled-KnowHow
Web Services: Summary
• Web service enabling a Domino application:
   – Domino 7 makes it simple to web service enable
     an application using LotusScript
   – Lots of web service tutorials on the web
• Remember:
   – Web services are a standard, platform independent, language
     independent, application-to-application interface
   – Useful for exposing Domino data to other platforms
   – Useful for dispelling anti-Domino bias in your company
   – Web services are not the point of this presentation!

                Den nächste Schritt zum Erfolg : Domino&Notes
                                                                  Powered by
                8                                               Bundled-KnowHow
Lesson 1: Creating a Domino Web Service

1.Right click on the BBWS database, and choose
  “Open Designer”
2.Go to the Shared Code section
3.Open the “Web Services” Section
4.Click on “New”web Service....




           Den nächste Schritt zum Erfolg : Domino&Notes
                                                             Powered by
           8                                               Bundled-KnowHow
Lesson 1: Creating a Domino Web Service
1. Name this web service “Simple”
2. In the options section
    •
       Ensure that “Option Declare” exists
3. In the declarations section
    •
       Define the class Returns:
    •
       Define the class “Simple”
    •
       Fill in the missing code to populate the string array using
       summary information from the view.
4. Use lots of “MsgBox” functions to log comments to the server log
5. Use Internet Explorer to display the Web Service WSDL


                 Den nächste Schritt zum Erfolg : Domino&Notes
                                                                   Powered by
                 8                                               Bundled-KnowHow
Agenda …

•   Introduction
•   Architectures
•   Lesson 1: Web Service Enabling a Domino Application
•   BlackBerry MDS Studio Overview
•   Lesson 2: First Application
•   Lesson 3: A Complex Application
•   Wrap-up


               Den nächste Schritt zum Erfolg : Domino&Notes
                                                                 Powered by
               8                                               Bundled-KnowHow
MDS Studio First Look
• Like many other IDEs:
  –   It has lots of screens
  –   It has a tree-style navigator to see objects
  –   Double-clicking on an object opens it in the editor
  –   Selecting an item allows you to edit its properties
• It has two “perspectives”
  – Application perspective is for editing the application
  – Test perspective is for testing the application

                 Den nächste Schritt zum Erfolg : Domino&Notes
                                                                   Powered by
                 8                                               Bundled-KnowHow
MDS Studio First Look (cont.)
• It has a BlackBerry simulator
  – You can choose different models to test your code
• Generally it is:
  – Stable
  – Quick
  – Easy to use
• It’s very quick for debug/test cycles
  – Just change perspective, edit, and retest

               Den nächste Schritt zum Erfolg : Domino&Notes
                                                                 Powered by
               8                                               Bundled-KnowHow
MDS Documentation


• The documentation is pretty good. But:
  – Quite thin in some respects
  – You should rely on the online technical forum
  – You might consider a technical support contract




             Den nächste Schritt zum Erfolg : Domino&Notes
                                                               Powered by
             8                                               Bundled-KnowHow
Agenda …

•   Introduction
•   Architectures
•   Lesson 1: Web Service Enabling a Domino Application
•   BlackBerry MDS Studio Overview
•   Lesson 2: First Application
•   Lesson 3: A Complex Application
•   Wrap-up


               Den nächste Schritt zum Erfolg : Domino&Notes
                                                                 Powered by
               8                                               Bundled-KnowHow
First Application: Introduction
• We shall create a BlackBerry application
  – To retrieve information from our Domino Server
     • Using the web service we created earlier
  – That is easy for the end user
  – That shows how to:
     • Amend screens
     • Create scripts
     • Call different actions
• We shall compile and distribute the application
  – To the built-in BlackBerry simulator
               Den nächste Schritt zum Erfolg : Domino&Notes
                                                                 Powered by
               8                                               Bundled-KnowHow
First Application: Creating a New Project

 • Choose “File, New
   Project”
   – And choose
     “Quick Start
     Approach Wizard”




            Den nächste Schritt zum Erfolg : Domino&Notes
                                                              Powered by
            8                                               Bundled-KnowHow
First Application: Creating a New Project (cont.)

• Now enter the URI of the Web service Application
  – http://<server>/<database>/<webservicename>?WSDL
  – In our case, use the URL:
     • http://127.0.0.1/bbws.nsf/Simple?WSDL




              Den nächste Schritt zum Erfolg : Domino&Notes
                                                                Powered by
              8                                               Bundled-KnowHow
First Application: Creating a New Project (cont.)

 • Select the web service(s) you wish to import
   – In our case, we
     just choose the
     single function
      • GetAllPurchaseOrders()




              Den nächste Schritt zum Erfolg : Domino&Notes
                                                                Powered by
              8                                               Bundled-KnowHow
First Application: Creating a New Project (cont.)

• Finally, give the project a name
  – Call it “First Project”




              Den nächste Schritt zum Erfolg : Domino&Notes
                                                                Powered by
              8                                               Bundled-KnowHow
First Application: Quick Fix
• We shall apply a quick fix to this application
  – The default application sends a web service query to our
    Domino server, and then displays a screen stating that the web
    service request has been sent
  – We need to edit the Javascript routine that the “Go” button
    calls in order to allow the response event to trigger, and display
    our return value
  – In the navigator screen, navigate to “Scripts”
  – Open script
    “GETALLPURCHASEORDERSRequest_onSubmit”
  – Delete the second line of the script
  – Click on “File”, “Save All”
                 Den nächste Schritt zum Erfolg : Domino&Notes
                                                                   Powered by
                 8                                               Bundled-KnowHow
First Project: Running the Project:

• Right click on the project name in
  the explorer bar, and select “Test”
   – This will compile, publish,
     and deploy the application to
     the simulator, and start
     the simulator

   – If the MDS services have
     not yet started, they will
     also be started


                 Den nächste Schritt zum Erfolg : Domino&Notes
                                                                   Powered by
                 8                                               Bundled-KnowHow
First Project: Running the Project (cont.)
 •   The simulator will appear
      – Use your mouse scroll heel (or the down–
        arrow) to select the MDS Control Center icon
        on the BlackBerry menu
      – Click the mouse scroll button to select (or
        click on the ScrollWheel on the right)

 •   Can’t see the simulator? Check your taskbar.
     – It often hides
       down there




                     Den nächste Schritt zum Erfolg : Domino&Notes
                                                                       Powered by
GOTCHA!              8                                               Bundled-KnowHow
First Project: Viewing the Project on the Simulator

 • On the simulator screen
    – Select MDS Control
      Center
    – Scroll down
      to your application

    – Click on the
      application and choose
      “Start” from the menu



                 Den nächste Schritt zum Erfolg : Domino&Notes
                                                                   Powered by
                 8                                               Bundled-KnowHow
First Project: Running the Project on the Simulator

• We see a single screen with a single
  button
  – Select and click on “Go”
  – The application will then call our
    Domino Web service and
    display the results




               Den nächste Schritt zum Erfolg : Domino&Notes
                                                                 Powered by
               8                                               Bundled-KnowHow
First Project: Initial Comments

• We need to do some work
  – Add more meaningful screen titles
  – Bypass the “Go” button on the first screen so that the
    application automatically gets the Purchase Orders
  – Make the Purchase Order text read-only so that the
    user does not have to scroll past it to get to the button
     • In fact — lets move the button to the top



              Den nächste Schritt zum Erfolg : Domino&Notes
                                                                Powered by
              8                                               Bundled-KnowHow
First Project: Updating the Front Screen
• Switch back to Blackberry MDS Studio
   – On the Blackberry MDS Studio,
     switch from the “Test
     Perspective” back to the
     “Development Perspective”
   – On the Navigator, expand the “Test” project, expand “Applications”, expand
     “Screens”
   – Double-click on the “scrMain” screen
   – Remove the button
   – Change the caption to “fetching Purchase Orders”
   – Click on the screen itself and change the Initialize property to run Script
     “GETPURCHASEORDERSRequest_onSubmit”
   – Change the window title to “Purchase Orders”
   – Now click on “File”, “Save All”
                    Den nächste Schritt zum Erfolg : Domino&Notes
                                                                                 Powered by
                    8                                                         Bundled-KnowHow
First Project: Updating the Second Screen
 •   Lets update the second screen
      – Double click on the “scrGETPURCHASEORDERSResponse” screen
      – Delete the “Service Response” text and icon
      – Delete the “GETPURCHASEORDERS” label
      – Drag the button to the top of the screen
      – Change the button text to “Refresh”
      – Change the OnClick action
           • To a Script
           • Choose Script GETPURCHASEORDERSRequest_onSubmit
      – Change the returned text to “read-only”
      – Change the window title to “Purchase Orders”
 •   Click on “File”, “Save All”


                    Den nächste Schritt zum Erfolg : Domino&Notes
                                                                      Powered by
                    8                                               Bundled-KnowHow
First Project: Testing
•   Right click on the project, and choose “Test”
     – This will recompile and redeploy the application to the simulator
         • The application will refresh on the simulator screen
     – Check that the version of the application on the simulator is the version you
       expect




                     Den nächste Schritt zum Erfolg : Domino&Notes
                                                                              Powered by
                     8                                                      Bundled-KnowHow
First Project: Conclusion
• Congratulations! We have just completed an entire test +
  development cycle
   – Web service enabled a Domino application
   – Tested the web service application
   – Created a complete new BlackBerry application using the Web
     Service Definition Language (WSDL)
   – Deployed the application to the simulator
   – Tested that application making “live” web service calls
     back to Domino
   – Redesigned the UI of that application
   – Recompiled and redeployed the application back to the simulator

                 Den nächste Schritt zum Erfolg : Domino&Notes
                                                                   Powered by
                 8                                               Bundled-KnowHow
Agenda …

•   Introduction
•   Architectures
•   Lesson 1: Web Service Enabling a Domino Application
•   BlackBerry MDS Studio Overview
•   Lesson 2: First Application
•   Lesson 3: A Complex Application
•   Wrap-up


               Den nächste Schritt zum Erfolg : Domino&Notes
                                                                 Powered by
               8                                               Bundled-KnowHow
A More Complex Application: Introduction
•   A more complex application allows the user to send data to the web service and act
    on its results
     – In this case we shall
          • Present the user with a list of Purchase Orders
          • Allow the user to display a particular purchase order
          • Allow the user to create a new purchase order
     – The new version of the web service is not much more complicated. Only two
        new calls:
          • CreatePurchaseOrder()
          • SearchForPO(searchString as String) as String
•   This demonstration shows:
     – How to bind returned data to edit controls
     – How to trigger messages when edit controls change

                      Den nächste Schritt zum Erfolg : Domino&Notes
                                                                               Powered by
                      8                                                      Bundled-KnowHow
A More Complex Application: Note

• Note that:
  – This is still not an enterprise application
  – We have only touched the surface of MDS Studios'
    ability.
  – The methods used are to illustrate BlackBerry MDS
    Studio techniques, not necessarily best practice




               Den nächste Schritt zum Erfolg : Domino&Notes
                                                                 Powered by
               8                                               Bundled-KnowHow
Agenda …

• Introduction
• Architectures
• Lesson 1: Web Service Enabling a Domino
  Application
• BlackBerry MDS Studio Overview
• Lesson 2: First Application
• Lesson 3: A Complex Application
• Wrap-up
           Den nächste Schritt zum Erfolg : Domino&Notes
                                                             Powered by
           8                                               Bundled-KnowHow
Resources

• The BlackBerry MDS Studio:
  – www.blackberry.com
• The BlackBerry Developers area
  – Domino Sample Code:
     • www.blackberry.com/developers/resources
       /domino/samplecode.shtml
• Example database for this presentation:


             Den nächste Schritt zum Erfolg : Domino&Notes
                                                               Powered by
             8                                               Bundled-KnowHow
Summary
• Domino applications can be easily web service enabled
• You don’t need a BlackBerry or a BES Server to code and test
  BlackBerry applications
• Deploying Domino applications to the BlackBerry MDS Studio
   – Uses web services
   – Is straightforward
• Blackberry MDS Studio
   – Is a fairly simple IDE
   – Quick to code and test
   – May run out of steam with more complex applications
                 Den nächste Schritt zum Erfolg : Domino&Notes
                                                                   Powered by
                 8                                               Bundled-KnowHow

More Related Content

What's hot

Webinar: Opsummering af Connect 2013
Webinar: Opsummering af Connect 2013Webinar: Opsummering af Connect 2013
Webinar: Opsummering af Connect 2013
IBM Collaboration Solutions - Denmark
 
IBM Lotus Notes/Domino App. Dev. Competitive Advantage: The Social Business E...
IBM Lotus Notes/Domino App. Dev. Competitive Advantage: The Social Business E...IBM Lotus Notes/Domino App. Dev. Competitive Advantage: The Social Business E...
IBM Lotus Notes/Domino App. Dev. Competitive Advantage: The Social Business E...
John Head
 
Notes Domino Symphony Strategy May2009
Notes Domino Symphony Strategy May2009Notes Domino Symphony Strategy May2009
Notes Domino Symphony Strategy May2009
Ed Brill
 
Premium Website Hosting
Premium Website HostingPremium Website Hosting
Premium Website Hosting
webhostingguy
 
Your Firm In The Cloud
Your Firm In The CloudYour Firm In The Cloud
Your Firm In The Cloud
BCS ProSoft
 
Novell Success Stories: Endpoint Management in High Tech and Professional Ser...
Novell Success Stories: Endpoint Management in High Tech and Professional Ser...Novell Success Stories: Endpoint Management in High Tech and Professional Ser...
Novell Success Stories: Endpoint Management in High Tech and Professional Ser...
Novell
 

What's hot (6)

Webinar: Opsummering af Connect 2013
Webinar: Opsummering af Connect 2013Webinar: Opsummering af Connect 2013
Webinar: Opsummering af Connect 2013
 
IBM Lotus Notes/Domino App. Dev. Competitive Advantage: The Social Business E...
IBM Lotus Notes/Domino App. Dev. Competitive Advantage: The Social Business E...IBM Lotus Notes/Domino App. Dev. Competitive Advantage: The Social Business E...
IBM Lotus Notes/Domino App. Dev. Competitive Advantage: The Social Business E...
 
Notes Domino Symphony Strategy May2009
Notes Domino Symphony Strategy May2009Notes Domino Symphony Strategy May2009
Notes Domino Symphony Strategy May2009
 
Premium Website Hosting
Premium Website HostingPremium Website Hosting
Premium Website Hosting
 
Your Firm In The Cloud
Your Firm In The CloudYour Firm In The Cloud
Your Firm In The Cloud
 
Novell Success Stories: Endpoint Management in High Tech and Professional Ser...
Novell Success Stories: Endpoint Management in High Tech and Professional Ser...Novell Success Stories: Endpoint Management in High Tech and Professional Ser...
Novell Success Stories: Endpoint Management in High Tech and Professional Ser...
 

Viewers also liked

Food
FoodFood
Marykirk raft race presentation night
Marykirk raft race presentation nightMarykirk raft race presentation night
Marykirk raft race presentation night
Bill Buchan
 
Dcci Advertising brochure
Dcci Advertising brochure Dcci Advertising brochure
Dcci Advertising brochure
Marketing Durban Chamber
 
Esteve duran
Esteve duranEsteve duran
Esteve duran
Esteve Duran
 
terenuri oferte
terenuri oferteterenuri oferte
terenuri oferte
Mîneran Sergiu
 
DigiOnline: WebWeaver@School - Lernplattform für Schulen und Schulträger
DigiOnline: WebWeaver@School - Lernplattform für Schulen und SchulträgerDigiOnline: WebWeaver@School - Lernplattform für Schulen und Schulträger
DigiOnline: WebWeaver@School - Lernplattform für Schulen und Schulträger
Univention GmbH
 

Viewers also liked (6)

Food
FoodFood
Food
 
Marykirk raft race presentation night
Marykirk raft race presentation nightMarykirk raft race presentation night
Marykirk raft race presentation night
 
Dcci Advertising brochure
Dcci Advertising brochure Dcci Advertising brochure
Dcci Advertising brochure
 
Esteve duran
Esteve duranEsteve duran
Esteve duran
 
terenuri oferte
terenuri oferteterenuri oferte
terenuri oferte
 
DigiOnline: WebWeaver@School - Lernplattform für Schulen und Schulträger
DigiOnline: WebWeaver@School - Lernplattform für Schulen und SchulträgerDigiOnline: WebWeaver@School - Lernplattform für Schulen und Schulträger
DigiOnline: WebWeaver@School - Lernplattform für Schulen und Schulträger
 

Similar to Entwicker camp2007 blackberry-workshop

The View - Deploying domino applications to BlackBerry MDS Studio
The View - Deploying domino applications to BlackBerry MDS StudioThe View - Deploying domino applications to BlackBerry MDS Studio
The View - Deploying domino applications to BlackBerry MDS Studio
Bill Buchan
 
Entwicker camp2007 blackberry-workshop
Entwicker camp2007 blackberry-workshopEntwicker camp2007 blackberry-workshop
Entwicker camp2007 blackberry-workshop
Bill Buchan
 
Tip from IBM Connect 2014: IBM Notes Goes Cloud: How GAD Created an Integrate...
Tip from IBM Connect 2014: IBM Notes Goes Cloud: How GAD Created an Integrate...Tip from IBM Connect 2014: IBM Notes Goes Cloud: How GAD Created an Integrate...
Tip from IBM Connect 2014: IBM Notes Goes Cloud: How GAD Created an Integrate...
SocialBiz UserGroup
 
AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...
AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...
AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...
ddrschiw
 
Domino app dev competitive advantage for blug
Domino app dev competitive advantage for blugDomino app dev competitive advantage for blug
Domino app dev competitive advantage for blug
John Head
 
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
John Head
 
Get Connected – Using Open Source Technologies on Facebook
Get Connected – Using Open Source Technologies on FacebookGet Connected – Using Open Source Technologies on Facebook
Get Connected – Using Open Source Technologies on Facebook
Binesh Gummadi
 
Making Facebook Faster
Making Facebook FasterMaking Facebook Faster
Making Facebook Faster
guest1240e7c
 
Cloud Camp Chicago Dec 2012 Slides
Cloud Camp Chicago Dec 2012 SlidesCloud Camp Chicago Dec 2012 Slides
Cloud Camp Chicago Dec 2012 Slides
Ryan Koop
 
Cloud Camp Chicago Dec 2012 - All presentations
Cloud Camp Chicago Dec 2012 - All presentationsCloud Camp Chicago Dec 2012 - All presentations
Cloud Camp Chicago Dec 2012 - All presentations
CloudCamp Chicago
 
Domino app dev competitive advantage final
Domino app dev competitive advantage finalDomino app dev competitive advantage final
Domino app dev competitive advantage final
John Head
 
MWLUG 2011: Notes/Domino Application Development Competitive Advantage
MWLUG 2011: Notes/Domino Application Development Competitive AdvantageMWLUG 2011: Notes/Domino Application Development Competitive Advantage
MWLUG 2011: Notes/Domino Application Development Competitive Advantage
John Head
 
The Notes/Domino Application Development Competitive Advantage - IamLUG
The Notes/Domino Application Development Competitive Advantage - IamLUGThe Notes/Domino Application Development Competitive Advantage - IamLUG
The Notes/Domino Application Development Competitive Advantage - IamLUG
John Head
 
Laurent hasson blackberry
Laurent hasson blackberryLaurent hasson blackberry
Laurent hasson blackberry
Web Summit
 
Alfresco day madrid cliente - buongiorno
Alfresco day madrid   cliente - buongiornoAlfresco day madrid   cliente - buongiorno
Alfresco day madrid cliente - buongiorno
Alfresco Software
 
Alfresco Day Madrid - Cliente - Buongiorno
Alfresco Day Madrid - Cliente - BuongiornoAlfresco Day Madrid - Cliente - Buongiorno
Alfresco Day Madrid - Cliente - Buongiorno
Toni de la Fuente
 
Alfresco day madrid cliente - buongiorno
Alfresco day madrid   cliente - buongiornoAlfresco day madrid   cliente - buongiorno
Alfresco day madrid cliente - buongiorno
Alfresco Software
 
The Sun Cloud
The Sun CloudThe Sun Cloud
The Sun Cloud
Megan Eskey
 
IBM Mail Next and Notes/Domino Roadmap
IBM Mail Next and Notes/Domino RoadmapIBM Mail Next and Notes/Domino Roadmap
IBM Mail Next and Notes/Domino Roadmap
Teamstudio
 
1.Cloud dev meetup 2.0
1.Cloud dev meetup 2.01.Cloud dev meetup 2.0
1.Cloud dev meetup 2.0
Nata Isaevich
 

Similar to Entwicker camp2007 blackberry-workshop (20)

The View - Deploying domino applications to BlackBerry MDS Studio
The View - Deploying domino applications to BlackBerry MDS StudioThe View - Deploying domino applications to BlackBerry MDS Studio
The View - Deploying domino applications to BlackBerry MDS Studio
 
Entwicker camp2007 blackberry-workshop
Entwicker camp2007 blackberry-workshopEntwicker camp2007 blackberry-workshop
Entwicker camp2007 blackberry-workshop
 
Tip from IBM Connect 2014: IBM Notes Goes Cloud: How GAD Created an Integrate...
Tip from IBM Connect 2014: IBM Notes Goes Cloud: How GAD Created an Integrate...Tip from IBM Connect 2014: IBM Notes Goes Cloud: How GAD Created an Integrate...
Tip from IBM Connect 2014: IBM Notes Goes Cloud: How GAD Created an Integrate...
 
AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...
AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...
AD114 -- Beyond the Mobile Browser? Building Rich Mobile Applications for IBM...
 
Domino app dev competitive advantage for blug
Domino app dev competitive advantage for blugDomino app dev competitive advantage for blug
Domino app dev competitive advantage for blug
 
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
IBM Lotus Notes/Domino Application Development Competitive Advantage : The So...
 
Get Connected – Using Open Source Technologies on Facebook
Get Connected – Using Open Source Technologies on FacebookGet Connected – Using Open Source Technologies on Facebook
Get Connected – Using Open Source Technologies on Facebook
 
Making Facebook Faster
Making Facebook FasterMaking Facebook Faster
Making Facebook Faster
 
Cloud Camp Chicago Dec 2012 Slides
Cloud Camp Chicago Dec 2012 SlidesCloud Camp Chicago Dec 2012 Slides
Cloud Camp Chicago Dec 2012 Slides
 
Cloud Camp Chicago Dec 2012 - All presentations
Cloud Camp Chicago Dec 2012 - All presentationsCloud Camp Chicago Dec 2012 - All presentations
Cloud Camp Chicago Dec 2012 - All presentations
 
Domino app dev competitive advantage final
Domino app dev competitive advantage finalDomino app dev competitive advantage final
Domino app dev competitive advantage final
 
MWLUG 2011: Notes/Domino Application Development Competitive Advantage
MWLUG 2011: Notes/Domino Application Development Competitive AdvantageMWLUG 2011: Notes/Domino Application Development Competitive Advantage
MWLUG 2011: Notes/Domino Application Development Competitive Advantage
 
The Notes/Domino Application Development Competitive Advantage - IamLUG
The Notes/Domino Application Development Competitive Advantage - IamLUGThe Notes/Domino Application Development Competitive Advantage - IamLUG
The Notes/Domino Application Development Competitive Advantage - IamLUG
 
Laurent hasson blackberry
Laurent hasson blackberryLaurent hasson blackberry
Laurent hasson blackberry
 
Alfresco day madrid cliente - buongiorno
Alfresco day madrid   cliente - buongiornoAlfresco day madrid   cliente - buongiorno
Alfresco day madrid cliente - buongiorno
 
Alfresco Day Madrid - Cliente - Buongiorno
Alfresco Day Madrid - Cliente - BuongiornoAlfresco Day Madrid - Cliente - Buongiorno
Alfresco Day Madrid - Cliente - Buongiorno
 
Alfresco day madrid cliente - buongiorno
Alfresco day madrid   cliente - buongiornoAlfresco day madrid   cliente - buongiorno
Alfresco day madrid cliente - buongiorno
 
The Sun Cloud
The Sun CloudThe Sun Cloud
The Sun Cloud
 
IBM Mail Next and Notes/Domino Roadmap
IBM Mail Next and Notes/Domino RoadmapIBM Mail Next and Notes/Domino Roadmap
IBM Mail Next and Notes/Domino Roadmap
 
1.Cloud dev meetup 2.0
1.Cloud dev meetup 2.01.Cloud dev meetup 2.0
1.Cloud dev meetup 2.0
 

More from Bill Buchan

Dummies guide to WISPS
Dummies guide to WISPSDummies guide to WISPS
Dummies guide to WISPS
Bill Buchan
 
WISP for Dummies
WISP for DummiesWISP for Dummies
WISP for Dummies
Bill Buchan
 
WISP Worst Practices
WISP Worst PracticesWISP Worst Practices
WISP Worst Practices
Bill Buchan
 
Marykirk raft race presentation night 2014
Marykirk raft race presentation night 2014Marykirk raft race presentation night 2014
Marykirk raft race presentation night 2014
Bill Buchan
 
Dev buchan best practices
Dev buchan best practicesDev buchan best practices
Dev buchan best practices
Bill Buchan
 
Dev buchan leveraging
Dev buchan leveragingDev buchan leveraging
Dev buchan leveraging
Bill Buchan
 
Dev buchan leveraging the notes c api
Dev buchan leveraging the notes c apiDev buchan leveraging the notes c api
Dev buchan leveraging the notes c api
Bill Buchan
 
Dev buchan everything you need to know about agent design
Dev buchan everything you need to know about agent designDev buchan everything you need to know about agent design
Dev buchan everything you need to know about agent design
Bill Buchan
 
Dev buchan 30 proven tips
Dev buchan 30 proven tipsDev buchan 30 proven tips
Dev buchan 30 proven tips
Bill Buchan
 
Entwicker camp2007 calling-the-c-api-from-lotusscript
Entwicker camp2007 calling-the-c-api-from-lotusscriptEntwicker camp2007 calling-the-c-api-from-lotusscript
Entwicker camp2007 calling-the-c-api-from-lotusscript
Bill Buchan
 
Bp301
Bp301Bp301
Ad507
Ad507Ad507
Ad505 dev blast
Ad505 dev blastAd505 dev blast
Ad505 dev blast
Bill Buchan
 
Admin2012 buchan web_services-v101
Admin2012 buchan web_services-v101Admin2012 buchan web_services-v101
Admin2012 buchan web_services-v101
Bill Buchan
 
Reporting on your domino environment v1
Reporting on your domino environment v1Reporting on your domino environment v1
Reporting on your domino environment v1
Bill Buchan
 
12 Step Guide to Lotuscript
12 Step Guide to Lotuscript12 Step Guide to Lotuscript
12 Step Guide to Lotuscript
Bill Buchan
 
Everything you ever wanted to know about lotus script
Everything you ever wanted to know about lotus scriptEverything you ever wanted to know about lotus script
Everything you ever wanted to know about lotus script
Bill Buchan
 
Admin camp 2011-domino-sso-with-ad
Admin camp 2011-domino-sso-with-adAdmin camp 2011-domino-sso-with-ad
Admin camp 2011-domino-sso-with-ad
Bill Buchan
 
Softsphere 08 web services bootcamp
Softsphere 08 web services bootcampSoftsphere 08 web services bootcamp
Softsphere 08 web services bootcamp
Bill Buchan
 
Connections Lotusphere Worst Practices 2013
Connections Lotusphere Worst Practices 2013Connections Lotusphere Worst Practices 2013
Connections Lotusphere Worst Practices 2013
Bill Buchan
 

More from Bill Buchan (20)

Dummies guide to WISPS
Dummies guide to WISPSDummies guide to WISPS
Dummies guide to WISPS
 
WISP for Dummies
WISP for DummiesWISP for Dummies
WISP for Dummies
 
WISP Worst Practices
WISP Worst PracticesWISP Worst Practices
WISP Worst Practices
 
Marykirk raft race presentation night 2014
Marykirk raft race presentation night 2014Marykirk raft race presentation night 2014
Marykirk raft race presentation night 2014
 
Dev buchan best practices
Dev buchan best practicesDev buchan best practices
Dev buchan best practices
 
Dev buchan leveraging
Dev buchan leveragingDev buchan leveraging
Dev buchan leveraging
 
Dev buchan leveraging the notes c api
Dev buchan leveraging the notes c apiDev buchan leveraging the notes c api
Dev buchan leveraging the notes c api
 
Dev buchan everything you need to know about agent design
Dev buchan everything you need to know about agent designDev buchan everything you need to know about agent design
Dev buchan everything you need to know about agent design
 
Dev buchan 30 proven tips
Dev buchan 30 proven tipsDev buchan 30 proven tips
Dev buchan 30 proven tips
 
Entwicker camp2007 calling-the-c-api-from-lotusscript
Entwicker camp2007 calling-the-c-api-from-lotusscriptEntwicker camp2007 calling-the-c-api-from-lotusscript
Entwicker camp2007 calling-the-c-api-from-lotusscript
 
Bp301
Bp301Bp301
Bp301
 
Ad507
Ad507Ad507
Ad507
 
Ad505 dev blast
Ad505 dev blastAd505 dev blast
Ad505 dev blast
 
Admin2012 buchan web_services-v101
Admin2012 buchan web_services-v101Admin2012 buchan web_services-v101
Admin2012 buchan web_services-v101
 
Reporting on your domino environment v1
Reporting on your domino environment v1Reporting on your domino environment v1
Reporting on your domino environment v1
 
12 Step Guide to Lotuscript
12 Step Guide to Lotuscript12 Step Guide to Lotuscript
12 Step Guide to Lotuscript
 
Everything you ever wanted to know about lotus script
Everything you ever wanted to know about lotus scriptEverything you ever wanted to know about lotus script
Everything you ever wanted to know about lotus script
 
Admin camp 2011-domino-sso-with-ad
Admin camp 2011-domino-sso-with-adAdmin camp 2011-domino-sso-with-ad
Admin camp 2011-domino-sso-with-ad
 
Softsphere 08 web services bootcamp
Softsphere 08 web services bootcampSoftsphere 08 web services bootcamp
Softsphere 08 web services bootcamp
 
Connections Lotusphere Worst Practices 2013
Connections Lotusphere Worst Practices 2013Connections Lotusphere Worst Practices 2013
Connections Lotusphere Worst Practices 2013
 

Entwicker camp2007 blackberry-workshop

  • 1. Deploying Domino Applications to the BlackBerry. Bill Buchan HADSL Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 2. Agenda … • Introduction • Architectures • Lesson 1: Web Service Enabling a Domino Application • BlackBerry MDS Studio Overview • Lesson 2: First Application • Lesson 3: A Complex Application • Wrap-up Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 3. What Is This About? • This workshop aims to teach you: – How to web service enable Domino applications – The BlackBerry MDS studio – Developing your first BlackBerry application • Why BlackBerry? – Market leading handheld data device – Robust – Loved by CIOs – Do you have them already? • Who am I? – Bill Buchan – HADSL – http://www.hadsl.com Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 4. What is this About?(cont.) • Where do I find BlackBerry MDS Studio? – The BlackBerry Web site • www.BlackBerry.com • The MDS toolkit contains: – A BlackBerry simulator – The BlackBerry Mobile Data Suite Engine – An integrated development environment Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 5. What do you need to do ? • Have a Domino server running locally (or use mine) • Have Domino Designer open and ready • Install BlackBerry MDS studio – accepting ALL defaults Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 6. Agenda … • Introduction • Architectures • Lesson 1: Web Service Enabling a Domino Application • BlackBerry MDS Studio Overview • Lesson 2: First Application • Lesson 3: A Complex Application • Wrap-up Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 7. MDS Architecture • MDS is a Java-based application stack – May run on the BlackBerry Enterprise Server • In a small environment • Larger environments may require dedicated servers – Application repository holds applications – Can push applications to users’ BlackBerries • MDS also provides: – On-line data connectivity services via web services • Allowing handsets to utilize web services – Application access to PIM data on the BlackBerry • Allowing applications to interrogate the BlackBerry Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 8. Solution Architecture Sec RIM u re D ata ll C han wa nel re Internet Fi GPRS BES MDS W BlackBerry Se eb BlackBerry rv Domino BlackBerry MDS Mobile Data Suite ice Domino BES BlackBerry Enterprise Server s Servers Domino Servers RIM GPRS Research In Motion General Packet Radio Service Servers Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 9. Solution Architecture (cont.) • We are interested in: – Web service enabling a Domino application – Interacting with that application via a BlackBerry handset Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 10. Agenda … • Introduction • Architectures • Lesson 1: Web Service Enabling a Domino Application • BlackBerry MDS Studio Overview • Lesson 2: First Application • Lesson 3: A Complex Application • Wrap-up Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 11. Web Service Enabling: Introduction • What is a web service? – A web service is a standard application-to-application interface – It usually uses the “http” protocol — just like a web page – It usually encapsulates its data into an XML file – It can be made secure • How can I create a web service? – Prior to Domino 7, using Java Servlets – In Domino 7 you can create web services in LotusScript • How can I “consume” a web service: – Quick and Dirty: MS SOAP DLL  Use for Testing – Better: use a Java Agent – Project “Stubby” – http://www.openNtf.org Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 12. Web Services: Resources • www.nsftools.com – Julian’s site is a very good repository of Domino Java Code • The sample database for this session • www.openNtf.org – The “Stubby” project Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 13. Web Services: Design • We shall create a web service that provides a single function – GetAllPurchaseOrders() shall return a String Array containing all Purchase Orders • Open Designer and navigate to “Web Services” – Create a new web service called “Simple” Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 14. Solution Web Services: Coding the Return Type • We cannot return a string array() via a function: • However, we can return a class.. Class Returns Public purchaseOrders() As String Sub new() Redim purchaseOrders(0) End Sub End Class Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 15. Solution Web Services: Coding the Web Service • Now populate our web service class Class testWebService ' This function returns a string array! Public Function GetAllPurchaseOrders() As Returns On Error Goto errorhandler ' collect all documents in the view ' and summarise them into the string array exitFunction: Exit Function errorhandler: MsgBox "The system experienced a run-time error: "+_ Error$ + " at line: " +Trim(Str(Erl)) + Chr(10) Resume exitFunction End Function Den nächste Schritt zum Erfolg : Domino&Notes Powered by End Class 8 Bundled-KnowHow
  • 16. Web Services: Performance • Domino reloads LotusScript on each call – Ouch. It might not handle large concurrency. – No persistent (in memory) data – Don’t do complex actions during your web service • Keep it to lookup or store operations – Write documents that are then “completed” by a scheduled agent – How can I tell if its taking a long time? • User response • Lack of scalability in terms of concurrent users • “Profile” the web service using agent profiling Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 17. Web Services: Scalability • Want a heavyweight, scalable web service? – Consider rewriting in Java: • Persistent session data • Caching of common lookup views • Able to use threading to separate “heavy duty” tasks • Use a LotusScript web service to prototype and test • If performance does not scale, rewrite in Java Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 18. Web Services: Summary • Web service enabling a Domino application: – Domino 7 makes it simple to web service enable an application using LotusScript – Lots of web service tutorials on the web • Remember: – Web services are a standard, platform independent, language independent, application-to-application interface – Useful for exposing Domino data to other platforms – Useful for dispelling anti-Domino bias in your company – Web services are not the point of this presentation! Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 19. Lesson 1: Creating a Domino Web Service 1.Right click on the BBWS database, and choose “Open Designer” 2.Go to the Shared Code section 3.Open the “Web Services” Section 4.Click on “New”web Service.... Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 20. Lesson 1: Creating a Domino Web Service 1. Name this web service “Simple” 2. In the options section • Ensure that “Option Declare” exists 3. In the declarations section • Define the class Returns: • Define the class “Simple” • Fill in the missing code to populate the string array using summary information from the view. 4. Use lots of “MsgBox” functions to log comments to the server log 5. Use Internet Explorer to display the Web Service WSDL Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 21. Agenda … • Introduction • Architectures • Lesson 1: Web Service Enabling a Domino Application • BlackBerry MDS Studio Overview • Lesson 2: First Application • Lesson 3: A Complex Application • Wrap-up Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 22. MDS Studio First Look • Like many other IDEs: – It has lots of screens – It has a tree-style navigator to see objects – Double-clicking on an object opens it in the editor – Selecting an item allows you to edit its properties • It has two “perspectives” – Application perspective is for editing the application – Test perspective is for testing the application Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 23. MDS Studio First Look (cont.) • It has a BlackBerry simulator – You can choose different models to test your code • Generally it is: – Stable – Quick – Easy to use • It’s very quick for debug/test cycles – Just change perspective, edit, and retest Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 24. MDS Documentation • The documentation is pretty good. But: – Quite thin in some respects – You should rely on the online technical forum – You might consider a technical support contract Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 25. Agenda … • Introduction • Architectures • Lesson 1: Web Service Enabling a Domino Application • BlackBerry MDS Studio Overview • Lesson 2: First Application • Lesson 3: A Complex Application • Wrap-up Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 26. First Application: Introduction • We shall create a BlackBerry application – To retrieve information from our Domino Server • Using the web service we created earlier – That is easy for the end user – That shows how to: • Amend screens • Create scripts • Call different actions • We shall compile and distribute the application – To the built-in BlackBerry simulator Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 27. First Application: Creating a New Project • Choose “File, New Project” – And choose “Quick Start Approach Wizard” Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 28. First Application: Creating a New Project (cont.) • Now enter the URI of the Web service Application – http://<server>/<database>/<webservicename>?WSDL – In our case, use the URL: • http://127.0.0.1/bbws.nsf/Simple?WSDL Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 29. First Application: Creating a New Project (cont.) • Select the web service(s) you wish to import – In our case, we just choose the single function • GetAllPurchaseOrders() Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 30. First Application: Creating a New Project (cont.) • Finally, give the project a name – Call it “First Project” Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 31. First Application: Quick Fix • We shall apply a quick fix to this application – The default application sends a web service query to our Domino server, and then displays a screen stating that the web service request has been sent – We need to edit the Javascript routine that the “Go” button calls in order to allow the response event to trigger, and display our return value – In the navigator screen, navigate to “Scripts” – Open script “GETALLPURCHASEORDERSRequest_onSubmit” – Delete the second line of the script – Click on “File”, “Save All” Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 32. First Project: Running the Project: • Right click on the project name in the explorer bar, and select “Test” – This will compile, publish, and deploy the application to the simulator, and start the simulator – If the MDS services have not yet started, they will also be started Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 33. First Project: Running the Project (cont.) • The simulator will appear – Use your mouse scroll heel (or the down– arrow) to select the MDS Control Center icon on the BlackBerry menu – Click the mouse scroll button to select (or click on the ScrollWheel on the right) • Can’t see the simulator? Check your taskbar. – It often hides down there Den nächste Schritt zum Erfolg : Domino&Notes Powered by GOTCHA! 8 Bundled-KnowHow
  • 34. First Project: Viewing the Project on the Simulator • On the simulator screen – Select MDS Control Center – Scroll down to your application – Click on the application and choose “Start” from the menu Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 35. First Project: Running the Project on the Simulator • We see a single screen with a single button – Select and click on “Go” – The application will then call our Domino Web service and display the results Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 36. First Project: Initial Comments • We need to do some work – Add more meaningful screen titles – Bypass the “Go” button on the first screen so that the application automatically gets the Purchase Orders – Make the Purchase Order text read-only so that the user does not have to scroll past it to get to the button • In fact — lets move the button to the top Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 37. First Project: Updating the Front Screen • Switch back to Blackberry MDS Studio – On the Blackberry MDS Studio, switch from the “Test Perspective” back to the “Development Perspective” – On the Navigator, expand the “Test” project, expand “Applications”, expand “Screens” – Double-click on the “scrMain” screen – Remove the button – Change the caption to “fetching Purchase Orders” – Click on the screen itself and change the Initialize property to run Script “GETPURCHASEORDERSRequest_onSubmit” – Change the window title to “Purchase Orders” – Now click on “File”, “Save All” Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 38. First Project: Updating the Second Screen • Lets update the second screen – Double click on the “scrGETPURCHASEORDERSResponse” screen – Delete the “Service Response” text and icon – Delete the “GETPURCHASEORDERS” label – Drag the button to the top of the screen – Change the button text to “Refresh” – Change the OnClick action • To a Script • Choose Script GETPURCHASEORDERSRequest_onSubmit – Change the returned text to “read-only” – Change the window title to “Purchase Orders” • Click on “File”, “Save All” Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 39. First Project: Testing • Right click on the project, and choose “Test” – This will recompile and redeploy the application to the simulator • The application will refresh on the simulator screen – Check that the version of the application on the simulator is the version you expect Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 40. First Project: Conclusion • Congratulations! We have just completed an entire test + development cycle – Web service enabled a Domino application – Tested the web service application – Created a complete new BlackBerry application using the Web Service Definition Language (WSDL) – Deployed the application to the simulator – Tested that application making “live” web service calls back to Domino – Redesigned the UI of that application – Recompiled and redeployed the application back to the simulator Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 41. Agenda … • Introduction • Architectures • Lesson 1: Web Service Enabling a Domino Application • BlackBerry MDS Studio Overview • Lesson 2: First Application • Lesson 3: A Complex Application • Wrap-up Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 42. A More Complex Application: Introduction • A more complex application allows the user to send data to the web service and act on its results – In this case we shall • Present the user with a list of Purchase Orders • Allow the user to display a particular purchase order • Allow the user to create a new purchase order – The new version of the web service is not much more complicated. Only two new calls: • CreatePurchaseOrder() • SearchForPO(searchString as String) as String • This demonstration shows: – How to bind returned data to edit controls – How to trigger messages when edit controls change Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 43. A More Complex Application: Note • Note that: – This is still not an enterprise application – We have only touched the surface of MDS Studios' ability. – The methods used are to illustrate BlackBerry MDS Studio techniques, not necessarily best practice Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 44. Agenda … • Introduction • Architectures • Lesson 1: Web Service Enabling a Domino Application • BlackBerry MDS Studio Overview • Lesson 2: First Application • Lesson 3: A Complex Application • Wrap-up Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 45. Resources • The BlackBerry MDS Studio: – www.blackberry.com • The BlackBerry Developers area – Domino Sample Code: • www.blackberry.com/developers/resources /domino/samplecode.shtml • Example database for this presentation: Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow
  • 46. Summary • Domino applications can be easily web service enabled • You don’t need a BlackBerry or a BES Server to code and test BlackBerry applications • Deploying Domino applications to the BlackBerry MDS Studio – Uses web services – Is straightforward • Blackberry MDS Studio – Is a fairly simple IDE – Quick to code and test – May run out of steam with more complex applications Den nächste Schritt zum Erfolg : Domino&Notes Powered by 8 Bundled-KnowHow