Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. BP309 – Extreme Integration - Techniques for Advanced Integration of Office and OpenOffice with IBM Lotus Notes and Domino John Head – PSC Group, LLC
  2. 2. Before we begin … Please turn off/set to vibrate/mute all Cell Phones Pages Computers Please remember to fill out your evaluations Hand in at end of session Fill out via Lotusphere Online
  3. 3. Otherwise known as The “Kumbaya” Session or “The only session where IBM and Microsoft are going to play nice and not beat each other up at Lotusphere”
  4. 4. Who is John Head? <ul><li>Offering and Development Manager for our enTouch frameworks </li></ul><ul><ul><li>Technical and Sales role </li></ul></ul><ul><li>Involved in Lotus technology since 1993 </li></ul><ul><li>Speaker for 20 sessions at Lotusphere since 1996 </li></ul><ul><li>Speaker at Advisor conferences </li></ul><ul><li>IBM Lotus Notes/Domino Certified </li></ul><ul><li>Author for Advisor Magazine and Group Computing on Office and SmartSuite integration with Notes </li></ul><ul><li>Blog and site with articles </li></ul><ul><ul><li>www.johndavidhead.com </li></ul></ul>Basic text slide
  5. 5. Where do I work? <ul><li>PSC Group, LLC (www.psclistens.com) </li></ul><ul><li>Midwest Mid-Market Professional Services Firm </li></ul><ul><li>IBM Premium Business Partner for 15 Years </li></ul><ul><li>Host of Ed Brill’s blog ( www.edbrill.com ) </li></ul><ul><li>Host of Alan Lepofsky’s Notes Tip’s blog ( www.alanlepofsky.net ) </li></ul><ul><li>Host of OpenNTF.org (www.openntf.org) </li></ul><ul><li>Winner of 2005 Lotus Award for Best Competitive Win! </li></ul>Basic text slide
  6. 6. What has John been doing since Lotusphere05?
  7. 7. What has John been doing since Lotusphere05?
  8. 8. John has been … <ul><li>Working closer with Microsoft to make the new .NET technology be read for “prime time” </li></ul><ul><li>Building Web Services until his eyes fall out </li></ul><ul><li>Building OpenOffice samples </li></ul><ul><li>Losing sleep over the OpenOffice APIs </li></ul><ul><li>Shaking his head at the document standard war </li></ul><ul><li>And all of the above </li></ul>
  9. 9. Purpose <ul><li>Present new ways to integrate </li></ul><ul><li>Utilize new features in Visual Studio.NET and Visual Studio Tools for Office 2005 </li></ul><ul><li>Utilize new features in OpenOffice 2.0.1 </li></ul><ul><li>Take advantage of Notes & Domino 7 functionality </li></ul><ul><li>Demonstrate some of the possibilities </li></ul><ul><li>Discuss the ‘XML format’ war started in 2005 but most importantly … </li></ul><ul><li>Push Microsoft Office and OpenOffice to the EXTREME </li></ul>Agenda slide Expect lots of Code !!!
  10. 10. A little poll <ul><li>Who is using … </li></ul><ul><ul><li>Office 97 and earlier </li></ul></ul><ul><ul><li>Office 2000 </li></ul></ul><ul><ul><li>Office XP </li></ul></ul><ul><ul><li>Office 2003 </li></ul></ul><ul><ul><li>OpenOffice / StarOffice </li></ul></ul><ul><ul><li>Office for the Mac </li></ul></ul><ul><ul><li>Microsoft Works </li></ul></ul><ul><ul><li>iWorks or Appleworks </li></ul></ul><ul><ul><li>SmartSuite </li></ul></ul><ul><ul><li>Other </li></ul></ul>Agenda slide
  11. 11. Agenda <ul><li>Getting Started </li></ul><ul><li>Word Solutions with COM </li></ul><ul><li>Word Solutions with Web Services </li></ul><ul><li>Dealing with Templates </li></ul><ul><li>XML in Office </li></ul><ul><li>Visual Studio.NET </li></ul><ul><li>Visual Studio Tools for Office </li></ul><ul><li>OpenOffice Mail Merge </li></ul><ul><li>Resources </li></ul><ul><li>Question and Answers </li></ul>Agenda slide
  12. 12. Getting Started <ul><li>This session builds on top of JMP204 –The Hitchhikers Guide to Microsoft Office Integration with IBM Lotus Notes and Domino </li></ul><ul><li>Terms used in this presentation </li></ul><ul><ul><li>XML </li></ul></ul><ul><ul><ul><li>Well Formed </li></ul></ul></ul><ul><ul><ul><li>Schemas </li></ul></ul></ul><ul><ul><ul><li>Transform </li></ul></ul></ul><ul><ul><li>Web Services </li></ul></ul><ul><ul><ul><li>SOAP </li></ul></ul></ul><ul><ul><ul><li>UDDI </li></ul></ul></ul><ul><ul><ul><li>WDSL </li></ul></ul></ul><ul><ul><li>Office 2003 </li></ul></ul><ul><ul><ul><li>wordprocessingML / spreadsheetML / etc </li></ul></ul></ul><ul><ul><ul><li>SmartDocuments </li></ul></ul></ul>
  13. 13. Integration in 2006 <ul><li>Proprietary Technologies are being replaced </li></ul><ul><ul><li>Moving to standards-based </li></ul></ul><ul><ul><li>Office XML and OpenDocument formats </li></ul></ul><ul><ul><li>XML and Web Services </li></ul></ul><ul><li>No Longer limited to OLE and COM </li></ul><ul><li>Integration without needing local data </li></ul><ul><ul><li>Notes Client not required </li></ul></ul><ul><li>XML is the foundation </li></ul>
  14. 14. Integration in 2006 (cont) <ul><li>New applications and tools </li></ul><ul><li>Difficulty scale increasing drastically </li></ul><ul><li>Limitations being removed </li></ul><ul><ul><li>Speed </li></ul></ul><ul><ul><li>Data Size </li></ul></ul><ul><ul><li>Presentation Options </li></ul></ul><ul><li>Integration should always focus on the end user </li></ul>
  15. 15. The Starting Point – Word 2003 <ul><li>COM and OLE are not bad! </li></ul><ul><li>Builds on existing Domino skills </li></ul><ul><ul><li>LotusScript = VBA </li></ul></ul><ul><li>Allows access to Domino data using familiar techniques </li></ul><ul><li>Can be initiated in multiple places </li></ul><ul><ul><li>Notes Client </li></ul></ul><ul><ul><li>Office Application </li></ul></ul><ul><ul><li>Internet Explorer (via VBScript and ActiveX) </li></ul></ul>
  16. 16. Baby Steps <ul><li>Focus on end user and the goal </li></ul><ul><ul><li>Where will the file be stored? </li></ul></ul><ul><ul><li>Is the file for printing/viewing/storage </li></ul></ul><ul><ul><li>What does the end user community want? </li></ul></ul>
  17. 17. Word 2003 Demo <ul><li>Create a new document </li></ul><ul><li>Prompt User to select something </li></ul><ul><li>Place data into document </li></ul><ul><li>Let’s look see the demo </li></ul>
  18. 18. Limitations with the ‘traditional method’ <ul><li>Notes Client must be installed </li></ul><ul><li>Must have understanding of </li></ul><ul><ul><li>Notes Object Model </li></ul></ul><ul><ul><li>Notes Storage Model </li></ul></ul><ul><li>Can be slow with large amounts of data </li></ul>
  19. 19. Web Services <ul><li>Self-contained application published and invoked from the Web </li></ul><ul><li>Based on XML </li></ul><ul><li>Uses WSDL and SOAP </li></ul><ul><li>Designed for machine-to-machine interaction over a network </li></ul><ul><li>Advantages </li></ul><ul><ul><li>Connects various applications running on different platforms </li></ul></ul><ul><ul><li>Use open standards and protocols </li></ul></ul><ul><ul><li>Use HTTP bypassing firewall and other security measures </li></ul></ul><ul><li>Disadvantages </li></ul><ul><ul><li>Poor performance as opposed to DCOM </li></ul></ul>
  20. 20. First things first <ul><li>First, you need to build a Web Service </li></ul><ul><li>They can be written using LotusScript, Java or importing WSDL </li></ul><ul><li>They are very similar to an agent </li></ul><ul><li>To be able to write a web service, you must know how to write a Class </li></ul><ul><li>AD202 – Web Services and IBM Lotus Notes and Domino 7 </li></ul><ul><li>AD230 – Tips and Topics for Developing Web Services in IBM Lotus Domino Designer </li></ul>
  21. 21. Web Service Classes <ul><li>Example of a simple class </li></ul><ul><li>Class GetPersonInfo </li></ul><ul><li>Sub New </li></ul><ul><li>End Sub </li></ul><ul><li>Public Function GetEmailAddress(personname As String) As String </li></ul><ul><li>End Function </li></ul><ul><li>Public Function GetPhoneNumber(personname As String) As String </li></ul><ul><li>End Function </li></ul><ul><li>End Class </li></ul>
  22. 22. Word 2003 Demo with Web Services <ul><li>Same demo as the Word 2003 COM demo </li></ul><ul><li>Different Technology </li></ul><ul><li>Get to the same place with different technologies </li></ul><ul><li>Remember, it is not how you build it, but how the user experiences it </li></ul>
  23. 23. Word 2003 Demo – Web Services <ul><li>Create a new document </li></ul><ul><li>Prompt User to select something </li></ul><ul><li>Place data into document </li></ul><ul><li>Let’s look see the demo </li></ul>
  24. 24. Office Templates <ul><li>How did I get that template in my New dialog? </li></ul><ul><li>Template Installation Tool </li></ul><ul><ul><li>Each template is a document </li></ul></ul><ul><ul><li>Supports all Office 2000, XP (2002), and 2003 applications </li></ul></ul><ul><li>Can also be used as a programmatic template tool </li></ul><ul><li>Will be submitted to OpenNTF.org this week </li></ul><ul><li>Let’s see the demo </li></ul>
  25. 25. Office 2003 and XML <ul><li>XML is everywhere! </li></ul><ul><li>Many documents can be stored as XML </li></ul><ul><ul><li>Options to save only data </li></ul></ul><ul><li>Import data from XML file </li></ul><ul><li>Specific/Import XML Schema </li></ul><ul><li>Transform XML with XML Style Sheets </li></ul>
  26. 26. XML <ul><li>The Extensible Markup Language </li></ul><ul><li>Can describe different types of data </li></ul><ul><li>Human and machine readable format </li></ul><ul><li>Self-documenting </li></ul>
  27. 27. XML Sample <ul><li><?xml version=“1.0”?> </li></ul><ul><ul><li><LOTUSPHERE> </li></ul></ul><ul><ul><ul><li><SESSION>BP309</SESSION> </li></ul></ul></ul><ul><ul><ul><li><PRESENTER>John Head</SESSION> </li></ul></ul></ul><ul><ul><ul><li><ROOM>SW 10</ROOM> </li></ul></ul></ul><ul><ul><ul><li><DATE>1.25.2006</DATE> </li></ul></ul></ul><ul><ul><ul><li><STARTTIME>1330</STARTTIME> </li></ul></ul></ul><ul><ul><ul><li><DURATION>60</DURATION> </li></ul></ul></ul><ul><ul><li></LOTUSPHERE> </li></ul></ul>
  28. 28. Well Formed Data <ul><li>XML file that conforms to strict rules </li></ul><ul><li>Most programs require well formed data to open/read the file </li></ul><ul><li>Applications that support Well Formed XML </li></ul><ul><ul><li>OpenOffice 1.X and 2.X </li></ul></ul><ul><ul><li>Access </li></ul></ul><ul><ul><li>Excel </li></ul></ul><ul><ul><li>InfoPath </li></ul></ul><ul><ul><li>Word </li></ul></ul>
  29. 29. Schemas <ul><li>XML file definition </li></ul><ul><li><xsd:element name=“LOTUSPHERE”> </li></ul><ul><ul><li><xsd:complexType> </li></ul></ul><ul><ul><ul><li><xsd:sequence> </li></ul></ul></ul><ul><ul><ul><ul><li><xsd:element name=“SESSION” type=“xsd:string”/> </li></ul></ul></ul></ul><ul><ul><ul><ul><li><xsd:element name=“PRESENTOR” type=“xsd:string”/> </li></ul></ul></ul></ul><ul><ul><ul><ul><li><xsd:element name=“ROOM” type=“xsd:string”/> </li></ul></ul></ul></ul><ul><ul><ul><ul><li><xsd:element name=“DATE” type=“xsd:date”/> </li></ul></ul></ul></ul><ul><ul><ul><ul><li><xsd:element name=“STARTTIME” type=“xsd:time”/> </li></ul></ul></ul></ul><ul><ul><ul><ul><li><xsd:element name=“DURATION” type=“xsd:integer”/> </li></ul></ul></ul></ul><ul><ul><ul><li></xsd:sequence> </li></ul></ul></ul><ul><ul><li></xsd:complexType> </li></ul></ul><ul><li></xsd:element> </li></ul>
  30. 30. Transforms <ul><li>Allows for reuse of a single data file with multiple presentation formats </li></ul><ul><li>In Office, defined for each application </li></ul><ul><li>True power of XML in Office </li></ul>
  31. 31. Sample Transform File <ul><li><?xml version=“1.0”?> </li></ul><ul><li><xsl:stylesheet version=“1.0”> </li></ul><ul><li><TABLE> </li></ul><ul><ul><li><TR> </li></ul></ul><ul><ul><ul><li><TH>SESSION</TH> </li></ul></ul></ul><ul><ul><ul><li><TH>PRESENTOR</TH> </li></ul></ul></ul><ul><ul><ul><li><TH>ROOM</TH> </li></ul></ul></ul><ul><ul><ul><li><TH>DATE</TH> </li></ul></ul></ul><ul><ul><ul><li><TH>STARTIME</TH> </li></ul></ul></ul><ul><ul><ul><li><TH>ENDTIME</TH> </li></ul></ul></ul><ul><ul><li></TR> </li></ul></ul><ul><li><xsl:for-each select=“LOTUSPHERE”> </li></ul><ul><ul><li><TR ALIGN=“LEFT” VALIGN=“TOP”> </li></ul></ul><ul><ul><ul><li><TD> </li></ul></ul></ul><ul><ul><ul><ul><li><xsl:value-of select=“SESSION”/> </li></ul></ul></ul></ul><ul><ul><ul><li></TD> </li></ul></ul></ul><ul><ul><li></TR> </li></ul></ul><ul><li></xsl:for-each> </li></ul><ul><li></TABLE> </li></ul>
  32. 32. Using XML with Excel <ul><li>Read XML from a Notes Database </li></ul><ul><li>XML generated via Agent in Notes Database </li></ul><ul><li>Chart the data using Excel charting tools </li></ul><ul><li>Works with Domino 5.X, 6.X, 6.5.X </li></ul>
  33. 33. Visual Studio.NET <ul><li>Microsoft Development Environment </li></ul><ul><li>Supports Multiple Languages </li></ul><ul><ul><li>VB.NET </li></ul></ul><ul><ul><li>C# </li></ul></ul><ul><ul><li>Etc </li></ul></ul><ul><li>Support for WinForms </li></ul><ul><li>Uses .NET Security </li></ul>
  34. 34. Visual Studio.NET WinForms Demo <ul><li>Same data as the Excel Database </li></ul><ul><li>Uses a Web Service </li></ul><ul><li>Stand-alone applications </li></ul><ul><li>Let’s look at the demo and code </li></ul>
  35. 35. Smart Documents <ul><li>New class of Office application development </li></ul><ul><li>Built with Visual Studio Tools for Office </li></ul><ul><li>Inherits Visual Studio.NET security model </li></ul><ul><ul><li>“ Managed Code” </li></ul></ul><ul><li>VS.NET can build installers for VSTO applications </li></ul>
  36. 36. Visual Studio Tools for Office <ul><li>Addin for Visual Studio.NET </li></ul><ul><li>Adds support for </li></ul><ul><ul><li>Word </li></ul></ul><ul><ul><li>Excel </li></ul></ul><ul><ul><li>InfoPath </li></ul></ul><ul><ul><li>Outlook </li></ul></ul><ul><li>Can develop in </li></ul><ul><ul><li>Visual Basic </li></ul></ul><ul><ul><li>C# </li></ul></ul>
  37. 37. Building a VSTO application <ul><li>Incorporate Web Services and VSTO </li></ul><ul><li>Session Selection in Task Pane </li></ul><ul><li>Let’s see the demo </li></ul>
  38. 38. What?
  39. 39. OpenOffice <ul><li>New version release in 2005 </li></ul><ul><ul><li>2.0 </li></ul></ul><ul><ul><li>2.0.1 just released </li></ul></ul><ul><li>Many people use OpenOffice in place of Office </li></ul><ul><li>Introduction samples in Jumpstart </li></ul><ul><li>Let’s look at Mail Merge with OpenOffice </li></ul>
  40. 40. OpenOffice Integration <ul><li>With Notes, we use the COM object </li></ul><ul><li>Set objServiceManager = CreateObject(&quot;com.sun.star.ServiceManager&quot;) </li></ul><ul><li>Set objCoreReflection= objServiceManager.createInstance(&quot;com.sun.star.reflection.CoreReflection&quot;) </li></ul><ul><li>Set objDesktop = objServiceManager.createInstance(&quot;com.sun.star.frame.Desktop&quot;) </li></ul><ul><li>Set objDocument = objDesktop.loadComponentFromURL(&quot;private:factory/swriter&quot;, &quot;_blank&quot;, 0, args) </li></ul>
  41. 41. OOo Mail Merge <ul><li>Same concepts as Word Mail Merge </li></ul><ul><ul><li>User selects data </li></ul></ul><ul><ul><li>Generate data file </li></ul></ul><ul><ul><li>Detach template </li></ul></ul><ul><ul><li>Launch Writer </li></ul></ul><ul><ul><li>Execute Mail Merge </li></ul></ul><ul><ul><li>Produce End Document </li></ul></ul><ul><li>Two steps today </li></ul><ul><li>Let’s see the demo </li></ul>
  42. 42. The Future <ul><li>ND7 will help bring web services into our world </li></ul><ul><li>The standard battle will be hardest on the developer </li></ul><ul><ul><li>Office 12 XML formats </li></ul></ul><ul><ul><li>OpenDocument </li></ul></ul><ul><li>Office “12” will be very different </li></ul><ul><ul><li>New User Interface </li></ul></ul><ul><ul><li>New File Formats </li></ul></ul><ul><ul><li>Lots of new options and customization vehicles </li></ul></ul><ul><ul><ul><li>How much of what works today will work in 12? </li></ul></ul></ul><ul><li>OpenOffice 2 is a great alternative </li></ul>
  43. 44. Wrap-up <ul><li>Reviewed how to architect integration projects </li></ul><ul><li>Got an understanding of the technologies used </li></ul><ul><li>Walked thru lots of examples </li></ul><ul><li>Introduction to new Notes & Domino 7 functionality </li></ul><ul><li>Showed OpenOffice.org is an alternative </li></ul>Agenda slide
  44. 45. Resources <ul><li>LDD Discussions (Notes.Net) </li></ul><ul><li>http://www-130.ibm.com/developerworks/lotus </li></ul><ul><li>Advisor Magazine </li></ul><ul><li>http://www.advisor.com </li></ul><ul><li>MSDN </li></ul><ul><li>http://msdn.microsoft.com </li></ul><ul><li>OpenOffice </li></ul><ul><li>http://www.openoffice.org </li></ul><ul><li>Domino and .NET Samples </li></ul><ul><li>http://www.msdomino.net </li></ul><ul><li>John Head’s blog </li></ul><ul><li>http://www.johndavidhead.com </li></ul><ul><li>Slides and content available from </li></ul><ul><li>http://www.johndavidhead.com </li></ul><ul><li>http://www.psclistens.com on the Events menu </li></ul>Basic text slide
  45. 46. Questions & Answers Thank You! Please turn in your evaluations or fill them out online! [email_address] www.johndavidhead.com www.psclistens.com