SlideShare a Scribd company logo
1 of 46
Den nächste Schritt zum Erfolg : Domino&Notes
8
Powered by
Bundled-KnowHow
Deploying Domino
Applications to the
BlackBerry.
Bill Buchan
HADSL
Den nächste Schritt zum Erfolg : Domino&Notes
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
Bundled-KnowHow
Solution Architecture
Internet
BES
MDS
Domino
Servers
Domino
Servers
Domino
Servers
W
ebServices
Secure Data Channel
Firewall
RIM
GPRS
BlackBerry
BlackBerry
BlackBerry MDS Mobile Data Suite
BES BlackBerry Enterprise Server
RIM Research In Motion
GPRS General Packet Radio Service
Den nächste Schritt zum Erfolg : Domino&Notes
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
Bundled-KnowHow
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
Solution
Den nächste Schritt zum Erfolg : Domino&Notes
8
Powered by
Bundled-KnowHow
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
End Class
Solution
Den nächste Schritt zum Erfolg : Domino&Notes
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
GOTCHA!
Den nächste Schritt zum Erfolg : Domino&Notes
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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
8
Powered by
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

More Related Content

What's hot

What's hot (6)

The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...
 
Everything XControls
Everything XControlsEverything XControls
Everything XControls
 
Hack IBM Connections - Advance Use - Iframes & more...
Hack IBM Connections - Advance Use - Iframes & more...Hack IBM Connections - Advance Use - Iframes & more...
Hack IBM Connections - Advance Use - Iframes & more...
 
Escaping the yellow bubble - rewriting Domino using MongoDb and Angular
Escaping the yellow bubble - rewriting Domino using MongoDb and AngularEscaping the yellow bubble - rewriting Domino using MongoDb and Angular
Escaping the yellow bubble - rewriting Domino using MongoDb and Angular
 
Social Connections VI — IBM Connections Extensions and Themes Demystified
Social Connections VI — IBM Connections Extensions and Themes DemystifiedSocial Connections VI — IBM Connections Extensions and Themes Demystified
Social Connections VI — IBM Connections Extensions and Themes Demystified
 
MAS202 - Customizing IBM Connections - Downloadable
MAS202 - Customizing IBM Connections - DownloadableMAS202 - Customizing IBM Connections - Downloadable
MAS202 - Customizing IBM Connections - Downloadable
 

Viewers also liked

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
 
Dev buchan 30 proven tips
Dev buchan 30 proven tipsDev buchan 30 proven tips
Dev buchan 30 proven tips
Bill Buchan
 
Dev buchan leveraging
Dev buchan leveragingDev buchan leveraging
Dev buchan leveraging
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 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 best practices
Dev buchan best practicesDev buchan best practices
Dev buchan best practices
Bill Buchan
 

Viewers also liked (9)

Lotusphere 2008 - Jumpstart 206 - Web Services Bootcamp
Lotusphere 2008 - Jumpstart 206 - Web Services BootcampLotusphere 2008 - Jumpstart 206 - Web Services Bootcamp
Lotusphere 2008 - Jumpstart 206 - Web Services Bootcamp
 
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
 
Dev buchan 30 proven tips
Dev buchan 30 proven tipsDev buchan 30 proven tips
Dev buchan 30 proven tips
 
Dev buchan leveraging
Dev buchan leveragingDev buchan leveraging
Dev buchan leveraging
 
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 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 best practices
Dev buchan best practicesDev buchan best practices
Dev buchan best practices
 
Marykirk raft race presentation night 2014
Marykirk raft race presentation night 2014Marykirk raft race presentation night 2014
Marykirk raft race presentation night 2014
 
Medicina chinesa
Medicina chinesaMedicina chinesa
Medicina chinesa
 

Similar to Entwicker camp2007 blackberry-workshop

Entwicker camp2007 blackberry-workshop
Entwicker camp2007 blackberry-workshopEntwicker camp2007 blackberry-workshop
Entwicker camp2007 blackberry-workshop
Bill Buchan
 
