Rio Hotel & Casino | October 15-18, 2007

Full Day Workshops

Choose from a broad range of content and topics by expert presenters. VSLive!’s pre- and post-conference workshops give you more technical content than most development conferences’ entire programs.

Pre-conference Workshops – Monday, October 15, 2007

Architecting ASP.NET Applications, Intermediate
Paul Sheriff
There is a lot more to creating a good application than just writing code. It takes thought, good code reuse, architecture and re-useable libraries. In this full day workshop you will learn how to build up your own library of code using the best practices available today.

To start this full day workshop you will learn how to create an N-Tier architecture that you can use across all types of .NET applications. You will learn some of the best practices and what not to do.

You will learn how to take advantage of the Provider Model and how to build your own providers. By taking this approach you make it easier to add on new functionality to your applications later, but also isolate yourself from future changes in the .NET Framework as well.

To finish you will apply these concepts and learn many more when creating an ASP.NET application. You will learn about CSS, Themes, Skins and Master Pages. You will learn to create a base page class that will allow you to add functionality onto every web page by just changing code in one place.

By the end of this workshop you will walk away with many useful utilities and samples including:
1. A Data Layer Class (using the Provider Model)
2. Web Configuration Provider
3. Exception Management Provider
4. A Sample Data Class & Business Rule Class
5. Cascading Style Sheet Examples
6. Themes and Skins Examples
7. Master Pages Examples
8. Complete Sample Application

Each attendee will receive a free copy of my 200+ page eBook "Architecting ASP.NET 2.0 Applications".

SQL Server 2005: Power to the Developer, Intermediate
Brian Randell
SQL Server 2005 is a monumental release for developers. But where do you start? How do you get the most out of this monster product? In this workshop you'll get those questions and more answered.

You'll learn first about correct installation and configuration--what do you mean “I don't just accept the defaults?” You'll learn how to define your schema using the built-in tools, design tools like Visio, and the new Visual Studio 2005 Team Edition for Database Professionals product. You'll learn about security up front so you can build it in "by design.” You'll learn all about the CLR and .NET

Framework integration and whether it's right for you. You'll learn about the new support for XML, and more importantly when you should use it. You'll learn about correct transaction management and how to take advantage of features added to the SQL Client stack. Finally, you'll learn how to "make it go faster" - performance and your SQL Server applications.

This workshop will focus on the SQL Server 2005 product using both Windows Forms and ASP.NET clients in both client-server and n-tier mode with business objects.

Making the Tough Choices: Selecting the Right Techniques for Your App, Intermediate
Deborah Kurata
Visual Studio and the .NET Framework allow you to do so many things in so many different ways. The question you frequently face is: “Which way do I do it in my application?” The common answer of “It depends” just does not cut it. You don’t have time to make the wrong choice. You need to know which technique is right for you and for your application.

This workshop will cover many of the tough choices you face, and provide clear criteria on selecting the right tools and techniques for your application. It will provide guidance on selecting the appropriate set of classes for your application. It will look at inheritance-based, interface-based, and attribute-based techniques to clearly delineate the best time to use each. And much, much more. You will leave with a good sense of how to make the tough choices and develop applications that are easier to build, test, and maintain.

Post-conference Workshops – Thursday, October 18, 2007

Advanced C#: Moving up to LINQ, WCF and Framework 3.5
Richard Hale Shaw
The wait for WCF, WPF and WF is over: they're here, real and ready-to use today. And LINQ (along with C# 3.0) is on the horizon: leveraging the power of C# 2.0 Iterators and Anonymous Methods, it won't be long before Lambda Expressions, Extension Methods and the LINQ libraries will be de riguer. How should you best prepare for these new technologies? What are the best ways to leverage C# 2.0 features while anticipating the move to 3.0? How should you go about Service-enabling your applications and components to use WCF? When should you replace your Remoting and .ASMX applications with it?

In this workshop, we’ll spend a day using VS2005, .NET 3.0, and the latest CTPs/Betas of Orcas (the next release of Visual Studio) building live code examples (which you’ll get a copy of, afterwards) to get answers.

We’ll start C# 2.0 Custom Iterators: how can you use the PipeLine Pattern to wire them together the way LINQ wires together SQL Where and OrderBy clauses? What will LINQ do differently - and how? Then we'll move to Anonymous Methods: where should you use them, anticipating Lambda Expressions when C# 3.0 arrives? What opportunities will you have once Lambdas are finally here?

We'll also look at patterns for refactoring existing C# code to apply Generics and eliminate unnecessary methods, properties and classes. And we'll dig into the Framework itself to find examples of bottlenecks that you'll want to eliminate in your own code.
Finally, we'll take up WCF: how can you service-enable your layers to make them more malleable, adaptable and versionable?

By the end of the day, you’ll have a much deeper understanding of C# 3.0, Framework 3.5, WCF, and the Patterns and Practices for leveraging them.

(Prerequisites: you must already have 1 year of C# development experience with VS2005 and .NET Framework 2.0: no hand-holding if you don't. While .NET 3.0/C# 2.0 experience is not required, you may find it useful to bring a laptop with VS2005 and the latest CTP pre-installed.)

Getting the Most Mileage out of Team System, Intermediate
Benjamin Day
Ok, you’ve heard all the Microsoft claims about Visual Studio Team System/Team Foundation Server, its features and benefits, and what it’ll do for you: blah, blah, blah. The question is: as a Developer, what do you need to know about Team System to be more productive? Visual Studio Team System is out there and it’s got a ton of features.  It’s supposed to be great for developers, but where do you start?  What do you really need to know?  More importantly, what do you need to know as a developer to be more productive?  Bottom line: Team System is all about you writing high-quality code.  When you write quality code, you catch problems early and you try to make sure that those problems never come back.   

In this tutorial, Ben will explore how Visual Studio Team System and Team Foundation Server can help you to write quality code. We’ll start with unit testing: What is unit testing?  What is Test-Driven Development?  What are all different test types?  How do you design for testability? What are good tests vs. poorly designed tests? What’s a “mock” object?  How do you test user interface functionality?  What’s code coverage?  Why would you want to use code profiling on your unit tests?  What’s the best way to unit test your stored procedures?

Next, we’ll talk about managing your code with Team Foundation Server source control: How do you ensure that your code base is clean?  How do you keep people from breaking the build?  What’s “continuous integration?"  How to use check-in policies to avoid source control anarchy?  Why use Static Code Analysis?  How do you use branching and merging to manage multiple versions of an application?  What’s a shelveset – and why does it take care of the “hit-by-a-bus factor?”

Then we’ll cover how Visual Studio Team System helps you manage your database code:  How can you manage databases with Team Foundation Server source control?  How do you manage new versions of the database schema?  What’s the best way to get test data?  Why is “Rename Refactoring” better than CTRL-H (Find & Replace)?

Finally, we’ll discuss the Team Foundation Server build system: What’s a Team Build?  What’s MSBuild?  What’s a build script?  How do “desktop builds” fit in? 
When we’re done, you’ll have learned the Developer-centric features in Team System that leverage unit testing, source control, and Team Builds to be highly productive and develop high-quality software.

Build Distributed Object-Oriented Apps in .NET 3.0, Intermediate
Rocky Lhotka
In this workshop you will learn how to design Windows, Web and Web Service-based applications that have a reusable business layer composed of objects. You’ll learn how to achieve high levels of reuse, scalability, long-term maintainability, and other benefits. Learn how to apply WCF, WF, WPF, System.Transactions, generic, and data binding when building distributed applications on .NET.