ShowTable of Contents
Table of Contents |
Previous Page |
Next Page
Objective of this section
Domino is a platform for you to build powerful applications that can run on all major operating systems. You can build web based applications or client based applications that can run on Windows, Macintosh or Linux PCs. The Domino Designer client provides the tools to build all the applications you need whether they are web based or client based.
Client apps vs Web apps
There isn't a magic answer as to which type of application you should build. It will depend upon the requirements for the applications. If you are needing to support users that are not under your control, then a browser based solution would be the answer. With Notes supporting XPages in the client you will be able to start building applications that can run in both the browser and the client.
With a client you have direct control over the application and a lot of features that can not be supported in the browser. With Domino Policies you can make sure all the client version and setup are similar. With a browser you have little control over it's setup. Offline applications are easier to build with a client since replications handles the data.
Web based application may require less training since most users are familiar with a browser and links. Most users have had experience with the web and if you stick to standard web practices, they should be able to pick up your application.
While each method has it's own distinct advantages, the biggest advantage for web development is that you are no longer confined to the structure of the Notes Client. You have the flexibility to define your own structure to the UI. You can make a normal Notes view be anything you want, from a navigation menu to a catalog with images. You will be able to seamlessly blend multiple Notes applications into one web application. With XPages you can now add web 2.0 features without having to build your own. The dojo JavaScript library is included with the server and is part of the controls you can add to any web page.
Domino as a Web server
IBM Lotus Domino provides an integrated Web application hosting environment which can be used to host web based applications containing appropriate code for the web environment.
Domino translates all the requests from the browser into HTML and uses HTTP(S) protocol for displaying the UI.
Developers have the option to store the web pages either as static HTML pages in the Domino file system or in a nsf file. The latter approach has its distinct advantages as it can display real time updates and be easily replicated to other servers.
The following diagram shows how the Domino Web server works.
Any web site based on Domino can consist of either single or multiple databases.
Domino supports following Web server features:
- Pass-thru HTML on Notes forms and pages.
- Security for applications using standard Domino security.
- Java™ applets.
- JavaScript™.
- CGI programs.
- Static HTML pages.
- Caching.
- URL extensions.
- Redirecting and remapping URLs and directories to another location.
- Multiple Web sites with separate DNS names on a single server.
- Failover using clustering.
Blogs and RSS feeds can also be hosted on Domino Web servers. IBM provides database templates (ntf) for both of these as part of standard server deployment.
You can also enable Domino Web XML services on the server to connect with other non-Domino servers.

What kind of applications can be developed
A Domino web server can be used to host any kind of application that can be exposed on web. However, the power of Domino is best utilized when developing workflow based applications which can be up to any level. You can also develop dynamic workflow application which can be updated from the browser client itself.
A Domino based application can also be configured to work with other applications hosted on either Domino or non-Domino servers.
Other applications can access Domino data using any of the following options:
- DIIOP (Corba classes)
- Web Services
- XML
- DSAPI
- JSON
Web Services is the most recommended method for connectivity to other applications as Domino now provides inbuilt classes for both consuming and providing and web service and they can be developed either in native Lotus Formula Language, LotusScript or Java™.
With the introduction of XPages in Release 8.5 the development of a web based application has been greatly simplified for Domino developers. A lot of tasks which earlier took many lines of code to complete are now just a matter of simple drag and drop.
We will see further advantages of XPages in later sections.

What is new in Designer 851 and improvements over earlier versions
The Domino Designer 8.5.1 client has been greatly improved with many features requested by customers. With the Designer now based on Eclipse, there is a major change in the look and feel. Do plan to take some time to become familiar with the new layout.
Here is a brief overview of some of them:
- Working Sets
Now you can group the databases that you work on in to sets. You can then select one or more sets to view at a time. The left navigation is no longer a long list of every application you worked on.
- Design Element filtering
You can filter the list of design elements using the filter field. Instead of searching though 60 views, you can enter a value to filter the view list to a manageable list.
- LotusScript editor for Eclipse
The new improved LotusScript editor based on Eclipse will make coding so much easier. You get class browser,templates, sort functions and more.
- Template and Comment Templates
There are new Notes Preferences under a section of the Domino Designer for LotusScript Editor. You can now define templates containing code used frequently that can be inserted into your code. Comment Template allow you to define documentation for each type of code module that is then automatically inserted each time you create a new module (class, sub, property get etc.).
- Class Editor
The new class editor allows the developer to see the outline of a library broken down into classes, properties, and methods. The code of each class is displayed as a single paragraph. The properties and methods are shown in alphabetical order.
- Eclipse based Java editor
Use one of the best Java editors around for editing agents, libraries, and Web services. All the features of Eclipse are available to you.
- Notes Client Java UI API
Now you can control the UI through Java. You don't have to resort to LotusScript.
- Domino Designer Extension API
You can build additional features and plugins for the Designer. You can utilize the large amount of information available from the Eclipse community.
- Error Reporting
The LotusScript error handling has been improved. The developer no longer needs to save the code to see if they have errors. As you complete statements, the editor places a red line next to each line containing an error. The editor allows you to save the LotusScript code even though it contains errors. The complete list or errors is displayed in a special error panel for more convenience.
- Class Definitions
The editor now recognizes custom classes. The developer just needs to hover over any declaration so that a definition of the datatype or class appears as a tool tip. If the class is a custom class, it just displays information about that class.
- New LotusScript/COM/OLE classes
The following 6 methods are new: NotesRichTextDocLink.RemoveLinkage, NotesDocument.GetRead,NotesDocumentCollection.StampAllMulti, NotesView.ResortView, NotesViewEntry.GetRead, and NotesViewEntryCollection.StampAllMulti
- New Java/CORBA classes
20 new methods and 1 new property were added.
- XPage Support
XPage will give you a powerful tool to build your applications.You will see what Xpages can do by reading this entire article.
- XPage for Notes Client
Build an application and have it available in the Notes Client and the web browser!
- XPage offline support
Run the XPage applications offline with the ability to replicate the data and designs, so you can work without a network.
- Components based on XPages
Now you can use XPages in the composite applications that you build.
- Composite Application Editor
The editor has been improved and and new features added. For a full list see the Domino Designer Help.
- Themes