Service-now.com Foundations Module 1
Service-now.com Foundations Module 1Service-now.com Foundations Module 1
Service-now.com Foundations Module 1
Diane Cunningham
 
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
 
Connect ed2014 ad501_ibm worklight for ibm domino developers
Connect ed2014 ad501_ibm worklight for ibm domino developersConnect ed2014 ad501_ibm worklight for ibm domino developers
Connect ed2014 ad501_ibm worklight for ibm domino developers
a8us
 
Beyond CDNs: How to Harness the Next Phase of Innovation in Web Performance
Beyond CDNs: How to Harness the Next Phase of Innovation in Web PerformanceBeyond CDNs: How to Harness the Next Phase of Innovation in Web Performance
Beyond CDNs: How to Harness the Next Phase of Innovation in Web Performance
Yottaa
 

Similar to Entwicker camp2007 blackberry-workshop (20)

Entwicker camp2007 blackberry-workshop
Entwicker camp2007 blackberry-workshopEntwicker camp2007 blackberry-workshop
Entwicker camp2007 blackberry-workshop
 
Uklug2009 Hairy Bikers Cookbook
Uklug2009   Hairy Bikers CookbookUklug2009   Hairy Bikers Cookbook
Uklug2009 Hairy Bikers Cookbook
 
An Introduction to the Model-View-Controller Pattern
An Introduction to the Model-View-Controller PatternAn Introduction to the Model-View-Controller Pattern
An Introduction to the Model-View-Controller Pattern
 
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...
 
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...
 
MS .Net - An IntelliSense Way of Web Development
MS .Net - An IntelliSense Way of Web DevelopmentMS .Net - An IntelliSense Way of Web Development
MS .Net - An IntelliSense Way of Web Development
 
Col113 introducing the hcl domino volt application i created
Col113 introducing the hcl domino volt application i createdCol113 introducing the hcl domino volt application i created
Col113 introducing the hcl domino volt application i created
 
Put the client on the client
Put the client on the clientPut the client on the client
Put the client on the client
 
Webinar: Microsoft .NET Framework : An IntelliSense Way of Web Development
Webinar: Microsoft .NET Framework : An IntelliSense Way of Web DevelopmentWebinar: Microsoft .NET Framework : An IntelliSense Way of Web Development
Webinar: Microsoft .NET Framework : An IntelliSense Way of Web Development
 
AD101: IBM Domino Application Development Futures
AD101: IBM Domino Application Development FuturesAD101: IBM Domino Application Development Futures
AD101: IBM Domino Application Development Futures
 
A career in web development | the user | web development essentials!
A career in web development | the user | web development essentials!A career in web development | the user | web development essentials!
A career in web development | the user | web development essentials!
 
Service-now.com Foundations Module 1
Service-now.com Foundations Module 1Service-now.com Foundations Module 1
Service-now.com Foundations Module 1
 
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
 
Office Add ins community call-February 2019
Office Add ins community call-February 2019Office Add ins community call-February 2019
Office Add ins community call-February 2019
 
Wireless Wednesdays: Part 2
Wireless Wednesdays: Part 2Wireless Wednesdays: Part 2
Wireless Wednesdays: Part 2
 
Foundry Management System Desktop Application
Foundry Management System Desktop Application Foundry Management System Desktop Application
Foundry Management System Desktop Application
 
How to install IBM Connections in a Coffe Break
How to install IBM Connections in a Coffe BreakHow to install IBM Connections in a Coffe Break
How to install IBM Connections in a Coffe Break
 
IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers
IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino DevelopersIBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers
IBM Connect 2014 AD 501 - IBM Worklight for IBM Domino Developers
 
Connect ed2014 ad501_ibm worklight for ibm domino developers
Connect ed2014 ad501_ibm worklight for ibm domino developersConnect ed2014 ad501_ibm worklight for ibm domino developers
Connect ed2014 ad501_ibm worklight for ibm domino developers
 
