default heading
Starting at $4.95/month - ASP.NET Hosting! Get Up to 10 FREE MS SQL & MySQL Databases
See Why Thousands of Customers Have Switched to WinHost! Host UNLIMITED Web Sites with Reliable Windows/ASP.NET Web Hosting. Click Here and Sign Up Today!
Google


 

Article Rating:  3.46

.NET Certification: Exam 70-305...

This article shall introduce and consider the requirements for .NET certification, the last exam component of which progressed from beta to full exam status in early 2003.


By: Chris Sully Date: July 19, 2003 Printer Friendly Version

Introduction

This article shall introduce and consider the requirements for .NET certification, the last exam component of which progressed from beta to full exam status in early 2003. As well as a general overview of .NET certification and why you might want to consider it I'll look particularly at Exam 70–305: Developing and Implementing Web Applications with Microsoft Visual Basic® .NET and Microsoft Visual Studio® .NET. My hope is the information presented will prove useful to those considering and those due to take this and other .NET certification exams.

I've always been severely circumspect of Microsoft certifications, in particular whether they accurately measure an individual's ability. I am aware that I'm not alone in this point of view. I know of people who have studied for one day for Microsoft certification exams using just sample exams and with very little practical experience with the tools and technologies but have sailed through the exam. Conversely I know of experienced developers who failed the development exams. This is a primary consideration: no matter how experienced you will severely compromise the likelihood of your passing the exam unless you explicitly prepare for it.

Personally I've tended to only undertake certification exams when they've been part of job goals set by managers that might affect pay raises! This and related issues are the main reasons for taking these exams ... potential employers will see certification as proof of your skill set and many of the better jobs one sees, in the UK at least and particularly those that are more consultancy oriented, are increasingly demanding Microsoft certification. The question of how well passing Microsoft certifications reflects your ability to develop Microsoft solutions then becomes largely redundant, though will be an important consideration to those who can't see themselves looking for alternative employment in the short to mid term future.

For the small organisation a further reason for undertaking Microsoft certification is to gain Microsoft Partner status with the various benefits this offers. You need at least two Microsoft Certified Professionals in your organisation to be eligible to apply for Microsoft Partner status. The savings you make simply on MSDN subscriptions justifies the cost of Microsoft Partnership. Plus, importantly, you have the allied marketing opportunities to exploit. I mention this as this is my main reason for myself, as director of a company, for ensuring that my fellow employees and I achieve accreditation ... a Microsoft Software Development company which isn't a Microsoft Partner would seem circumspect to me as a potential client. The other restriction to Microsoft Partnership is that the accreditations must be in the latest Microsoft technologies. So .NET is just the ticket!

The Options

There are two levels of .NET certification: The Microsoft Certified Application Developer (MCAD) qualification requires three exam passes. Five are required for Microsoft Certified Solution Developer (MCSD) including a desktop application development.

