September 29, 2008

MCITP SQL Server: Business Intelligence

I need to set some personal objectives for the next six months and I’ve been
considering working towards the Microsoft MCITP SQL Server: Business
Intelligence certification.



This requires that I pass two exams:

* 70-445: Microsoft SQL Server 2005 Business Intelligence – Implementation and
Maintenance

* 70-446 exam: Designing a Business Intelligence Infrastructure by Using
Microsoft SQL Server 2005



Passing the 70-445 gives you the MCTS SQL Server BI certification. Passing the
70-446 gives you the MCITP. The 70-445 is a prerequisite to the 70-446.



According to the latest MCP figures, there aren’t that many MCITP BI developers
out there, so this may be a challenge I’ll take on.



From the company perspective, it will be a big plus as it will earn them their
third competency - Business Intelligence, and will enhance our Microsoft Gold
Partner status. Hitting this milestone should also yield a good bonus at the end
of the year! On a personal level, it will allow me to build on my existing
BusinessObjects and Performance Point Server skills and pick up more of the
Microsoft BI toolset.



I’ve worked with Microsoft SQL Server a great deal and am currently playing
around with SQL Server 2008. I’ve also used most of the Microsoft BI tools as
well; SSIS, SSAS (for cubes) and SSRS. Having looked through the exam
preparation guides, I think I can clear these two exams in the next few months.



I don’t think I’ll take any formal classroom based training for these exams. I’d
rather use my training budget on something else, possibly Crystal Reports or
BusinessObjects Data Integrator. Hence, I’ll be using the MS book MCTS
Self-Paced Training Kit (Exam 70-445): Microsoft® SQL Server™ 2005 Business
Intelligence—Implementation and Maintenance to get me going.



Once this is out of the way, I might start looking at Sharepoint, and portals in
general.



Additional Resources:

click here for more info
mcitp training  

click here for more info
mcst training

MCTS .NET Certification Station

How Do You Retrieve Information About All Network Connections?

One of the objectives of the MCTS .NET Framework exam is to Embed management
information and events into a .NET Framework application. (Refer
System.Management namespace) and within that exam objective there is the
specific objective



Retrieve information about all network connections.

I started to look through the System.Management namespace and found the
ManagementObject and the ManagementObjectSearcher. Then the clarity of the
examples of the descriptions and examples began to muddy. I understood that the
ManagementObjectSearcher was using an ObjectQuery object to perform the search.
It was completely unclear WHAT was being queried.



My investigations then lead me to the Windows Management Interface, known as WMI.
What does this have to do with ObjectQuery and the ManagementObjectSearcher
classes? Well, WMI and the underlying WMI classes are what is actually being
queried. The queries are written in a SQL derivative named WQL. There is a
dizzying variety of information exposed by WMI.



After the mechanics of writing a query are understood, the next task is to find
the correct WMI class that encapsulates the information you need. In the case of
our question at hand, we are looking for networking information.



At first I was happy to find the Win32_NetworkConnection class, but found that
it did not return information for me. (Despite having a connection up for
writing this post). The next promising class was the Win32_NetworkAdapter class.
Using this class I created the example below that retrieves information about
all network connections.



A "gotcha" to consider before reviewing the code below:

My first version of the code listed a number of adapters. I then determined that
it listed physical AND logical network adapters. You will see an if block in the
code to distinguish between physical and logical adapters.



Retrieve Information About All Network Connections Example using System;

// A reference to the System.Management assembly needs

// to be added to your project...

using System.Management;



namespace NetworkConnectionsExample

