47,99 €
Written by Lotus insiders, the book provides a practical guide to developing applications making use of the important features and enhancements introduced in Notes/Domino 7. These experienced experts use their own experiences to map out the benefits you could gain, and the dangers you may face, as you develop Domino applications in your business.
Written by specific experts, edited and overseen by Lotus content generator Dick McCarrick, this book is the definitive guide to developing Domino 7 applications.
TECHNOLOGY
Domino is an application server that can be used as a standalone web server or as the server component of IBM's Lotus Domino product which provides a powerful collaborative platform for development of customized business applications. It also provides enterprise-grade email, messaging, and scheduling capabilities.
Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:
Seitenzahl: 238
Copyright © 2007 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, Packt Publishing, nor its dealers or distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: January 2007
Production Reference: 1220107
Published by Packt Publishing Ltd. 32 Lincoln Road Olton Birmingham, B27 6PA, UK.
ISBN 978-1-904811-06-0
www.packtpub.com
Cover Image bywww.visionwt.com
The authors have attempted to ensure the contents of this book are as complete and accurate as possible, but no warranty of fitness is implied regarding any information and/or products referenced in this book. Several of the authors, at the time of publishing, were employees of IBM. The IBM Corporation provides a set of rules regarding publishing that applies to each employee. The IBM employees followed each of these rules as stated by IBM. Based on those rules, be advised that:
Domino 7 is a great product with many new features. If you find an error, please let us know.
The IBM list of copyrights and trademarks can be found at http://www.ibm.com/ legal/copytrade.shtml.
In no event will IBM be liable to any party for any direct, indirect, special, or other consequential damages for any use of this book. All information is provided by the authors on an "as is" basis only. IBM provides no representations and warranties, express or implied, including the implied warranties of fitness for a particular purpose, merchantability and non-infringement for any information in this book.
Authors
Dick McCarrick
Stephen Cooke
Timothy Speed
Raphael Savir
Reviewer
Barry Heinz
Development Editor
David Barnes
Assistant Development Editor
Nikhil Bangera
Technical Editors
Divya Menon
Saurabh Singh
Editorial Manager
Dipali Chittar
Project Manager
Patricia Weir
Project Coordinator
Suneet Amrute
Indexer
Bhushan Pangaonkar
Proofreaders
Martin Brooks
Chris Smith
Layouts and Illustrations
Manjiri Nadkarni
Shantanu Zagade
Cover Designer
Shantanu Zagade
Congratulations on investing your time to learn more about Lotus Notes and Domino! This book comes at a key time for Notes/Domino application developers and their organizations.
Since its introduction, Notes/Domino has been a true collaboration platform for businesses. It has uniquely combined collaboration with business applications all within the context of what users are trying to accomplish. A powerful programming platform combined with intuitive tools, it opened up many business ideas and processes to automation through millions of applications, from small personal tools to mission-critical, line-of-business systems. It has also led to the establishment of one of the most creative and largest developer communities in the industry.
A review of Notes/Domino through the years shows how it has revolutionized the way we work. See also the article, "The History of Notes and Domino", published on the developerWorks: Lotus website (www.ibm.com/developerworks/lotus/library/ls-NDHistory). The 35,000 users who adopted Notes Version 1 got the first look at many of the features that we take for granted today, including mail, discussion databases, group directories, customizable applications, Access Control Lists (ACLs), doclinks, encryption, and replication to name just a few. When released, these were all revolutionary new concepts that allowed users to be more productive.
Release 2 focused on scalability issues, allowing Notes to support roughly 10,000 users and accommodate larger enterprises. This release also included enhancements to the application programming interface (API), mail (including return receipt, address look-up, and multiple address books), and additional formula language functionality.
By the time Release 3 was introduced, nearly 500,000 people used Notes. To make the user experience better for the growing user base, Release 3 focused on improving the user interface, further enhancing scalability, as well as incorporating features such as full-text search, selective replication, and support for the Mac client.
With Release 4, the world was introduced to a highly revamped version of Notes, one designed to embrace Internet technology by integrating Notes with the Web. In addition to a completely redesigned user interface, people were introduced to
Internet integration that allowed Web‑browser accessible Notes databases, new messaging capabilities, and the LotusScript programming language.
Release 5 furthered the concept of Web integration, and also gave users a browser-type interface with a customizable Welcome page. For application developers, Domino Designer provided a conducive environment for creating secure applications.
Release 6 represented a significant step towards integrating Notes with the rest of the IBM software portfolio. Two features that customers especially embraced were the integration of Sametime instant messaging into the Notes client, and the ability to access mail from the Web. Enhancements were also made to Domino Designer to make it easier to create applications and reuse code.
With more than 125 million users worldwide, Release 7 of Notes/Domino was notable for many reasons, including significant improvements in the user interface, scalability, and the total cost of ownership. However, the most powerful and important set of changes occurred in the programming model. Capabilities were added to allow Notes applications to utilize Web Services and a relational data store (DB2).
The underlying reason for these changes is very simple: Notes and Domino applications represent a huge investment for customers. It has become critical for applications to be able to be leveraged, integrated, and reused. Increasingly, this means allowing these applications to participate in loosely coupled standards-based architectures. Service-Oriented Architecture (SOA) has become the prevailing term for this type of implementation.
Many customers I talk to do not yet think of their Notes and Domino applications as potential elements in an SOA strategy. I think that is a mistake. This book is a great resource to help you start thinking about SOA, and how it should relate to your Notes environment.
So what's next?
As this book nears publication, Notes 8 (announced with the code name Hannover) is progressing into its first public beta. Many observers have commented on the exponential progress that has been made in the user experience, or the integration of activity-centric computing. These are certainly critical elements and will be a key differentiator for Notes 8. But something deeper lies beneath the surface for application developers. With Notes 8 being based on a Java-based Eclipse foundation, developers have new options. Not only can you continue to run and develop traditional Notes applications (unchanged!), you can start to build composite applications that are enterprise mashups of Java components, .nsf-based applications, data delivered via portlets, or other components that can be hosted within an Eclipse plug-in (such as .Net). Also, for the first time, Notes and Sametime (with Version 7.5) will share a common foundation allowing sharing of application components.
So, everything you have still runs, and you can adopt multiple programming models at your pace. Why does this matter? Because:
Applications in the context of business processes have never been more important. In some ways, we are coming right back to the original value proposition of Notes.
So Notes is new again. Enjoy this book for what it can help you deliver now and start thinking about what the future can hold!
On a personal note, I'd like to extend my congratulations to the authors. Their collective skill is in constant demand by customers around the world. Writing this book is a labor of love and a huge contribution to the Lotus community.
Congratulations!
Alistair Rennie
VP, Software Services
Lotus
Dick McCarrick is a freelance technical writer. He is co-author of the book Upgrading to Lotus Notes and Domino 7, aimed at Lotus Notes/Domino end users and administrators. Previously Dick worked for Lotus/IBM for over 15 years, first as a member of the Notes/Domino Documentation team and later for the developerWorks Lotus (LDD) website. At Lotus/IBM, he played a variety of roles in documenting many major components of Domino and Notes. He also wrote and edited numerous technical articles, including the regular column, "Ask Professor INI."
In his spare time, Dick's leisure activities include running, fishing, woodworking, and reading about the natural sciences. An avid astronomer, he is former director of the Bridgewater (Mass.) State College Observatory.
I would like to thank my wife Lisa for her unflagging support, both for my career and my life in general.
Stephen Cooke began programming as a hobbyist on the Apple. He later became involved with PCs in a professional capacity while working in the Czech Republic. He went on to work for Notes CS, a Lotus Business Partner in Prague. He has twelve years of consulting experience and has been working for IBM since 2000. He currently focuses on helping customers with Lotus and WebSphere-related challenges. His written work has also appeared in IBM developerWorks.
I would like to thank Tim Speed for the invitation to participate in this book, and my family for their patience and encouragement. I would also like to thank the folks at Teamstudio for their quick response to requests for information, and the people whose efforts went into preparing this book for publication.
Timothy Speed is an infrastructure and security architect for IBM Software Services for Lotus (ISSL). Tim has been involved in Internet and messaging security since 1992. Tim also participated with the Domino infrastructure at the Nagano Olympics and assisted with the Lotus Notes systems for the Sydney Olympics. His certifications include MCSE©, CISSP, Lotus Domino CLP Principal Administrator, and Lotus Domino CLP Principal Developer. Tim also is certified in Domino ND6 and D7. Tim has also co‑authored six books: The Internet Security Guidebook (ISBN: 0122374711); The Personal Internet Security Guidebook (ISBN: 0126565619); Enterprise Directory and Security Implementation Guide: Designing and Implementing Directories in Your Organization (ISBN: 0121604527); Internet Security: A Jumpstart for Systems Administrators and IT Managers (ISBN: 1555582982); SSL VPN: Understanding, Evaluating and Planning Secure, Web-based Remote Access (ISBN: 1904811078); and Upgrading to Lotus Notes and Domino 7 (ISBN: 1904811639).
Knowledge is based on many different facets what you know, knowing where information can be found, and who you know. The information in this book is a combination of all these facets. Data sources have been referenced in this book, these include references to people, URLs, and other books. But much of the knowledge that is in this book comes from very smart people. First and foremost I need to thank my wife for helping me with the book and providing some of the editing throughout the various chapters. I thank my daughter Katherine for tolerating me during the months that I worked on this book. I am very grateful to Dick McCarrick for being crazy enough to coauthor this book. Special thanks to David Barnes the Development Editor. Also, thanks to Lotus/IBM (and ISSL), Walter Larry Berthelsen, and Jack Shoemaker for allowing me to coauthor this book. Thanks to Barry Heinz for reading/reviewing this book before publishing. Thanks to the content authors Dick McCarrick and Stephen Cooke.
To Linda Speed "just me" Garry White (a great educator and technologist), Lillian Speed, Joe Christopher, Ted Smith, Gail Pilgrim (sorry I forgot you in the last book), Bob Stegmaier, Charles DeLone, Kevin Mills, Boris Vishnevsky, Brad Schauf, Chris Cotton, David Byrd, Kathrine Rutledge, Charles Carrington, Mark Harper, Jordi Riera, David Via, Heidi Wulkow, Dave Erickson, David Bell, Mark Leaser, John Kistler, Jon P Dodge, Luc Groleau, Zena Washington, Burk Buechler, Robert Thietje, Francois Nasser, Marlene Botter, Roy Hudson, Mike Dudding, Ciaran DellaFera, Tom Agoston, Carl Baumann, Shane Geoge, Tery W. Corkran, David Hinkle, Don Nadel, Doug Parham,
Ed Brill, Gary Ernst, Steve Keohane, Steven Kramer, Gregg Smith, Hartmut Samtleben, Hissan C Waheed, Ian Reid, John Norton, Katherine Emling, Kevin Lynch, Marc Galeazza, Mark Steinborn, Mary Ellen Zurko, Matthew Milza, Matthew Speed, Peter Burkhardt, Ralph Vawter, Sherry Price, Stephen Hardison, Laurie Jones, Christopher Byrne, Steve Matrullo, Marco M Noel, Kelly M Ryan, David Ryan, Alex Dobrovodsky, Alistair Rennie, Andy Higgins, Todd Merkel, Butch Bantug, Carlos Gonzalez, Chad Holznagel, Deyhle, Dave, Steve Sterka, Dolby Linwood, Jason Short, Tracy Goddard, Frederic Dahm, Gary Desmarais, Gary Palmer, Glenn Sicam, Sean F Moore, Jeff Bryant, James Gallece, Shaker Al-Muaber, Dr. John Lamb, Kim Armstrong , Lance Haverly, Lisa Santana, Stewart Nichols, Nancy Long, Bryan Bradsby, Robert Hamnik, Wouter Aukema, Robert Nellis, Trenton Kelley, William Destache, and Chuck Stauber. Finally, sorry if I missed you on this book, I will get you in the next. Sorry, Circe, you don't get an acknowledgment in this book.
Raphael Savir has been a developer and consultant for Lotus Notes/Domino applications for 15 years. He has worked in numerous positions, focusing on performance and development topics. Raphael enjoys speaking on these topics, and has been fortunate in being able to do so frequently over the years.
Now with LS Development Corporation (http://www.lsdevelopment.com), Raphael works directly with clients to make efficient and friendly Notes or web applications running on the Domino platform. Raphael has written several development articles over the years, but this is his first attempt to string together more than a few pages.
I would like to thank my beautiful and encouraging wife, Lizzie, for helping me get through a brutal year of work and writing.
Barry Heinz is a Senior IT Architect with the IBM Software Group, specializing in Lotus software for large enterprises. He has been working with Lotus Notes and Domino since 1992.
If you're reading this book, you're probably already familiar with the Domino server. You know about all the powerful productivity features offered by this product and you know how much your company relies on it to communicate, collaborate, and manage its collective store of corporate knowledge.
This book is intended to help you with developing applications on the latest release of the Domino platform. This book has been written by Notes/Domino 'insiders'. Collectively, we possess decades of Notes/Domino experience; we've been with the product since Notes 1.0, and since then have worked directly with customers to help them with their Notes/Domino upgrade and deployment issues.
Chapters 1 and 2 will help you understand the new features in Notes and Domino 7.
Chapter 3 shows how to use DB2 as a data store for Domino databases so as to bring the scalability features of DB2 and the flexibility of SQL into Domino applications. The chapter shows how to install, configure, map, and then access Domino data stored in DB2.
Chapter 4 will show you how to make the best use of new features added in Domino Designer 7 to better manage Lotus Notes and Domino applications. Specifically we will be covering Autosave, Agent Profiling, and remote Java debugging.
Chapter 5 shows how to ensure that critical applications continue to run smoothly after you upgrade your Notes/Domino installation, while taking advantage of the new features and functionality release 7 has to offer.
Chapter 6 will tackle issues you need to consider when upgrading your @Formula language to Notes/Domino. We first detail a backup strategy and then take a tour through the new Notes/Domino @Formulas and the potential upgrade issues they raise.
Chapter 7 runs through the process of upgrading Domino-based agents and LotusScript; we also cover the use of TeamStudio Analyzer, which is a third-party tool to assist with your upgrade. The second half of the chapter runs through the new features available to LotusScript developers in Domino Designer 7.
Chapter 8 examines Domino-based web services and you will see the Java implementation of one such web service. We cover the various tools Domino Designer 7 provides for interacting with WSDL and finish by examining the role UDDI plays in facilitating the adoption of web services.
Chapter 9 covers using best practices to optimize your Domino applications for performance; specifically we will see how to efficiently code database properties, views, and forms/agents to work well in a Domino environment.
In Chapter 10, you will learn to use the new programming features offered in Lotus Notes/Domino 7 by actually implementing them in code.
In Chapter 11, we will examine two important new features, Domino Domain Monitoring (DDM) and Agent Profiles, which are critical for troubleshooting your Notes/Domino applications. Additionally, the chapter runs through several tips and techniques for identifying and correcting problems in your Notes/Domino 7 applications.
In Appendix A, we review several vendor tools that you can use to help upgrade your applications to Lotus Notes/Domino 7. These include Angkor by Atlantic Decisions, PistolStar Password Power 8 Plug-ins by PistolStar, Inc, CMT Inspector from Binary Tree, and FT Search Manager from IONET.
In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.
There are three styles for code. Code words in text are shown as follows: "The requirements of the DiscoverFolders command generally dictate that it be used from within a frameset."
A block of code will be set as follows:
When we wish to draw your attention to a particular part of a code block, the relevant lines or items will be made bold:
New terms and important words are introduced in a bold-type font. Words that you see on the screen, in menus or dialog boxes for example, appear in our text like this: "clicking the Next button moves you to the next screen".
Warnings or important notes appear in a box like this.
Tips and tricks appear like this.
Feedback from our readers is always welcome. Let us know what you think about this book, what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.
To send us general feedback, simply drop an email to<[email protected]>, making sure to mention the book title in the subject of your message.
If there is a book that you need and would like to see us publish, please send us a note in the SUGGEST A TITLE form on www.packtpub.com or email<[email protected]>.
If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.
Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.
Visit http://www.packtpub.com/support, and select this book from the list of titles to download any example code or extra resources for this book. The files available for download will then be displayed.
The downloadable files contain instructions on how to use them.
Although we have taken every care to ensure the accuracy of our contents, mistakes do happen. If you find a mistake in one of our books — maybe a mistake in text or code — we would be grateful if you would report this to us. By doing this you can save other readers from frustration, and help to improve subsequent versions of this book. If you find any errata, report them by visiting http://www.packtpub.com/support, selecting your book, clicking on the Submit Errata link, and entering the details of your errata. Once your errata have been verified, your submission will be accepted and the errata added to the list of existing errata. The existing errata can be viewed by selecting your title from http://www.packtpub.com/support.
You can contact us at<[email protected]> if you are having a problem with some aspect of the book, and we will do our best to address it.
In this chapter we will look into the history of Notes and Domino. Readers who have the Upgrading to Lotus Notes and Domino 7 book from Packt publishing can skip Chapters 1 and 2 as they are similar to the introductory chapters from that book.
The genesis of Notes and Domino has achieved a near legendary status within the history of software development. Three middle-American college boys in the late 1970s wanted a way to share information. So they utilized a bug-reporting software program called PLATO Group Notes, which ran on their mainframe-based college computer system. This program would be considered archaic compared to modern day business programs, but it was an improvement upon the traditional swapping of handwritten notes hastily scribbled during classroom lectures. And it provided just enough communication and collaboration functionality to offer a hint as to what more could be done, given the right software and technology.
After graduation, these three students, whose names need no introduction to long-time members of the Lotus Notes community (but we'll mention them anyway, in case you're a newcomer: Ray Ozzie, Tim Halvorsen, and Len Kawell), went their separate ways. But none forgot the potential he saw in PLATO Group Notes. Halvorsen and Kawell took jobs at Digital Equipment Corporation, where they eventually created an in-house communication tool that resembled PLATO. Meanwhile, Ozzie took programming positions with other corporations, but never lost sight of his vision to form his own company and develop a more advanced, PC-based collaboration program. Eventually (1984 to be exact), with funding provided by Lotus Development Corporation (makers of the famous Lotus 1-2-3), Ozzie founded Iris Associates Inc. to develop the first release of Lotus Notes. Ozzie was soon joined by former classmates Halvorsen and Kawell, followed shortly by Steve Beckhardt.
When describing the software they created, the focus is usually on the end-user features provided by Lotus Notes, with a secondary nod to the server/administration component. Indeed, Lotus Notes has always been described as a client/server application, indicative of its "dual citizenship," with some of its functions performed locally on the user's PC and other functions done on the server. But from the beginning, the creators of Lotus Notes showed great foresight in recognizing that their product would not be an out‑of‑the‑box application, a radical approach back in the early 1980s. Instead, they realized that Lotus Notes needed to be extremely customizable and flexible, and from its inception built these capabilities into Lotus Notes. (The fact that they did would eventually result in a large array of Notes custom applications, a growing demand for Notes application developers, and ultimately…this book!)
This first version of Lotus Notes was modelled on PLATO Group Notes, but was far more advanced, sporting powerful features such as on-line discussion, email, phone books, and document databases. This functionality presented some serious challenges to the hardware and supporting infrastructure upon which Notes ran at the time. To meet these challenges, Notes was built upon the previously mentioned client/server architecture that featured PCs connected to a local area network (LAN). Groups set up a dedicated server PC that communicated with other servers. These servers exchanged information through replicated data