DevWeek 2009, incorporating SQL Server DevCon 2009
23-27 March 2009, London. The UK's Biggest Conference for Developers, DBAs and IT Architects.
Embarcadero
Home
The Sessions
The Speakers
Sponsors & Exhibitors
Who Should Attend?
The Venue
Accommodation
Request Information
Code Samples
Microsoft Resources
Platinum sponsor
Microsoft
Website sponsor
Embarcadero

DevWeek 2008: Wednesday 12 March

NOTE
The information on this page refers to DevWeek 2008. This site will be updated with information on DevWeek 2009 closer to the event.

  Tracks 1–5
DevWeek
Track 6 &Track 7
SQL Server DevCon
09.30
TRACK 1
Message-oriented WCF
Aaron Skonnard
Building message-oriented services requires a focus on XML Schema and the mapping to the WCF programming model. In this advanced session we’ll cover the new data contract serialization engine (DataContractSerializer) and several practical techniques for designing services with a focus on the transmitted messages. We’ll cover how to use the WCF code-generation tool (svcutil.exe) as well as how to design your message and service contracts appropriately for integration.


TRACK 2
Things just got heavy! Asynchronous WPF programming
Dave Wheeler
If you think that COM is dead, just check out the STAThreadAttribute that has to be applied to any thread that creates WPF controls or windows! Just like Windows Forms, WPF has a thread-affinity model that you need to understand if you’re going to write responsive applications. This session will cover this model in detail, and will show you the many different techniques for writing asynchronous code that works correctly with WPF. Note that this is an advanced session and attendees should already have familiarity with WPF.


TRACK 3
Do design patterns make sense in ASP.NET
Alex Homer
Developers and architects are making more and more use of standard design patterns as they build ever more complex applications. However, many patterns are hard to implement, or difficult to justify, in the stateless postback environment of ASP.NET. Yet, ASP.NET itself implements many widely-used patterns, and some of the other common patterns can help to modularize and simplify development of ASP.NET applications. This session looks at how ASP.NET uses design patterns, and how you can implement some of the patterns such as Model-View-Presenter, Page and Front Controller, Publish/Subscribe, Repository, and Service Agent in your ASP.NET applications.


TRACK 4
Building Silverlight enabled ASP.NET AJAX controls
Fritz Onion
The May 2007 ASP.NET futures release contained two intriguing controls: asp:Media and asp:Xaml. Intriguing because they are the first server-side controls released to incorporate Silverlight content as part of the control rendering. The asp:Media control makes it trivial to drop a video into an ASP.NET page, and the asp:Xaml control makes it easy to incorporate a Silverlight Xaml file into a control embedded on a page. What’s especially useful about both of these ‘preview’ controls is that they make it simple to incorporate Silverlight content into a traditional ASP.NET page without worrying about the details of creating the Silverlight control by hand, or associating the accompanying xaml file. This talk looks at how these two controls are implemented, and walks through a sample implementation of a similar control using the ASP.NET AJAX framework.


TRACK 5
Test-driven design
Neal Ford
Most developers think that test-driven development (TDD) is about testing, but testing is only a small benefit from using TDD techniques. This session demonstrates how stringent TDD improves the structure of your code. I discuss TDD as a technique for vetting consumer calls, using mock objects to understand complex interactions between collaborators, and some discussions of improved code metrics yielded by TDD. This session aims to enlighten everyone that TDD is much more than testing: it fundamentally makes your code better at multiple levels.
TRACK 6
Managed types in SQL Server
Peter DeBetta
The introduction of managed types in SQL Server 2005 brings database development into a whole new light. User-Defined Types (UDTs) can now be created in .NET languages, giving developers more flexibility when architecting and implementing database designs. This session will discuss how to design and implement CLR-based UDTs, including code UDT coding, type optimization, serialization of types, and some real-world preferred practices and usage. Moderate .NET experience and some T-SQL experience are assumed.


TRACK 7
Lessons learned while tuning database systems out there
Fernando G. Guerrero
Why is database design still the number one problem in most database systems? Most database systems we have ever reviewed have needed some performance tuning. Customers were expecting us to get the work done by using some undocumented feature, or some hidden system setting. With the arrival of SQL server 2005 and 2008, there are some new features that, appropriately used, could improve database performance. However, in most cases the main root of the performance problem was purely and simply inappropriate database design. In this session we will discuss the main issues we have faced while troubleshooting real-world database systems, and the different level of performance gains achieved after applying a variety of recommendations.
11.00
Coffee Break
11.30
TRACK 1
A developer’s guide to Windows Workflow Foundation
Richard Blewett
There are many challenges to writing software. Not least of these are lack of transparency of code and creating software that can execute correctly in the face of process or machine restart. Windows Workflow Foundation (WF) introduces a new way of writing software that solves these problems and more. This session explains what WF brings to your applications and explains how it works. Along the way we will see the major features of WF that make it a very powerful tool in your toolkit, removing the need for you to write a lot of complex plumbing.


