Recent posts

The ups and downs of the final PDC 2009 day

In addition to the WCF 4.0 session I blogged about earlier, I also attended some more sessions. The first one, Hybrid Cloud Computing with Azure and the Service Bus by Clemens Vasters was quite cool. One of the challenges that you may have if you move only a part of your system to an Azure server , is how to communicate with your on-premise systems. His team wrote a nice tool called the Port Bridge that you can use to create a very efficient secure tunnel between the cloud-based website and the firewalled on-premise application server or database. It understands many of the protocols and can tunnel both TCP/IP as well as Named Pipes. Check out a more detailed description on Clemens' blog.

I then continued to the Workflow Services and Window Server AppFabric session, but left halfway. The speaker was British and had a horrible accent that made it very difficult to follow him. Anyhow, in addition to the WCF statistics, AppFabric's IIS extensions also provide in-depth information on the whereabouts of individual Workflow instances and its contained activities.

After the lunch, I dropped in a XAML/Silverlight Futures talk, but left after ten minutes because it was only dealing with advanced XAML parsing. I then moved to the Mastering RIA Services session but was disappointed as well. The first half hour was just an intro of what happens under the hood, followed by some best practices. However, the term "mastering" was rather misleading since it never touched the advanced topics I was expecting. Definitely not on par with the remainder of the PDC sessions.

I concluded the day with an awesome talk on all the aspects Team Foundation Server 2010 offers for getting a piece of functionality completely done. It included aspects such as gated check-in, automatic deployment, and managing your entire test lab using the System Center Virtual Machine Manager and the Test and Lab Manager. The host, Brian Randal, is a very good and enthusiastic speaker. I attended his full-day pre-conference session on last year's PDC.

As of now, all sessions should be available in normal quality as well as HD from the PDC website here.


Published: 22-11-2009 by Dennis Doomen | 0 Comments | 0 Links to this post
 

Routing and service discovery in WCF 4.0

