Gregor’s Ramblings on Patterns

My ongoing thoughts about the present and future of integration, SOA and Web services. [see all]
Serverless Integration Patterns on Google Cloud Functions
Modern Examples for Enterprise Integration Patterns
37 Things or "Where have all my ramblings gone?"
IT-Architekten: Angelpunkt der Digitalen Transformation im Unternehmen
June 20-21, 2017
YOW! Hong Kong
Sep 7-8, 2017
Hong Kong
YOW! Singapore
Sep 11-12, 2017
A Decade of Enterprise Integration Patterns
(IEEE Software)
20 Years of Patterns' Impact
(IEEE Software)
Conversations Between Loosely Coupled Services
(Video on InfoQ)
Developing in a Service-oriented World
(Video on InfoQ)
SOA Patterns - New Insights or Recycled Knowledge?
Let's Have a Conversation
(IEEE Internet Computing)
Programming Without a Call Stack - Event-driven Architectures
(ObjektSpektrum, 2006)
Your Coffee Shop Does Not Use Two-Phase Commit
(IEEE Software)
Developing in a Service-Oriented World
(ThoughtWorks Whitepaper)
An Asynchronous World
(Software Development)
Nearfield Communication (NFC) in Japan
(OOP 2012)
Embedded OSS
(OOP 2012)
Distributed Programming the Google Way
(Devoxx 2009)
Developing in a Service-Oriented World
(SOACon 2007)
Programming without a Call Stack: Event-driven Architectures
(SOACon 2007)
Software Visualization and Model Extraction
Conversations Between Loosely Coupled Systems
(SD West, 2006)
Enterprise Integration Patterns
(JAOO, 2003)
Microsoft MVP
IEEE Software Board Member

These pages are a mix of a blog and a collection of short articles. I call them "ramblings" because these notes are typically based on my personal opinions and observations as opposed to official "articles". As I have a broad background in software and IT, the topics also tend to cover a broad range. Naturally, they include integration, messaging and my current work on conversation patterns. I also tend to ramble about enterprise architects and architecture, events I spoke at as well as patterns and writing.

These are my Ramblings on Patterns. See all Ramblings.    Subscribe  Subscribe to my ramblings via RSS.

Modern Examples for Enterprise Integration Patterns   February 5, 2017

Enterprise Integration Patterns are timeless as underlined by the fact that the book keeps selling well over 13 years after its publication in 2003. However, the code examples haven't aged quite as well. I therefore updated several code examples to use modern tech like GoLang, Kafka, RabbitMQ, Amazon SQS and Google Cloud Pub/Sub. Read more »

Sync or Swim   FEB 15, 2015

We were tempted multiple times to extend the EIP icon language, but always felt that simplicity should win over precision. However, seeing the visual vocabulary that my former Google colleague Ivan Gevirtz created, I am convinced that combining the two is useful. Read more »

Design Patterns: More than meets the eye   Jan 13, 2009

Blogging about design patterns seems about as original as blogging about the Java (TM) Programming Language, except for the missing (TM). However, as I just attended a workshop on software service engineering, I realized once again that people from different fields have very different notions about the concept and usage of patterns. Many workshop attendees raised questions about formalizing patterns, tooling, etc. I touched on this subject a tiny bit in a post from long time ago, but I figured that the topic really deserves more attention, especially since to me a pattern is so much more than the "proven solution to a recurring problem within a specific context." Read more »

Web 2.0 Patterns   Aug 24, 2006

I confess. I am a groupie. When Tim O'Reilly invited me to be part of a workshop on Web 2.0 patterns I was quite excited. First, because I was going to meet the exalted one in person. Second, because I would have a chance to learn a lot about Web 2.0 as I am pretty much starting from zero. Read more »

Integration Patterns in the Wild   July 20, 2006

Hanging out with my intellectual drinking buddies reminded me that our integration patterns have been embraced by a fair number of commercial as well as open source projects. In my eyes this is really the best indicator of success for a pattern language. Latin – a dead language used mostly by doctors to sound more knowledgeable – is not a good model for a pattern language. You want a language that is alive and actually used by people. Talking to a few folks who did embrace our language motivated me to take a quick survey of the places where our patterns pop up. Read more »

Will the Real Asynchrony Please Stand Up?   May 15, 2005

On a recent project we developed a Web services framework that supports asynchronous callbacks and asynchronous invocation with polling. The difficulties we had describing what we were trying to do to my fellow ThoughtWorkers on other projects prompted me to discuss the different forms of asynchrony in a little more detail. Read more »

Are "Pattern" and "Component" Antonyms?   October 15, 2004

Last year's OOPSLA tutorial on Enterprise Integration Patterns was quite well received. The most frequent constructive criticism was that the whole tutorial was PowerPoint as opposed to running code. I took that feedback to heart and set out to develop a toolkit that demonstrates the routing and transformation patterns in our book. After a lot of deja-vu in Windows GDI programming I created a toolkit that contains each pattern as a small executable. The toolkit is a lot of fun and makes for great demos, but it also triggered a bigger question. Are patterns meant to be codified as components? Read more »

Correlation and Conversations   May 21, 2004

When using asynchronous messaging, we can no longer rely on the linear, in-sequence execution of events. Therefore, the notion of correlating multiple messages is fundamental to designing robust messaging solutions. While correlation seems to be a simple concept at first glance, there are quite a few interesting nuances. Read more »

Gregor Hohpe
Hi, I am Gregor Hohpe, co-author of the book Enterprise Integration Patterns. I like to work on and write about asynchronous messaging systems, service-oriented architectures, and all sorts of enterprise computing and architecture topics. I am also the Chief Architect at Allianz SE, one of the largest insurance companies in the world.