integrating your domino applications with microsoft … · 2016. 7. 9. · lotus notes developers...

43
INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT PRODUCTS Gary Devendorf Microsoft

Upload: others

Post on 25-Feb-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

INTEGRATING YOUR DOMINO

APPLICATIONS WITH MICROSOFT

PRODUCTS

Gary Devendorf

Microsoft

Page 2: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

REUSE EXISTING APPLICATIONS

� Production applications can be extended to interact with new

systems

� These extended interfaces can be used again and again in

different client applications

� No need to recreate

Page 3: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

USE BEST OF BREED APPLICATIONS

� The best tool for what you need to get done

� Excel for word processing?

� Applications are getting more complex

� End users expect more

Page 4: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

EXTENDING NOTES

4

Methods

HTTP

XML

Web Services

COM

ADO.NET

Web Parts

APIs

http://www.interoptips.com

Page 5: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

EXTENDING NOTES

5

Methods

HTTP

XML

Web Services

COM

ADO.NET

Web Parts

APIs

http://www.interoptips.com

Page 6: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

EXTENDING NOTES

6

Methods

HTTP

XML

Web Services

COM

ADO.NET

Web Parts

APIs

http://www.interoptips.com

Page 7: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

EXTENDING NOTES

7

Methods

HTTP

XML

Web Services

COM

ADO.NET

Web Parts

APIs

http://www.interoptips.com

Page 8: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

EXTENDING NOTES

8

Methods

HTTP

XML

Web Services

COM

ADO.NET

Web Parts

APIs

http://www.interoptips.com

Page 9: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

EXTENDING NOTES

9

Methods

HTTP

XML

Web Services

COM

ADO.NET

Web Parts

APIs

http://www.interoptips.com

Page 10: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

EXTENDING NOTES

10

Methods

HTTP

XML

Web Services

COM

ADO.NET

Web Parts

APIs

http://www.interoptips.com

Page 11: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

EXTENDING

NOTES

11

Methods

HTTP

XML

Web Services

COM

ADO.NET

Web Parts

APIs

http://www.interoptips.com

Page 12: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

EXTENDING NOTES

12

Methods

HTTP

XML

Web Services

COM

ADO.NET

Web Parts

APIs

http://www.interoptips.com

Page 13: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

EXTENDING NOTES

13

Methods

HTTP

XML

Web Services

COM

ADO.NET

Web Parts

APIs

http://www.interoptips.com

Page 14: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

EXTENDING NOTES

14

Methods

HTTP

XML

Web Services

COM

ADO.NET

Web Parts

APIs

http://www.interoptips.com

Page 15: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

SHARE POINT

Page 16: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

EXTENDING NOTES

16

Methods

HTTP

XML

Web Services

COM

ADO.NET

Web Parts

APIs

http://www.interoptips.com

Page 17: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

SECURITY OPTIONS WEB SERVICES

Page 18: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

USING NETWORK CREDENTIALS

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim Cred As New NetworkCredential(TextBox2.Text, TextBox3.Text) ' Set User Name/Password credentials

'Dim Cred As New NetworkCredential("Joe User", "wordpass") ' Set User Name/Password credentials

Try

'DominoWS.Proxy.

'DominoWS.UseDefaultCredentials

DominoWS.Credentials = Cred ' asign credential to web service

DominoWS.PreAuthenticate = True ' force credentials in first call

TextBox4.Text = DominoWS.HELLO_NAME(TextBox1.Text) ' call call web service

Page 19: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

SECURITY XML WEB AGENT

Page 20: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

HOW DO THESE RICH CLIENTS FIT INTO

FUTURE ARCHITECTURES?

20

They are the future

Page 21: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

APPLICATION EVOLUTION

21

Domino

Server

Notes

ClientBrowser

Windows

Server

MS Office

Clients

Window

Forms

Mobile

DevicesOther

Clients…

Page 22: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

APPLICATION EVOLUTION

22

Future

Server

Notes

ClientBrowser

Domino

Server

MS Office

Clients

Window

Forms

Mobile

DevicesOther

Clients…

Page 23: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

CREATING DOMINO SERVICES

Domino Web Services

XML over HTTP

Page 24: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

CREATING A WEB SERVICE (R7+)

�Use Domino Designer

�Create "Web Service"

� Like creating an Agent

�Set properties in properties box

