Integration

Pragmatic REST: APIs without hypermedia and HATEOAS

12 December 2015

If you’re not using HATEAOS then you’re not using REST. That’s true enough, but in many cases adopting HATEOAS doesn’t deliver much value beyond architectural purity.

Comparing nServiceBus and MassTransit: Do we still need .Net integration frameworks?

26 November 2015

Both nServiceBus and Mass Transit plugged an important gap in Microsoft’s integration landscape, but do they have a role in a future that is likely to be dominated by diverse technologies and autonomous agile teams?

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

27 September 2015

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

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

2 July 2015

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.

Why REST is not a silver bullet for service integration

4 January 2015

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.

Don’t assume message ordering in Azure Service Bus

16 December 2014

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.

Messaging shouldn’t be used for queries

21 August 2014

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.

Using a tolerant reader for web service integrations in .Net

22 July 2014

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.

Managing change and version control for service interfaces

16 July 2013

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.

Sharing APIs in an organisation: challenges and pitfalls

4 June 2013

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.

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

22 April 2013

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.

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

22 February 2013

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.