Sprint demo, cold and speed

I’m back - yesterday was a day with speed since we had to prepare the Scrum demo we’re going to hold today. And as frosting on the cake i caught a cold (kind of).

Well, nothing to do about that - the sprint demo today will be running smoothly even if i am a bit slower than usual.

The night at the shelter was quite quiet (:)) for me. I got to go to bed at around 2345 and woke up 7 hours later without a single disturbance, part from a soar throat. A very small contribution from me.

[UPDATED] The demo was a success! The product owner said that she wanted to do “the wave”, which was quite a good reception, don’t you think.

Read More

A night at the shelter

Tonight i am sleeping at the Salvation Army shelter for homeless in Stockholm. It is a very good way for me to take part the most important work that the Salvation Army does, and that i am embarrising seldom involved in.

Feels fine for now - i hope i don’t mess things up, though. There are a lot of things to keep track of and the people i am serving are used to a certain standard and certain ways. I hope i don’t let them down.

Bye for now - i’ll get back to you after the night.

Read More

What is SOA? What is SOAP-RPC?

The now almost age-old question; “but what is SOA then?” has been out for debate at the office where i am right now. It must be stated that this is a gang of developers and quite often the questions bubbles down to; “but this line of code then, is this SOA?”.

I took some time over the weekend and though about it - and came to the conclusion that you cannot answerer that question because the question is not correct in itself. SOA has to do with switching position and behold your world from another angle, was my conclusion.

And lo and behold; today i found an article that explained a lot of stuff surronding this for me: http://wisdomofganesh.blogspot.com/2008/02/deciding-characteristic-of-soa.html

Great explanation of the differences between SOA and SOAP-RPC.

Read More

WCF - wsdl configurations explained

OK - after an intensive coding session i can now proudly say that I understand 4 attributes of the WCF configurations (of the 1200 + that exists ;))

The attributes that you should set are:

  • ServiceBehavior.Namespace - this get generated as the targetNamepace in the wsdl (instead of http://tempuri.org/). Also you should use this namespace in the endpoint, with the bindingNamespace-attribute in the config-file: <endpoint bindingNamespace=”[http://www.marcusoft.net/Services/](http://www.marcusoft.net/Services/)” />
  • ServiceBehavior.ConfigurationName - this is the name that you use as service name in the configuration file: <service name=”OffertTjanst” >

  • ServiceBehavior.Name - the name property has solely to do with the generated wsdl-file. It is generated as the Name-attribute in the wsdl-file: <wsdl:definitions name=”ListDataTjanst” …

  • ServiceContract.ConfigurationName - (note: this is on the interface, service contract, all other attributes are on the service implementation) this name is used to reference the interface in the endpoint:...
Read More

WCF, WSDL and tempuri.org

It’s back! Just when we thought that we’ve seen the dreadful namespace http://tempuri.org is coming back at us with full power.

The feeling you get when a web service is exposed under the namespace tempuri.org is that the developer of that web service is either sloppy or don’t now what he is doing.

Well, well - don’t be like that when it comes to using WCF. Here is an article describing how to do it. The key points are quite easy:

  • Use the ServiceBehavior attribute. Note: on the service implementation - not on the contract!
  • Set the namespace-property to the namespace you want.

Here is an example (yes, i know, it’s in dredded VB.NET):

<ServiceBehavior(Namespace:=”http://www.marcusoft.net/Services/2008/04/MyService”, )> _ Public Class MyServiceImplementation implements IService … End Class

Read More

WCF configuration or Do it yourself

Configuration of WCF-services is a vast area… anyone who looked into the subject are sure to agree on that. The whole idea with WCF-services is that you can via configuration tweak the behavior and appearance of a service without having to change any internal logic of the service.

When I tried my first services I was “tricked” into choosing one of the pre-manufactured project templates that Microsoft ships with Visual Studio 2008. This was bad decision. The number of configuration properties and stuff generated for me was so great that I didn’t understand the true important stuff that I needed to know.

However, this Tuesday we had a interesting visitor at Avega - Christan Weyer. He gave an introduction on WCF. From that lecture I got so much more than from what the templates showed me.

So this is what you really need to configure on your service:

...
Read More

Sending parameters to msbuild in TFS

The build process in Team Foundation Server is the one part where you still miss some stuff. Although it is much better in TFS 2008 than in TFS 2005 it is still quite cumbersome to handle.

The way you start off with a wizard and then almost always need to go into the .proj-file to do updates is also confusing. Most people don’t want to be fiddling around with the nitty-gritty details of a MSBuild-script - it is not pretty.

These, and other reasons, has led many of the projects that i am involved in to create a lot of build scripts - and some of them is not need. Like, for example, you shouldn’t be needing a separate build script to deploy to a certain environment, or the deploy part should not have to get and rebuild the sources.

The solution to this is of course to send and...

Read More

Required file 'alink.dll with IAlink3' could not be found - and the solution to it

OK - a bit irritating but the first time I tried to compile … well anything (a console-application in this case) on my newly installed Visual Studio 2008 on Vista - I got this error:

Required file ‘alink.dll with IAlink3’ could not be found

Fortunately a lot of people seems to be having the same problem. Here is one guy describing the solution. But just to be sure I’ve copied the solution into here:

========= The solution was to install two Windows Update items found on the Visual Studio 2008 DVD in the “<dvddrive>:\WCU\dotNetFramework\dotNetMSP\x64” folder (for 32-bit version look in the “<dvddrive>:\WCU\dotNetFramework\dotNetMSP\x86” folder):

  1. NetFX2.0-KB110806-v6000-x64.msu. Run it, wait forever, reboot when it’s done.
  2. NetFX3.0-KB929300-v6000-x64.msu. Run it, wait forever, reboot when it’s done

========

Read More