DEV310 – Software testing with Microsoft visual studio team system 2010 Part2: Making it real
Well testing isn’t quit my cup of tea, but having seen a glimpse of the capabilities of VSTS2010 I was curious. Let me start of by just saying WOW, if you get your development process to leverage the total package that VSTS2010 is offering you are in for a smooth ride. It's just like driving a Mercedes, it will cost you but offers you a sweet deal. The total package that VSTS2010 offers is just through the roof, especially the way it offers a synergy between testers and developers. No more “No reproducible” bugs anymore, often the testers and developers are on opposites like the North and South of the US during the civil war. VSTS2010 reunites both testers and developers to the same page and puts the productivity back in the team, no need for arguing anymore. Whenever a bug pops up on the testers environment he/she just creates a bug report and VSTS2010 does all the rest. When the developer opens the workitem he/she can view the bug report, view all data collected at the time of bug occurrence, view a video of the steps the tester took and even load in an image to attach the debugger too and REPRODUCE the bug!!. Another really cool feature would be the UI testing features, there are other tools that offer this functionality but VSTS2010 offers the ability to automate the UI tests so you can add these to your build process. The automation and integration enables you to get a test impact analysis on managed code right out of the box.
Granted VSTS2010 seems like the holy grail, but it is going to cost you a lot of money if you want to setup the total infrastructure needed to leverage at the features. On a different note, I you find yourself presenting to an audience, use the tools that other presenters use, namely powerpoint don’t go off showing of with deepzoom because afterwards there are no slides!
WIA302 – Architecting a scalable webhosting platform with internet information services (IIS)
Having worked with IIS 6.0 for the better part of 3,5 years it like Obama says: “Time for change” and let me tell you change has come with IIS 7! In the new version of IIS the metabase is gone! the whole configuration has been delegated. All configuration for applications can be done in a configuration file, our old friend the web.config. This makes xcopy deployment of configuration possible, no more pains staking telephone calls with you hosting company. For those still clinging to the metabase, it’s is still available as an optional component, but it writes to the applicationHost.config. The applicationHost.config is the global configuration file which can contains settings for all applications and contains the information for IIS itself.
In IIS7 shared configuration makes it possible to put you configuration on an UNC location quickly moving sites, applications or servers. It keeps you configuration in sync for multiple sites, making it easier staging and rolling back server changes. The administration interface has updated nothing special there but it’s now remotable via HTTP(S). Also the scripted administration available isn’t restricted to the server by WMI provider or powershell but also a .Net api Microsoft.Web.Administration.
Within IIS 7 troubleshooting is made easier by request tracing, by specifying rules IIS generates detailed trace information. Within IIS you have runtime-state and control to see what requests are in flight. If you’re looking for load balancing option out of the box, look not further the Application Request Router 2.0 (ARR) provides can be used. It provides proxy based HTTP request routing module with makes routing decisions on the application layer (layer 7 OSI model).
INT307 - There’s a cloud in your toolbox! Why and how of leveraging azure assets in new and existing solutions
This is my first session on Cloud technology, since my con-college Patriek started his rants on Azure a while back my interest has been triggered. Microsoft is pushing hard on cloud technology, so I think it imported to get my head in the Microsoft cloud called Azure. In this presentation the principles, basics and got explained which deserve a post of their own some other time. What’s imported to know that Cloud computing is a choice you can make, to develop new applications or to move existing applications too, not the new Microsoft way. Up until now application and services always have run on premise, which sometimes may be the only way to go. But what if you have the need for more computing power, you buy more hardware, right? But what if the need for more computing power is temporary? You will have bought all lot of hardware, that will be collecting dust until needed again. With cloud computing you have on demand computing power, need more? configure it (or program it to acquire more), need less computing power?, configure it (or program it to downsize). On demand scalability is own of the major tenets of cloud computing. But that’s not the only thing cloud computing is good for, reliability is another. When setting up a fail-over system you always come across lot’s of problems, mostly logistics. With cloud computing all these logistics or at least most of these are automatically solved for you.
DEV304 – Deep dive into developing line-of-business applications running in the cloud
In the previous session on cloud computing no real examples were given as to what kind of applications can leverage cloud computing. This session was focused on showing of a multi-tenant Customer Loyalty service where tenants can keep track of their own customer’s loyalty benefits which can integrate with an on-premise Point-Of-Sale system. Their demo was extensive dealing with security, data storage business process customization, UI customization. What I especially liked was the way they leveraged windows workflow foundation 4.0 with silverlight to give user the ability to change their business process flow!
ARC305 – Technical patterns for always-responsive and scalable applications and services: Architectural decisions for solutions gained from projects of the public-safety area
I always like sessions that give back lesson learned from real existing project, because their practical and not some in theory you should do this or that. In his presentation Mario Szpuszta gave us an overview of the technical patterns used in a project he worked on and did a lot of demo’s on the “Job-Pattern”.
On his project they needed a way to build always-responsive client interfaces which needed to communicate with common services. 
To explain the business needs he used the following metaphor; A boss wants something done, doesn’t care when or how, sends his request to a manager who creates a task list and delegates the work from the task list to the employees. To give the audience an idea to how simple asynchronous programming really is (or how difficult) Mario had some demo’s setup leveraging the same pattern, but with different frameworks Microsoft Concurrent Coordination Runtime and the new C# 4.0 Parallel System.Threading.Tasks library. Having worked with the CCR for my Lego Robot, I must say I would rather be working with the new Parallel library because it much easier to understand;-).
One of the other point in his presentation was scalability and how to achieve it.The patterns used in his demos are just one part of the puzzle in connection two or more endpoint to each other there needs to be communication and communication is always a challenge. Depending on your customers budget and environment size.You can end up with either with a technical complex service bus or a simpler peer-to-peer pragmatic approach. Depicted in the following picture:
both having pro’s and con’s.