Upload
bill-buchan
View
709
Download
0
Tags:
Embed Size (px)
DESCRIPTION
The 'Hairy Bikers Domino Cookbook' presentation from the UK LUG conference 2009, hosted by Steve McDonagh, and Bill Buchan
Citation preview
The Hairy Bikers Domino Cookbook
Presenter: Bill Buchan & Steve McDonaghCompany: hadsl & AVX
The Hairy Bikers ?
• “The Hairy Bikers” are two hairy bikers who do cooking–Simon King & Dave Myers–Have a BBC Series
• Their web site is at:–http://hairybikers.com
• Steve and I are both bikers–And he can cook
• So we thought....
Programming is like Cooking
• Programming is like cooking
–You get a recipe to help you start–As you get better, you can adapt it–We’ll give you a short tutorial on each item
• But... You know all about Domino Programming
This is not...
• This is NOT about Domino Programming• This is about interfacing Domino to different systems• Remember:
–A good corporate programmer does not developfrom scratch
–A good corporate developer is there to join up components in order to deliver results
–Sometimes, the components are outside Domino–Like a hairy biker, we knock stuff out using the stuff we find
Remember:
• Whilst the business might love Domino–Other parts of the business use different tools.
• Its part of our job to make it easy –For those other parts to see our data–For our applications to use other data
• Not only does that make us gods in our world–It makes us good corporate programmers to other teams
• Job Security....
So what we going to cover?
• The worlds simplest Lotus Notes Application–A wee contact database
• Then we access it via a:–Web service–Ajax front end–BlackBerry SmartPhone–Flex Front End–.Net Visual Basic Service
We’re focusing on..
• We’re focusing on–The pros and cons for each platform–Hacking Developing each solution–Debugging each solution
• We’re not really interested in the Domino application - you know all about those
• We’re not delivering production quality code here–Thats your homework
The Application is:
• The Application is:–Very simple - single view and Form–No complex code, validation, error checking
• Remember, –The application isnt the point of this presentation–The point is how it interfaces with other systems
The Hairy Bikers Example Db
The Domino Application
Serving Web Services to others...
• Ingredients:–Domino 7.x or above–Lotusscript–Soap UI (http://soapui.org)–Domino Designer 7 or above
• Level: Simple
How to create a Web Service...
• Create a LotusScript-based web service in Domino Designer
• Name the class which exposes your methods• Save the class• You can access the web service using:
–http://<server>/<database.nsf>/WebServiceName?WSDL–In any browser
• You can now test the web service using SoapUI• Demo!
Ajax Applications
• Ingredients:–Domino 5.x or above–Lotusscript–Domino Designer 5 or above
• Level: Simple (if you know javascript)
How to create an Ajax application
• You need to choose a Ajax Framework:–Dojo is included in Domino and used within iNotes
• Attach them to the application–Simplest is to embed in the application
• Write forms and views using Javascript for function and CSS for display
• Test, test, test, and test again–In all browsers...
• Demo!
Confirmation
SoapUI and the Web Service
• This shows the ‘GetBuddyNames’ Call. –The SOAP web service call on the left, results on the right
SoapUI and the Web Service
• This shows the ‘GetBuddy’ Call. –The SOAP web service call on the left, results on the right
Flex Applications
• Ingredients:–Adobe Flex Builder v3 or above (adobe.com)–Lotusscript–Domino Designer 7 or above
• Level: Medium (if you know java)
How to create a Flex application
• Open up Flex Builder–Do the flex bits..
• Embed the SWF file in a page or form–Copy+paste the launch code from Flex Builder to the page
• Demo!
Rich Internet Applications...
• Rich Internet Applications allow the developer to have apps
A. that are connected
B. that are engaging
C. respect user adoption over technical integration
My experience of using RIA’s
As a corporation we needed :• Something that would give a unified corporate look and feel
• Something easily localised to 14 languages
• Something that looked and worked the same on all platforms
• Something easily deployable on all conceivable platforms
• Something that could “talk” to multiple data sources
• Something that could produce amazing results quickly
.Net Applications
• Ingredients:–Visual Studio 2005 or 2008–Visual Basic or C# skills
• Level: Easy (if you know lotusscript)
How to create an .net application
• Open up Visual Studio 2005 or 2008• Create a ‘Windows Console’ application
• On the project explorer, create a web service• Point it at our Domino web service• Wire in some code...
How to create a .net application• On Solution explorer, ‘Add Service Reference’
• Point it at our Domino web service:
How to create a .net service
• In my case, I want to create a .net v2 service, so click on Advanced,–Then click on ‘Add
Web Reference’
How to create a .net service
• Enter a web reference name–The click
on ‘Add Reference’
–
The .Net Code
Windows Services
• If you want code that will run all the time consider using a windows service:–It has a ‘sleep/wakeup’ protocol so it could poll for work on
a regular basis–If it detects work, it can then spawn worker threads to
execute this work.–Its harder to install - I used MakeMSI to make the .MSI
installer for my windows services.–If you call an authenticated web service, where do you
store the username/password ?• Clear text isnt good enough.
A Quick Gotcha!
• Applications built using –VS2005 want to use .Net Framework 2.5–VS2008 want to use .Net Framework 3.0 or 3.5
• Customers in general have NOT rolled out .Net Framework v3 to their clients, nor their servers
• You can target these projects to use .Net Framework v2.5 - this may make your deployment easier
So to round up
• Be very good at Domino• Be good at other things too• Domino is not a walled garden• Everything is a weapon