Media praise for Developing ASP Components

Microsoft's Active Server Pages first made it big because ASP scripts output HTML, making them super-handy for creating browser-independent web content. But as programmers get increasingly comfortable with ASP, and the web matures to host even more true applications, a second benefit will become even more compelling. ASP is remarkably extensible. You can build your own custom ASP components--in essence, COM components designed to interface with ASP and Microsoft's Internet Information Server.

Like other COM components, ASP Components lend themselves splendidly to being reused; they are protected from the snoops who might steal your ASP scripts; and they can reside anywhere, even on different machines tied together via DCOM.

As part of the ASP environment, they can access built-in objects containing data your garden-variety COM objects wouldn't normally see: HTML form field values; browser types; the user's preferred spoken language; and more. You can write 'em with VB, C++, or J++. They can also do, well, just plain tons of stuff--database access, file I/O, archiving, and messaging, to name a few. Impressive, huh?

Well, there's a catch, as always. I can't resist quoting Charles Carroll, creator of the great tutorial site, on the subject: "...building a component with a half a dozen pages of Microsoft documentation is like getting an eyedropper full of water before that multimonth trek across a desert."

Carroll makes that trenchant observation in the process of endorsing the first outstanding book on the subject, Developing ASP Components, by Shelley Powers. In this book, he says "Shelley provides us with a camel and a couple month's supply for our trip to the desert. Heck, she even shows us how to walk around the desert and avoid all that head and sand." Couldn'a said it better myself.

Powers starts with an overview of ASP components and why they're worth developing. (I've hit a few of the high points above, but there's a lot more to the story.) You'll pick your programming language; then walk through setting up and maintaining your ASP development environment, using IIS 4's built-in tools and features, including the Microsoft Script Debugger and IIS Metabase.

The book contains a nicely-written overview of COM that's ideal for developers who haven't written COM components before. In fact, building ASP components requires you to know at least something about quite a few different things--threading, MTS, the ASP object model's properties, methods, and events--and Powers makes sure you do. She doesn't assume you're an expert COM developer, or that you've ever developed ASP components or applications; anywhere there's potential for confusion, she errs on the side of a little more information, rather than less.

The heart of the book is its detailed coverage of building ASP components with each of Microsoft's three leading development tools, Visual Basic 6, Visual C++ 6 with the ActiveX Template Library (ATL), and Visual J++ 6. (Powers doesn't cover third-party tools but points out that Delphi and PowerBuilder can do the job, as well.) She covers each language's built-in tools, wizards, and ASP components, and focuses in detail on the specific issues facing developers in each environment.

For example, you'll learn how to access ASP's five intrinsic objects, the Application, Session, Server, Request, and Response objects. There's extensive coverage of data access, using OLE DB with C++, and using ADO with Visual Basic and J++. One chapter focuses specifically on building interactive database query components.

You'll learn when to create in-process and out-of-process components; and how to ensure that components are thread-safe. There's a full chapter on creating n-tier ASP components with Visual Basic (including, as you'd expect by now, a cogent and brief overview of n-tier and its implications).

The more you work with ASP and Microsoft's other web technologies, the more valuable ASP components will become. You've waited just long enough to get started. But now that, Developing ASP Components, has arrived, there's no need to wait another day. --Bill Camarda, editor