-
Welcome to CODE Magazine!
Markus Egger presents CODE Magazine as a premier resource for Web and Enterprise developers to leverage the latest Windows DNA, Web technologies, and distributed architectures across multiple languages. He argues the magazine will focus on technologies, design principles, and the development process (including testing and architecture) rather than any single tool, while highlighting a stronger Visual FoxPro presence and openness to contributions from the community. Egger envisions articles on modern development practices, patterns, XML/HTTP-driven services, and practical guidance for building scalable, multi-language applications in a changing standards landscape.
-
Loosely Coupled Events With COM
Markus Egger introduces the COM+ Event Service as a flexible, loosely coupled alternative to traditional COM events, enabling publishers and subscribers to be linked administratively rather than by compile-time code. He explains how events (business events) can be published without subscribers needing to be running, thanks to COM+ subscriptions and on-demand instantiation, and shows how event filtering enhances scalability and relevance. Through a humorous VB example (wife/husband), he demonstrates setup, binding, and practical benefits, and gestures toward queued events as a future enhancement.
-
Using XML for Messaging in Distributed Applications (Part 1)
In this first installment, Rick Strahl argues that XML is a practical, platform‑independent messaging and data‑representation standard for distributed applications—enabling hierarchical, multi‑document payloads, version‑tolerant object persistence, and broad client interoperability—while also candidly noting performance, size, parsing and binary‑data drawbacks; he introduces Visual FoxPro/COM tools (wwXML) to simplify XML persistence and conversion, and previews a follow‑up with concrete implementation patterns and a reusable XML conversion class.
-
Windows DNA Development: A Pattern Language
In this article, Yair Alan Griver presents a pattern language for Windows DNA application development aimed at standardizing the design of COM-based, multi-tier systems. He emphasizes the logical separation of UI, business, and data tiers and introduces five stereotypical components to simplify the middle tier’s complexity. By defining clear roles for resource managers, data sources, validation, and process objects—particularly through a Resource Manager Controller managing transactions—Griver provides a structured approach that enhances scalability, maintainability, and transaction management in Windows DNA applications.
-
The Importance of a ModernDevelopment Approach
Markus Egger argues that software development has moved from monolithic, single-tool, desktop apps to distributed, service-oriented architectures where data flows seamlessly across boundaries. Through the rise of web interfaces, XML, and COM-based middle tiers, applications must be properly designed up front to avoid fragile, brittle systems. He asserts that Windows DNA 2000 marks a pivotal leap, dissolving borders between Windows and Web, and aligning software architecture with business needs by making data and logic available as reusable components across the enterprise. Egger is enthusiastic about this modern development approach.
-
Customers vs. Code: Customer Relationships
Nancy Folsom argues that successful software projects hinge on strong customer relationships, not technical prowess alone. She reframes “customers” as anyone who funds or will use the system—bosses, colleagues, clients, and end users—and offers practical rules to improve satisfaction: keep ego in check, prioritize the customer’s goals over personal attachment to the project, treat everyone with respect, focus on the real business problem, and maintain open, proactive communication. The column previews concrete approaches for each development phase to align delivery with customer needs and expectations.
-
String Processing With VFP
Steven Black surveys the performance of Visual FoxPro’s string-processing capabilities, using War and Peace as a large-text benchmark to compare methods for searching, locating, traversing, substituting, and concatenating strings. He demonstrates which functions are fast (e.g., $, AT/ATC, OCCURS; ALINES versus MLINE; WORDS/WordNum; STRTRAN/CHRTRAN) and warns about slow, MEMOWIDTH-sensitive operations (ATLINE/RATLINE). Black also offers practical optimizations (ALINES, _MLINE with legacy code, and efficient traversal) and concludes that modern VFP string manipulation is remarkably fast, enabling sub-second operations on multi-megabyte strings and rapid web-page generation.
-
Load Testing Web Applications using Microsoft's Web Application Stress Tool
Rick Strahl explains how to use Microsoft’s Web Application Stress Tool (WAS) to simulate large numbers of concurrent users against a web application in order to gauge hardware/software limits, plan capacity, and identify bottlenecks. He covers creating realistic test scripts via browser recording, configuring load with stress level, sockets, delays, and redirects, and interpreting comprehensive reports (throughput, response times, bandwidth, and backend logging). Strahl emphasizes long-running tests, careful parameter tuning, and the need for backend logging to understand performance over time, while warning of potential misuse and SSL limitations.
-
Comparing VFP String Performance to .NET String Performance
Markus Egger benchmarks string operations on a 3.3MB "War and Peace" text to compare Visual FoxPro (VFP) and .NET (C#), showing that VFP offers richer, convenient string functions while .NET consistently outperforms VFP in speed and stability; .NET benefits from JIT and GC but requires careful use of StringBuilder to avoid memory costs, whereas VFP can be fast for some operations but suffers from inconsistent timings and limitations (e.g., ALines array size) for very large texts—overall both platforms have strong string capabilities.