Integration

27 September 2015

REST APIs don’t need a versioning strategy - they need a change strategy

Change in an API is inevitable. Attempting to manage this change through version numbering usually creates more problems than it solves.

2 July 2015

Comparing Gartner’s cloud integration leaders: Informatica, Dell Boomi and Mulesoft

Gartner’s definition of enterprise integration as a service is so wide that it can be difficult to draw any meaningful comparisons between the platforms in the “leaders” space.

8 February 2015

Protocol buffers for .Net: protobuf-net vs protobuf-csharp-port

Google’s open source serialization format is an efficient way of passing platform-independent and version-tolerant data between end-points. Two very different implementations have emerged for .Net.

4 January 2015

Why REST is not a silver bullet for service integration

REST is sometimes described as the next evolutionary step in service integration. The problem is that REST provides too much of a dumb pipe to support genuinely decoupled, fault-tolerant service integration.

16 December 2014

Don’t assume message ordering in Azure Service Bus

Azure Service Bus can provide first-in-first-out messaging in theory, but this is not the same as guaranteeing the order in which your messages are processed.

21 August 2014

Messaging shouldn’t be used for queries

When developers first start using messaging they can be tempted to use it as a brand new hammer for every nail. Messaging brings a lot to the party, but it isn’t necessarily a suitable transport for fast, synchronous query processing.

22 July 2014

Using a tolerant reader for web service integrations in .Net

Using version tolerant readers can help you to cope with changes to service contracts though this does come at the expense of a weaker contract. The approach is more appropriate for fluid services that are prone to frequent change.

6 February 2014

Comparing Web API 2 and WCF for building services on HTTP and REST

On the face of it, Microsoft took WCF’s promise of “one implementation, any protocol” and shot it in the head with ASP.NET Web API. Now that the Web API has matured a little it is easier to see them as complimentary technologies that deliver very different types of service.

16 July 2013

Managing change and version control for service interfaces

Change is an inevitable and even desirable part of distributed development. Managing the impact of that change is the difficult part, particularly when change affects the service interfaces that bind a distributed platform together.

4 June 2013

Sharing APIs in an organisation: challenges and pitfalls

Sharing services and APIs can appeal to a desire to reduce duplication and improve development efficiency. It’s a worthy ambition though the journey there can be littered with costly traps for the unwary.

22 April 2013

Writing a brokered messaging client for Azure Service Bus that is production-ready

Azure’s Brokered Message API provides a basic set of methods that make it easy to start sending and receiving messages through the Azure Service Bus. The problem is that it doesn’t do much to provide some of the basic scaffolding required by a serviceable messaging client.

22 February 2013

A shared database is still an anti-pattern, no matter what the justification

Shared databases risk turning into performance bottlenecks that encourage close-coupling and create a single point of failure. There’s no justification for using them to integrate processes and applications.

21 September 2012

Contract-first web service development using WCF and .Net 4.5

Contract first service development in .Net has always been hampered by the limited availability of any appropriate tooling. The new Contract-First tool in Visual Studio 2012 is only a partial solution.