DevWeek 2009 Post-Conference Workshops
NOTE The information on this page refers to DevWeek 2009. This site will be updated with information on DevWeek 2010 closer to the event.
Friday 27 March 2009
The following workshops run for a full day (from 09.30 to 17.30), with a short break in the morning and afternoon, and a lunch break at 13.00.
Unless otherwise noted in the descriptions, they are presentation-based rather than “hands-on” labs.
 |
A Day of Connected Systems with .NET 4.0 and Oslo
WORKSHOP REF: F1
Richard Blewett
The next version of .NET comes with major improvements to the workflow world in terms of performance, usability and new execution models. It also has a feature-rich infrastructure for integrating with WCF to create workflow-based services. At the same time Oslo introduces a modelling platform that can be used to model these workflow services and the application around them using a repository, modelling tool and modelling language.
This one-day seminar walks you through the latest offerings from Microsoft’s Connected Systems Division, and discusses not only how they affect the software you write tomorrow, but also what it all means for the software you write today. |
 |
 |
From the Coalface: real-world WPF
WORKSHOP REF: F2
Dave Wheeler
Windows Presentation Foundation (WPF) is one of the most powerful and complex user-interface technologies ever created. In this one-day workshop, you will see how to exploit WPF to the maximum. The focus of the day will be analysing the features of a real-world application, examining how they are implemented in WPF and the design challenges that had to be faced and overcome.
Ranging in detail from managing real-world performance to printing to practical design of a multi-tiered application, this workshop is packed full of tips and advice that will help you design and build the next generation of user interfaces for the Windows platform: a must for any client developer.
As this workshop addresses practical aspects of WPF, it is expected that attendees already have a basic understanding of WPF technology. |
 |
 |
Claims-based Identity Workshop with the Geneva Framework
WORKSHOP REF: F3
Keith Brown
Are you building web applications using ASP.NET or web services using WCF? Do you want your applications to have seamless single sign on (SSO)? Do you care about user authentication, authorisation, auditing, and personalisation? Do you want the ability to delegate credentials across multiple network hops without the pain of setting up Kerberos delegation in Active Directory? Are you interested in learning how to federate identity across organisational boundaries as well as security realms? If so, then this workshop is for you.
In this workshop, you’ll learn about a new approach to modeling identity: the claims-based approach. You’ll learn how building claims-aware applications can allow you to centralise logic for discovering user identity attributes. Identity is tricky these days – user attributes are stored in lots of places, from LDAP directories to SQL databases. Using a claims-based identity model allows you to factor out the knowledge and code that collects these user attributes and centralise it into an application called an identity provider. This also centralises authentication and allows you to implement SSO with very little hassle. Over time, as you add more applications to the system, they all benefit from the features in your identity provider, which you’ll probably want to improve over time, from stronger authentication methods to something as simple as an additional attribute for users.
Most importantly, your application developers will never feel the need to build custom user account databases or perform their own authentication, because it’ll be so much easier to simply rely on the identity provider for these services. Because the claims-based identity model is built on standard protocols like SAML, WS-Trust and WS-Federation, you can buy an identity provider off the shelf if you don’t want to build it yourself. Active Directory Federation Services (ADFS) is an example of this. And of course federation also becomes much easier because of these standards: federation across organisational or security realm boundaries (if you’re not sure what “federation” means, you’ll learn all about it in this workshop).
On July 9, 2008 a revolution took place in the identity space with the beta release of the identity framework from Microsoft codenamed ‘Geneva’. With Geneva’s claims programming model, it’s now easy to build applications that rely on identity providers. Geneva also makes it easy to build your own identity providers if an off-the-shelf version doesn’t suit your needs. And if you want to use an identity selector like Windows CardSpace, Geneva’s InformationCard ASP.NET control makes it a piece of cake.
After learning the fundamentals of claims-based systems and understanding why it’s useful to model identity in this fashion, we’ll dive into programming web applications and services using the Geneva Framework. Next you’ll see how identity providers are built, and how two identity providers can work together to bridge the gap between organisations and security realms. You’ll also learn about advanced features of Geneva such as delegation (ActAs) and authentication assurance.
With a whole day to dive into the Geneva Framework, you’ll learn what it takes to build an identity and SSO solution that will serve you for years to come. |
 |
 |
