Windows IT Library UPDATE—the monthly report from Windows IT Library, your free online technical reference.
THIS ISSUE SPONSORED BY
VeriSign—The Value of Trust
Windows & .NET Magazine Network UPDATE Newsletters
(below ELECTRONIC PUBLISHING IN THE NEWS)
SPONSOR: VeriSign—THE VALUE OF TRUST
Secure Your Servers with 128-Bit SSL Encryption!
Grab your copy of VeriSign’s FREE Guide, “Securing Your Web site for Business,” and you’ll learn everything you need to know about using 128-bit SSL to encrypt your e-commerce transactions, secure your corporate intranets and authenticate your Web sites. 128-bit SSL is serious security for your online business. Get it now!
April 17, 2002—In this issue:
1. BOOK REVIEW
- Professional SQL Server 2000 XML
2. ELECTRONIC PUBLISHING IN THE NEWS
- Nielsen Report: Internet Growth Slowing in the United States
- Newspaper Kiosks: Newsstands of the Future?
- Windows News in a Hurry
4. NEW FROM WINDOWS IT LIBRARY
- Modeling Data
- Windows 2000 Authentication
5. NEW BOOKS IN PRINT
- Building Web Services and .NET Applications
- XSLT Developer’s Guide
6. WINDOWS IT LIBRARY TOP FIVE
- A+ Certification: How to Pass Your Exams
- Windows NT Troubleshooting
- 1001 Secrets for Windows NT Registry
- Integrating NT and UNIX Technology
- The Internet Information Server 4.0 Rapid Review Study Guide
7. TREASURE HUNT
- Win a Copy of Mastering SQL Server 2000
8. TECHNICAL TIP
- Calculating the Ideal TCP Sliding Window Size for NT
9. CONTACT US
- See this section for a list of ways to contact us.
1. BOOK REVIEW
By Karli Watson, Paul J. Burke, et al.
Paperback 595 pages
Published by Wrox Press, June 2001
Professional SQL Server 2000 XML is another title in the comprehensive “Programmer to Programmer” series from Wrox Press. This book is a hands-on coding text written specifically for developers who have experience with Microsoft SQL Server 2000, and in particular, T-SQL. Although some prior exposure to XML would be helpful, the book’s opening chapter provides an introduction to XML. The basics covered include the structure of XML documents, the Document Object Model (DOM), the difference between well-formed XML and valid XML, Document Type Definitions (DTDs), XML schemas (an alternative to DTDs), XML for data exchange, and the use of Extensible Style Language Transformations (XSLT) to transform XML.
The remainder of the book is divided into nine chapters and five case studies. The programming language requirements for each case study vary, but to tackle all the case studies successfully, you’ll require the following software on your development machine: Visual Basic (VB) 6.0, Active Server Pages (ASP), C++ 6.0, and C#. However, the book is structured so that, if you wish, you can read only the chapters and ignore the case studies.
The second chapter contains an overview of SQL Server 2000’s XML capabilities, with an emphasis on some of the XML-specific tools that, thanks to the XML Web release patch, are available to developers. The next chapter introduces readers to the SELECT command’s FOR XML clause. The importance of FOR XML is that it lets XML be returned as the result of a query instead of the traditional rowset. The chapter discusses variations of the clause, including RAW, AUTO, and EXPLICIT.
Chapter 4 explains how you can deploy the OPENXML function in SQL Server 2000 to update the data in databases by conveniently using information that’s contained in a source XML document. Chapter 5 turns the spotlight on XML Data Reduced (XDR) schemas. You can use these schemas to move data in the opposite direction to that of the OPENXML function (i.e., to extract XML data stored in SQL Server 2000 databases). The next chapter is devoted to XML Schema Definition (XSD) schemas. XSD is the proposed XML schema definition standard that the World Wide Web Consortium (W3C) is developing. Although XSD isn’t currently supported in SQL Server, all the authors of Professional SQL Server 2000 XML felt that XSD was too important a topic not to include in their book.
Chapter 7 is a study of XML templates and XML views. The power of XML views is that they provide a mechanism for describing SQL Server tables from an XML perspective. In the next chapter, the discussion turns to XPath, a navigational query language used to find data within XML documents.
To give you an idea of how the theory that’s presented in the text can be applied in a practical manner, here are the titles of each case study, along with a brief description of design goals and type of material covered:
- “Enhancing Legacy Applications with XML”—Not often are companies willing to dump an existing application and rewrite everything from scratch. This case study looks at an achievable alternative: using XML to integrate and enhance a legacy application, but without degrading performance in the process.
- “An Order Entry System Using VB and XML”—In this case study, Visual Basic (VB) is the chosen development environment, and XML is used to represent the data in an n-tier application framework. Interestingly, you can download two versions of the project from the book’s companion Web site. The first version consists of just the basic framework (no code included); the second version is complete, including all the SQL scripts and XML samples.
- “Creating an XML Reporting System”—The goal of this case study is to create a reporting system that meets end users’ needs through the combined use of the following technologies: the XML capabilities of SQL Server 2000, Extensible Style Language (XSL), ASP, Microsoft Data Access Components (MDAC), and Microsoft Visual InterDev. The case study examines the typical problems associated with the client/server design of reporting systems.
- “SOAP”—According to the authors, Simple Object Access Protocol (SOAP) is used to “send messages encoded in XML from client to server and vice-versa.” This case study involves the deployment of SOAP technology to maintain stock levels on the central server of a construction equipment rental company that has several depots. Readers who are interested in the future of SOAP will be interested to discover that the last section of this case study contains a small collection of Web resources that provide additional information about the SOAP technology.
- “A .NET Case Study”—The book’s final case study deals with the migration of a Visual Studio (VS) 6.0 application, which uses XML’s FOR XML and OPENXML features, to Microsoft .NET. This migration uses Visual Studio .NET and the .NET Framework. The significant point that the authors raise with this case study is that “developers should not be intimidated or overwhelmed by Microsoft’s .NET initiative.”
Professional SQL Server 2000 XML concludes with three appendices. The first appendix, “Creating and Configuring Virtual Directories,” steps readers through the process of using Microsoft IIS to configure a virtual directory that’s ready for SQL Server to use. You can then use XML templates and XPath queries, as well as SQL queries, from within a Web site’s URL. The appendix contains an ample number of screen shots to assist in the explanation. The second appendix, “Microsoft XML View Mapper 1.0,” is an overview of the SQL Server XML View Mapper, a tool used in the creation of XML View schemas from SQL Server 2000 database schemas. The third and final appendix, “Web Release 2 – Beta 1,” is a short list of the enhancements that have been included in the Web release 2, beta 1 version of SQL Server 2000.
To maximize the benefits available from this book, you’ll need SQL Server 2000 and XML View Mapper 1.0 on your system. You’ll also need XML for SQL Server (SQLXML) 2000 Web Release 1 (WR1). Chapters 9 and 10 contain a detailed explanation of this release, including its two new features, Updategrams and Bulk Load, and the address of the Web site where you can download the release.
Should you read this book? The answer is yes if you meet the following two criteria. First, you are an experienced SQL Server developer. Second, your company has nominated you as the person to take the data that’s stored in its SQL Server 2000 databases and make it available through XML technology.
To find out more about “Professional SQL Server 2000 XML,” visit the publisher’s Web site (http://www.wrox.com), click the SQL Server link near the top of the home page, and scroll down until you find the link to the book. When you click the link, you’ll be able to read an overview of the book, browse its table of contents, read a sample chapter, and download the code that’s used throughout the text. Another resource from Wrox that you can take advantage of is its P2P site (http://p2p.wrox.com)—an online meeting place for programmers to discuss coding and development concerns. When I recently logged on to the site, more than 35,000 programmers had registered with it.
Windows IT Library Guest Reviewer
For more book reviews, visit the Windows IT Library Web site.
2. ELECTRONIC PUBLISHING IN THE NEWS
In a new report, Nielsen/Netratings reviews and analyzes the events that affected Internet growth in 2001. A key development that the report highlights is the slowing of Internet growth in the United States and the acceleration of growth in Asia and Europe.
On-demand newspaper kiosks have been installed in high-traffic areas at Curacao’s Hato Airport and leading hotels. Could these be the newsstands of the future?
SPONSOR: WINDOWS & .NET MAGAZINE NETWORK UPDATE NEWSLETTERS
Sign Up for Free Updates and Enter to Win a Palm Handheld!
UPDATE email newsletters are designed to help busy IT professionals just like you stay on top of the latest Windows enterprise news and developments. We distill what’s really important in the world of IT in a concise and independent voice. Sign up for FREE today and you’ll be entered to win a Palm handheld!
The simplest way to take a quick pulse of the Windows industry is to make a regular stop at our WinInformant Web site! Whether you’re a key decision maker or a down-in-the-trenches administrator, WinInfo is the quick daily dose of news and analysis that you need to face your day informed and armed to the teeth. Check it out!
4. NEW FROM WINDOWS IT LIBRARY
This chapter provides detailed examples of how to use Microsoft SQL Server 2000’s Analysis Server data mining functionality to carry out typical outcome or predictive modeling (classification) and clustering (segmentation) tasks.
This chapter looks at the most important OS security service—authentication—and how it’s implemented in Windows 2000. It also looks at the Win2K authentication architecture and at the nuts and bolts of the Kerberos authentication protocol, such as how Kerberos compares with Windows NT LAN Manager (NTLM) and how it can be used as a single sign-on solution between different OSs.
5. NEW BOOKS IN PRINT
Written by real-world developers, this professional resource is the definitive guide to building and deploying Microsoft .NET applications and Web services. The authors explain how to create applications with XML, Extensible Style Language Transformations (XSLT), and Simple Object Access Protocol (SOAP); write Microsoft .NET classes; and develop interfaces with examples and practical advice.
You can easily build and deploy real-world XML and Extensible Style Language Transformations (XLST) applications by using this expert developer’s resource. Written by professional enterprise developers, this valuable guide provides all necessary technical know-how and offers programming examples in both Java and Perl.
6. WINDOWS IT LIBRARY TOP FIVE
This book walks you through all the skills tested in the Computer Technology Industry Association’s (CompTIA’s) A+ Certification Core exam and the A+ Certification DOS/Windows exam.
Be prepared—learn all the tweaks, tips, and administration shortcuts necessary to keep a Windows NT environment trouble-free. This reference contains detailed solutions and preventive techniques for the most common NT hotspots.
This book helps you explore the registry with confidence. It contains tips for customizing your system at any level.
By reading this book, you’ll gain an in-depth understanding of the concerns involved in networking UNIX and Windows NT, sharing resources, and optimizing performance. The authors cover planning, implementing, and troubleshooting in detail.
Learn what you need to know to pass the MCSE exam the first time you take it. Set your own pace with frequent review questions‚ hands-on activities‚ vocabulary checklists‚ and troubleshooting summaries to monitor your progress.
7. TREASURE HUNT
“Mastering SQL Server 2000,” published by Sybex, covers SQL Server administration and development tasks, includes detailed materials on T-SQL, and offers step-by-step coverage of advanced topics, including locking, replication, optimization, English Query, and OLAP.
To enter a drawing to win a copy of this book, send the correct answer to the following question to email@example.com.
In a collection of registry tips, you’ll find the following entry: “You can specify the protocol you want SQL Executive to use in its Advanced tab, but if you need to specify a particular protocol for SQL Executive to use when connecting to servers, you need to add the following registry entry.”
What is the registry entry that you need to add?
You’ll find the answer on the Windows IT Library Web site.
8. TECHNICAL TIP
To configure the perfect TCP window size, you must determine how much data the sending host may transmit before it will begin receiving ACKs from the receiving host. If the network has high bandwidth but a great deal of latency, the transmitting host may be able to safely send substantially more than the six packets Windows NT provides by default. If the latency is very low (as it would be on a LAN), then there is never a situation in which the transmitting host would be able to send a full six packets without receiving an ACK. In this circumstance, the default TCP window size is fine and would not need to be adjusted. A simple formula for calculating this “perfect” size is as follows:
Bandwidth * Latency
Bandwidth is the realized throughput between any two systems on a network. Naturally, this varies depending on how much other traffic there is; when in doubt, choose the highest realistic bandwidth. Similarly, latency is specific to a client/server connection and will vary depending on the current state of the network and the level of jitter present. Choose a value in seconds for latency by finding the average latency over a five-minute period during peak utilization. Once you have found these values, plug them into this formula:
(B bits/seconds) * (L seconds) / (8 bits/byte) = Ws bytes
For example, consider an analog dial-up link (28,800 bits/second) with a latency of 300 milliseconds (0.3 seconds). Plugging these numbers into the formula yields an “ideal” window size of 1080 bytes–much lower than the default window size. In this particular case, increasing the window size would not benefit performance because performance will be constrained by the bandwidth. Decreasing the window size will also not benefit unless the network has a high error rate.
However, consider a network connection that is bottlenecked by a T1 link (1,450,000 bits/second) with the same latency (0.3 seconds). These numbers yield an “ideal” window size of 54,375 bytes. This number is significantly higher than the default of 8760 for Ethernet networks. In this situation, increasing the TCP window size could benefit performance significantly. Notice that I used the word “could.”
Also notice that I use the term “ideal” to describe the window size calculated by the formula. To find the “perfect” window size, you must round this number up so that a packet will never be sent with less than a full load. For example, the Maximum Transmission Unit (MTU) on an Ethernet network is 1500 bytes. 40 bytes of each packet are used for header information, so a maximum of 1460 bytes of a TCP segment may be transmitted inside of a single packet (the MSS, or maximum segment size). Therefore, the “perfect” window size will always be an even multiple of 1460, ensuring that your host will never transmit “five and a half” packets worth of data (wasting half a packet). Therefore, if a system has an MTU of 1500 and the “ideal” window size is 54,375 bytes, the “perfect” window size is 55,480. I calculated this number by dividing the “ideal” window size (54,375) by the TCP data carried in each packet (1460). The result was 37.24–-meaning a full window would consist of 37 full packets and one mostly empty packet. So I rounded this up to 38 packets and multiplied by the TCP data carried in each packet (1,460), yielding a “perfect” window size of 55,480.
Another factor in the formula that is not as easy to compute is the error rate. In modern networks errors are uncommon. However, the idea of sliding windows only works because networks are more reliable than unreliable, and data errors occur only rarely. The larger the window size, the more data may need to be retransmitted. Retransmitting the extra data will not hurt the performance of that particular session; however, it will waste bandwidth. As a rule of thumb, do not decrease window size out of concern for packets that must be retransmitted. If you have that many errors on your network, you have other, more serious, problems to worry about!
To adjust the TCP window size on an NT system, add the following registry key:
The value should be set to the number of bytes in the TCP receive window that the system will advertise to clients that connect to it. The server in a client/server TCP connection determines this value. The client’s setting has no effect on what will actually be negotiated during the connection setup process, so this value is particularly interesting for network servers. Additionally, it only affects data transfers larger than a single packet. Therefore, systems that perform large file transfers, such as FTP servers and some HTTP servers, will benefit the most.
This tip is an excerpt from “NT Network Plumbing: Routers, Proxies, and Web Services,” by Tony Northrup.
9. CONTACT US
Here's how to reach us with your comments and questions:
- ABOUT ABOUT THE BOOK REVIEW OR THE NEWSLETTER IN GENERAL?—firstname.lastname@example.org.
- TECHNICAL QUESTIONS — http://www.winnetmag.net/forums
- PRODUCT NEWS — email@example.com
- QUESTIONS ABOUT YOUR WINDOWS IT LIBRARY UPDATE SUBSCRIPTION?
Email Customer Support — WindowsITlibrary@winnetmag.com
- WANT TO SPONSOR WINDOWS IT LIBRARY UPDATE?
This email newsletter is brought to you by Windows & .NET Magazine, the leading publication for Windows professionals who want to learn more and perform better. Subscribe today.
Receive the latest information about the Windows and .NET topics of your choice. Subscribe to our other FREE email newsletters.