# Wednesday, 21 November 2007

Commerce-Server-2007-Logo A while back a friend of mine posted a comment here asking me to describe what it's like developing with Commerce Server 2007. Initially I wanted to reply to him in comments but thinking more on it I really wanted to provide a different and real perspective on how Commerce Server is to work with as a product, a perspective in which I want to dig a deeper than the usual how-to and tutorials you see on the various Commerce Server blogs; mine included.

Now I started this out with the intent of covering everything in a single post but as that post got longer and longer I decided to split it up into multiple parts. So here's the first installment with a couple more to come soon.

Secure By Default

The first thing you'll come to realize in the first couple of hours working with CS is that security is a big deal in this release; both a blessing and a curse. A blessing in the sense that the security system provided out of the box provides rich possibilities for securing the various subsystems of Commerce Server. If setup properly all components are protected by multiple layers of security and you even have the possibility to go one step further than that by leveraging business data security. Basically the last layer of security allows you to specify what data users or roles can access, not only that but you can go down to operation level and specify which operations are available to particular groups of users. While this sounds like role-based security it's not, this is much richer than that and is more akin to code access security only with a business focus rather than a technical focus.

I started out by stating that the rich security features are both a blessing and a curse, so how can that be the case with all of the above? The fact of the matter is that with security comes complexity, imagine a setup with multiple web sites running in IIS each with its own app pool of credentials, this goes all the way to the database where the individual services have very specific roles assigned to them. Debugging an error in a setup like that is very difficult and this is some of the more bland stuff you'll encounter :)

Commerce Server leverages a lot of platform technology, one that comes to mind immediately is Distributed Transaction Manager the very same used by System.Transaction in .NET Framework 2.0. Basically MSDTC is great when it's working, when it's not you'll really come to loathe it. I've been through numerous debugging sessions where MSDTC either wasn't running on all machines, it couldn't do reverse name lookups over the network, firewalls were blocking ports, etc.. As I said it's a pain when it's not running.

What this is all boils down to is that not only do you need to know Commerce Server as a product; you'll also need to know the basics of the Windows platform. This probably seems straightforward, if it does all the more power to you, but with more and more abstraction levels on top of the metal people do have a tendency to forget the underlying platform.

Developing with Microsoft Commerce Server 2007 Part 2: Three-way Data Access

posted on Wednesday, 21 November 2007 21:42:04 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback
# Thursday, 15 November 2007

anug_logo_200x85 Jacob initiated a Facebook group for ANUG a couple of weeks back. An initiative of which I scoffed initially but I've come to realize my mistake after I took another look at Facebook.

My initial reaction was that I didn't want the hassle of maintaining another social network but I have to admit that Facebook brings a lot of interesting stuff to the table especially for a group like ours.

We run everything with volunteers, presenters, "infrastructure", places to hold the meetings, everything so naturally a site that offers everything we need to keep track of members and announce our events in a more structured manner is a very welcome addition to our toolbox.

As a result we're messing around with the group, getting people signed up, and we've created a couple of events already so check it out and please let me know what you think about it. Other than giving us some nice opportunities for the events Facebook brings support for uploading pictures to the group page, creating discussions, and posting comments.

Check out Aarhus .NET User Group Facebook Group

And why not join the ANUG LinkedIn group while you're at it to bolster your professional network?

BTW we've made really easy to remember URLS for Facebook and LinkedIn. Just go ANUG.dk/Facebook or ANUG.dk/LinkedIn, there's really no excuse not to spread the word ;)

Oh yeah, you can check out my personal profile as well if you can stand it :)

posted on Thursday, 15 November 2007 21:53:55 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback
# Thursday, 08 November 2007

firefox-logo Did you know that you can bring your Firefox settings with you to other machines or reuse them if you reinstall your machine? I went digging because I was sick and tired of configuring Firefox time and again whenever I reinstalled Windows. It became even worse when I started using more and more plugins.

Luckily it turns out that Firefox has very nice facilities for backing up your settings and even bringing them to other machines. These facilities are not however readily available, in other words you need to know where to look.