TRACK 2
Writing custom WPF controls
Dave Wheeler
Sometimes, it’s enough to simply change the UI appearance of a WPF control. But what happens when you want to do more than that? This session will show you how to create user and custom controls that you can reuse in your WPF applications. And it will demonstrate how to write custom controls so that they allow the same level of modification as the existing “lookless” controls. This is an advanced session that requires attendees to have an understanding of WPF styles and templates.


TRACK 3
Asynchronous ASP.NET programming
Jeff Prosise
One of the keys to building highly scalable ASP.NET applications is to use the ASP.NET thread pool as efficiently as possible by avoiding situations where ASP.NET threads lay dormant waiting for I/O operations such as database queries and Web service calls to complete. This session describes how to do just that by leveraging ASP.NET’s three asynchronous (and largely undocumented) programming models: asynchronous pages, asynchronous handlers, and asynchronous modules. A must if you care about building highly scalable Web sites!


TRACK 4
Server communication with Silverlight and ASP.NET AJAX
Fritz Onion
The release of Silverlight brings opens a lot of doors for Web developers for building rich internet applications, including sophisticated vector graphics rendering, streaming video support, and seamless browser integration. In order to make these flashy applications actually useful, however, developers need infrastructure for communicating with the server efficiently. This session will go into depth on how to best leverage ASP.NET AJAX web services from Silverlight, covering the details of JSON serialization, asynchronous callbacks, and the JavaScript integration in Silverlight. We will also look at the upcoming 1.1 release of Silverlight and its native support for Web service proxies.


TRACK 5
“Design patterns” in dynamic languages
Neal Ford
Dynamic languages (like Python and Ruby) have powerful meta-programming facilities far beyond statically typed languages. It turns out that many of the structural design patterns in the Gang of Four book and beyond are much easier to solve with meta-programming. This session compares and contrasts the “traditional” approach of design patterns with a more nuanced meta-programming approach. Using language features creates cleaner abstractions with fewer lines of code and little or no additional structure. This session shows one of the many reasons that dynamic languages are such a hot topic.
TRACK 6
Managing hierarchical and tree data in SQL Server
Peter DeBetta
Managing hierarchical and tree structure data in any data store can be challenging. Several techniques exist that can solve the problem of modeling and implementing this type of data. This session shows you how to design and implement these different techniques for managing hierarchical data structures in SQL Server 2005. Moderate T-SQL experience is assumed.


TRACK 7
What’s new in Analysis Services 2008?
Chris Webb
The difference between Analysis Services 2008 and Analysis Services 2005 is nowhere near as great as the difference between Analysis Services 2005 and Analysis Services 2000. But there have been several important changes in the areas of performance, manageability and ease-of-use, which this session will explore.
13.00
Lunch
14.00
TRACK 1
Creating robust, long-running Workflows
Richard Blewett
Long-running processes have unique requirements in that they need to maintain state over process restart; Windows Workflow Foundation (WF) enables this with its persistence infrastructure. However, there are issues around hosting and activity development that require attention for long running workflows to be robust. This session looks at the design of the workflow persistence service; issues around hosting and creating full featured asynchronous activities. This session assumes some familiarity with WF.


TRACK 2
Developing smart client applications using WPF
Dave Wheeler
WPF applications can be deployed in many different ways; as XBAPs hosted in the browser, using ClickOnce or via traditional Windows installation techniques. But there’s more to a smart client than just how it’s deployed. In this session we will look at the different deployment techniques available to WPF applications, and their ramifications, before moving on to how WPF can be integrated into Smart Client Software Factory (SCSF) applications. We’ll then examine the new Acropolis framework and how that impacts WPF application development.


TRACK 3
Beyond the basics: AJAX solutions for real-world issues
Dino Esposito
This talk is dedicated to those who already know what partial rendering is all about and would happily skip yet another description of how to create and invoke the canonical Time script service. In this talk, you’ll witness the creation (live) of a client and server framework made of C# and JavaScript code to add a context-sensitive progress bar to monitor remote tasks from within ASP.NET AJAX applications. While it’s easy to display a static progress bar in AJAX applications, showing one that provides real-time information is all another story. A progress indicator requires server tasks that support an agreed contract and endpoints for the client to plug in and read. The talk provides a concrete and easy-to-replicate demo of how to proceed far beyond trivial script services in ASP.NET AJAX.


TRACK 4
Cross-platform .NET with Silverlight
Ian Griffiths
For developers, the most interesting feature of Microsoft’s Silverlight platform is that it brings the .NET Framework to non-Microsoft environments such as Firefox and Mac OS X. This session will explore the capabilities and limitations of this core .NET runtime, and will also explore the related ‘DLR’ (Dynamic Language Runtime) features, designed to support dynamic languages such as Ruby and Python. Attendees should be familiar with the capabilities of the .NET framework, but no prior Silverlight experience is required.