Beyond CDNs: How to Harness the Next Phase of Innovation in Web Performance
Beyond CDNs: How to Harness the Next Phase of Innovation in Web PerformanceBeyond CDNs: How to Harness the Next Phase of Innovation in Web Performance
Beyond CDNs: How to Harness the Next Phase of Innovation in Web Performance
 

More from Bill Buchan

Admin2012 buchan web_services-v101
Admin2012 buchan web_services-v101Admin2012 buchan web_services-v101
Admin2012 buchan web_services-v101
Bill Buchan
 
Lotuscript for large systems
Lotuscript for large systemsLotuscript for large systems
Lotuscript for large systems
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
 
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
 
Lotusphere 2009 The 11 Commandments
Lotusphere 2009 The 11 CommandmentsLotusphere 2009 The 11 Commandments
Lotusphere 2009 The 11 Commandments
 
Lotusphere 2008 Worst practices
Lotusphere 2008 Worst practicesLotusphere 2008 Worst practices
Lotusphere 2008 Worst practices
 
Lotusphere 2007 BP301 Advanced Object Oriented Programming for LotusScript
Lotusphere 2007 BP301 Advanced Object Oriented Programming for LotusScriptLotusphere 2007 BP301 Advanced Object Oriented Programming for LotusScript
Lotusphere 2007 BP301 Advanced Object Oriented Programming for LotusScript
 
Lotusphere 2007 AD507 Leveraging the Power of Object Oriented Programming in ...
Lotusphere 2007 AD507 Leveraging the Power of Object Oriented Programming in ...Lotusphere 2007 AD507 Leveraging the Power of Object Oriented Programming in ...
Lotusphere 2007 AD507 Leveraging the Power of Object Oriented Programming in ...
 
Lotusphere 2007 AD505 DevBlast 30 LotusScript Tips
Lotusphere 2007 AD505 DevBlast 30 LotusScript TipsLotusphere 2007 AD505 DevBlast 30 LotusScript Tips
Lotusphere 2007 AD505 DevBlast 30 LotusScript Tips
 
Identity management delegation and automation
Identity management delegation and automationIdentity management delegation and automation
Identity management delegation and automation
 
Lotuscript for large systems
Lotuscript for large systemsLotuscript for large systems
Lotuscript for large systems
 

Recently uploaded

Recently uploaded (20)

Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

Entwicker camp2007 blackberry-workshop

  • 1. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by Bundled-KnowHow Deploying Domino Applications to the BlackBerry. Bill Buchan HADSL
  • 2. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 3. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 4. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 5. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 6. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 7. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 8. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by Bundled-KnowHow Solution Architecture Internet BES MDS Domino Servers Domino Servers Domino Servers W ebServices Secure Data Channel Firewall RIM GPRS BlackBerry BlackBerry BlackBerry MDS Mobile Data Suite BES BlackBerry Enterprise Server RIM Research In Motion GPRS General Packet Radio Service
  • 9. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by Bundled-KnowHow Solution Architecture (cont.) • We are interested in: – Web service enabling a Domino application – Interacting with that application via a BlackBerry handset
  • 10. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 11. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 12. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 13. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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”
  • 14. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by Bundled-KnowHow 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 Solution
  • 15. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by Bundled-KnowHow 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 End Class Solution
  • 16. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 17. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 18. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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!
  • 19. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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....
  • 20. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 21. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 22. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 23. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 24. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 25. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 26. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 27. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by Bundled-KnowHow First Application: Creating a New Project • Choose “File, New Project” – And choose “Quick Start Approach Wizard”
  • 28. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 29. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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()
  • 30. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by Bundled-KnowHow First Application: Creating a New Project (cont.) • Finally, give the project a name – Call it “First Project”
  • 31. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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”
  • 32. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 33. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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 GOTCHA!
  • 34. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 35. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 36. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 37. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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”
  • 38. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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”
  • 39. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 40. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 41. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 42. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 43. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 44. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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
  • 45. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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:
  • 46. Den nächste Schritt zum Erfolg : Domino&Notes 8 Powered by 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