The Web API Business Layer Anti-Pattern

What follows is a description of an architectural pattern that I see many developers discussing that I believe is an anti-pattern.  My belief is based on architectural theory and I have no empirical evidence to back it up, so feel free to come to your own conclusions. The proposed architecture looks like this, The Web … Read more

There Is Almost Nothing To See Here

I just read?Adam Ralph‘s post?Blog == Weblog?and I was inspired.? I started blogging 10 years ago because I wanted an outlet for my thoughts.? I didn’t take it particularly seriously as you would see if you dig back to the early days.? [ed note: which would be easier if my blog host actually provided an … Read more

There Is Unicode In Your URL!

In our?Runscope?HipChat room a few weeks ago, I was asked about Unicode encoding in URLs.? After a quick sob about why I never get asked the easy questions, I decided it was time to do some investigating.? I had explored this subject in the past whilst trying to get Unicode support working in my URI Templates … Read more

Using Etags and Last-Modified Headers To Improve Performance With HTTP Conditional Requests

In the recent update of the?HTTP specification, the details of conditional requests have been split out and given their whole own?specification.? Most developers I talk to are familiar with the idea of?304 Not Modified?response code, but whenever we start to dig deeper everyone, myself included, is missing pieces of the puzzle. This article is one … Read more

What Does Coupling Mean To You?

When talking about REST, the conversation usually boils down to coupling.  REST enables distributed components to evolve independently over long periods of time, and it does this by constraining where coupling can occur. I’ve made this pitch a thousand times with the blind assumption that everyone had the same understanding of the term coupling.  If … Read more

XSLT Is Easy, Even For Transforming JSON!

Most developers I talk to will cringe if they hear the acronym XSLT.  I suspect that reaction is derived from some past experience where they have seen some horrendously complex XML/XSLT combination.  There is certainly lots of that around. However, for certain types of document transformations, XSLT can be a very handy tool with the … Read more

Solving Dropbox’s URL Problems

A recent post on the Dropbox developer’s blog post talked about the challenges of constructing URLs due to the challenges of encoding parameters.  They proposed the idea of using encoded JSON to embed parameters in URLs. I believe URI Templates offer a much easier and cleaner way to address this issue.  This blog post shows how. I’ve … Read more

Posting Raw JSON To Web API

I see questions almost weekly on StackOverflow where someone is trying to POST JSON and receive it as a string.  The problem is that Web API has two modes, “serialized object” and “HTTP message”.  Receiving raw JSON as a string falls between the two. Usually the question goes something like, “Why does the jsonBody parameter in the … Read more

Optimizing For The Speed of Light

It is true three women can’t make a baby in 3 months, but it also doesn’t take 27 months for them to have 3 babies! You might be wondering what on earth I am talking about but this is something I see API developers getting confused about regularly. There is?oft-repeated guidance that if an API … Read more

OpenAPI Is Not What I Thought

Sometimes I do my best thinking in the car and today was an excellent example of this.? I had a phone call today with a the digital agency?Authentic?who has been hired to help you stop saying?Swagger when you mean?OpenApi. I’m only partially kidding. They asked me some hard questions about why I got involved in … Read more