9:00 The future of unit testing
For anyone who knows Roy Osherove will tell you his presentations are something else and that he plays the gitar while presenting. I had too see this for myself, I like Roy's style!! But enough about him and to his presentation about the furture of unit testing. Basically Roy gave his vision as he sees the evolution of software development in guidance, design, tool and frameworks for the near future.
10:45 Web Scalability via Asynchronous Systems Architecture
WOW, what a great session there where literally as couple of big eye openers for me. This was one of the sessions that makes the trip to TechEd worth wild. Udi Dahan explained that big public websites have to deal with a lot performance issues and that scaling up the webservers does not take a way the real bottleneck in many applications, the database. Lots of applications tend to scale the database as well, but this is a very costly business. One of the big eye openers for me was the usage of cache, not in the traditional form as to cache objects on the front end application servers. But by using the internet as your cache, ISP almost always cache static content in proxy servers etc.. The hard part is that you will have to figure out which data can be cached and for how long it needs to be cached.
13:30 Long Running Conversations in Workflow Services 3.5 and 4.0
New features in WF 4.0:
- No more code activities everything must now be a custom activity, but they greatly simplified this, or at least that's what Ron Jacobs promised.
- Checkpoint activities where stuff gets persisted to the WF store when the activity closes.
- In WF 3.0/3.5 there are some patterns people developed to do correlation between WF instances and outside processes. I also have used one of these patterns on my current project, but if I had to do it over I would definitely use the WF 4.0 way.
At the end of his presentation I asked about strategies on how to do upgrades to long running workflows. Unfortunately I did not get a real answer out of Ron. Fortunately this is Teched with lots of other experts, Dennis Vroegop introduced me to Marcel de Vries and he gave me some create advise as to working with workflow and doing upgrade scenarios.
Do you just love the Ask the expert pavilion :-)
15:45 Building RESTful Services Using Windows Communication Foundation
REST my eyes have been opened, I have always frowned upon not using a specific contract on a endpoint, but you have to look at the right situation to apply REST architecture or a contract driven specification like SOAP. The demo that Jon Flanders gave on leveraging the new WCF blocks (released in .Net 3.5) was a perfect example of doing REST. The demo also showed how easy it is too expose a JSON feed from an WCF service that normally would spit out SOAP, through the usage of Attributes and WCF behaviors. If there was ever any question of what has simplified the way we can program services it has been WCF. And with these new features being added our work as developers/architects is getting a lot simpler, so we can step away from plumbing code and focus on stuff that matters like code quality.
17:30 Common ASP.NET production issues and how to troubleshoot them with windbg
If you have ever wondered how people can make sense out of a dump file that application generates when they crash, Tess Ferrandaz has all the tricks how to go about making sense of it all. Although I do not know many people are going down hardcore with windbg.
A couple of years ago a client of mine had a big performance problem, servers were getting OutOfMemory exceptions at random intervals and they couldn't find the problem and had the ask Microsoft for help. The funny story here is that Tezz Ferrandez was the support person who fixed the problem. Although I don't know if my client was the first to have this problem, but the example she used in here presentation about the specific constructor usage of XmlSerializer was the root cause of their problem.
Some random thought that are going through as I am recapping the day:
Why doesn't Microsoft implement features in it's IDE that other IDE's (ie Eclipse) already have had for many years and developers are crying out to have, why do I still need reshaper to get a productive IDE. Why did they release VS 2008 instead they just could have released a SP? Which would have given us the new C# 3.0 compiler, because as far as it goes to refactorings and productivity improvements that other IDE's have VS20?? is behind. Although I like what I am seeing in 2010 I dó not see Resharper going anytime soon or NDepend for that mater.
What kind of struck me is that while we as architects/developers know which technics are available to use on the web. We often forget the workings of the Internet itself. We use ASP.Net Webforms to emulate a rich client and try to hide the statelessness of the web whereas in many scenarios now clear to me, should embrace the Internet and it's stateless nature.