These days, it seems like every publisher has a gimmick. O'Reilly has animal illustrations, and Microsoft Press recently started using power tools as cover art. With that in mind, I call Dino Esposito's Building Web Solutions with ASP.NET and ADO.NET my "drill chuck book," because when I constantly misplace it and have to look for it, the image on the cover makes it easy to identify.
With this book, though, the title says it all: If you're planning to build Web applications with .NET technologies, these 416 pages and the accompanying CD-ROM should get you there.
Three parts make a whole
The book is divided into three parts: "Data Access and Reporting," "Smart and Effective Data Reporting," and "Interoperability." In "Data Access and Reporting," you’ll get a very basic introduction to .NET data bound controls—more specifically, data bound DataGrid controls. These early chapters include information on all the basic tricks you’ll need to perform with DataGrids, such as how to make them pageable, how to use them as templates for other DataGrid-like controls, and how to support editing with them. The only problem with this section lies in the ordering: Editing is a topic that might have been better placed before the others, instead of coming in the final chapters of the section.
In the second part, the book digs a little deeper into the guts of .NET programming. You’ll learn how codebehind and .NET’s server controls combine to make reusing code easy. From there, you’ll move on to a general discussion of the objects used to access databases in the ADO.NET model. I found the seventh and final chapter in this section, "Disconnected Web Applications," to be particularly interesting. Microsoft has been subtly introducing this aspect of ASP.NET, which enables a developer to create a client that can remain functional even when the server is down. This is obviously something well worth pursuing, since it alleviates one of the chief problems with a Web application. The author shows you how disconnected Web applications are made possible through the use of the Cache, Application, and Session objects and the reliance on XML as an intermediary data store for communications between back-end data stores and client-side applications.
The third and final part of the book, "Interoperability," is somewhat misnamed in that it doesn't really tell you how to make your .NET applications interoperate. Rather, here you’ll learn how .NET technologies handle interoperability, or InterOp for short. You don't necessarily need to understand the intricacies of the things covered in this section, such as XML, serialization, and schemas, to write your everyday, run-of-the-mill applications. But chapter 8, "Interoperable Web Applications," will give you a nice overview of these topics, as well as pointers to other resources.
Given all the hype that Web services typically generate, I was a little concerned going into chapter 9, titled "Web Services." However, I was pleased to discover that the author actually provides a very solid and concise description of the what, how, and why of Web services, completely devoid of sales fluff and marketing hype. The tenth and final chapter, "Exposing Data to .NET Applications," wraps up the section (and the book) by providing information about extending the existing ADO.NET classes and offering suggestions for creating new ones to meet your particular needs. The final part of this chapter includes a very forward-thinking section that explains how to write your own .NET Data Provider objects. Good stuff to know.
It even has a CD-ROM
Not only does this particular title include a CD-ROM, but that CD-ROM contains a complete e-book copy of the printed version of the book. I was a little shocked to discover that this e-book doesn’t appear to use Microsoft Reader (Microsoft’s answer to PDF). I’m a big fan of the technology and don’t want to see Microsoft abandon it, but I think my concerns are unfounded, because this e-book is just a standard, searchable Microsoft Help document—boring, but usable.
As is often the case with CD add-ins, this one was okay, but not great. There is a registration utility that will let you link the book to your Passport account, so I guess there may be some hoops to jump through if you try to sell the book a few years from now. All of the code samples are on the CD, which is nice, but they're arranged by chapter and installed in directories such as C:\BWSLib\Chap10. So, in six months, I'll be wondering what that C:\BWSLib\Chap10 is doing on my drive, and I’ll just have to remember to delete it when I finish playing with it.
I’d definitely recommend this book for experienced Perl, Java, and Microsoft programmers alike. The cover title may be boring, but it’s accurate: This book takes you quickly and completely through the basics of building database-enabled Web applications with .NET technologies. I particularly like that the author provides detailed examples of Web services, templates, and controls instead of just pasting the documentation into a bunch of tables. The only caveat I have to share is that you’ll need to have a basic understanding of object-oriented programming to get the most out of this book.