To fulfill the core certification requirements of MCAD, you are required to pass one exam focused on either Web Application Development or Windows Application Development in the language of your choice (VB.NET or C#), and then pass one Web Services and Server Components exam. In addition to the core exam requirements, you must also pass one elective exam that provides proof of expertise with a specific Microsoft server product.

I'm more VB than C# so the choice of pertinent exams for MCAD for me would be:

Exam 70–305: Developing and Implementing Web Applications with Microsoft Visual Basic® .NET and Microsoft Visual Studio® .NET

Exam 70–306: Developing and Implementing Windows-based Applications with Microsoft Visual Basic .NET and Microsoft Visual Studio .NET

Exam 70–310: Developing XML Web Services and Server Components with Microsoft Visual Basic .NET and the Microsoft .NET Framework

and the most obvious choice for most as an elective exam, including me, would be:

Exam 70–229: Designing and Implementing Databases with Microsoft SQL Server™ 2000 Enterprise Edition

For MCSD, you need to pass all 3 aforementioned .NET exams and one additional:

Exam 70-300: Analyzing Requirements and Defining .NET Solution Architectures.

These as well as an elective, as above.

For MCAD you get to choose whether you want to specialise initially in windows or web development. As principally a ASP.NET developer, it's web for me and I suspect this will be the case for most DotNetJohn readers. You can see there is also a ready progression from MCAD to MCSD ... basically you need two more exams, as the three MCAD exams will always count towards MCSD as well.

So, for starters I’m targeting, the following exams in the following order:

Exam 70–305: Developing and Implementing Web Applications with Microsoft Visual Basic® .NET and Microsoft Visual Studio® .NET

Exam 70–310: Developing XML Web Services and Server Components with Microsoft Visual Basic .NET and the Microsoft .NET Framework

Exam 70–229: Designing and Implementing Databases with Microsoft SQL Server™ 2000 Enterprise Edition

If there is interest I'll the review requirements of each of these exams, but I'll start in this article now with a consideration of the exam requirements most relevant to DotNetJohn readers: Exam 70-305.

Exam 70–305: Developing and Implementing Web Applications with Microsoft Visual Basic® .NET and Microsoft Visual Studio® .NET

I'm going to run through the exam objective guide with the odd explanatory comment where appropriate in red.

1 Creating User Services

Create ASP.NET pages.

  • Add and set directives on ASP.NET pages. Assembly, Control, Implements, Import, OutputCache, Page (AspCompat, AutoEventWireUp, CompilerOptions, ContentType, Culture, EnableSessionState, EnableViewState, EnableViewStateMac, ErrorPage, Explicit, Inherits, Language, Src, etc.), Reference, Register.
  • Separate user interface resources from business logic. The code behind model – with and without pre-compilation.

Add Web server controls, HTML server controls, user controls, and HTML code to ASP.NET pages.

  • Set properties on controls.
  • Load controls dynamically.
  • Apply templates.
  • Set styles on ASP.NET pages by using cascading style sheets.
  • Instantiate and invoke an ActiveX® control. Add an ActiveX control to the VS.NET toolbox and drag and drop onto your web form. Implementation via object tag and class id.

Implement navigation for the user interface. Smart navigation, server.transfer, server.execute

  • Manage the view state.
  • Manage data during postback events.
  • Use session state to manage data across pages.

Validate user input. Validation controls. See Add Web server controls.

  • Validate non-Latin user input. i.e. foreign languages. E.g. string indexing, comparing and sorting data. See Implement globalization.

Implement error handling in the user interface. Try … Catch … Finally; exception raising

  • Configure custom error pages. customErrors
  • Implement Global.asax, application, page-level, and page event error handling.

Implement online user assistance. E.g. inline help, embedded help (controls, DHTML), 3rd party tools. See Implement accessibility features

Incorporate existing code into ASP.NET pages. aspcompat page directive with late bound COM components, client and server side COM components, runtime callable wrappers, TLBIMP, platform invoke

Display and update data.

  • Transform and filter data. DataTable.Select, DataView
  • Bind data to the user interface. Simple and complex data binding
  • Use controls to display data.

Instantiate and invoke Web services or components.

  • Instantiate and invoke a Web service. SOAP, DISCO, UDDI, WSDL, web references
  • Instantiate and invoke a COM or COM+ component. See Incorporate existing code into ASP.NET pages
  • Instantiate and invoke a .NET component.
  • Call native functions by using platform invoke. See Incorporate existing code into ASP.NET pages

Implement globalization.

  • Implement localizability for the user interface. Cultures, CultureInfo, CurrentCulture, CurrentUICulture and Invariant Culture, resource files
  • Convert existing encodings. Unicode, System.Text
  • Implement right-to-left and left-to-right mirroring. HTML dir tag
  • Prepare culture-specific formatting. See CurrentUICulture, etc.

Handle events. Delegates, publishing and subscribing, via overriding the base class, via attaching delegates, through AutoEventWireup.

  • Create event handlers.
  • Raise events.

Implement accessibility features. i.e. making your application usable by those with disabilities: flexibility, choice of input and output methods, consistency and compatibility with accessibility aids. See W3C guidelines.

Use and edit intrinsic objects. Intrinsic objects include response, request, session, server, and application.

  • Retrieve values from the properties of intrinsic objects.
  • Set values on the properties of intrinsic objects.
  • Use intrinsic objects to perform operations.

2 Creating and Managing Components and .NET Assemblies

Create and modify a .NET assembly.

  • Create and implement satellite assemblies. i.e. resource only assemblies that store culture-specific information
  • Create resource-only assemblies.

Create Web custom controls and Web user controls. Custom components, user controls, composite controls, derived controls

3 Consuming and Manipulating Data

Access and manipulate data from a Microsoft SQL Server database by creating and using ad hoc queries and stored procedures.

Access and manipulate data from a data store. Data stores include relational databases, XML documents, and flat files. Methods include XML techniques and ADO.NET. Data providers, objects: connection, command, parameter, DataReader, DataAdapter, FataSet, DataView; streams and backing stores, XmlDocument vs XmlDataDocument

Handle data errors. SQLException and SQLError objects; optimistic vs 'last one wins' concurrency

4 Testing and Debugging

Create a unit test plan.

Implement tracing. System.Web.TraceContext, System.Diagnostics

  • Add trace listeners and trace switches to an application.
  • Display trace output.

Debug, rework, and resolve defects in code.

  • Configure the debugging environment. Breakpoints and VS.NET debugging windows
  • Create and apply debugging code to components, pages, and applications. Conditional compilation, trace switches, trace listeners
  • Provide multicultural test data to components, pages, and applications.
  • Execute tests.
  • Resolve errors and rework code.

5 Deploying a Web Application

Plan the deployment of a Web application.

  • Plan a deployment that uses removable media. Use CAB size option
  • Plan a Web-based deployment.
  • Plan the deployment of an application to a Web garden, a Web farm, or a cluster.

Create a setup program that installs a Web application and allows for the application to be uninstalled. Windows Installer

Deploy a Web application. Setup project (editors: file system, registry, file types, UI, custom actions, launch conditions); merge module project for components

Add assemblies to the global assembly cache. Strong naming, delay signing.

6 Maintaining and Supporting a Web Application

Optimize the performance of a Web application. Issues: caching, session sate, viewstate, low cost authentication, boxing and unboxing, string builder, exception throwing, unmanaged code, managed providers, stored procedures, database tuning, DataReaders, connection pooling etc.

Diagnose and resolve errors and issues. Event logs, performance counters and processes

7 Configuring and Securing a Web Application

Configure a Web application.

  • Modify the Web.config file.
  • Modify the Machine.config file.
  • Add and modify application settings. AppSettings

Configure security for a Web application.

  • Select and configure authentication type. Authentication types include Windows Authentication, None, forms-based, Microsoft Passport, Internet Information Services (IIS) authentication, and custom authentication.

Configure authorization. Authorization methods include file-based methods and URL-based methods.

  • Configure role-based authorization. WindowsIdentity and WindowsPrinciple
  • Implement impersonation.

Configure and implement caching. Caching types include output, fragment, and data.

  • Use a cache object.
  • Use cache directives. Page and user control levels

Configure and implement session state in various topologies such as a Web garden and a Web farm.

  • Use session state within a process.
  • Use session state with session state service.
  • Use session state with Microsoft SQL Server.

Install and configure server services.

  • Install and configure a Web server.
  • Install and configure Microsoft FrontPage® Server Extensions.

Conclusion

I hope this article has been useful to those of you out there preparing for or considering taking Exam 70-305. The above identifies the key areas for consideration and includes a few pointers as to what is involved for some of the less obvious areas. Key to passing the certification is studying to the requirements. Identify the areas in which you are weak and address them. DotNetJohn articles cover much of the content above. In addition you would be well advised to at least purchase one of the books out there specifically aimed at passing the exam. The one included as a reference to this article is fairly good being particularly well structured though it could have done with better proof reading and editing. At over a 1000 pages it certainly covers more ground than is strictly necessary to pass the exam so it depends how much time you have to devote to your study. You will also need to undertake practice exams whether purchased separately, with a book, or downloaded from the Internet. A good representative set of practice questions with explanations is probably the most efficient use of preparation time.

I shall follow up this article in the near future with a some of my own hints and tips as to areas that are likely to be tested within the 70-305 examination.

References

Developing and implementing web applications with VB.Net and VS.Net
Mike Gunderloy
Que

Microsoft's MCP web site

 
Please Rate This Article Poor           Excellent
 
 
 
 
 
   © Copyright 2002-2010 DotNetJohn.com LLC
Terms of Use Privacy Policy