Enterprise Integration Patterns
Gregor's Ramblings
HOME PATTERNS RAMBLINGS ARTICLES TALKS DOWNLOAD BOOKS CONTACT

ACM Middleware Conference: Pub-Sub and Related Topics

October 25, 2004
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
RECENT

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

Patterns vs. Research Papers

After I finished teaching my tutorial someone came up an essentially said that the patterns are not that useful for their work because they are mostly old stuff. For example, topic-based publish-subscribe is soo 1999 and not really interesting anymore. This discussion reminded of me of one important difference between patterns authors and research paper / thesis authors. The goal of pattern authors is to find common themes in existing usage and to make them easily understood. The goal of research paper authors is curiously opposite. They need to find something that no one has done yet and make it appear very different from everything else. So I guess you can expect s little bit of natural friction between the two groups. Cynics might say that patterns book only contain stuff you already knew while research papers are never interested in something that is actually useful in practice.

Still, I like to attend more academic conferences from time to time. First, JavaOne et al often degrade into a series of advertorials so it is refreshing to see less snazzy but more information rich presentations. It is also interesting to see what the researchers are working on because in a year or two some of that work might find its way into commercial products. So it's a little bit like looking into the future. So what were some of the current research topics that were discussed?

Publish-Subscribe

One interesting track focused on publish-subscribe messaging. Most of the talks focused on efficient implementations of content-based publish-subscribe. A Publish-Subscribe Channel sends a copy of a message to multiple recipients, based on the subscription preferences of the subscribers. It can be useful to distinguish levels of sophistication for subscribers to express their subscription preferences:

Languages

Another discussion we had at the conference was one of languages. Academics often like to create languages and new language formalisms. New languages can be powerful as they can cleanly represent a new concept. However, new language syntax is often a big deterrent to commercial developers. Language syntax is an inconvenience in the first place (who needs semicolons??) and learning a new one makes it only more frustrating. Also, development tools for mainstream all-purpose languages like Java or C# have become so powerful (Refactoring, syntax highlighting, auto-correct, auto-format) that shifting back to vi or Notepad is only worth it if the new language offers a huge improvement in productivity. As a result I think that the bar to adoption of new languages in commercial environments is quite high. Another big factor is skill set portability. SeeBeyond got so much crap from the analysts for its Monk language. Not because Monk is bad but because of the cost and risk of training developers in a new language.

Conclusion

it was fun to attend a more academic conference for a change. I am OOPSLA this week, which manages to maintain a good balance between academics (published papers) and practitioners (tutorials, practitioner reports, panels etc).

Share:            

Follow:       Subscribe  SUBSCRIBE TO FEED

More On:  EVENTS     ALL RAMBLINGS   

Gregor is a cloud architect and author. He is a frequent speaker on asynchronous messaging, IT strategy, and cloud.