Using XML and Web Services in Domino 8.5
Course Code: ND85XML
Course Title: Using XML and Web Services for Domino 8.5
Units: 12
Duration: 3 classroom equivalent days
Discussion Access: One Year

Summary Description
This course will introduce the Domino Developer to XML and web services. The basics of XML are covered including terms such as "well-formed" and "valid." Next, learn how to incorporate XML into Domino Applications using standard design elements such as agents, forms, pages and views. Both LotusScript and Java will be used to parse and import XML data into Domino applications. Learn how to use XLST style sheets to transform XML data in Domino agents. The Domino XML Language (DXL) is used to both export and import Domino data and design elements. Finally, an extensive series of lessons will teach you how to use Domino 8.5 to make available web services (using both LotusScript and Java) on a Domino server for use by any web services client. Consuming web services will also be covered in this course.

This course will prepare you for Test LOT-805 - Using Web Services in IBM Lotus Domino 8 Applications. Pass this exam to become an IBM Certified Advanced Application Developer - Lotus Notes and Domino for either 8.0 or 8.5 (provided you are already certified at the Application Developer level). Note: This course provides lessons and activities for using both LotusScript and Java when working with agents and web services, but the exam focus is directed to LotusScript.

Audience and Prerequisites
Experienced Notes Domino 8.5 developers who want to learn how to use XML and Web Services in Notes and Domino applications. Experience developing LotusScript and Java agents in Domino is required.
The following TLCC courses (or their equivalent) are prerequisite for this course:
  • Notes Domino 8.5 Application Development 1
  • Beginner LotusScript for Notes Domino 8.5
  • Beginner Java Programming for Notes Domino 8.5

System Requirements
A Domino Designer 8.5 client and a current browser are required to take this course. Access to the Internet is required to get instructor support.

Course Modules
Module 1 - Introduction to XML
This module introduces the structuring of an XML document. You will learn the syntax rules for creating well-formed XML documents. You will write an XML DTD to validate well-formed XML documents using an XML parser. You will also learn how to apply XSLT and CSS stylesheets to your XML documents.
  • Understand the structure of XML data and how it can be used
  • Learn how XML data can be used in Domino applications
  • Learn XML syntax
  • Create well-formed XML documents
  • Validate XML documents
  • Format XML documents using CSS stylesheets
  • Transform XML documents using XSLT stylesheets
Module 2 - Producing XML from Forms and Pages
In this module you learn how to create an XML document from a Notes document using field formulas and form design techniques. You also learn techniques to support XML applications using page design elements.
  • Create an XML document from a Notes document using a field formula
  • Create an XML document from a Notes document using a form design
  • Learn techniques to support XML applications using page design elements
Module 3 - Producing XML from Views and Creating RSS Feeds
This module will shows how Domino views can be designed to display documents as well-formed XML data. Creating an RSS Feed from an XML based Notes view is also covered.
  • Design a view to convert data from Notes documents to XML
  • Convert data from Notes documents to XML using a single-column view
  • Create an RSS Feed from an XML based Notes view
Module 4 - Producing XML from Agents and Servlets
In this module you learn how to create LotusScript and Java agents to parse, transform, export, and import XML data in Domino applications.
  • Create a LotusScript agent that produces XML from a Notes document
  • Create a LotusScript agent that produces XML from a Notes document collection
  • Create a Java agent that produces XML from a Notes document
  • Create a Java agent that produces XML from a Notes document collection
  • Enable Java servlet support on a Domino server
Module 5 - Processing XML in Domino Applications
This module reviews the main XML techniques for Domino applications, importing and exporting. You work with a Domino application that imports Notes documents from an external XML source and exports Notes documents as XML.
  • Learn about the XML properties and methods available in the Domino Classes for LotusScript and Java
  • Create LotusScript and Java agents to test if XML data is well-formed and valid
  • Parse XML data using the Document Object Model (DOM) and Simple API for XML (SAX)
  • Create a Java agent to import XML data to create Notes documents
  • Import XML data into a Domino application
  • Export XML data from a Domino application
  • Create a Java agent to transform XML documents with an XSLT stylesheet
Module 6 - Domino XML Language (DXL)
This module introduces DXL (Domino XML Language) and how it can be used to export and import Domino data and design elements.
  • Learn about DXL (Domino XML Language)
  • Review the programmatic APIs for working with DXL via Java and LotusScript
  • Understand the tools for exporting DXL from the Domino Designer client
  • Export DXL programmatically
  • Import DXL programmatically
Module 7 - Web Services in Domino
Starting with Release 7, Web Services are created as a design element using the Domino Designer client, and are accessed from a Domino server. The WSDL for these web services are automatically created and can be viewed from the Domino Designer client. This module will cover what web services are, the definitions used in web services, and how to create web services using LotusScript.
  • Learn what web services are
  • Understand what a WSDL file does
  • Learn what SOAP is and how it uses XML
  • Understand the UDDI registry
  • Learn about SOAP Responses and SOAP Requests
  • Create LotusScript web services using simple datatypes for input and output
  • Create LotusScript web services that return complex data types and arrays
  • Understand error handling in web services and how to generate faults
Module 8 - Java Web Services
This module will cover how to create web services using Java.
  • Create Java web services using simple datatypes for input and output
  • Create Java web services that return complex data types and arrays
  • Understand error handling in Java web services and how to generate faults
Module 9 - Web Service Clients
Notes Domino 8.5 now includes the native capability to consume web services. Consuming web services requires sending and receiving data (formatted as SOAP) to a listening web service. Web Service consumer clients are implemented in Notes Domino 8.5 similar to Script Libraries (LotusScript or Java). These libraries can then be used in agents and events to make calls to the web services defined in the libraries.
  • Create a LotusScript Web Service Consumer to access a web service
  • Create a Java Web Service Consumer to access a web service