{

class Program

{

static void Main(string[] args)

{

// In order to use ManagementObjectSearcher, we need to

// supply an query string to search on. We are searching

// against differenct classes exposed by the Windows Management

// Interface(WMI).

ManagementObjectSearcher network_connections =

new ManagementObjectSearcher(

"SELECT * FROM Win32_NetworkAdapter");



Console.WriteLine("\nFirst we will just list the names of all physical
adapters");

Console.WriteLine("and their connection status");

Console.WriteLine("-----------------------------");



// The query of the underlying ObjectQuery object is not executed

// until the Get() function is executed.

foreach (ManagementObject connection in network_connections.Get())

{

// Knowledge by experiment... on my machine there were a number

// of network adapters displayed on my first version of this code.

// I know I only have three pyhisical adapters (Wireless, 10/100,

// and 1394) so I empirically determined that the Management Objects

// with the NetConnectionStatus property were physical apdapters and

// not logical adapters... mileage may vary, results not insured ;)

if (connection.Properties["NetConnectionStatus"].Value != null)

{

Console.WriteLine("Product Name: " + connection.Properties["ProductName"].Value);

Console.WriteLine("Connection Status: " +
connection.Properties["NetConnectionStatus"].Value);

Console.WriteLine("-----------------------------");

}

}



Console.WriteLine("\nNext we will show all of the information availalbe for each
physical adapter.");

Console.WriteLine("Probably more than you ever wanted to know about your network
adapter, but your software might need to know it...");

Console.WriteLine("-----------------------------");



foreach (ManagementObject connection in network_connections.Get())

{

if (connection.Properties["NetConnectionStatus"].Value != null)

{

foreach (PropertyData d in connection.Properties)

{

Console.WriteLine("-- Name: " + d.Name + " Value: " + d.Value);

}

Console.WriteLine("-----------------------------");

}

}

}

}

}





Additional Resources

click here for more info mcitp training

click here for more info mcst training

click here for more info mcse training

click here for more info mcse 2003 training

click here for more info mcdst training

September 28, 2008

MCPD Web Developer exam 70-547 hints and tips

Following my post about studying toward
MCPD certification,
I’ve now taken the exam and am pleased to say I passed with a good score. The
exam 70-547 is about designing and developing web applications using ASP.NET
2.0. It focuses on the full software development lifecycle and covers planning,
architecture, design, testing and deployment, where as the prerequisite MCTS
exams cover more of the actual coding and implementation details.



My main study guide was the official Microsoft Press book, MCPD Self-Paced
Training Kit (Exam 70-547). It covered the syllabus thoroughly enough to get me
through the exam, but like most similar books wasn’t much fun to read. It’s over
700 pages, and after the first few hundred the content starts to get fairly
monotonous. It’s also difficult to skim because you might miss something
essential for the exam. If you’re an experienced developer then you might not
learn much, but if you’re new to coding then you should find plenty of useful
information about broader areas of software development, such as architecture,
data modelling and unit testing.



A lot of the testing chapters read like an advert for Visual Studio Team System
(VSTS) and aggressively promote its unit testing and web load testing
capabilities. There’s nothing wrong with that, it’s a Microsoft exam after all,
but you will need Visual Studio Team Test if you want to work through the
practical exercises (an evaluation version is available). The unit testing in
VSTS is impressive, but doesn’t seem to offer much over the freely available
NUnit. The web load testing on the other hand is invaluable.



My best advice for the book is to read it in short frequent bursts. Try to read
a little bit every day and you’ll easily work through it, so don’t be
intimidated. If you find yourself slacking, just register for the exam and
you’ll soon become motivated. And remember to use the 15% exam discount voucher
that comes with the book.



My other study resource, which I also used for the
MCTS exams, was
the practice test from Testkingdom.com. The questions are very relevant to the
actual exam, and helped highlight areas to focus my study. The most useful
feature is that every answer has an explanation, so if you get one wrong you can
see why and hopefully fill a gap in your knowledge.



The exam isn’t easy, but many questions appeal to common sense as well as
technical expertise, and there aren’t any trick questions. There’s more than
enough time to work through the 40 multiple-choice questions, so be careful to
read each one closely and don’t panic. Some questions ask you to pick more than
one answer so follow the instructions carefully. The passing score is 700 out of
1000.



According to Microsoft’s statistics there are only 2,147 MCPD web developers
worldwide, so if you want to improve your skills, stand out in the job market,
or negotiate a promotion then certification could be a great career move.



My next goal is MCTS
certification
for SQL Server and exam 70–431. Then it shouldn’t be too long
before the next generation of .NET 3.5 MCTS are available.

Bookmark and Share