Firefox has the notion of profiles. A profile stores everything you add or change in Firefox: Extensions, settings, URL history, everything. To back up your profile in Windows XP you need to go to:

c:\Documents and Settings\<Your Login>\Application Data\Mozilla\Firefox\Profiles\<arbitrary numbers>.profile

For Windows Vista you'll find the profile in:

c:\Users\<Your Login>\AppData\Roaming\Mozilla\Firefox\Profiles\<arbitrary numbers>.profile

Everything is in there, copy it to a safe location. Personally I store my Firefox profile on a separate drive along with my documents and various other stuff. When you need to activate your profile in Firefox you need to run Firefox with the -ProfileManager parameter:

Firefox.exe -ProfileManager


That will bring up the profile manager on which you click Create Profile where you can specify a path for your new profile.


With this done you now have your profile ready to go and you can preserve it from one install to the next or bring it to a new computer. Combine this with FolderShare and you're effectively syncing your Firefox across multi computer automatically.

posted on Thursday, 08 November 2007 21:10:07 (Romance Standard Time, UTC+01:00)  #    Comments [1] Trackback
# Wednesday, 07 November 2007

It's not quite Friday yet but what the hell... Here's Achmed the Dead Terrorist:

Thanks to Anders for passing this one along.

posted on Wednesday, 07 November 2007 19:41:24 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback

anug_logo_200x85 For the November meeting in Aarhus .NET Usergroup we're changing gears a little bit in that we're focusing on the inexperienced developer who wants to know how to go about creating .NET applications in a correct and maintainable fashion. At the meeting you'll see how to implement a blog engine in ASP.NET using various out of box capabilities of the platform.

We've been playing around with the time for the meeting but have finally settled on 18:00. We might entertain the idea of starting even earlier but for now it's 18:00.

Please note that there are two Scanvaegts in Aarhus; the Scanvaegt you need to go to is the one called Scanvaegt International and NOT Scanvaegt Nordic.

Please leave a comment to sign up

Practical Information

The meeting will be held:

Wednesday 28/11 18:00


Scanvaegt International A/S

P. O. Pedersens Vej 18

8200 Århus N



Usergroup News

As always we'll update you on the stuff that's going on with the usergroup. This time around we'll focus on our Geek Christmas Dinner and the Code Camp specifically.

Professional .NET for Beginners, Brian Holmgård Kristensen, Vertica A/S

A taste of implementing an n-tier blog engine application in ASP.NET. The presentation will act as a brief introduction to the contents of the Code Camp coming in March 2008. Brian will during the presentation build a simple ASP.NET application from ground up utilizing the capabilities found in ASP.NET 2.0 with focus on good object oriented principles and architectural ideas should as the n-tier model.

In his whirlwind tour of ASP.NET and friends he'll dive into the various tools needed to get the job done such as Visual Studio 2005, SQL Server Express 2005, ASP.NET Master pages, ASP.NET Themes.

For specific topics and questions you'd like covered you can get in touch with Brian and he'll try and work it into his presentation.

Please leave a comment to sign up for this meeting


Tour de Scanvaegt

As always we'll take some time to get some information from our gratious hosts: This time around Henrik Kristensen will tell us about Scanvaegt as a company and some of the challenges they're facing in the everyday life. Henrik is the cheif architect at Scanvaegt International so expect some good technical content from him :)

Open Forum

We'll close the evening off with open forum where you get to ask your questions or pose topics for discussion. Got something on your mind that you'd like us to discuss please bring it up. You're sure to get an opinion on the matter.

Please leave a comment to sign up

posted on Wednesday, 07 November 2007 16:32:03 (Romance Standard Time, UTC+01:00)  #    Comments [17] Trackback
# Monday, 05 November 2007

Just a quick note to say that my colleague Brian is attending TechEd Barcelona 2007 and is blogging as he goes. He's getting ready for the keynote as I write this so be sure to head on over to his blog if you're interested in the stuff going on at this year's conference.


I'm very envious that I couldn't go this year too :)

posted on Monday, 05 November 2007 13:29:02 (Romance Standard Time, UTC+01:00)  #    Comments [0] Trackback
# Monday, 29 October 2007

