Review
As it says in the introduction to the book, this book covers the intersection
between two great technologies: .NET and XML.
One great thing about this book is that only the first chapter is used to cover
the background material.. This is enough to remind us of the scope of what we
are dealing with in the rest of the book. Unlike some books which waste half
the book covering the basics which are also covered in all the other books you
have on your shelf.
Chapter 2 gives an overview of all the places that XML is used in .NET. The
next five chapters give detailed coverage of the XML related namespaces. There
are dozens of short examples programs, given in both C# and VB.NET, to demonstrate
how to use the classes in the various namespaces. Of particular interest was
the coverage in the Validating XML chapter. In this chapter we learn how XSD
Schemas are very useful in your database and ADO.NET work. The Serializing XML
chapter came in very handy for my own work. After reading this chapter I replace
the code I had written for persisting user preferences. The classes I had written
for using serialization, came in handy when I needed to move that data across
the network using remoting.
I wasn't very interested in learning more about MSXML, since I plan to do my
XML work using the namespaces in the .NET framework. After starting to read the
MSXML chapter, I was glad I didn't skip it. This chapter is written for developers
who are experienced with using MSXML, and possible have lots of existing code
written using MSXML. This chapter shows how you can use your existing code and
designs in your .NET programs using MSXML. There is also excellent coverage of
how standard MSXML coding techniques, can be translated to use .NET, especially
when those techniques have no obvious replacement.
In the chapter on Extending XmlReader and XmlWriter, an example is written
to show how to add XML streaming capability to applications which don't have
that capability built in. Using the example code, data can be moved back and
forth between a table in Word and a diagram in Visio. Internal to your program,
the data is handled as XML.
The ADO.NET chapter doesn't bother teaching you the basics of ADO.NET, since
that has been covered extensively elsewhere. For example the book Professional
ADO.NET Programming would be an excellent book to learn more about ADO.NET. What
this chapter does cover is how XML is integrated into ADO.NET. Several short
example programs are given, to show how your data can easily be treated as XML
or as datasets, independent of its origin, database or XML.
Most of my code, before the appearance of Visual Studio.NET Beta 1 and C# was
written in C++, and some VB. From this perspective, I found ASP and VBScript
to be a real pain. The usage of COM & DCOM to build components to move complexity
out of the ASP script came with its own set of problems. ASP.NET solves those
problems and hassles. Now we can use the same code, APIs (namespaces), and tools
to create web applications that we use for building desktop and client server
applications. Since the focus of this book is XML, the ASP.NET chapter doesn't
attempt to teach you all about ASP.NET. The focus of this chapter is on how ASP.NET
makes use of XML and how to work with the configuration files. For in depth coverage
of ASP.NET the book Professional ASP.NET 1.0, Special Edition, would be an excellent
choice.
The Case Study: Using ASP.NET and ADO.NET, is a great example of how to use
the material covered in the first 11 chapters in a real application.
The Web Services and SOAP chapter is an introduction to creating Web Service,
servers and clients. The simple examples are used to show the details of SOAP
messages, as well as HTTP GET, HTTP POST, and SOAP headers. We also learn about
Web Service Directories (UDDI), and Web Service Description Language (WSDL).
Although the samples are introductory in nature, the chapter has in-depth analysis
of what is going on behind these simple examples.
Then we have the Case Study: Using Web Service. This case study goes through
a formal design procedure, and shows how to map that design to a Web Service,
built using Visual Studio and .NET. Included is the design and implementation
of both a Windows Forms client and an ASP.NET client. By working through this
case study as well as the ASP.NET case study earlier in the book, you will be
building the skills you need to make full use of what the rest of the book has
taught you.
The Remoting Overview chapter is your basic introduction to remoting with some
simple examples. The lack of detailed remoting coverage in this book is not a
major problem, since the book C# Web Services, Building Web Services with .NET
Remoting and ASP.NET has more detailed coverage.
A good way to polish off the book would be an introduction to using C# Code
Documentation, but this chapter goes well beyond that. This last chapter introduces
the tags and has some guidelines on how to use them. Then comes the treat, an
example of how to generate documentation for your components. This example makes
full use of the C# Code Documentation as well as XSL style sheets with embedded
scripts. The scripts make use of refection to obtain additional information about
your code.
I found two things missing. First, the downloadable code does not contain C#
versions of the ASP.NET and Web Services examples. Second, the chapter on remoting
does not cover the contents of the configuration files. Configuration files for
remoting is another example of how XML is used by the .NET framework, so should
be covered in this book.
XML plays a major role in the .NET framework as well as everything that Microsoft
is doing. The topics covered in this book are necessary tools for anyone who
wants to call themselves a Windows developer. This book has excellent coverage
and depth of all aspects of using XML in the .NET framework.
Reviewed by Bill Burris