TRACK 5
Defining Domain-Specific Modeling for full code generation
Juha-Pekka Tolvanen
Everybody would like the productivity benefits of modeling with full code generation, but the upgrade path from coding to modeling seems a closely guarded secret. This session will demystify Domain-Specific Modeling languages, open the lid on the OMG’s MDA, and shine a light on Microsoft’s Software Factories. We will show which bits of Model-Driven Development (MDD) work, which might work, and which don’t, and explain where they can be applied – and where not. Most importantly, we will show the steps to define your own modeling languages and generators to move using models effectively.
TRACK 6
Why would anyone want to put CLR code in their database?
Simon Sabin
Having the power of the .NET framework in the database is frightening to some, but to others it’s like having a sweet shop full of goodies. This session looks at some of the killer applications for using CLR code in your database, including file system access and regular expressions. We will cover some of the basics of using CLR in SQL Server 2005, data types, security and accessibility. We finish off with covering some optimisations you can use to improve your performance by orders of magnitude.


TRACK 7
Lessons learned migrating complex Oracle enterprise database systems to SQL Server
Fernando G. Guerrero & Aaron Johal
During the past few years, we have been involved in migrating important database systems from Oracle to SQL Server. As you can expect, not everything goes by the book, and it is not just matter of running the right wizard. SQL Server is able to run complex enterprise database systems efficiently, providing a credible and feasible path for migrating systems from Oracle. However, nothing can be done without appropriate planning and skills. We’d like to share our experiences with you. Attendees should have an understanding of enterprise database systems, and of the SQL language, in its Oracle or SQL Server dialects.
15.30
Coffee Break
16.00
TRACK 1
Cross my palm with Silver – creating workflow-based WCF services
Richard Blewett
There are very good reasons for using a workflow to implement a WCF service: workflows can provide a clear platform for service composition (using a number of building block services to generate functionally richer service); workflows can manage long running stateful services without having to write your own plumbing to achieve this. This session introduces the new Visual Studio 2008 Workflow Services. This technology, previously known as “Silver”, provides a relatively seamless integration between WF and WCF, enabling the service developer to concentrate on the application functionality rather than the plumbing. This session assumes some familiarity with WF and WCF.


TRACK 2
Security in the .NET Framework 3.5
Dominick Baier
The newest version of the .NET Framework adds a number of interesting new security features. This includes new cryptography classes, a framework for writing secure extensible applications, APIs that make writing identity aware applications easier as well as aligning some existing APIs with new features of Windows Vista/Server 2008. This talk gives you an overview of the new & improved possibilities and picks some highlights that will make it easier for you to write secure applications with the .NET Framework.


TRACK 3
Hidden gems in ASP.NET 2.0
Jeff Prosise
ASP.NET 2.0 is chock full of features, from master pages and data source controls to membership, role management, and profile services. Yet just beneath the surface are numerous features such as expression builders, virtual path providers, session state partitioning, and asynchronous pages that many developers have never even heard of, much less utilized. These features can make the difference between an average application and a great application. But don’t take our word for it; come see for yourself!


TRACK 4
An architectural perspective on Silverlight, ASP.NET AJAX, and the user interface
Dino Esposito
AJAX is all about the user’s experience in the broadest sense – continuous feel, flicker-free updates, interface facilities, mash-ups, live data, and so on. But you can only utilize the browser and its set of programmability features such as the browser’s object model, DOM, JavaScript, CSS. Silverlight represents a new possible way out with its strong and WPF-based engine to build the web-based rich client that web developers have been longing for years. But Silverlight is still maturing and also poses other inherent constraints. This talk may not be able to provide silver bullets, but it certainly won’t fail listing all the problems that come with each approach.


TRACK 5
Unit testing with Visual Studio Team System
Kevin Jones
Visual Studio Team System has many features which are geared to building better quality code. One of those features is unit testing – writing test cases for all methods so that whenever a change causes a regression it can be quickly identified and fixed. Two of the Visual Studio 2005 Team Editions (for Software Developers and for Software Testers) contain support for unit testing code. This talk explains how to use Visual Studio to practice test-driven development – where the tests are developed before the code to be tested – as well as for generating the tests from existing code. It goes on to illustrate aspects such as testing private methods, performing code coverage analysis, parameterizing test input and expected output from data in a database and testing code running inside of ASP.NET.
TRACK 6
SQL Server worst practices
Peter DeBetta
Time and again, you will hear people speak about “best practices” and “preferred practices” in SQL Server 2005 and 2008, but nobody ever warns you about the things you shouldn’t be doing. Learn how to make your SQL server prone to SQL Injection, how to use the CLR for all data access, how to use cursors instead of DML, and so on. Come and learn from the masters of worst practices! Some SQL Server experience is assumed.


TRACK 7
OLAP without a data warehouse in SQL Server
Javier Loria & Aaron Johal
Online Analytical Processing (OLAP) is more than having a data warehouse. Your business users do not care about the underlying technologies you might be using: they just want good information to make appropriate business decisions. This session will explain how to provide OLAP services to your business users without using a data warehouse, and how to extend this solution. Attendees should have an understanding of decision support systems.
17.30
Close


Return to Sessions introduction

Bearpark
VSJ