My favorite part of the usergroup is probably the social aspects. To provide further support for this we decided to throw a geek Christmas dinner in December. We've already booked a table at Bryggeriet in Aarhus for fifteen people, but we can probably extend the number if we get a lot of interest but be sure to sign up now to secure a place.

The Geek Christmas Dinner is scheduled for Friday 14/12 at 18:00, the reason for choosing Friday was to allow people to grab a couple of beers instead of having to rush home :)

Please note that this event will NOT be free, you'll have to pay for your own food and drink. We expect that the price will range between kr. 200 - 300,- (beverages not included).

Please note that Bryggeriet needs to know how many people will attend so you have to commit to the date once you sign up. You need to RSVP no later than 23/11.

Practical Information

Geek Christmas Dinner will be held:

Friday 14/12 18:00

(Sign up before 23/11)



Kannikegade 10 - 12

8000 Århus C


Price kr. 200 - 300,-

As always please leave a comment to sign up.

Also remember to sign up before 23/11 so we know how many will attend. Keep in mind that we can seat only fifteen people, be quick.

Looking forward to seeing you there!

posted on Monday, 29 October 2007 21:38:33 (Romance Standard Time, UTC+01:00)  #    Comments [11] Trackback
# Thursday, 25 October 2007

anug_logo_200x85 We had our fourth successful meeting yesterday evening in the fine offices of Ditmer. A lot of people turned up for this one I guess LINQ is something which is on most .NET developers minds these days as I counted approximately 30 people attending this one. We even had some guys from Nordic Company coming all the way from Copenhagen to attend and Niels Hartvig of Umbraco fame decided to take the trip from Fyn as well which I believe is a testament to the fact that we're doing something right with this thing.

Usergroup News

As always I started out by telling everybody about the things we've been doing with the usergroup since the last meeting. This time around we've had a lot going on and I was looking forward to announcing it all and getting people's response on it.

Logo and Web Site

We've got ourselves a logo courtesy Lars Øer who is a regular attendee at the meetings and also a colleague of mine. As you can see we're already using here and on our LinkedIn group (which you should join if you haven't already done so :)). With the logo done we're hoping to move on to the design of the ANUG.dk site and get that done before the end of the year additionally we'd like to provide a more structure schedule for our upcoming events which should make it easier for you to sign up and get an idea of where we're going. we basically need some kind of custom control for BlogEngine.NET so feel free to go nuts and do one if you'd like ;)

November 28/11: Getting Started with Professional .NET

First up is our next meeting which will be for those of you who want to learn same of the basic .NET stuff and tools you're going to need. The session is called Getting Started with Professional .NET and it's scheduled for 28/11 at Scanvægt. More details will follow shortly but the basic idea is to cater to people in our group who are there to get started with .NET and learn a couple of tricks along the way.

December 14/12: Geek Christmas Dinner

For our final session this year we decided to do something a little different and throw a geek Christmas dinner. We really don't think that a session the last Wednesday of December would garner any attendees at all so instead we're doing this. There are 15 seats available for now but we've got the option to bump that number if we see a lot of interest. You need to RSVP no later than 23/11. Due to some planning constraints we have to make attendance binding for this one. As with the November meeting more details will be up shortly.

March 01/02: Code Camp .NET for Beginners

As a follow-up to our November meeting we're going to do a code camp where we'll build a three tier .NET web application using the tools and best practices which are considered essential for a .NET developer. We'll be digging into data access, domain models, UI design.

This will basically be an entire day of .NET where you get the opportunity to get your hands dirty in your own solution with the help of our coaches who'll guide you through the day. I think this is going to be a lot of fun and even better it's a great way of digging deeper than we usually do that the regularly scheduled meetings. Hope to see you there!

We're still looking for a place to hold it but I'm not too worried about that as we've got a number of possibilities already. Also we're looking for sponsors to provide food and drink for the attendees so if you're working at a company that needs some attention feel free to contact me about the details.

Ideas for Upcoming Events

While the group was just getting started we decided to go ahead and put together as many events as we could without taking any input from the attendees but the vision is to allow you the attendee to decide what you want us to talk about. We got together a nice list of topics and surprisingly F# topped it out with the most votes so I guess we're to do an F# session soon, we just need to find someone who knows something about it, hint hint nudge nudge :)

Other topics on people's minds are, number of votes is in the parenthesis, we'll definitely take these into consideration, specifically I'd like to do a couple of sessions of Visual Studio 2008, C# 3.0, and VB 9 with their release imminent.

•    VS 2008  (11)
•    Silverlight 1.1  (11)
•    Team System (foundation + client)  (10)
•    C# 3.0 / VB 9 (new language features,difference between version, when and why should you upgrade) (9)
•    PowerShell (9)
•    DLR / F# (8-12)
•    WF (7)
•    WCF (9)
•    ASP.NET MVC Framework (+10)
•    Compact Framework (7)

JAOO Cooperation

Briefly after JAOO 2007 I was contacted by Kresten Krab Thorup from Trifork who suggested that we do some kind of cooperative effort with the JAOO guys next year. There are no solid plans as of now but it's definitely something we're going to pursue in to get a super star or two to speak at one of our humble meetings.

With my intro done I yielded to floor to Søren Skovsbøll the main attraction of the evening...

ORM and LINQ, Søren Skovsbøll, Ditmer A/S

Søren did a very cool and thorough presentation of ORMs in general and LINQ to SQL in particular. He gave an insightful view into the wonderful wacky world of ORM and all the patterns surrounding the various implementations like NHibernate, LINQ to SQL, and even his own implementation Matternhorn all the while relating the information to LINQ to SQL to give us an idea of what to watch out for when doing LINQ to SQL projects.

Although Søren said that he in no way was an expert on LINQ to SQL I came away with a sense of knowing the product better because of his insight into the general principles of ORMs. When I first saw LINQ to SQL back in 2006 demoed by Anders Hejlsberg I was ready to drink the cool aid and go all out with it. Søren's presentation was sobering as he pointed out not only all the good things about LINQ to SQL but more importantly all the problems, something you won't see from a Microsoft presentation I think :)

