Windows DNA Has Arrived!
All you need to pass this exam is a thorough understanding of VB 5, VB 6,MTS, DNA, ADO, COM, DCOM, HTML, DHTML, IIS, XML, and OLEDB.
At first blush, the Visual Basic Distributed
Applications exam looks like a killer. Just reading through
the Microsoft Exam Preparation Guide overwhelmed us. But
don’t despair—you can pass this exam if you’re prepared.
Although it covers a wide topic area, it doesn’t delve
too deeply into any particular subject area (with a few
exceptions). In this article, we endeavor to give you
the highlights of the exam.
“Distributed Applications” in the title
of the test really refers to Microsoft’s Distributed InterNet
Applications (DNA) architecture, what one author recently
called a “catch-all term for Microsoft’s many Web application
technologies.” This architecture defines the basic plumbing
for applications built on the common object model (COM)
structure. The exam covers general VB questions along
with the new technologies necessary to build a Windows
DNA application. It encompasses these topic areas:
- General DNA architecture
- Application deployment and installation
- Application debugging
- General Visual Basic features (some new technologies,
but also general VB 5 topics)
- Microsoft Transaction Server (MTS)
- Internet Information Server (IIS) and Dynamic HTML
- ActiveX Data Objects (ADO)
Basic 6.0 Distributed Applications (70-175)
Rating: “Microsoft is pushing the
Windows DNA Application Model. This exam
focuses on the technologies necessary
to build and deploy a Windows DNA application.”
Designing and Implementing Distributed
Applications with Microsoft Visual Basic
Number of questions
in reviewed version of exam:
138. The live exam will probably have
2.5 hours. The live exam will probably
allow 90 minutes.
Live as of December 1998.
Who should take
it? Programmers developing distributed
applications for the Internet and intranets
and building MTS-, DHTML-, and IIS-based
What classes prepare
- Course 1013: Mastering Microsoft
Visual Basic 6 Development
- Course 1016: Mastering Enterprise
Development Using Microsoft Visual
- Course 1298: Mastering Distributed
Application Design and Development
Using Microsoft Visual Studio 6.0
The Three-Tier Foundation
Microsoft’s vision of DNA follows the
traditional three-tier model. The presentation of information
to the user is separated from the business logic and rules,
which is in turn separated from the physical database.
The DNA application model is also designed to be scaleable
and extensible (very important for Web sites).
Microsoft is pushing not just rich
client applications (written in such languages as VB or
Visual C++) but also Web-based or thin-client applications.
Since this exam focuses on distributed—in other words,
enterprise—applications, this development paradigm is
pervasive throughout all topics. You’ll probably also
find a few questions covering general architectural topics.
Tip: Understand the presentation,
business logic, and data layers of Windows DNA and how
to apply the related technologies.
Sending Your App into the World
Of course, the magnificent application
you’re building will need to be installed and deployed
across your enterprise. You’ll find several questions
pertaining to this subject area, so be prepared. The new
Package & Deployment Wizard tool is covered as well as
DCOM, MTS, and Active Document installation questions.
The Package & Deployment Wizard (called
the VB Setup Wizard in prior versions) helps create installation
packages for VB applications and then install them to
client workstations. The Wizard provides a couple of options
for distributing applications. It works well in distributing
standard applications, those that use SETUP.EXE. It also
works well in creating Web distribution packages for Internet/intranet
applications. The Wizard also tracks dependencies so the
appropriate files are included with your installation.
The various technologies encompass
a wide range of installation issues. Review the installation
of each type of component—MTS, COM/DCOM, Active Documents,
and the standard executable. Make sure that security,
access, and roles are established and that the components
are registered appropriately.
Tip: Best preparation: Install
an MTS Component, a DCOM component, an Active Document,
and a regular COM component.
Getting It Right
This area of the exam—application deployment
and installation—is a mix of the old and new. Debugging
of COM components, ActiveX controls, and Active Documents
hasn’t changed since VB 5. Test an application using VB’s
project group feature by combining a standard EXE with
an ActiveX DLL/EXE or an ActiveX control. Make an Active
Document application and debug it using VB and Internet
An important thing to remember when
developing in VB is that VB automatically tries to take
care of registering your components for you. This can
cause problems at times. Be sure you understand No Compatibility,
Project Compatibility, and Binary Compatibility.
Be familiar with the standard VB debugging
tools: the Watch window and the Immediate window.
Tip: VB 6 has a cool new
feature that allows you to debug MTS components easily
in the VB debugger. If you tried to do this in VB 5, you
probably had all sorts of fun trying to use the Visual
C++ debugger. Messy, messy, messy. This has been improved
in VB 6. Be sure to study up on debugging MTS components.
Remember that you need to know Visual
Basic 6.0 to pass this test. Some basic topics aren’t
covered, but beware of the odd little question that might
pop up and surprise you. VB 6 is a rich development tool.
Know it well.
A nifty new feature of VB 6 is the
CausesValidation property of a control. By setting this
property to True, a Validate event fires when the control
is about to lose focus. This allows the programmer to
validate the data in the control and keep the focus on
the control if necessary. This totally eliminates the
competing focus problems associated with doing field-level
validation on the LostFocus event.
Another great feature of VB 6 is the
integrated data environment. This allows you to hook directly
to a Microsoft SQL Server (6.5 SP4 or greater) or Oracle
7 database right in the VB project. You can create and
debug stored procedures and views, and create and modify
tables on the fly. Really nice. The tool also allows you
to create ADO Connection and Command objects for a data
environment, then bind a form field to a column in the
Ever wanted to make a business object
work like the old data control? VB 6 allows you to do
this. You can put your business logic in a component,
then use that component essentially as a data provider
for controls on a form. This allows the programmer to
put business logic into a component, but get the ease-of-use
benefits of the data control.
Tip: Remember: Winhelp is
dead. You’ll need to know the basics of creating a help
system using the Microsoft HTML Help Workshop.
You can’t do DNA using Microsoft’s
model without using MTS. We’ve all wondered over the last
couple of years what MTS can do for us other than suck
down memory and degrade performance. Get to know what
MTS is and what the benefits are to using it (yes, there
are many). Areas to study include dynamic load balancing,
transactions, and resource pooling.
Specific topics you need to be familiar
with are creating and installing a package, creating roles
and implementing security with MTS (great features here),
when to select the different levels of transaction support,
and creating the right type of business objects. Not all
business objects work well with MTS. Those that work best
are stateless components.
Understand the threading options for
a VB project, the thread pool option, and Unattended Execution
(quite important for MTS components).
Tip: Understand how to build
and distribute an MTS component.
IIS and Dynamic HTML
VB 6 includes the ability to make Web
classes that run on the server to handle requests from
client Web pages. It also has a really slick way to lay
out DHTML pages right in the VB environment. You need
to know how to send and receive data between the client
Web page and the VB IIS application. Also understand how
to use the Response and Request objects and know where
to initialize variables in your Web class.
Tip: For more information
about this, see the MSDN article, “An Introduction to
ADO is a core aspect of the DNA model,
so expect a lot of questions about it (though not as many
as on deployment). Remember that ADO is built on OLE DB
and is a key piece of Microsoft’s Universal Data Access
strategy. ADO can connect to databases directly using
OLE DB, or through ODBC, making it a universal tool for
Understand when to use the different cursor types (such
as Forward Only, Static, Dynamic, and Keyset). Be familiar
with how transactions work with ADO. Be familiar with
the Command object.
Tip: Investigate client-side
vs. server-side cursors.
In the End...
Overall, we found this to be a challenging test covering
a wide range of topics. Fortunately for us, not all of
the subjects got a great amount of deep coverage. We’d
advise you to focus on deployment, MTS, ADO, and your
general VB skills. When it comes down to your preparation,
get experience. Try out the technologies. There’s no substitute