Plunging into .NET Development

Weblog Pieter Gheysens
Microsoft .NET Development - C# - Enterprise Library - Visual Studio 2005 Team System - Compuware DevPartner - ...

Friday, November 28

VISUG Session with Juval Lowy : vote now!

The VISUG poll is now live! Please let us know which session Juval Lowy should give on January 15, 2009.
  • Introducing the .NET Service Bus
    The .NET services bus is part of the new Microsoft Cloud Computing Windows Azure initiative, and arguably, it is the most accessible, ready to use, powerful, and needed piece. The service bus allows clients to connects to services across any machine, network, firewall, NAT, routers, load balancers, virtualization, IP and DNS as if they were part of the same local network, and doing all that without compromising on the programming model or security. The service bus also supports callbacks, event publishing, authentication and authorization and doing all that in a WCF-friendly manner. This session will present the service bus programming model, how to configure and administer service bus solutions, working with the dedicated relay bindings including the available communication modes, relying on authentication in the cloud for local services and the various authentication options, and how to provide for end-to-end security through the relay service. You will also see some advanced WCF programming techniques, original helper classes, productivity-enhancing utilities and tools, as well as discussion of design best practices and pitfalls.

  • Transactions for the Common Service
    Transactional programming has traditionally been the privilege of database-centric applications. Other types of applications did not benefit easily from this superior programming model. In addition, transactional programming has always required per-call objects, which is a non-trivial programming model. But wouldn't it be great in you could preserve the programming model of regular objects and still benefit from transactions? The session starts by briefly discussing the problem space transactions address and the motivation for using them. It then discuses the WCF approach for instance management in the face of transactions, and how you could leverage the support in .NET 3.5 for the context binding and durable services to enable any common service (or a class) to benefit from transactions, without compromising on either the programming model of state-full objects or on the transactional semantics.

  • Durabel WCF Services
    Consider using WCF to implement long-running workflows or execution sequences that lasts days or even weeks, where the clients may connect, do some work and disconnect again. There is obviously little point in keeping proxies and hosts in memory, since it is not robust or scalable enough. You can deign around this by persisting the state of the service between operations, but that implies some ability to connect back to that state in each operation. The session starts by discussing the challenges of writing such a durable service and the design options, and then demonstrates several ways of managing and binding to the service state, using message headers, or the new .NET 3.5 context binding, contrasting and evaluating the alternatives. Through a series of conceptual demos, the session demystifies the WCF-solution of persistence providers, and even how to write a custom provider or use the built-in SQL provider. You will also see some advanced .NET and WCF programming techniques.


Thursday, November 20

VISUG Update 2008

Next VISUG events for 2008 :
  • November 27 : What’s new in Visual Studio Team System 2010 (Pieter Gheysens) @ Compuware
  • December 16 : JetBrains ReSharper and Design Principles (Hadi Hariri) @ Tour & Taxis Brussels (hosted by Neomatics)
  • December 19 : Geek Dinner @ Wok & Tandoor in Antwerp
  • December 22 : Entities in WCF (Kurt Claeys) @ Ordina
A certainty for the week of January 12, 2009 is also the advanced WCF session with Juval Lowy, who will be back in Belgium for his IDesign Master Class. More details about this VISUG session will follow - you will have the possibility to vote for your preferred session!

Interesting to tell is that the VISUG is now also part of the JetBrains User Group Giveaway program. Each event, we will pick a lucky winner who will receive a free personal license for ReSharper, dotTrace or TeamCity. On top of that, JetBrains will fly over Hadi Hariri from Spain to deliver a very interesting talk about Design Principles on December 16. Hadi Hariri is a C# MVP and runs the Malaga .NET User Group. He’s also a very active member of the JetBrains Developer Communtiy. This event will be hosted by our sponsor Neomatics at Tour & Taxis in Brussels. I’m also trying to setup a Geek Dinner in Brussels after the session to meet with Hadi Hariri and other peers. More news will follow shortly on my blog.

What else to expect from VISUG for 2009 :
  • A new VISUG branding with a brand new website
  • A closer look at the new technologies/tools presented at PDC
More information can be found at Don’t forget to register for one of our next events or subscribe to our newsletter to receive all updates!


Tuesday, November 18

Online Advertising

Why this post about online advertising? Well, it's everywhere these days (banners, video, text, ...) and for companies, website owners, blog owners, etc. it's a golden opportunity to reach a larger online audience. The worldwide revenue of online advertising must be enormous (ask Google for example) and no surprise that Microsoft also jumped on this : it's their next big thing! It can be seen as the battle of clicks on the Internet for a lot of money.

From the Interactive Advertising Bureau :
Internet advertising revenues (U.S.) for the first six months of 2008 were $11.5 billion, setting yet another new half-year record that represents a 15.2 percent increase over the first half of 2007. The second quarter of ’08 was up 12.8% over the same period of 2007 and showed a slight decline of 0.3% from the first quarter.
I'm not an advertiser, but for me as a blogger, publishing ad campaigns is a possibility to earn some extra money (really not that much!). In the past I've been contacted by Adhese - a company that takes care of advertising campaigns on blogs - to add my blog to their Enchanté offer. What it actually means is that my blog is periodically picked up by specific marketing campaigns and the only thing I need to do is insert a little JavaScript into my blog to display ads (160x150) in the campaign period. I get paid a fixed amount for each ad campaign. This amount has ranged from 25,- euro up to 60,- euro. A lot more than I could possibly earn with Google AdSense, AdBrite or any other similar advertising company. Last week I got contacted to participate in a research project of the Flanders Business School that investigates the pay-per-post principle. I was simply asked to publish a post on the relaunch of the Quick ’n Toast and Suprême Pepper burger of Quick. Doing some extra research on online advertising, I realized even more that the Internet is really one big bunch of connected clicks and each click may have its price! Big Business! More and more alternative approaches for monetizing links will pop up and I'm curious if and when the big players like Google, Yahoo, Microsoft, ... will come up with something new and refreshing.