I still think LINQ to SQL is a cool product but from Søren's presentation I think it's clear that you need to know what you're getting yourself into before taking the plunge.

Tour de Ditmer, Morten Ditmer, Ditmer A/S

With our break done Morten spent some time telling us about Ditmer and the way they operate as a company. Ditmer is a very agile company with focus on delivering software rather than bickering over contracts with the customer as a result they don't employ contracts at all which Morten felt obligated them even more to deliver real business value to their customers. Another aspect of this is that they've got no sales force; every new project comes in by word of mouth which to me is interesting as I've seen very good ideas tank because they didn't get the attention they deserved. Probably the reason that this is working is the fact that they've got traction in the marketplace already and their network is allowing them to operate like this. As a result they're a very developer centric company which should appeal to most .NET'ers out there :)

There's no question that Ditmer is an great work place where all the right values are in focus. They're even involved with Agile Alliance another plus in my book :)

Open Forum (The Artist Formerly Known as The Nutcracker)

Even though it was getting pretty late most attendees stayed around for the open forum where we had a very good question about how to do internationalization and a step beyond that: How to change logic and appearance based on locale you're currently operating in. In addition we covered scaling an web application for a lot of users across multiple continents. Although people we tired I think we got some good answers and food for thought on this one. As always I encourage you to think on topics for Open Forum in advance so we get the most out of the time we've got.

posted on Thursday, 25 October 2007 14:36:22 (Romance Daylight Time, UTC+02:00)  #    Comments [4] Trackback
# Tuesday, 23 October 2007

anug_logo Be sure to attend the most requested session of ANUG ever: ORM and LINQ with Søren Skovsbøll. If you want an opportunity to learn more about LINQ and ORM in general this is a must for you! :) Also you'll get to meet a lot of interesting people what's not to like?

It's absolutely free to attend and Ditmer will provide some snacks for us so be sure to check Wednesday 24/10 19:00 (that's tomorrow evening). More information and to sign up.

posted on Tuesday, 23 October 2007 10:30:35 (Romance Daylight Time, UTC+02:00)  #    Comments [0] Trackback