Issue: 2002 - January/February

  • David Stevenson analyzes Microsoft’s PDC reveal of .NET My Services pricing and rollout, arguing that Microsoft intends to monetize hosting-based services through a staged “crawl, walk, run” approach that favors larger organizations and imposes significant licensing fees on small developers, potentially deterring early participation even as some core services (Passport, Presence, Alerts) may be free. He emphasizes the tension between cutting-edge opportunity and cost, an...See More
  • In "The Power of Inheritance in .NET," Markus Egger demonstrates how inheritance in Visual Studio.NET can significantly enhance development efficiency and code quality by enabling reusable, abstract business objects and interface components. He illustrates this with practical examples, showing how subclassing a generic business object simplifies data handling across different entities, and how inheritance facilitates creating customizable ASP.NET and Windows Forms contro...See More
  • Dan Wahlin demonstrates how to efficiently parse XML and load it into a database using .NET's XmlTextReader by walking through a SQLGenerator class that streams tokens from a customers.xml file, extracts element text and attributes, builds INSERT statements for Northwind's Customers table (including handling multiple records and errors), and emphasizes XmlTextReader's low-memory, high-performance streaming advantage for large XML documents.
  • Web Services is a powerful technology, even in its basic form.However, with .NET, you can easily couple Web Services with .NET's new data services to provide a powerful data delivery mechanism that works over the Web, making it possible to build distributed applications that work easily without a local data store. In this article, Rick describes various ways you can use Web Services and ADO.NET DataSets to pass data between client and server applications to build truly disconnected applications.
  • In "Maximizing Your Testing Results," Mike Stewart emphasizes that effective software testing requires strategic, systematic approaches rather than random execution. He advocates combining multiple methods—such as risk-based testing, functional testing, boundary testing, code coverage analysis, exploratory testing, regression testing, and automation—to prioritize high-risk areas and maximize bug detection within limited time. Stewart highlights the impossibility of testi...See More
  • Kevin McNeish introduces UML class diagrams as essential tools for designing well-structured, maintainable application classes, explaining class notation, visibility, and the key relationships—generalization, dependency, association (including multiplicity, aggregation, composition), and realization—while illustrating how abstract and concrete classes, interfaces, and careful modeling produce flexible, extensible business-object families that form a solid foundation for component-based software.
  • Part 3, The User Interface and the Rating Web ServiceWe are finally going to get our feet wet in Visual Studio .NET and start writing some real code! In this article, we're going to focus on two areas of the ACME application. First, we will talk about the user interface and how it's implemented in ASP.NET ? along with a few problems we overcame by utilizing the powerful object-oriented features of .NET. Next, we'll write a web service in Visual Basic .NET to rate polic...See More
  • The .Net framework provides two base classes for controls; one for Windows forms and the other for ASP.NET server controls.We can extend the existing controls by adding specific functionality to them or develop our own controls from scratch. Such controls are called custom controls. We can also group controls together and create another control, such as an address box, that contains couple of textboxes and labels. Controls that are grouped together and are based on Syste...See More
  • In this article Travis Vandersypen explains how SQL Server 2000's XML UpdateGrams provide a cleaner, transactional way to insert, update, and delete data via XML posted to the SQL virtual directory, avoiding OPENXML and URL length limits; he details the UpdateGram structure (<sync>, <before>, <after>), implicit and explicit XDR mapping strategies, NULL and identity handling, concurrency considerations, and practical execution tips for using UpdateGrams to map XML to relational tables.
  • Markus Egger argues that Smart Tags in Office XP can be meaningfully extended beyond stock-symbol demos by building custom recognizers that detect domain-specific terms (like product names) and attach actionable hyperlinks or workflows. He details how to implement a COM-based recognizer and actions in Visual FoxPro, store context in a property bag, and register the components so Office can invoke them. By using word-level parsing to speed matching, Egger shows how integr...See More
  • Rick Strahl argues that while Web Services offer a valuable standardized interface for software components, hype outstrips reality because many public services are simply screen-scraped wrappers and providers have little incentive to expose data as services without branding, credit, or payment models. He contends that true value lies in internal or vertical applications and in proprietary, paid ecosystems, where data providers can monetize their assets. Strahl predicts p...See More
  • David Stevenson’s A developer’s life... surveys the non-technical side of being a coder, arguing that meaningful work extends beyond code into service, community, and family. Through brief vignettes—an IT administrator balancing National Guard duties, a den leader guiding Cub Scouts, and Jeff Burke’s Shriner clowning with puppets in children’s hospitals—the piece emphasizes how developers invest time and creativity in helping others, enriching both their lives and their ...See More