This year, the PDC 2009 lasts only four days (if you include the preconference day) so today I tried to attend as many sessions as possible. It's amazing to see how fast this week passed by. And I don't know how Microsoft does it, but this PDC has been full of novelties and amazing moments (and with that I'm not even mentioning all the social aspects of such a conference).

For instance, when I decided to attend a WCF 4.0 session, I didn't expect to see so many improvements and innovations, First of all, they've significantly reduced the amount of configuration needed to get your services running. Default bindings and behaviors, inheritance of bindings and behaviors, and listing services in the web.config rather than individual .svc files all make configuration easier. Another improvement is the advanced health monitoring and tracing functionality that they’ve integrated in the IIS manager. This takes the form of a dashboard providing live information on the WCF services running on a server, including extensive visualization and deep diving features for analyzing what is really going on in your service. So you no longer need to fiddle with configuration settings in the web.config to get some tracing.

Another new feature is service discovery. I'm not really sure what happened with the UDDI protocol, but in WCF 4.0 they’ve introduced new behaviors that will make your service discoverable through an UDP multi-cast network package. Using the new DynamicEndPoint class you can simply provide the contract definition of the service you're looking for, and WCF will look for a running service on the network. Really cool. And it supports both this kind of ad-hoc discovery as well as managed discovery facilitated by a dedicated discovery service running somewhere in your company.

However, the most impressive feature of WCF 4.0 is the built-in routing service that you can host just like any other service. Its feature set includes a routing engine that uses customizable filters to determine how to route what service operations to which service. It also has built-in support for bridging different transport/bindings, different SOAP versions, and even handle different authentication mechanisms. In addition to that, it can automatically reroute messages to an alternate endpoint if the preferred one is not available le. And finally, even though I'm against distributed transactions, the transaction scope will flow over the routed channel.


Published: 20-11-2009 by Dennis Doomen | 0 Comments | 0 Links to this post
 

Teched 2009 – Berlin Day 5 and summary

DEV307 - Parallel computing for managed developers

Until a few years ago computers were equipped with single core computers and the processing power of that single core would grow every year. Nowadays the computer power is still growing but not by making the single core faster, but by adding more cores to a computer. For programmers that means that if you want to leverage the true power of a computer you will have to change the way you write your applications.

image You will have to parallelize your software where you can but it hasn't been easy.

As you can see in the

example in the manual parallel solution. The are a lot of threading issues to take in account.

 

 

 

 

 

 

 

 

 

 

image

PLinq to the rescue! As you can see the in the PLinq example you are back focusing on the business value and not the concurrency side of programming. Besides PLinq the new parallel library offers a first class citizen programming model for parallel programming.  When programming in tasks you get a more think in “Unit-of-Work”way of working instead of “Paths of execution” when working with Threads. What I found very cool is the support for parallelism in the tooling. VS2010 offers a separate window to view tasks and to selectively freeze the execution of tasks, which makes debugging a lot easier.

 

DEV301 - Architecting Microsoft Silverlight applications with MVVM

Very good session on Silverlight, RIA services and combining them in with the Model View ViewModel pattern to get a good separation of concerns. Shwan Wildermuth part of the Silverlight promo team gave us a begin to end demo of building a small application, without the use of resharper or code snippets, showing of his xaml  ninja skills.

ARC309 – Patterns for cloud computing

IMG_0074 Having visited other sessions on cloud computing I still hadn’t had a clear overview to cloud computing, until this session. Simon  Guest had setup his presentation in such a way it encapsulated a lot of questions I had, giving me clear answer. In essence he described the five mayor ways cloud computing can be utilized.

Using the Cloud for Scale

Using the Cloud for Multi Tenancy

Using the Cloud for Compute

Using the Cloud for Storage

Using the Cloud for Communications

Teched 2009 – Summary

 

Well It been a busy week, lot of walking around in the beautiful city of Berlin and even though it’s a week ago that Teched 2009 ended my head still hurts on the information overload! First of I would like to thank my TechEd buddies Marko Mansi, Justin van Beijeren and Bastiaan Wout for keeping me company this week. Our conversations and discussions during the day and especially during the evenings were a great way to put things in perspective.

This years TechEd was different compared to last years, there where some pro’s and con’s which I like to summarize.

The food was great and the German punktlichheit was a very big improvement over last years Spanish mañana.,mañana. The venue however could have been put to better use, lots of stairs to go up and down not to mention when you wanted a drink you had to go back to the exhibitors hall (which partly changed during the week, so feedback works!). The content of the sessions was just like last year’s, excellent!  This year’s TechEd also combined IT Pro and Developers, something I was skeptical about before hand. My skepticism was proven warranted, many sessions where only given once and many of the sessions were full. Which left a lot of TechEd attendee pissed of, I witnessed a couple of heated discussions between the TechEd people and attendees wanting to attend a session. I stood in front of three of those closed doors and none of those sessions were repeated :-(.  Luckily I can view most of the sessions online. But I hope that next years TechEd is better organized.

I also would like to thank the organizers of this year’s Dutch country drink, it was awesome! And a special thanks to our waiter at club Dante for recommending Block House restaurant, very very very very good quality meat!

I also recommend to visit Berlin for a city trip, the city’s architecture and culture are great! This year mark the 20th year anniversary of the fall of the Berliner wall, which was celebrated and we were happy to party along with our German neighbors! That a for me about this years TechEd, until next time!

IMG_0051 IMG_0014 IMG_0041 IMG_0017 

 

 

IMG_0061 IMG_0006 IMG_0086


Published: 19-11-2009 by Hans ter Wal | 0 Comments | 0 Links to this post
 

Teched 2009 – Berlin Day 4

WIA304 – Building line-of-business applications fast with Microsoft Silverlight and Microsoft.Net RIA-Services

Building WPF, Silverlight applications relies on an asynchronous model which means lot of plumbing code to get things up and running. The goal of RIA-Services is to take away a lot of the plumbing, making it easier for you as a developer to build apps. RIA-Services are a separate download besides VS2010 and will be made available just around the time VS2010 is released next year around 22th march. The download contains several templates to get you started right out of the box.  If your not that picky about separation of concerns you can expose you entity model via RIA services effectively augmenting you domain and creating a quick to use datasource for you silverlight applications. In your silverlight designer RIA Services are exposed as selectable datasource to databind against.

DEV402 – Dynamic in Microsoft C# 4.0: The why’s and How’s

C# is a solidly static programming language, and proudly so. Many objects in the world are more dynamic though, whether originating from COM, JavaScript, Python or other places. Interacting with that world from C# used to be painful and error prone, but C# 4.0 takes the plunge and provides deep integration of dynamic binding into the language. What are we doing, why do we do it like that, and why is it still safe?

image Everyone who has used reflection has come across problems where he/she tried to invoke a method on a class but misspells the method name and you whished they could’ve checked this at compile time. Well dynamics is not going to solve that problem, but it is solving the readability of you code as shown in the picture.  And readability is something we are all interested in!

With the increasing popularity of Silverlight would it be nice if the HTML model and the Silverlight object model would be easier to type, Mike Taulty's has a nice blog post showing of the dynamic type.

Alex Turner had one great takeaway to put dynamic in perspective if you miss IntelliSense you have gone to far!

 

DEV313 – Architecture discovery and validation with Microsoft visual studio 2010

image Visual Studio 2010 comes with tools to visualize the architecture of existing code, to identify layers and their dependencies, to then say how you want those dependencies to be, and then to validate your code against the desired architecture. Validation can be done in the tool and from build tasks, so that check-ins can be gated by validation rules, for example. What I like about the tooling is that is works with zoom able graphics no generated static picture neat stuff and all is clickable. All generated graphs are readable by all versions of VS2010 but only the ultimate version will have the ability to generate these graphs.  Basically VS2010 has the following capabilities  summarized

 

 

  • “Understand The Code”
    • Architecture Explorer
    • Sequence Diagram Generation
    • DGML Graphs and “Standard” Graphs
  • “Understand The Domain”
    • UML 2.x Designers
    • Modeling Project & Explorer
  • “Maintain Control”
    • Layer Diagram & Custom MSBuild Tasks
    • Work Item Integration
    • Extensibility

 

 

WIA307 – Cool graphics, hot code: Ten visual effects to make you the envy of your peers

Well in the presentation we didn’t exactly cover all the ten visual effects, but the ones that were shown were awesome. Of course some of the effects we have seen before like coverflow, reflection, deep zoom but what we didn’t see is the code that made the effect possible. Jeff Prosise took us by the hand and showed us the awesomeness of his demo’s code. Just check out his website and download the demos.

ARC401 – Flexible Design

It is a greater purpose to develop applications that can be modified as we go from development to maintenance, and it is better to build extensible solutions than to code a big ball of mud. But how? Dependency Injection, Inversion of Control and POCO. Well so much for the intro in the session, but I didn’t like the speaker nor the way he presented his examples, lots of code and no overview. In the intro of his presentation he explained the open doors like SOLID, DRY and YAGNI went on about the patterns that help you achieve a flexible design like the common service locator and dependency injection. He  also showed of a pattern he would like to call the common service configurator which makes it easier to bootstrap your configuration which was pretty cool and flexible. Although I am not a convert when it comes to flexible design, simply because adding flexibility is adding a layer of abstraction and to much abstraction can be difficult to maintain.


Published: 19-11-2009 by Hans ter Wal | 0 Comments | 0 Links to this post
 

Teched 2009 – Berlin Day 3

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.

image 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

imageIn 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. image

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:image both having pro’s and con’s.


Published: 19-11-2009 by Hans ter Wal | 0 Comments | 0 Links to this post
 

Enter SharePoint 2010 Beta

The pending release of SharePoint 2010 Beta was eagerly awaited here after Andre Kieft of Microsoft Netherlands visited Aviva Solutions HQ to present us the direction and some great new features of SharePoint 2010. The start of the PDC 2009, as could be expected, marked the release and so here we are with a set of three msi’s:

  • SharePoint 2010 Foundation
  • SharePoint 2010 Server
  • SharePoint 2010 Designer

 

Now how to install these? After many hours of installs and reinstalls I managed to get it up and running. A few of my gripes that might help you in installing this Beta the right way:

  • You need to have 64 bit capable hardware with at least 4GB of RAM, 8GB if you’re going virtual (I’m using VMWare).
  • Platform of choice is Windows 2008 Server SP2, R2 is NOT recommended
  • Make sure the AD feature is activated, or an AD is available (thanks @furuknap)

 

Installing without an AD will result in a dumbed down SharePoint 2010 so it seems. If you want to have a look at the full product in a farm context you need the AD.

Installing is a breeze. This is in actual fact not true, a lot of the installation choices are made for you, but in no way the end result represents a real life installation situation. Installation choices are plentiful and should be taken with care if you want to install the final SharePoint 2010 at the customer. In the coming days me and my colleagues will try to share “twentyten” hands-on experiences.


Published: 19-11-2009 by Wim The | 0 Comments | 0 Links to this post
 

Silverlight, Silverlight, Silverlight...and laptops

On the second day of the PDC, Scott Guthrie announced the release of the first beta of Silverlight 4. Well, I've been expecting Silverlight to replace WPF as the first-choice for line-of-business apps for a long time, and I was right. The number of new features is overwhelming. Just look at this comprehensive post written by Tim Heuer to get definitive prove. And as part of this release, they've renamed the RIA Services framework to WCF RIA Services and included it in the Silverlight 4 SDK. Check out this post to get some more info on what has changed since the last CTP. I spend the remainder of the day attending every Silverlight 4 session available. I'm so looking forward to using this in a real-life project.

One thing all attendees noticed this week is that the PDC was going through a crisis as well. There was no free breakfast, no party at Universal Studios and even no gadget. Well, the PDC organization has compensated for that big time. How? Well, because during the keynote, Steven Sinofsky announced that every attendee will receive a multi-touch convertible Acer Aspire 1420P tablet pc for free. Now that's what I call an awesome gadget! And it is fully installed with Windows 7, the Office 2010 beta and some nice showcase tools for its multi-touch support. I can tell you that the audience went wild when this was announced.


Published: 19-11-2009 by Dennis Doomen | 0 Comments | 0 Links to this post
 

TDD and BDD at the PDC 2009

In addition to the usual hot-of-the-press content, the PDC organization also introduced a new way for attendees to contribute to the event. They call it a birds-of-a-feather session where attendees can propose a subject and host a discussion in one of the break-out rooms. Obviously, I filed a proposal on one of my favorite subjects TDD and BDD, and unlike my expectations, I was actually selected as one of the proposals.

Well, yesterday, the first day of the PDC, it finally happened. At 16:30 I went to room 309 and found it exceeding its full capacity of 120 people in no time. Apparently, automated testing and Agile practices are just as hot in the US as it is in Netherlands. I started the sessionwith an inventory of questions people would like to get an answer to. BDD was important, but after a short discussion I got the impression that most attendees did not yet really grasp the essentials of TDD. But since it was a discussion session, Ididn't want to take control and explain it to the audience myself. Instead I tried to let individual attendees explain it to the rest. Unfortunately, since many interpretations exists, that didn't really work. I tried to steer the discussion to get a clear understanding of it, and I made sure I added my two cents as well, but I'm quite sure some attendees still left the session with some unclarity.

Nevertheless, a small group of developers kept lingering at the room's exit and we've been continuing the discussion for almost an hour. So from my point of view, it was a big success. Even if they did not all grasp the concepts and ideas behind TDD, they sure have been triggered to read more about it.


Published: 19-11-2009 by Dennis Doomen | 0 Comments | 0 Links to this post
 

First day at the PDC 2009

After waking up at 5:00 in the morning for the third night in a row, Tuesday was the first day of the PDC conference itself. As is common for any Microsoft conference, the first keynote is usually a bunch of marketing stuff, and this one was no different. Nevertheless, if you have watched it from the PDC site, you will agree that this whole cloud thing cannot be ignored anymore. I have to make sure I'll attend one of many cloud sessions in addition to all the architectural and Silverlight talks.

The keynote was followed by a talk by the team-formally-known-as-the-Oslo-gang, Chris Anderson and Don Box. It started with a short intro on the Entity Framework 4.0 which helped me confirm the ideas I've been forming for my next SDN talk. Right after that, they introduced the OData protocol that allows virtually any application and framework to exchange data. And while doing that, they used Quadrant as a 'nice visualization tool for showing data'. I really wonder what happened with all the Oslo tools and frameworks. One cool thing about OData is that you can retrieve the metadata in EDMX-format from any OData-compatible data source, even a Sharepoint list. By simply providing the URL to the data source in the Add Service Reference dialog of VS, it will generate code in similar way the Entity Framework does for you now.

The remainder of the day was filled with an additional EF4 session which didn't reveal anything new for me, some tips and tricks on Blend 3, and some nice demos showing some of things they have in mind for the next version of ASP.NET.

The official conference day was finalized by a moderate party in the main lounge amongst the many exhibitioners such as DevExpress, Infragistics and Telerik. Thomas was tired, but Ronald and I concluded the day with a drink in the Saddle Ranch at Sunset Boulevard.


Published: 18-11-2009 by Dennis Doomen | 0 Comments | 0 Links to this post
 

Silverlight 4 Beta available now

During the keynote of the second day of the PDC, Scott Guthrie announced the first beta of Silverlight 4. What we already knew for a while is becoming true: Silverlight will replace WPF for most line-of-business apps. The release is scheduled for the first quarter of 2010.

Checkout the announcement page for more details and the download links.


Published: 18-11-2009 by Dennis Doomen | 0 Comments | 0 Links to this post
 
 Next >>