360 Systems

Lotus Domino Designer 8: Web Agents and Web Services (2 days)

Description

The Domino HTTP server task is extremely versatile. In addition to its HTML rendering tasks, it also executes several types of design elements coded in Java or LotusScript:
    • Agents run by a Form’s WebQueryOpen and WebQuerySave events.
    • Agents run by the ?OpenAgent URL command.
    • Web Services that run in response to a SOAP request message.
This course covers the development and security of these design elements. You will also learn debugging and run time error handling techniques. It also takes a close look at Web Service client requirements and teaches you how to code a simple Web Service client using a SOAP toolkit.

Course goals

This course will teach you how to:
    • Describe the differences and application of Agents run from a Form’s WebQueryOpen and WebQuerySave events and those run from the ?OpenAgent URL command.
    • Code Agents run by the Form’s WebQueryOpen event to work within the document context as well as perform lookups to other databases.
    • Conditionally run WebQueryOpen Agents depending on document state.
    • Define the server, database, and Agent security measures and ensure that Agents are run in the proper context.
    • Code Agents run by the Form’s WebQuerySave event to translate and validate user entries and provide useful feedback to users and redirect them to natural landing points in the application.
    • Code Agents run by the ?OpenAgent URL command to perform powerful actions and produce reports from Domino data, and learn different ways that a browser can run the ?OpenAgent command.
    • Debug Agent code and add run time error handling routines as well as how to analyze Agent-specific browser errors.
    • Define the key components and protocols of Web Services technology.
    • Use Web Services Explorer to perform basic testing of a Web Service.
    • Describe the differences between the various Web Services programming models and SOAP message formats as they apply to Web Services design element properties.
    • Code Web Services using LotusScript that accept simple and complex data types as parameters.
    • Code a simple Web Services client that runs from a browser and uses a SOAP toolkit.
    • Import a WSDL to create a LotusScript library that can be used by Notes or Domino to consume a Web Service.
    • Debug Web Services provider and client code and handle runtime code errors as well as SOAP faults.
    • Employ the Remote Debugging, Agent Logging, Profiling, and DDM Probe features to fully analyze Agent and Web Service operation and performance.

Audience

This course is designed for experienced programmers well versed in using Domino Designer 8. It assumes that you have:
    • thorough knowledge of the Domino Designer 8 development environment, including Form and View design, as well as how to use properties boxes, and how to set the ACL
    • mastered the Topics covered in these courses:
    • Domino Designer 8: Basic Notes Applications
    • Domino Designer 8: Basic Browser Applications
    • knowledge of Web technologies, including servers, browsers, HTML, Cascading Style Sheets, and some basic JavaScript.
While mastery is not expected, you should have a working understanding of LotusScript and the various Notes product objects.

This course is part of a series of Domino Designer 8 training courses. Follow these paths to master all aspects of developing applications using Domino Designer:



Domino Designer 8: Basic Notes Applications provides the base knowledge for this additional training:

Client Track

    • Configure Domino to use DB2 as a database engine and build applications that access relational data, DB2 for Domino 8 Administrators and Developers.
    • Specialize in programming Notes applications to respond to built-in user interface features, Domino Designer 8: Special Notes Features.
    • Convert an application written for Notes clients to be used in browsers, Domino Designer 8: Basic Browser Applications.
    • Provide data to cutting-edge Web applications, Domino Designer 8: Web Agents and Web Services.

Language Track. These languages apply to both Notes and browser clients:

    • Learn sophisticated application techniques that fully exploit the formula language in Domino Designer 8: Formula Language.
    • Develop sophisticated applications and Agents with LotusScript in Domino Designer 8: LotusScript.
    • Add powerful client-side scripting to browser applications in Domino Designer 8: JavaScript.

Duration

This course is sold as a 2-day course.

Course design

This is a lecture/lab course in which you will closely examine demonstration code and either modify or create additional Agent and Web Services code. You will immediately apply the concepts and techniques as you work in your own project database.

Outline

      Topic 1: Introduction

          Agents
          Web Services
          What follows
          Exercise: Create demonstration database

      Topic 2: WebQueryOpen Event Agents

          Form computation sequence
          Step 1: Create the Agent and set its properties
          Step 2: Code the Agent
          Step 3: Call the Agent from the Forms WebQueryOpen event
          Agent authority
          Step 4: Set the Agent properties Security tab options
          Who can run the Agent
          Database ACL
          Exercise: Set default email address in Review form
          Agents and document access Fields
          Prevent Agents from being run out of context
          Exercise: Prevent Agents from being run out of context

      Topic 3: WebQuerySave Event Agents

          Form computation sequence
          $$Return or WebQuerySave event?
          Create WebQuerySave Agent
          Print statements
          When Print statements are ignored
          Stop document from being saved
          Exercise: Part Form validation

      Topic 4: Web Agents

          Create a Web Agent
          Run Web Agents
          Agent context versus document context
          Agent ouput
          Pass argument(s) to a Web Agent
          Parse URL arguments
          @Command([RunAgent])
          Exercise: Browser-based reporting
          Example: I forgot my password Web Agent
          Example: Download view in Excel Web Agent

      Topic 5: Web Agent Error Handling

          WebQueryOpen event Agents
          WebQueryClose event Agents and Web Agents
          Runtime error handling
          Web server response codes
          Common 4xx and 5xx response codes
          Agent-specific browser errors
          HTTP server performance and Agents run by browsers

      Topic 6: Web Services Concepts

          Web Services basics
          Definitions
          Domino 8 and Web Services
          What Web Services are publicly available?
          Testing a Web Service
          Exercise: Web Services Explorer
          SOAP programming models and formats
          Exercise: Multiple, detailed stock quotes
          Web Services versus Web Agents
          Web Services clients

      Topic 7: Web Service Properties

          Domino-based Web Service from Web Services Explorer
          Create Web Service design element
          Import WSDL file
          Web Service properties and the WSDL
          Show WSDL
          Basics tab
          Advanced tab
          Security tab
          Alternative security model
          Get Domino Web Service information from a browser
          Domino-based Web Service from browser

      Topic 8: Web Service Programmers Pane

          Code the operations
          Web Service context
          Resulting WSDL
          WSDL from the client perspective
          Greeting Web Service code
          Simple data types for request and response parameters
          Explicit data type conversion
          Multiple request parameters
          Complex data types
          Web Service accepts an array as parameter
          Web Service responds with array

      Topic 9: Consume Web Services

          PocketSOAP Examples page
          VBScript
          PocketSOAP
          Greetings from Domino button
          Exercise: Understand lookup examples
          Send array to Web Service
          Receive array from Web Service
          Class objects
          Exercise: Save changes to a Part
          Notes, LotusScript, and PocketSOAP
          Notes/Domino native Web Service consumers

      Topic 10: Web Service Error Handling

          SOAP faults
          SOAP Fault Example page
          Web Service-side error handling
          Client-side error handling of VBScript errors
          Web Service system-generated SOAP faults
          Web Service developer-defined SOAP faults
          Client-side error handling of a SOAP fault

      Topic 11: Remote Debugging, Logging, and Profiling

          Remote LotusScript Debugger
          Java debugger support
          Domino Server Log
          Private Agent log
          Agent Log database
          Agent performance and Agent Profiling
          DDM Application Probes

Call Me Back

Submit

Client Testimonial

"Our business can be complicated because there is so much activity. The software is probably the only solution tough enough to handle it."

Read more...