Building a .NET 3.5 Application Using Team System
WORKSHOP REF: F4
Brian A. Randell
Sure, you know how to write code. But do you know how to do it effectively using Team System? In this seminar, I’ll demonstrate the process of building a .NET 3.5 application using Visual Studio 2008 Team Suite and Team Foundation Server 2008.
First, learn how to set up your team project, define work items, and configure version control. Then learn how to use the features in the Team Architecture edition to perform a top-down design of your new system. Next, using features in the Team Development edition, learn how unit testing and code coverage can help you write better code. Next, see how the Database Edition brings sanity to building SQL Server databases, including version control and unit testing. Back with the Team Development edition, I’ll show you how to work with code analysis, code metrics and profiling to make your application even better. Next, see how Team Build provides the cornerstone for solid team integration with support for builds on demand and continuous integration. Moving on, see how the Test Edition helps developers and testers with test case management, ordered tests and publication of test results, and see how Web testing and load testing help you build rich, scalable Web sites.
By the end of the day, you’ll have seen how an entire application can be built and managed using Team System 2008. |
 |
 |
A Day of Ruby on Rails
WORKSHOP REF: F5
Kevin Jones & Tim Ewald
Rails is a framework used to build web applications which has received a lot of attention recently from the software development community. Rails applications are built using Ruby – a dynamic, object-oriented language, which has grown in popularity over the last few years.
In these talks we will look at developing Rails applications, with particular emphasis on how this applies to .NET programmers. We will give an introduction to the Ruby language; look at how Rails uses the Model View Controller pattern; examine how Rails prefers convention over configuration, and examine Active Record (Rails’s database access mechanism).
No Ruby or Rails experience is necessary or expected. |
 |
 |
Programmer’s Dozen: Thirteen Recommendations for Reviewing, Refactoring and Regaining Control of Code
WORKSHOP REF: F6
Kevlin Henney
This session walks through recommendations that can be applied out-of-the-box to reduce code size and complexity, acting as both guidelines for new code and indicators for refactoring.
This short list has no ambition to be all that you ever needed to know about design (but were afraid to ask), but it does offer an easily memorable and easily practised set of guidelines that offer the greatest immediate return on investment.
The recommendations presented are structured as themes and are not necessarily specific to programming language, although concrete examples include matters of class interface and hierarchy design, expression of control flow and logic, and other issues ranging from the apparently minor to the unavoidably major. |
 |
 |
From Developer to Architect
WORKSHOP REF: F7
Simon Brown & Kevin Seal
This session is an interactive introduction to software architecture and what it means to be a software architect. It’s aimed at software developers who are looking towards their first software architect role, as well as architects that are new to the role.
You will gain:
- An understanding of what it means to be a software architect, and the role’s responsibilities.
- An understanding of the trade-offs connected with architectural decisions.
- Some experience of what it feels like to be an architect, including gathering non-functional requirements, determining the drivers for architecture, and defining an architecture.
- An understanding that, as a software architect, it’s okay to do some coding.
Combining presentation, group discussion and group working, throughout the day you’ll be solidifying everything you learn by defining the architecture for a small software system. The overall goal is that you can take the experience gained here and apply it to your own projects.
Level: No architecture experience required, but software development experience is assumed. |
 |
 |
A Day of LINQ
WORKSHOP REF: F8
Niels Berglund
LINQ is a set of .NET language extensions whose mission is to try to eliminate the impedance mismatch between data and object – i.e. how can we query objects as if they were data, and how can we treat data as if they were objects?
In this post-conference session we take a deeper look into LINQ to see how it all works. We start with looking initially at some of the new language constructs that make LINQ possible. From there we go on to look at how to use LINQ over in memory objects as well as XML.
In the afternoon we will have a brief look at using LINQ against databases through LINQ for Entities. Finally at the end of the day we will look briefly into the future and see how LINQ will work with the new parallel extensions that .NET framework 4.0 introduces.
Please note that we will not be covering LINQ to SQL in the workshop.
Attendees should have some knowledge/experience of .NET and ADO.NET. |
 |
 |
Securing SQL Server from Predators
WORKSHOP REF: F9
Peter DeBetta
Had your identity stolen lately or know someone who has? Worse – do you know someone who is to blame for such theft? I have seen many database implementations that were far from secure and potentially exposed what should have been secure information.
This pre-conference session is aimed at helping the developer secure the database, and will cover topics such as:
- Key management
- Data encryption (both apparent and transparent)
- SQL injection (and how to avoid it)
- Coding practices
- The benefits and downside of ORMs
- Physical security
- Keeping communications secure
|
 |
Return to Sessions introduction
|
|
|
|
Download code samples from DevWeek 2009
Join the mailing list for information on DevWeek 2010
|