�Create LotusScript or Java class

�Generate WSDL - automatically

�Run Server

�Write WS client

Page 25: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

NEW DESIGN ELEMENT

Page 26: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

CREATE NEW WEB SERVICE

Page 27: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

ENTER LOTUSSCRIPT CLASS CODE

Page 28: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

VIEW WSDL FILE

Page 29: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

TIME TO TRY OUR WEB SERVICE

� Unlike VS.NET, Notes 7 has no way to test its Web services

� We must create a client application

� VS.NET only needs a network connection and the URL to the

WSDL file of the service

Page 30: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

R7 WEB SERVICES WSDL URL

� URL syntax of WSDL file:

http://MyServer/MyDatabase.nsf/MyWebService?WSDL

••In our example the URL is:In our example the URL is:

http://www.msdomino.net/orders.nsf/hello_world?wsdlhttp://www.msdomino.net/orders.nsf/hello_world?wsdl

Page 31: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

TRY THE URL WITH A WEB BROWSER

Page 32: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

WITH WSDL, CREATE WS CLIENTS

Page 33: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

A LOOK AT DOMINO WEB AGENT GENERATING

XML

� Web Agents execute with URL call

� Agent programs can do almost anything

� Creating a Web Agent that returns XML is easy

� Parameters are allowed

Page 34: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

LOTUSSCRIPT WEB AGENT CODE

Print "Content-type: text/xml“ 'Prevents Domino from sending default headers

Print |<?xml version="1.0" encoding="UTF-8" ?>|

Print "<CustomerOrders>" 'Orders is the root XML element

While Not ( doc Is Nothing ) 'Loop while there are document objects available

Print "<Orders>“ 'Send the parent element for each Order document

Print "<OrderID>"+FixChars(Cstr(doc. OrderID(0)))+"</OrderID>"

Print "<CustomerID>"+FixChars(Cstr(doc. CustomerID(0)))+ "</Customer..……

Print "</Orders>“ 'Close the Order element tag

Set doc = view.GetNextDocument( doc ) 'Get the next document in the view

Wend

Print "</CustomerOrders>"

End Sub

Page 35: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

LOTUSSCRIPT FIXCHARS FUNCTION CODE

Function FixChars(TextData As String) As String 'Replace XML chars For i=1 To Len(TextData)MyChar= Mid(TextData,i,1)Select Case MyCharCase "<"

F_XML= F_XML & "&lt;"Case ">"

F_XML= F_XML & "&gt;"Case |"|

F_XML= F_XML & "&quot;"Case "'"

F_XML= F_XML & "&apos;"Case "&"

F_XML= F_XML & "&amp;"Case Else

F_XML= F_XML & MyCharEnd Select

NextFixChars=F_XML

Page 36: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

DOMINO XML DATA VIA URL

Page 37: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

NON-DOMINO SERVER – NOTES XML

http://www.proposion.com/OrdersDemo/OrdersXml.aspx

Page 38: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

WHY NOT USE DOMINO XML OBJECTS?

� No good reason other than backward compatibility

� it was easier – fewer lines of code

Page 39: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

XML/HTTP PROVIDE DATA/TRANSPORT

� This is only one method

� Very flexible with long reach

� An HTTP/XML interface Agent can be used over and over in

many clients

Page 40: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

ARCHITECTURE FOR THE FUTURE

� Why build on Domino platform if I’m moving to Hanover, DB2,

ASP.NET or something else in the future?

� By creating clients access with standards, the backend system can be

swapped with changing clients

� Reuse yesterday’s and today work

Page 41: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

WHO WILL BUILD THESE NEW

APPLICATIONS?

� Lotus Notes Developers

� VB.NET 90% the same syntax as LotusScript

� VS.NET experience similar to Domino Designer’s

� No one knows your applications better

� Hybrid applications are quick and easy

� Add features to existing applications

41

Page 42: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s

FIND EXAMPLES OF DOMINO SERVICES

�� Domino Web ServicesDomino Web Services

�� Domino XML over HTTPDomino XML over HTTP�� http://interoptips.comhttp://interoptips.com

Page 43: INTEGRATING YOUR DOMINO APPLICATIONS WITH MICROSOFT … · 2016. 7. 9. · Lotus Notes Developers VB.NET 90% the same syntax as LotusScript VS.NET experience similar to Domino Designer’s