-
Editorial - Thinking about .NET
Markus Egger argues in this editorial that Microsoft’s Visual Studio.NET aims to integrate development with the operating system to simplify Web and enterprise application development through XML, HTTP, Web Forms, and Web Services (SOAP), while tying tools to the OS via the CLR. He cautions that, despite impressive demos, real architecture and interoperability remain essential, and early hype should not eclipse core skills in Web architecture and low-level understanding. VS.NET could ease development, but debugging and reliability will still depend on solid foundational knowledge.
-
Double Impact Mega Event 2000 Waikiki, Honolulu, Hawaii
Rick Strahl recounts his family’s Hawaii winter vacation turned into a learning odyssey at the Double Impact Mega Event, a small, uniquely structured Visual FoxPro conference. He emphasizes the event’s logical, non-conflicting progression from introductory to advanced topics (including VFP7 features like Intellisense and XML-based Web connectivity) and highlights hands-on demonstrations by speakers such as himself. Surrounded by family perks and personal access to mentors, Strahl argues this intimate format accelerates understanding, reuse of code, and genuine professional camaraderie.
-
Using XML For Messaging In Distributed Applications (Part 2)
Rick Strahl argues that XML can serve as a practical, low-effort backbone for distributed application messaging, enabling seamless data and object transfer between client and server with minimal code. He showcases a free Visual FoxPro tool, wwXML, to convert tables and nested objects to and from XML, generate hierarchical XML from complex objects, and move data over HTTP (including POST). By decoupling client and server through XML, supporting DTDs, and enabling offline/online synchronization, Strahl demonstrates a concrete path to interoperable, cross-platform data exchange and remote object persistence.
-
XML Data Binding for IE5 clients
Jon Newell advocates using XML as the data transport to bind server data to HTML in IE5+ client applications, separating content from presentation to enable multi‑platform reach and better scalability. By embedding XML data islands in server responses and using nonstandard yet IE‑friendly attributes (XMLTABLE, XMLFIELD) on form elements, data is bound on the client via a lightweight JavaScript library (binddata), with an optional sync back to XML islands and easy posting back to the server. This approach promotes true N‑Tier separation and interoperability across fat, thin, and mobile clients.
-
Create Bulletproof Components with COM Security
Markus Egger explains how COM+ security lets developers build robust, flexible, server-side protection for component-based and distributed applications without writing custom authentication/authorization code. He outlines role-based declarative and programmatic security, the SSPI authentication model (NTLM/Kerberos), and impersonation/delegation options, and demonstrates securing a sample component with role rules and runtime checks. Egger argues COM+ simplifies integration with Windows security and avoids reinventing secure systems for scalable distributed scenarios.
-
Customers vs. Code: The Initial Contact
Nancy Folsom (with Barbara Peisch) argues that the initial customer contact is critical for setting expectations and winning the project. The column offers practical guidance on presenting the right image, identifying the audience and players, and aligning goals with client needs, while quietly gathering reconnaissance to tailor the pitch. It advocates a soft-sell, competence-based approach, honest handling of gaps in knowledge, and clear education about development processes, deliverables, and collaboration. Proper preparation and stakeholder awareness in the first meeting lay the groundwork for successful negotiations and contracts.
-
The "Basics" of Inheritance
Markus Egger explains that inheritance—soon coming to Visual Basic 7—is a core object‑oriented mechanism that lets developers subclass and extend existing classes (demonstrated with Visual FoxPro examples) to promote reuse, centralized changes, and flexible designs; he covers multilevel vs. multiple inheritance, method visibility (public/protected/hidden), how overriding and DoDefault work, and argues inheritance enables cleaner large‑scale patterns (e.g., strategy) unlike rigid COM interfaces.
-
Some Pitfalls of Inheritance
In "Some Pitfalls of Inheritance," Steven Black explores common mistakes developers make when applying inheritance in object-oriented programming, emphasizing its static and inflexible nature. He advocates cautious use, stressing that subclasses should truly be specialized types of their parents and highlighting the need to separate interface from implementation. Black also warns against deep inheritance hierarchies, improper behavioral overrides, and overly visible members when extending classes. He recommends combining inheritance with composition for flexibility, proper method call-ups to preserve general behavior, and thoughtful interface design to create maintainable, robust systems.
-
The Bottleneck in Modern Software Projects
Markus Egger argues that while Windows DNA, .NET, and component-based, distributed development offer major benefits, a critical bottleneck is the developer mindset and training: the broad community has embraced elegant new technologies in fits and starts, but many still cling to monolithic, familiar approaches. He notes a gap between enterprise needs and developer enthusiasm, with customers increasingly eager for distributed, flexible solutions even as the supply of capable DNA developers lags. Egger urges serious adoption and growth of a new generation of DNA-skilled programmers.
-
N-Tier Application Design
Doug Hennig argues that as applications grow, separating concerns into an n-tier architecture—UI, business rules, and data access—yields maintainable, reusable, flexible, and scalable software. He shows how to decouple validation from the UI and swap data access implementations without rewriting business logic, using Visual FoxPro components and COM-style objects. Through DataClass, BusinessClass, and UI examples (Customer and Orders) he demonstrates a modular design that adapts to changing data sources and deployment scenarios, while acknowledging that n-tier is about design, not a universal cure.