Randy Cornish

Subscribe to Randy Cornish: eMailAlertsEmail Alerts
Get Randy Cornish: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: XML Magazine

XML: Article

Examining the 70-310/320 Exam (XML Web Services and Server Components Development with VB.NET)

Examining the 70-310/320 Exam (XML Web Services and Server Components Development with VB.NET)

In this article, we'll spend some time going over the 70-310 exam, XML Web Services and Server Components Development with VB.NET, although most of what I have to say applies equally to the 70-320 exam (C#).

As is always the case, I do not know if I passed the beta version of this exam. I suspect it will be close, but to be honest, I did not spend as much time prepping for the exam as I usually do. I spent most of the time prior to the exam traveling. (My daughter's volleyball team is fifth in the nation, thanks for asking.)

This exam was a bit harder than the "windows application" exam, but I suspect that was because much of the scope of this exam is centered on technology that is new ground, at least for VB programmers. I found it useful to group my study efforts into four areas:

  • XML Web services
  • Windows services
  • Serviced components
  • .NET Remoting
Virtually the entire exam was focused on questions from these four areas. As you might expect, the majority of the exam centered on Web services. .NET Remoting seemed to get the next most coverage, with Windows services and serviced components coming in a distant third and fourth. However, to get a passing score, I would suggest that none of the four areas be ignored.

One of the places I started my research was an MSDN article, "Remoting and XML Web Services in Visual Basic .NET." Usually, you can find a starting point in MSDN and drill down and around the various topics from there.

Not to parrot the Microsoft published exam objectives, but obviously, you will need to know how to build and consume Web services. This includes any attributes that are available to place in the method signatures. Know how to dynamically redirect a Web service in case the normal server is down. Learn how UrlBehavior is used and how web.config is set up to support it.

Windows services are new to VB programmers, but have been available to C++ programmers all along. While building them and deploying them is not too difficult thanks to the .NET IDE, you'll need to know more detail for the exam. Some background reading in this area and some practice creating one or two services, deploying them and then debugging one of them should be sufficient for the exam. Know the major events (like OnPause, OnStart, etc.), how to use InstallUtil and how to hook into a running process from the IDE for debugging purposes.

Serviced components are basically a way for .NET to interact with some of the features present in COM+. The main one that I would focus on is the use of transactions; including what method attributes are available. There are some good MSDN pages on this and if you have the O'Reilly book, .NET Framework Essentials, scan pages 87 through 101.

.NET Remoting is basically a much more powerful version of Web services. It is useful to know the differences between the two and when it is appropriate to use each. (I suspect this type of question will appear in the upcoming "Solutions Architecture" exam, due out in 2003.)

In each of these four areas, an understanding of the big picture will help with the questions where the correct response eludes you.

Overlaying these four major areas are subcategories for study:

  • Manipulating data
    • ADO.NET
    • XML
    • SQL Server
  • Security
  • Debugging
  • Deploying
Now, let's spend a little more time in each of these areas.

Just as was the case with the 70-306 exam, the two subcategories that get the most attention are ADO.NET (with more emphasis on XML in this exam) and security. It's apparent that Microsoft's renewed focus on "trustworthy computing" has permeated all the new exams. It appears that in addition to making the software less vulnerable, Microsoft wants to ensure that developers configure the software to take advantage of the new security options by pushing new best practices for a more secure application.

Data, Data, Everywhere...

ADO.NET questions make up a sizable chunk of the overall exam. If you don't know your ADO.NET objects, you'll not likely pass the exam. However, knowing ADO.NET in detail will help you in all of the .NET exams.

Know all the moving parts of ADO.NET: Adapters (both SQL and OleDB), the Command object, and the Connection object, DataReaders, and DataSets. Understand how to pass parameters into a stored procedure. Know how to set up relationships between tables and create constraints within a DataSet object. Finally, you should know at least the basics of XML, for example, how to use the XML DOM methods to create a well-formed XML document.

Know how and when to use the various Execute methods of the ADO.NET Command object (i.e. Scalar, NonQuery, etc.).

Know when you need to explicitly Open and Close a database connection and when you don't.

Passwords, We Don't Need No Stinkin' Passwords

Oh yes, you do. And a valid role wouldn't hurt either. As with all the new .NET exams, it's important to understand the various security models. Spend some time in MSDN (a good start is the MSDN page titled "Key Security Concepts" in the .NET Framework section.) Understand how to set up and administer role-based security, as well as authorization strategies and permission settings in the method signatures and config file.

As I mentioned earlier, Microsoft is mirroring its focus on secure computing in its exams.

And Now For Something Completely Different

  • You should know at least a little bit about the format of a DISCO file and the web.config file
  • It's important to know how to give a component a string name and how to register a component in the Global Assembly Cache (GAC). Also, understand the algorithm and the rules used to select a particular version of a component if multiple versions exist, either in the GAC or in the application's own folder. This information will be handy for all the .NET exams. Although I haven't seen a question in this area, I suppose it would be good to know how to remove a component from the GAC as well.
  • You should know how to call an unmanaged DLL (non-ActiveX) from .NET code and also how to consume COM components from .NET code.
  • It's worth spending a little bit of time to understand the big picture behind SOAP, including what SOAP extensions are used for and the various types of SOAP exceptions.
  • You should know how to set up a .NET component to be accessible to the COM environment (COM-callable).

    Some Final Thoughts

    As I've said in the past, whenever taking a Microsoft exam, if you're unsure which answer is correct (in other words, if you're guessing), choose the answer that puts the Microsoft product in the best light. The exams, while focused on evaluating the developer's knowledge, also seem to contain a marketing component.

    Another strategy crucial to success on these exams is to read each question carefully. Microsoft likes to insert phrases like "using the least amount of code" or "with the minimal disruption to the users." These are clues that there might be two "correct" answers, but only one that responds to the directions in the question. Read critically. For most of us, there's plenty of time to complete the exam if we read a bit more slowly.

    Spend some time fishing around in the MSDN documentation (the online version or the April 2002 library CD are the best bets). You'll rarely find the answer to an exam question verbatim in the MSDN library, but it might lead to writing some sample code that will help you grasp the concepts.

    Take the Microsoft online study guide seriously. While I have often seen exams that did not have a question in an area that was on the study guide, I have never seen a question in an area that was not on the study guide. If you feel a particular area probably won't get heavy coverage and you also feel you can afford to miss a few points, then set your schedule accordingly. I've tried to add some helpful advice in this column on where to concentrate your study efforts.

    In future articles, we'll review the Web Application exam (70-305/315) and perhaps go into more detail on specific topics covered in the various .NET exams. As always, feel free to share your experiences with me at RLCornish@cs.com. And, good luck on the exam!

  • Comments (3) View Comments

    Share your thoughts on this story.

    Add your comment
    You must be signed in to add a comment. Sign-in | Register

    In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


    Most Recent Comments
    Jason 06/24/03 09:45:00 AM EDT

    I'd love to see more on this subject!

    Rick Sline 06/21/03 10:08:00 AM EDT

    Like Dipanker, I'm targeting the 305 Exam (VB Web) now after passing the 306 (VB Windows).

    Note that should be obvious to all on the MCSD VB.NET track - there's a great deal of information overlap going progressively more to XML and Web Services from 306 to 305 to 310 - that's the order that I'm studing and taking my exams. Once those 3 are behind me, my elective will be 229 (SQL 2K) and I'll wrap with 300 (Systems Architecture).

    From my experience, practicing with the Transcender exams has been invaluable for both my VB6 MCSD and now for .NET. It's brave souls like Randy who we owe a debt of gratitude to for taking the exams early.

    Good luck to all!
    Rick

    Dipanker Das 10/23/02 11:51:00 PM EDT

    Hi Randy,

    It's really great to read the article. I appreciate the efforts you put to help others by guiding them with tips. Well now I am interested in knowing more about the 305 exam.

    Thanks and Regards,
    Dipanker