Another approach is taken by Flidge who tries to be a new advertising marketplace with a slightly different offering. In this blogpost I have as an experiment inserted a Flidge link that leads to Fomble, another TinyUrl website with at least a better looking website that's looking for extra traffic and promotion of their business. Flidge works with embedding paid links in whatever format (it may even not be obvious for a site visitor that it's actually a paid link). It's the publisher who decides how to link it all together, but the publish request needs to be approved by the one who pays for the extra traffic to his website ... So, on the other hand I also wanted to test the other side of the story and I offered a link to my blog on Flidge. Feel free to pick up my Flidge link and earn some money by publishing it on your site/blog!

this blog post is an experiment by

Thursday, November 13

Enterprise Class Library Project Template

It's really a shame that I didn't use the Export Template feature of Visual Studio up till now.

Lately, I got a bit frustrated by modifying each time the standard Class Library Project in my development projects. Here are the project settings I always want to enforce when creating a new Enterprise Class Library Project (note that these settings should be set for the Debug and Release configuration):
  • Remove the default Class1.cs file

  • Treat all warnings as errors during compilation

  • Generate XML documentation file

  • Enable Code Analysis during compilation and treat warnings as errors

A side effect of enabling all Code Analysis rules will be that the project won't compile anymore because rule CA2210 will require a strong name for the output assembly. A possible solution for this is to also add the default strong name key file to the project before exporting the template. After all, enabling all Code Analysis rules from the start is really a good thing to do in your projects! Have you ever tried enforcing this in the middle of a project? There's a bunch to learn from the Code Analysis rules for each developer!

Anyway, after you have chosen the project settings you want to activate on an empty Class Library Project, you only have to follow the Export Template ... wizard to create a reusable Enterprise Class Library Project :
  • Choose Project template for the type of template you would like to create

  • Choose a Template Icon, a Template name and and a Template description

  • Finishing the wizard will result in your customized Project Template that will be available in the new Project dialog.

Taking it one step further, you can also share your custom project templates with your team if you copy the resulting zip files to a shared location and reference that shared location in the User project templates location.


Tuesday, November 4

Review PDC 2008

The PDC week is over. I won't cover in detail what has been announced at the conference (Windows Azure, Windows 7, Mesh, ...) because that has been done by other bloggers and journalists, but I want to take home the following things to explore in the coming months :
  • Working with the Azure platform looks so easy and cool, but how to exploit the Azure platform in enterprise development projects for the near future? How to get customers/companies on board for running web-scaled applications on data centers from Microsoft? How to embrace all these new business opportunities? What about the pricing model? I can see already some major benefits for smaller companies who want to outsource their infrastructure portfolio (for example Microsoft Exchange and Microsoft SharePoint) for a minimum cost - each start-up will have the possibility to focus on their core business. What about the existing hosting companies all over the world? How will they be involved in the transition to a clouded world?
  • Are Office applications for the Web really so cool as they look like? For me, that was really a wow experience and sure something to follow! Bye bye Google Docs?
  • What opportunities will arise with Oslo, codename for Microsoft's forthcoming modeling platform. Do we need to invest heavily on this modeling approach? In the past, modeling techniques were only applied by larger enterprises who could invest time and energy in setting up a modeling platform. Microsoft now focuses on providing a model-driven platform and visual modeling tools for all mainstream users. Are we ready for 5GL (or is this still 4GL?) and all kinds of Domain Specific Languages? What about the future of C#? Still some research to do!
  • With Visual Studio Team System 2010 (built entirely in WPF by the way), Microsoft is more and more focusing on the needs of enterprise development teams. Imagine that VSTS wasn't available anymore ... Would it still be possible to manage the software development process of your applications? I've really seen some key features of VSTS 2010 (especially in the Architect Edition and Team Foundation Server) that will rock! Wishing those features were here already! More on this in my next blogposts ...
  • Live Mesh is now also available in Europe with the latest beta release. Mesh is all about syncing, sharing and accessing information wherever you are with whatever device you happen to use. I definitely need to dive into this stuff because the goal is really appealing!
So, enough documentation to explore in the coming months [all attendees got a portable Western Digital harddrive with all the latest bits]. PDC 2008 was a thrill, but the hard part is now to get ready for all this new upcoming stuff.

Besides all the interesting technical sessions I enjoyed also pretty much the social part of PDC 2008 where I could meet with other Belgians. Certainly I will remember the NBA basketball game we attended between the LA Lakers and the LA Clippers in the Staples Center and also our Halloween visit to the Hollywood Universal Studios. Good times for sure! But for the food and beer : no better place than Belgium ... except for the excellent dinner we enjoyed on our first night at Nick and Stef's Steakhouse.