Domino® applications and XML

One of the clearest benefits of XML is that because this emerging technology builds on the standards of HTML and SGML, it represents an evolution of data sharing rather than a revolution that requires new hardware and software. XML marries perfectly with Domino® applications. Where XML gives the power to describe data and share it across a network, Domino® provides all of the other tools you need to make that data sharing secure, reliable, and efficient. In addition to providing a medium for writing and serving XML data to an XML parser, Domino® Designer also provides:

  • A powerful development environment including a set of programming tools for building your collaborative e-business applications.
  • Layers of security you need to protect data -- from database access control down to individual field encryption.
  • Search capabilities for users to efficiently locate data.
  • Messaging for workflow operations such as order confirmation, e-mail notification, and document review.

In addition to the development tools provided with Domino® Designer, you get the connectivity services that allow you to connect your application with major backend systems, including:

  • ERP systems, such as SAP, PeopleSoft, Oracle, and JD Edwards
  • Relational databases, such as DB2®, Sybase, and Oracle
  • Transactional systems, such as IBM® CICS®, MQ Series, WebSphere®, and BEA Tuxedo

Applications enhanced with XML

To illustrate how to integrate XML in a Designer application, consider an online site that sells books, among other things. The XML tags that describe data about each book are standardized tags such as <bookTitle> and <bookAuthor>. Any application that processes data about books can use these standard tags to describe specific data about books. The application can interact with book vendors as well as with purchasers using this standard data format.

Just about any application can work with XML. For example, consider an auto supply store that maintains an e-commerce site with an online catalog of auto parts. With XML as the common language to describe part information, the purchasing agent can pull information from various vendors about part pricing and availability directly into a Domino® database. Users can access this database for up-to-date information about parts they can order online. Domino® then provides all of the necessary tools to complete secure online transactions for ordering parts and managing inventory.

Another example is a human resources "self-service" application that employees can use to access and manage their own personal data. For example, the company can publish benefits information on an intranet site and allow employees to make their benefit selections online using a Notes® client or a Web browser. After making selections, an employee submits the data in XML format to a server such as IBM's WebSphere® Application Server. The server uses a Java servlet to pass the data along to the HR backend system -- for example, a PeopleSoft database -- and notifies Domino® when the transaction is complete. The XML tags describe the data being passed so that the data means the same in the Domino® application as it does in the PeopleSoft database.

Ways to include XML in a Designer application

There are several ways you can include XML in a Domino® Designer application and serve the data to an XML parser.

You can enter XML tags that describe data on a form or a page. By treating the contents of the form or page as XML, you can serve the XML to an XML parser that can interpret the tags. XML describes the data being presented. To format and style the data on the form or page, you can use a stylesheet, created with the Extensible Stylesheet Language (XSL) to transform the data into HTML, or you can use a Cascading Style Sheet (CSS) to style the XML directly on the client.

You can also generate XML data with a view by including XML tags in column formulas. To pass the view to the server, you must embed it on a page or view in order to wrap the whole view in the correct XML document definition tags.

You can use agents or servlets to dynamically generate or store XML. Agents are useful for running a scheduled process in a Domino® application. Servlets run on the server based on a request from a Web browser.

For information about the Domino® DTD and how to generate XML using Java methods, see the Programming Guide.