Developer .NET UPDATE—brought to you by the Windows & .NET Magazine Network.
THIS ISSUE SPONSORED BY
Microsoft ASP.NET Connections & Visual Studio Connections
Windows & .NET Magazine Connections
SPONSOR: MICROSOFT ASP.NET CONNECTIONS & VISUAL STUDIO CONNECTIONS
WIN A BRAND NEW HARLEY DAVIDSON MOTORCYCLE
Don't miss this chance to attend three power-packed events for the price of one. Microsoft ASP.NET Connections + Visual Studio Connections + SQL Server Magazine Connections equals the largest gathering of Microsoft product architects and independent Tech gurus, delivering four days of hard-core drill-down sessions that you will not find anywhere else.
The Microsoft product team delivers over 35 cutting-edge sessions on the latest product releases. In addition, you can choose from over 100 in-depth sessions presented by our world-class speakers, authors, and consultants who share real-world solutions that will save you months of trial and error.
Visit the expo hall to see the latest technology and have a chance to win a Harley Davidson among other cool give-always. After an intense day of sessions, unwind at events like "Microsoft Unplugged," where no question is out of line, or march in the Mardi Gras Parade to the House of Blues for a night to fun.
Great content, great experience, great giveaways. This is one event you don't want to miss. Register today. Call 800-438-6720 or register online at:
March 25, 2003--In this issue:
1. DEVELOPER .NET PERSPECTIVES
- Understanding the Application Components
- Microsoft Tech-Ed 2003 Europe, June 30 - July 4, Barcelona
- SSMU Web Seminar Speakers Make the Difference!
- Featured Thread: Member Needs Help with Framework Installation
4. NEW AND IMPROVED
- Track Application Defects as a Team
5. CONTACT US
- See this section for a list of ways to contact us.
1. DEVELOPER .NET PERSPECTIVES
In my March 11 column "Putting Architecture Patterns to Work" (http://www.winnetmag.com/articles/index.cfm?articleid=38337), I discussed the Exception Management Application Block. (If you tried to download this application block previously, you might have encountered a glitch. Microsoft has now fixed the problem.) By customizing this application block, you can control the behavior of your application's exception-handling components. This week, let's look at how you can set up database access in your applications. In particular, I want to discuss two types of components associated with application data: business entities and data access logic components.
A business entity represents the data and logic associated with an element in your application. For example, developers commonly create a person class in their applications. This class generally maintains state for a person and encapsulates key behavior associated with that person.
Most developers know that business entities are associated with their applications' business logic and that business entities shouldn't contain logic that's specific to a UI. Having UI information inside a class that contains business logic limits the class's reuse. What most developers don't realize, however, is that the same can be true for embedding database-specific logic in a business entity. Just as you might want to have a class compatible with more than one UI, you might want to have a class that can use data from more than one data source. For this reason, the data store doesn't encapsulate the data tier.
Whether you're using a rich database such as a Microsoft SQL Server database or an easily transferable Document Type Definition (DTD)/XML file, the data-access logic of an application can be represented by a unique set of classes. A data access logic component is a stateless class that implements the logic associated with retrieving data from a data store. The idea is that an application can encapsulate knowledge of the data store in a set of data access logic components so that you can isolate changes to the data store from the remainder of your application. These components are stateless because they don't maintain your application data; the business classes manage the state and data. You use data access logic components to manage the transfer of data from your application to the data store. The data access logic components handle the create, read, update, and delete actions for the data store.
You might be tempted to cache data as part of the data access logic components. Although this action is possible, I don't recommend it. By definition, the data access logic component is stateless and a cache is a maintained state.
To learn more about business entities and data access logic components, I highly recommend that you read "Designing Data Tier Components and Passing Data Through Tiers" (http://msdn.microsoft.com/architecture/default.aspx?pull=/library/en-us/dnbda/html/boagag.asp). This paper first defines common elements (e.g., data access logic component), then presents some standard advantages and disadvantages associated with various implementations. Understanding the implementations' advantages and disadvantages is important because no single correct implementation exists when you pass data from the data layer to your UI. Which implementation is best depends on factors such as the type of data and how the data will be used.
When you're reviewing the Microsoft implementations, keep your options open. For example, if your application runs in two tiers and the business objects and database tables are tightly mapped, you might find that isolating data access within private methods of your classes works just as effectively as using data access logic components. I realize that what I just said might sound like I'm recommending that you don't use data access logic components. However, as I mentioned earlier, more than one correct solution typically exists.
Next week, I'll discuss database access in the Windows .NET Framework. I'll show you some of the specific tools and options that you can use to plan and implement an application's data store.
SPONSOR: WINDOWS & .NET MAGAZINE CONNECTIONS
REAL-WORLD TECHNICAL TIPS HERE FOR YOU
Chock full of "been there, done that" information from experts who use Microsoft technology in the real world. Get the latest tips on Exchange 2000, Exchange 2003, AD basics to advanced, security, wireless networks, Windows 2000, Windows Server 2003, Windows XP, IIS, Group Policy, and more.
Don't miss this exclusive opportunity to interact first hand with Windows & .NET Magazine writers you trust: Minasi, Russinovich, Hill, Wells, Deuby, Moskowitz, and more.
Attendees will have a chance to win a FREE Florida vacation. Plus, early registrants will save $200. Call now, 800-505-1201, or register online:
(brought to you by Windows & .NET Magazine and its partners)
Connect at Microsoft's premier European conference for building, deploying and managing connected solutions. Choose from 270+ in-depth technical sessions and hands-on labs to realize your full potential on the latest Microsoft technologies, platforms and tools. Register now and save 300 Euros!
SQL Server Magazine University (SSMU) Web Seminar speakers are tried and true--people you've come to know and trust through their articles and insights published in SQL Server Magazine. Finally, online training led by SQL Server gurus with real-life business application experience, not just theory! Get complete seminar info at
Forum junior member Pirho has run into a snag in his installation of the Windows .NET Framework. He gets an error when he tries to install the Framework from Windows Update. He also gets an error when he tries a standalone installation. If you can help, join the discussion at the following URL:
4. NEW AND IMPROVED
(contributed by Sue Cooper, firstname.lastname@example.org)
MCPcentral.com released OnTime 2.0, a defect-tracking and feature-management solution used collaboratively by development and test teams. Enhancements include role-based security that allows granular control of security permissions; the ability to include file and image attachments; a UI that lets users edit the detailed information of defects and features; and expanded reports, including the Project Summary report that outlines the current state of each project. An optional OnTime Web Services (SOAP) SDK is available to incorporate defect tracking and reporting into existing applications. Prices start at $75 for a single-user version. Contact MCPCentral at email@example.com.
5. CONTACT US
Here's how to reach us with your comments and questions:
- ABOUT DEVELOPER .NET PERSPECTIVES -- firstname.lastname@example.org
- ABOUT THE NEWSLETTER IN GENERAL -- email@example.com (please mention the newsletter name in the subject line)
- TECHNICAL QUESTIONS -- http://www.winnetmag.com/forums
- PRODUCT NEWS -- firstname.lastname@example.org
- QUESTIONS ABOUT YOUR DEVELOPER .NET UPDATE SUBSCRIPTION? Email Customer Support -- Developer_dot_NET_update@winnetmag.com
- WANT TO SPONSOR DEVELOPER .NET UPDATE? email@example.com
This weekly 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.