Why i hate SOAP

I hate SOAP (not the washing product, but the Simple Object Access Protocol). In theory is very good, a xml document, the WSDL, makes the description of the service, with the valid (and expected) data types, operations and bindings. You just load this WSDL thing in your client, and voilá, you should now automagically have a full feature client to the service, right? Wrong….

Everytime i need to (have to) use a SOAP webservice, there is always something, some tweak, some unexpexted problem to solve. Or is the WSDL format, or is the protocol version, or there is some kind of obscure authentication to do, or encryption, or something with the namespaces in the request, or something…. So, the expected 5 minutes to go, usually turns more into 50 minutes to go, with a lot of traces, network dumps and the works.

Now comes the plain dumbness. Maybe 50% or more of the operations are quite simple, you pass a couple of values and get a simple data back (like a number or a string), and 90% or more of the operations, the request is quite simple, some strings and numbers acting as filters, and the response is a structured data. So, in all this situations you were much better off with a simple REST interface with GET/POSTs to a JSON response. Light, simple and elegant.

Not with this over bloated protocol, with all the tweaks, versions, revisions and recommendations, messy client/servers, excessive formality. You can grasp how bad it is, simply by looking at a typical SOAP session (request/response), there you find that most of the bytes that are going back and forth are not the actual data, but the SOAP envelope, body, header, xml tags, etc….  its like you are working for the protocol and not the other way around.

No surprise it was developed by Microsoft….

Ensitel – What the fuck?

Quick digest:

  1. Customer gets a phone from Ensitel.
  2. Phone is faulty and client goes to Ensitel to exchange phone.
  3. Customer is sent to Nokia to make exchange because at Ensitel there is no available phone.
  4. At Nokia customer can get a repair but not a new phone.
  5. Back to Ensitel, a new phone comes up, but the exchange is denied because the faulty phone is scratched on the phone (Ensitel can see the scratch, customer can’t).
  6. Customer wants to return the phone and get the money back.
  7. Customer is again denied to a scratch in the battery cover.
  8. Customer goes into legal action against Ensitel.
  9. The case customer Vs Ensitel goes to trial after several months and expenses.
  10. At trial at a Consumer Center, the judge/referee orders the customer to deliver the phone to Ensitel to repair.
  11. Customer ignores trial delivers phone directly at Nokia to repair.
  12. Customer writes about this situation at own blog.
  13. Ensitel starts legal action, against customer to remove blog posts about Ensitel.
  14. Customer writes yet another post about the legal action.
  15. A big reaction starts in the social networks, condemning Ensitel behavior.
  16. Eventually it breaks out to mainstream mass media, tv, radio, newspapers.
  17. Ensitel makes heavy threats to sue customer.
  18. Customer starts a donation campaign to pay legal expenses.

So, as by now, this novel is not yet closed… and further developments are to be expected.

Who are the parties involved?

Ensitel: a company member of Avenir Telecom, a French based multinational, a corporation quoted in the stock market. So, this is what i call a company without a face. A bunch of guys in suits, members of a board of directors, CEO, CFO, etc… all focus in pushing the delivery of results to the stockholders and themselves.

Maria João Nogueira: an individual person, that works on the SAPO Blogs team. She has a wide audience blog and is wife of E. Pinto (SAPO CTO or senior tech something). So definitely not some lame blogger.

The Good

The customer resistance, against the big corporation, the juridic system. Never broked her spirit. How many of us, have been abused by big corporations, that can get away just because they can, and it takes too much time or effort to fight.

The Bad

Of course the juridic system and consumer protection system. Its simply unreasonable. The customer must must fight with the same weapons than a big corporation that is in a very upper hand. Its expected that the consumer, rules out first all the extra judicial mechanisms, then you should hire a lawyer and sue the corporation in a consumer center. Then if the corporation doesn’t accept you should go to common court….The corporation “burns” some hours of some legal services contract, and the consumer a large amount of time and money.

In the end, after months (sometimes years) it doesn’t solves anything,

The Ugly

Ensitel behavior. First its quite obvious that there are superior orders to deny or delay a phone exchange. Then it shields behind the inefficient portuguese consumer protection. Afterwards, when the customer tells the world about it in a blog (ok, one with a large audience), it “burns” some more legal contract hours in a legal action to force the customer to remove the blog posts. If, there is no limits to plain stupidity when the bomb blows up and the hype in the social networks build ups and crosses to above the line, they don’t do any kind of damage control, some rather lame announces on their own Facebook page. Hello!! Is there anybody with a brain in the house?

The cherry on top of the cake is the very strong menaces to the customer.


© Expresso

I already have made a symbolic donation, because i identify myself in this fight against big corporations and know in first hand how hard it is to play in a field that is so much leaned to one side. The Ensitel reputation is down the mud, specially online (see here too).

Anyway, the key point will be at the end the court decision, that should answer both of these questions. Is there any special limitation in the personal online publication of facts and opinions? If one publishes negative content about some corporation, can one be liable of brand depreciation? If yes, to what extension?

So let us just wait and see.

Update
as this post was still a draft, Ensitel as dropped the legal action against Maria João Nogueira, so we will not have a legal decision. For sure, this or other evil corporation will mess up bad again, and an angry customer will publish the story online. In other situation, with much less hype probably the final outcome wouldn’t be the same…

Ultramarathon Man

Just finished reading Dean KarnazesUltramarathon Man: Confessions of an All-Night Runner – and what an excellent and inspirational book it is. What it skips about training and nutrition delivers back in double in pure emotion. It makes my mind spin, just to think how can one run for 320Kms……

Some appetizers:

«If you can’t run, then walk. And if you can’t walk, then crawl.  Do what you have to do.  Just keep moving forward and never, ever give up.»

«Some seek the comfort of their therapist’s office, other head for the corner pub and dive into a pint, but I chose running as my therapy…»

«If it comes easy, if it doesn’t require extraordinary effort, you’re not pushing hard enough: It’s supposed to hurt like hell.»

«I’d  also come to recognize that the simplicity of running was quite liberating.  Modern man has virtually everything one could desire, but too often we’re still not fulfilled.  “Things” don’t bring happiness.  Some of my finest moments came while running down the open road, little more than a pair of shoes and shorts to my name.  A runner doesn’t need much.»

«The real battle was inside my head.»

«Life is a not a journey to the grave with the intention of arriving safely in a pretty and well preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming: “WOW!! What a ride!”»

«Most dreams die a slow death.  They’re conceived in a moment of passion, with the prospect of endless possibility, but often languish and are not pursued with the same heartfelt intensity as when first born.  Slowly, subtly, a dream becomes elusive and ephemeral.  People who’ve lost their own dreams become pessimists and cynics.  They feel like the time and devotion spent on chasing their dreams were wasted.  The emotional scars last forever.»

Some seek the comfort of their therapist’s office, other head for the corner pub and dive into a pint, but I chose running as my therapy…

Geek factor? Trough the roof….

A colleague at work send an email about this wonderful piece of software. Logstalgia (aka ApachePong) – a website access log visualization tool. It plays (or replays) the Apache access logs as a battle between a incoming torrent of requests and a pong paddle as the server.

Sample code, with regards from ssh, and unix pipes (in full screen glory):

ssh username@ns1.kolorbit.com tail -f /home/userdir/logs/access.log | logstalgia --sync -f

Utility – None
Geek factor- Trough the roof