Here is a little summary of the sessions I have been able to attend on this day:
Opening Keynote (By Rafal Lukawiecki)
Definitely an interesting speaker. Pity I was not ideally seated to hear and see good, and that I had not been able to see him another time during these days. He has been presenting a bit of past and future for development
He has been presenting a comparion between Imperative and Declarative programming languages and the evolution of application with Service Brokers and composite applications. He has also spoken a bit of "OSLO", the future - in his view - for developping software as a model, using Declarative Model Composition in order to achieve a seamless runtime hosting and deployment.
Session 1 : WCF & WF - Integrating two key technologies of .NET 3.5 (By Ingo Rammer)
Interesting session ! Above the fact I like this speaker, it continues the talk his colleage Christian Weyer had last year. In 2007, Weyer has presented the different problems - and immaturity of the products. This year, Ingo Rammer emphasizes on the evolutions and the different scenaris for integrating the technologies.
-
Recall of the WCF's ABC (Address, Binding, Contract)
-
Presentation of 3 scenaris
-
Regular Service
-
Durable Service
-
Workflow Service
-
Explanation of how a duplex contract work and what are the limitation of the Duplex Channels (life duration of the channel : life duration of the application itself)
-
Explanation of how to put in place Durable Services to achieve statefull (and sherver-shutdown resistant) services using the
-
Explanation of the durable operation services persistance bahvior
-
Presentation of the same scenario, but integrating a workflow, explaning the two ways of working : "workflow first" or "contract (interface) first"
-
Explanation of the two new "Send" and "Receive" activities and of the "ListenActivity"
-
Shwoing some debugging possibilities inside of a workflow
This session was interesting but a bit hard to follow as I don't have yet sufficient knowledge in WCF and WF.
Inspiration Session 1 : ASP.NET Futures (By Matt Gibbs)
No lunch time this year, but instead an extra session that I don't regret I went.
Matt Gibbs has focused this presentation on the Dynamic Data Framework (which is also a good start point for the ASP.NET MVC framework).
30mn to present quite in-deph the framework... Quite intense. Hopefully I had already seen part of this typical MS presentation on many other blogs (like among others http://www.loicbar.com/)
Session 2 : Building Applications with Silverlight 2.0 (By Nikhil Kothari)
-
Quick presentation of some features
-
and information about the Silverlight 2 SDK including
-
the new controls (like FormsControl, DataGrid)
-
Syndication
-
XML Serialization
-
Will be shipped in Beta2 (with Go-Live licence) in Q2 2008
-
Expression Suite and Visual Studio will be updated at that time to allow a nice integration experience
-
Explanation that a Silverlight app is hosted in a website, via a compiled ".xar" file
-
Demo of the XAML code-behind files and of the initialization of the application that may (re)load saved properties from client disk
-
Demo of how to save and load client specific data using the System.IO.IsolatedStorage namespace
-
Demo of how to manipulate the Browser (HtmlPage.Windows.Navigate) for redirectind
Session 3 : Advanced debugging using Visual Studio (By Ingo Rammer)
This session is following the one he has done in 2007 (Hardcore Production Debugging - PPT) but focusing on the tools available in Visual Studio.
-
Presentation of the different capabilities of the BreakPoint (conditional or not, hit count, based on a method name, wherever it is, ...)
-
Presentation of the Debugger class, more specifically the Debugger.Break() and Debugger.IsAttached
-
Presentation of the Trace Point (Breakpoint using the option - when hit) to use macros to dump the stack trace for instance
-
Presentation of the Command Window with the aliases
-
Presentation of the Watches
-
Presentation of some debugging-related attributes like
DebuggerDisplay, DebuggerTypeProxy and DialogDebuggerVisualizer
-
Note that for the two lasts, the target object must be serializable
-
The attributes can be set at object level, or at assembly level
-
Presentation of the Immediate Windows
-
Presentation of the Object Test Bench, from a class diagram
-
Recall of the rules to have a good "debuggability" in a project like
-
Avoiding non-essentials exceptions (by using TryParse, ...)
-
Catch exception when you handle it
-
Throw essential exceptions
-
Quick presentation of MDbg to exttract some information when an application crashes (can be used in production)
Definitely a passionated (and passionating speaker). Thanks Ingo
Session 4 : Sql Server 2008 - What's new for Developpers (By Dandy Wein)
The presentation has focused to the T-SQL enhancements
-
Date and Time types and DateTime2 type with the new precision
-
Localization capabilities using the SET DATEFORMAT and SET LANGUAGE prerogatives
-
Demo of the new Table-Valued parameters to avoid doing too many queries when dealing with tables with 1..n relationship
-
Being able to declare and initialize a variable on the same line : DECLARE @myInt INT = 10
-
Increment operators : SET @myInt += 1
-
Row constructors : being able to insert several rows at the same time
-
INSERT INTO MyTable(Col1, Col2)VALUES(1, "Val 1"), (2, "Val 2"), (3, "Val 3"), (4, "Val 4")
-
The COMPUTE BY statements are now deprecated and will be replaced by some GROUPING SETS instructions (WITH CUBE and WITH ROLLUP remain)
-
A new MERGE instruction has been added to facilitate merge vetween tables
-
HIERARCHY and HIERARCHYID have been added to facilitate the recursive queries
-
New spatial data and functions (to see for example if a certain point is present in a given region, ...)
-
A new FILESTREAM object : when storing some files in a table, we'll know declare them as "VARBINARY(MAX) FILESTREAM" to improve performance and avoid DB fragmentation. Note also that the DB Server will no longer limitate the size of files (it was 2Go before)
Session 5 : Ajax Patterns (By Nikhil Kothari)
The goal of the presentation was to show all the challenges we were facing when working in a AJAX application and how we could resolve them. He has shown among all :
-
How to call a web service from javascript using a ScriptServiceAttribute, after having registered it in the ScriptManager
-
The difference (in performance) between an UpdatePanel and calling a web service directly (and so using JSON)
-
How to create an AJAX control behavior
-
How to provide good navigation and bokkmarkability by updating the url and adding steps to the history using the addHistoryState
-
How to provide Indexability on a page by providing static data
-
Demo on the integration of a Silverlight app in an ASP.NET with AJAX, and showing how to call a OpenFileDialog from Silverlight
Quite an interesting day !