Enterprise Integration Patterns
Gregor’s Ramblings on Patterns
HOME PATTERNS RAMBLINGS ARTICLES TALKS DOWNLOAD BOOKS CONTACT
My latest thoughts on integration architecture:
Queues invert control flow but require flow control
Control Flow—The Other Half of Integration Patterns
Event-driven = Loosely coupled? Not so fast!
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?
(Whitepaper)
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)
Programming the Cloud
(QCOn Tokyo 2010)
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
(TheServerSide)
Where did all my beatiful code go?
(SpringOne, 2006)
Conversations Between Loosely Coupled Systems
(SD West, 2006)
Enterprise Integration Patterns
(JAOO, 2003)
Gregor HohpeHi, I am Gregor Hohpe, co-author of the book Enterprise Integration Patterns. I work on and write about asynchronous messaging systems, distributed architectures, and all sorts of enterprise computing and architecture topics.
TOPICS
ALL RAMBLINGS  Architecture (12)  Cloud (14)  Conversations (8)  Design (26)  Events (30)  Gregor (4)  Integration (23)  Messaging (13)  Modeling (5)  Patterns (8)  Visualization (3)  WebServices (5)  Writing (12) 
POPULAR RAMBLINGS

This blog chronicles my journey with asynchronous and distributed system design over two decades. These are my Ramblings related to Patterns [See all Ramblings].    Subscribe  Subscribe to my ramblings via RSS.

Find my posts on IT strategy, enterprise architecture, and digital transformation at ArchitectElevator.com.


Modern Examples for Enterprise Integration Patterns   February 5, 2017

Enterprise Integration Patterns are timeless. That's why our book keeps selling well 20 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, AWS, Azure Cloud Functions, 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 »