Exam Reviews

70-300: Architectural Artistry

This Microsoft exam challenges you in areas such as envisioning solutions, gathering and analyzing business requirements; developing specs; more.

Nearly a year after announcing it, Microsoft has released the final exam required to attain the mighty crown of the MCSD.NET. I'll bet you're wishing this was a slam dunk, right? Well, my would-be Michael Jordan, I'm hoping your day won't be ruined when I say you're going to have to make a goodly number of shots from the three-point line to get through this one! This exam is one of the dreaded design exams, and Microsoft hasn't disappointed us with a weak effort. Not only is it challenging, but it'll last a long time when it's released in live form. Be prepared for a couple of fouls!

This exam provides several lengthy case studies that you need to read and then answer questions on. Each case study describes a business and its specific problem and then probes you as the architect/developer to provide the solutions. Some of the questions are the standard multiple choice, and some require that you use a treeview or drag-and-drop to "draw" an answer (see figure).

Demo of 70-300 Exam Question Type
Microsoft's downloadable demo lets you try out samples of new item types that you may find on its exams. (Click image to view larger version.)

Analyze That!
Of course, being able to code properly is a staple of any programmer's repertoire. Being able to piece the solution together is at least equally important though. This exam definitely tests architectural skills. This is difficult because there are always different solutions to each problem. You need to be able to figure out what is essential information and what isn't. Be prepared to make judgment calls when it comes to technical feasibility as well as good ol' business sense.

Sure, the latest technology is always fun to play with, but does it solve the specific business issue for the client on a long-term basis? As Microsoft shows in this exam, it's important to view each and every aspect of the problem, including the current environment, user base and even dealings with outside partners.

Also vital to the project is the set of standards you and your team will follow. Likewise, deciding where error handling will take place, how you manage the application's state (especially for Web applications) and planning security are all critical portions of an application's design.

Tip: Make sure you know security well. It will be extremely detrimental to your project's success if you develop an insecure application.

70-300: Analyzing .NET Requirements

Exam Title
Analyzing Requirements and Defining Microsoft .NET Solution Architectures

Live in February 2003

Reviewer's Rating
"Are you a programmer or are you an architect? This test challenges you to make a distinction."

Who Should Take It
Core credit for MCSD.NET

1846: Microsoft Solutions Framework (MSF) Essentials
2710: Analyzing Requirements and Defining Microsoft .NET Solution Architectures
2090: Modeling Business Requirements to Create a Database Using Microsoft Visual Studio .NET Enterprise Architect

Preparation Guide

Demo Exam
To download a program that shows the newest question types being used in Microsoft exams, go here: http://microsoft.com/

Data Modeling
If you think data modeling involves posing for the camera or that DSS refers to satellite television, you should probably stay away from the IT field! Fortunately for you database jockeys, this section will be a piece of cake. One of the first things you should do when designing a solution is to lay out a rough estimate of what your data model will look like. Once you've done that, you can work on other things. As you know, if the database design is poor, the rest of your application, no matter how good will follow it right down the path with your good intentions.

In 70-300 Microsoft emphasizes the importance of thorough database design. Be prepared to hash out tables in every possible way. You should be able to garner enough information from the case studies to figure out what the client needs to have in the database. In addition to deciding what fields are available, you need to be able to specify primary and foreign keys as well as UNIQUE constraints, CHECK constraints and IDENTITY fields.

Although you don't need to be a database administrator to pass this exam, it certainly wouldn't hurt. It's obvious that Microsoft wants us to be sharper and more efficient on the database side of the house. Be sure to study this information well.

Tip: Being a SQL Server expert will definitely help you out. You will fail this exam if you don't know database design.

Technical Tangles
Once you have your data model in place, you should begin designing the object model and start wrestling with some of the technical issues the project faces. For example, you should decide whether or not your application will require clustering or application servers such as COM+ Services in order to run. Make sure the security model you have chosen works appropriately for the operating systems in question.

If there's a legacy environment in place, you'll need to fight the interoperability battle. Usually, it's not feasible for a company to abandon the existing system; so the old application needs to be phased out or made to work with the new application for a period. Sometimes there are legacy databases and operating systems in play as well. Make certain you can identify which items are considered legacy and more importantly, how the .NET Framework works with them. Also be able to provide a logical upgrade path that isn't ridiculous to implement.

If your application is going to be used in multiple parts of the world, you need to deal with the business side of this as well as the technical implementation. Understand how to use left-to-right mirroring (and vice versa) and also know how to use resource and satellite assemblies.

Getting the physical architecture of your application completed is key. Know how many database servers you need as well as where your databases go. Also know where your Web servers and application servers will be if you're going to use them. Last, make sure you have the order of your deployment set up and the method you'll use to deploy (and patch) the code. Remember, the code is useless unless you get it to the servers and clients first.

Tip: Make sure you have a background in networking, especially clustering, SQL Server security and IIS/NTFS permissions.

Raising The Standards
Throughout your development project, you'll need to develop standards and processes that will be your sword and shield for every possible circumstance. Everything needs to be managed: source control, reviewing code, even scheduling code pushes to production. If you don't define these things in advance, your project won't do well because members of the team will be running amok whenever a milestone needs to be crossed.

Microsoft remembered to place an emphasis on process and project management on this exam. After all, an MCSD is defined as a senior architectural professional with some project management experience included in the package. In that role, you need to be able to organize these types of functions.

Things to Practice

This exam is experience based. There isn't a whole lot you can do to prepare for this other than have the experience. The material isn't objective. So, in order to practice, think up a small application to develop to improve something you do in the course of a normal day. Do the following:

  1. Create a statement that describes your business problem.
  2. Make a list of things that your application needs to do.
  3. Develop a data model for your application. Don't forget stored procedures and indexes!
  4. Use the data model to hash out an object model. Decide what kind of application this will be (single-ier, two-tier or n-tier).
  5. Decide what .NET technologies you'll use.
  6. Program the application.
  7. Deploy the application.

The Crowd Goes Wild
While project design and management isn't the hardest thing to do in the world, Microsoft certainly presents a challenge in this exam. If you don't read carefully, you may select the wrong answer at a crucial moment. If you passed the other .NET development exams, you've proven your technical expertise. Now comes your chance to pick up this gauntlet that Microsoft has thrown down. Good luck!

About the Author

Chris Golubski, MCSE+I, MCDBA, MCSD, MCDBA, MCSA, MCP+Site Building, MCT is a managing consultant with I.T. Partners, Inc. (www.itpartners.net), a triple Gold Microsoft Certified Partner in Dallas. When not coding or engineering, Chris runs a Rottweiler Rescue in the Dallas/Ft. Worth area.


comments powered by Disqus

Subscribe on YouTube