Building Web Applications with SAS/IntrNet: A Guide to the Application Dispatcher

While building SAS/IntrNet applications, I would like nothing better than to have someone with the skills of Don Henderson looking over my shoulder. Other than some SAS-L posts and a few personal e-mail messages, this desire went unrealized. That was until I read Don's book, Building Web Applications with SAS/IntrNet®: A Guide to the Application Dispatcher.

This book picks up where SAS documentation leaves off. It shows how to increase the functionality of the SAS/IntrNet Application Dispatcher to solve problems commonly encountered when building Web-based SAS applications. This book also supplies a host of 'best practices' that can help keep one from creating future difficulties.

An example of the gems that Don has unearthed is the INVSESS option. This option allows developers to implement friendlier responses to failed attempts to reconnect to a session. Along with techniques to refresh long-running requests, this book shows how to partially overcome the problem of user sessions that time-out from user inattention.

One of the most helpful chapters is Chapter 11, "Tools and Techniques for Debugging." One especially useful tip is to seed programs under development with %testPrint macros to conditionally print intermediate results. This chapter also provides good guidance on how to run Application Dispatcher programs in a stand-alone mode. In my opinion, this is a must-have book if one is responsible for creating or maintaining Web-based SAS applications.

Michael Davis


At long last we have a comprehensive book on the intricacies of SAS/IntrNet programming! Don Henderson has written the definitive, authoritative book on how to develop SAS/IntrNet applications so that you can easily host your SAS programs on the Web. There is so much information packed into this book that you will find something that you did not know in every chapter. Though I have been working with SAS/IntrNet for many years, I was amazed at the volume of information that I was not aware of.

There are several chapters of this book that will allow you to recoup the book's purchase price, almost immediately. Chapter 7, "Using Various Techniques to Generate HTML," is a case in point. It takes you through increasingly advanced material, moving from using simple PUT/FILE statements, to extending the Output Delivery System to the Web, to using SCL submit blocks, to including HTML from external sources, to using SAS Server pages, and finally to using design-time controls. All of these techniques have great merit; and this chapter explains how and when to use them while providing great examples. <p>This chapter will save you hours of research and development time.

Another chapter that would have saved my staff at least a week's worth of work is Chapter 19, "Handling On-Demand Long-Running Requests." Many organizations face the unenviable prospect of having to offer Web-based reports or analysis against large, complicated data sources that end up as long-running SAS jobs. In doing so, one cannot expect Web users to sit idly by, wondering when their output will arrive as the minutes tick by. This chapter provides two specific techniques for spawning asynchronous SAS batch jobs, behind the scenes, to produce result sets. The first technique launches the batch job, and then e-mails the result set to the user when the batch job completes. The second technique provides the user with a status page in their browser that is continuously updated as each batch job step completes, and then overlays the status page with the final output when it becomes available. Both techniques are clearly described and include easy-to-follow examples.

Singling out specific chapters for comment is hard, because all of the chapters in this book have significant tips, insights, and well-explained examples. It is obvious to me that there will not be another book published about SAS/IntrNet software, because Don has covered everything there is to say about the topic in this one great publication. But, then again, one would expect no less from one of the original creators of SAS/IntrNet software!

Michael A. Raithel

The Paris Herald Tribune once published a satirical column by Art Buchwald describing a mythical American tourist who visited Paris and ran a 'four-minute Louvre.' The tourist touched all the must-see bases-the Venus de Milo, the Mona Lisa, and the Winged Victory of Samothrace-making excellent time Buchwald wrote, 'under perfect conditions, with a smooth floor, excellent lighting, and no wind.'

Superficial involvement with substance is something one can poke fun at, but it has no place in serious matters. There is no way one could race through Don Henderson's new book about how to use the Application Dispatcher in SAS/IntrNet. This is material that demands close, patient, and studious attention.

This book reveals two characteristics of the author himself. First, he is a person who willingly gives away his own know-how, sharing highly valuable insights with anyone who cares to listen. Second, he is someone who is able to master advanced coding techniques easily and apply that mastery to solving complex coding problems. Any programmer who works with SAS/IntrNet will feel a sense of indebtedness to Don for making life easier.

This book, which could have been subtitled Making the Most of SAS/IntrNet, makes it easy to realize that the software has tremendous depth and is up to the job of dealing with practical coding requirements. This shouldn't astonish us. After all, SAS software in general has continued to evolve and take on enhanced capabilities. Thus, to understand the Application Dispatcher, one must make the same kind of effort that is involved in learning ODS or SAS/GRAPH, for example. Don challenges the reader to do just that. There is no fluff here, only solid meat. Each paragraph, each example, contains important information that a reader must digest slowly and carefully.

This text is so educational that it really ought to become material for a new course offered by SAS. Each chapter contains examples that could be converted easily into exercises. In any form, Don's masterful work will help SAS programmers to become better and stronger.

Jim Sattler, President
Satmari Software Systems, Inc.

Written for anyone who's suspected that there is more to SAS than meets the eye, Building Web Applications with SAS/IntrNet: A Guide to the Application Dispatcher captures the salient topics for delivering the power of SAS over the Internet, extranets, or intranets. Don has packed this book with examples that are easy to follow and will prove useful for both beginning and advanced SAS programmers. This book is a thoughtful and comprehensive guide for SAS users that need to build applications for data entry, manipulation, and analysis. If your organization is trying to quickly surface SAS applications to a broad base of information consumers, this is the place to start.

Peter M. Arena, Ph.D.
Founding Principal
ASR Analytics LLC

Understanding SAS/IntrNet will also provide users an excellent base for the SAS Stored Process systems in V9. Concepts covered in this book are explained thoroughly and have excellent examples to try at home. One can use these techniques immediately in SAS/IntrNet applications and, after some minimal tweaks, in SAS Stored Processes.

Angela M. Hall
Senior Consultant
Zencos Consulting