Exam Reviews

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 (DHTML)
  • ActiveX Data Objects (ADO)
Visual Basic 6.0 Distributed Applications (70-175)
Reviewer’s Rating: “Microsoft is pushing the Windows DNA Application Model. This exam focuses on the technologies necessary to build and deploy a Windows DNA application.”

Title: Designing and Implementing Distributed Applications with Microsoft Visual Basic 6.0

Number of questions in reviewed version of exam: 138. The live exam will probably have about 70.

Time allowed: 2.5 hours. The live exam will probably allow 90 minutes.

Current Status: 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 applications.

What classes prepare you?

  • Course 1013: Mastering Microsoft Visual Basic 6 Development
  • Course 1016: Mastering Enterprise Development Using Microsoft Visual Basic 6
  • 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 Explorer.

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.

Programming Smarts

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 result set.

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.

The Plumbing

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 Web classes.”

Retrieving Data

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 retrieving data.

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.

Additional Information
You'll find the Preparation Guide for this exam at www.microsoft.com/
trainingandservices/exams/examasearch.asp?PageID=70-175
.

• To learn more about ADO, visit www.microsoft.com/data.

• To learn more about COM and Visual Basic 6.0, read Programming Distributed Applications with COM and Microsoft Visual Basic 6.0 by Ted Pattison, Microsoft Press, ISBN: 1-57231-961-5.

• MSDN has numerous excellent articles on MTS. Visit
http://msdn.microsoft.com/library/
.

• To learn more about stateless components and MTS, read Don Box’s March 1998 column in Microsoft Systems Journal, which is posted online at www.microsoft.com/msj/defaultframe.asp?page=/msj/0398/
activex0398.htm&nav=/msj/0398/newnav.htm

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 for that.

Featured

comments powered by Disqus

Subscribe on YouTube