Roy Osherove hates his job

You probably don’t know me. I work in your company….We work hard. the situation is bad. We work harder, yet you can’t even bring yourself to say “good morning” to us, who have worked for you for several years now. some of us gave up better paying offers because of false promises you have made. We worked like dogs for nights on end in more then one occasio. never once did you decide to stop and say “good job” or “Keep going. you just go on, with your sealed face and you astronomical salary, leaving us behind, trying to wonder what the hell is going yo happen next….We are tired. Tired of this abuse. We won’t stand for this much longer. You must understand that people are your most precious asset, and their loyalty is what will help you stay alive. Do you know what is the first thing to happen once the market situation calms down and things will be a litlle bit more normal? You will be left with an empty company. [Roy Osherove’s ISerializable]

Been there, done that, got fed up, quit and went to work for Microsoft. No company I’ve ever worked for understands that “our people is our most precious asset” better than Microsoft.

According to the Microsoft Careers site, there are 1729 positions open across the US right now. Why wait?

Recent Reading

If there was any upside to being stuck in Boise Airport for 2 hours, it was that I finished Essential .NET Volume 1. I agree with others who have weighed in with their opinion on this book – not for the beginner or casual .NET developer, but a must-have for advanced developers who want to bend CLR to their will. I liked the second half of the book better than the first, but the “Advanced Methods” chapter alone was worth the price of the book. Looking forward to Volume 2.

Married to HTTP

Oh, the irony, the Microsoft folks are busy singing the praises of WS-Addressing, for its transport independentness whilst their primary web services stack is for all practical purposes hopelessly tied to HTTP.
[Simon Fell > Its just code]

As of WS-I Basic Profile 1.0, Web Services are “hopelessly tied to HTTP”. It isn’t until you add in all the GXA Specifications that you start breaking up the marriage to HTTP (and the RPC Processing Model). Quoting from the WS-I spec:

SOAP 1.1 defines a single protocol binding, for HTTP. The Profile mandates the use of that binding

R2702 : A DESCRIPTION MUST use HTTP transport protocol with SOAP binding. Specifically, the transport attribute of soapbind:binding element MUST have the value “http://schemas.xmlsoap.org/soap/http”.

For interoperability the transport protocol is limited to HTTP. To permit secure transfers at the HTTP level use of HTTP(S) is allowed.

[WS-I Basic Profile v1.0 Working Group Approval Draft]

Additionally, the WSE toolkit is NOT tied to HTTP. One of the more interesting classes in the toolkit is SoapEnvelope. It’s an extension to XmlDocument that adds all the SOAP specific logic. So if you want to do web services w/o being tied to HTTP, WSE provides all the plumbing you need – just add the transport.

WS-Addressing

I think one of the reasons that the RPC model still dominates many people’s thinking is that we really haven’t gone beyond the HTTP binding defined in the first SOAP spec. For better or worse, as long as we are focused on a client-initiated request/response model, developers are going to think of it as RPC (even though HTTP deals in streamed bytes, not callstacks). WS-Addressing opens the door to other possibilities – like sending response messages to places other than the implicit port at the other end of the HTTP connection.

With a standard way to describe where messages are supposed to go, what their intent is, and how they relate to one another, we can start building systems that use SOAP messages in other ways (without the complexities of WS-Routings message paths). That in turn will start to influence WSDL. In short, WS-Addressing may be the forcing function we need to really start moving away from the the current RPC-centric view of the world into more interesting areas.
[Tim Ewald’s Spoutlet: Pushing the Envelope]

I’ve expressed my frustration with WSDL’s special treatment of HTTP with regard to the Action attribute before. If WS-Addressing can help move WSDL in the right direction, I’m all for it.

My only concern is that there seems to be a lot of overlap with WS-Routing. Both specs define an Action element that corresponds to the WSDL soapAction attribute. Both specs define Message ID and RelatesTo elements. Both specs define from and to addresses, though WS-Routing’s message paths are much more flexible (and complex). Does WS-Addressing imply WS-Routing is in for a major change?

Back in the Saddle and Not the Least Bit Happy About It

Nothing like a 16 hour day to remind you what it’s like to travel for a living. I’m used to getting up at 4am – I’m just used to going back to sleep after the feeding. The only good thing was that I got some work done on my new article on the flight home.