Welcome to the premier issue of Component Developer Magazine (Code Magazine). We hope you'll enjoy this first issue of our publication.

Our goal is to provide a valuable resource to Web and Enterprise developers in taking advantage of the latest Windows DNA and Web technologies, as well as the tools available to implement them. We envision this magazine as a resource for developers from developers. Therefore we welcome input and comments, as well as submissions, from anyone who is interested in sharing their knowledge with our readers. (You can find more details about contributions on the Code Magazine web site: www.code-magazine.com). In addition, our own staff and guest writers will provide a constant stream of exciting topics.

The focus of this magazine will be on technologies and how to use them, rather than focusing on a specific development tool or environment. Our background in Visual FoxPro will cause this magazine to have stronger Visual FoxPro presence than other publications, but you'll also see tool specific articles on other tools such as Visual Basic, Visual C++, ASP, as well as various scripting languages. With the increase in component development, single tool development is rapidly becoming a thing of the past. Since today's applications are built with a variety of languages, it's important for developers to be familiar with a wide variety of tools and techniques. We're here to inform developers about the best tools for the job.

In addition to technology, we also want to address topics often overlooked in other publications, especially issues relating to system, application and object design as well as testing and managing the development process. To get us started in this issue, Markus takes on The Importance of a Modern Development Approach, and Alan Griver describes common design patterns in Windows DNA applications and shows some guidelines and examples of how you can apply these patterns in your applications. Rick takes a detailed look at Web Application stress testing. Code Magazine will also be available online, presenting articles that are too long to be published in printed form, source code that goes along with printed articles, news, a message board, and more. Be sure to visit our Web site at www.code-magazine.com.

It's a Windows DNA world

Microsoft has been pushing its Windows DNA framework for over 2 years now, but it wasn't until Windows DNA 2000 was made available that the circle of services became complete, making the Windows 2000 DNA architecture a powerful development environment.

Windows DNA's promise is that it covers an incredible amount of technologies that are able to interact with each other. It combines concepts of n-Tier design, component development, middle tier object management and distributed Web architecture into a single application framework. All the tools are available to build large, scalable and distributed applications today.

As a developer, I find it amazing when I think about the advances in technology over the last few years. Thinking about the kinds of Windows applications we can build today, surely is mind-boggling. Who would have thought 5 years ago, we'd be building eCommerce applications that are serving 500,000 users, in a single day? Not only is it possible, but this is done every day by many of our readers.

On the other hand, try to put yourself into the shoes of somebody trying to get started in software development today. We often hear how the development process is getting easier, but in reality it is getting simpler, not easier. (Bull-riding is simple. You just keep the bull between yourself and the floor. But if you ever try it, you'll experience the difference between "simple" and "easy"...). Modern development is very straightforward for those who have mastered the new technologies, but it is harder to get started. The number of tools and technologies is plentiful, and simple "hello world!" applications have vanished. Not only do novice developers need to learn programming, but they also need an understanding of architecture, n-Tier design principles and the patience to develop applications in a distributed environment. Talk about getting overwhelmed! Anybody who says application development has gotten easier over the years is not thinking about newcomers to the game.

Microsoft's push behind Windows DNA is to make this process easier and more transparent, and to some degree this has been provided through the integration in Windows 2000. Many of the disparate services that were add-ons in Windows NT are now integrated in Windows 2000 utilizing a central interface (component services and the management console). New features in Windows 2000 provide a mechanism for scalability and the ability to offload processing from main systems to dedicated application servers, all utilizing the COM plumbing developers are already familiar with.

Microsoft is pushing hard for HTTP based Application Services providing data via XML. COM is being worked on as we speak with several initiatives to become a more open architecture to work over the ubiquitous HTTP protocol, which is crucially important to distributed applications. Service based applications and components are what will pull these pieces together into a unified framework.

When those services are available, they will be a great addition to the scenario Markus discusses in his column "The Importance of a Modern Development Approach". In the meantime, developers can use a variety of tools and technologies to build communication mechanisms and protocols. XML is finding rapid acceptance in Enterprise development, and as this standard evolves, hopefully disagreements about how data should be represented in these environments will be resolved.

The bottom line is that today's development landscape gives us lots of opportunity to build exciting programs. We have all the tools to build those heavy-duty, distributed applications. Standards are currently evolving to ensure applications are not only flexible in today's world, but will also be ready for the next wave of technology. There are no guarantees that the applications you build today will be able to talk to the future super frameworks that promise to make life easier through standardization, but it sure is more likely than it used to be just a few years or months ago.

We hope that with Code Magazine, we can provide some help by delivering articles that present new technologies and standards, as well as solutions to common problems that are part of the development process. We are counting on your feedback to make this your magazine rather than ours!

Rick Strahl and Markus Egger, Editors