Related Topics: XML Magazine

XML: Article

Examining the 70-310/320 Exam

Examining the 70-310/320 Exam

In this article, I'll go 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#).

Since originally writing this article, I found out that I did indeed pass, although with the new "pass-fail" scoring, I have no idea by how much. To be honest, I did not spend as much time preparing for this 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.

I started my research with an MSDN discussion, "Remoting and XML Web Services in Visual Basic .NET" ( comments/asp/threadbody.asp?aID=756868). Usually, you can find a starting point in MSDN and drill down and around the various topics from there.

I don't want 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 and OnStart), 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.

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
    ­SQL Server
  • Security
  • Debugging
  • Deploying
Now, let's spend a little more time in each of these areas.

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, 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 (e.g., Scalar and NonQuery).

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

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's "Key Security Concepts" page in the .NET Framework section, ( cpguide/html/cpconkeyconceptsinsecurity.asp). 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 before, 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.

    Spend some time fishing around in the MSDN documentation (the online version and any recent MSDN 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.

    Pay particular attention to the Microsoft online study guide. While I have often seen exams that did not have a question on an area in the study guide, I have never seen a question on an area that was not in 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, I'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 [email protected]. Good luck on the exam!

  • Comments (0)

    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.