![]() |
Articles |
HOME PATTERNS RAMBLINGS ARTICLES TALKS DOWNLOAD BOOKS CONTACT |
I like to write and speak about EAI, SOA, Web Services, Agile Development, and Patterns. This page lists my white papers and articles. Please check out the Links section for interesting works by other authors. If you find any of these articles useful, feel free to contact me directly.
![]() |
20 Years of Patterns' Impact [Download PDF from IEEE Explore] This article under the Impacts column of IEEE Software Magazine celebrates 20 years of software patterns. IEEE Software advisory board members teamed up with members of the Hillside Group, a nonprofit organization that promotes the use of patterns and pattern languages, to reflect on the state of the practice and impact of patterns. With Rebecca Wirfs-Brock, Joe Yoder, Olaf Zimmermann |
![]() |
SOA Patterns - New Insights or Recycled Knowledge? [PDF] Design Patterns have enjoyed enormous popularity in the software community and have become somewhat of a fad. This can make it challenging to distinguish patterns that convey new knowledge from recipes or tutorials that have been cast into patterns form. This article examines the role patterns play in the adoption of new technologies and architectural styles. In particular it describes why the shift to service-oriented architectures requires us to discover, document, and share new patterns. |
![]() |
Let's Have a Conversation [PDF] Communicating inside a single program is
trivial: one method calls another, the result
comes back, and the calling method continues.
If anything goes wrong, an exception is
thrown. If the program aborts altogether, both
caller and callee share the same fate, making the
interaction an all-or-nothing affair. |
![]() |
Workshop Report: Conversation Patterns [PDF] In a service-oriented architecture systems communicate by exchanging messages. Message passing provides for robust and loosely coupled interaction but it also provides less structure than traditional RPC models, which are based on a fairly rigid request-response interaction style. Instead, messages exchanged over time between a set of parties can form a multitude of conversations. An expressive contract between communicating parties should define a coordination protocol that describes which conversations are legal. Such a protocol can be expressed in different ways, for example through choreography or public endpoint process definitions. The purpose of conversations patterns is to document common forms of conversations in the design pattern format, highlighting design trade-offs and popular implementations. As part of the Dagstuhl Seminar 06291 on The Role of Business Processes in Service Oriented Architectures in July 2006 we held a Workshop on Conversation Patterns. In this paper, we report on the results of this workshop. |
![]() |
Programmieren ohne Stack: Ereignis-getriebene
Architekturen [PDF]
My first published article in German. Here the (unedited) English adaptation - Programming Without a Call Stack. Most computer systems are built on a command-and-control scheme: one method calls another method and instructs it to perform some action or to retrieve some required information. But often the real world works differently. A company receives a new order; a web server receives a request for a Web page, the right front wheel of my car locks up. In neither case did the system (order processing, web server, anti-lock brake control) schedule or request the action. Instead the event occurred based on external action or activity, caused either by the physical world or another, connected computer system. Could we change the architecture of our system to relinquish control and instead respond to events as they arrive? What would such a system look like? |
![]() |
Cutter Executive Update: Open Source Middleware: Ready for Prime Time? Open source software (OSS) has captured enormous mindshare not only among developers but also among consumers and enterprise users. When you browse the Web, you might well use a Mozilla FireFox browser, be routed to the correct host via a BIND DNS server, and view a Web page served up by the Apache HTTP server running on a LINUX operating system. All four pieces of software are part of the growing repertoire of successful open source applications. The full text version can be ordered on the Cutter site. |
|
|
![]() |
The Best Software Writing I: Selected and Introduced
by Joel Spolsky Joel selected my blog entry Starbucks does not use Two-Phase Commit for his collection of software essays. |
|
|
![]() |
Your Coffee Shop Does Not Use Two-Phase Commit
[HTML]
[PDF]
Asynchronous processing models can be highly efficient but are not without
challenges. If the real world writes the best stories, then maybe we can
learn something from Starbucks about designing successful asynchronous
messaging solutions. (This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder.) |
|
|
![]() |
Developing in a Service-Oriented World
[PDF] The biggest shift triggered by SOA is not in the technologies used but
in the way we think about our software. This paper explores what SOA means
for developers - new architectural styles, new programming models and
new tools. |
|
|
![]() |
Enterprise Integration Patterns with BizTalk
Server 2004 [PDF] This paper demonstrates how a pattern-based design approach can help decompose an integration problem into a set of reusable patterns. Next, we map these patterns to the Microsoft BizTalk Server 2004 platform. |
|
|
![]() |
An Asynchronous World
[HTML] Online, you can get all the documentation you want
on the Java Messaging Service API. But when it comes to drafting messaging
architectures for distributed logic and data, it's often more interesting
to look at what sits between the applications. |
|
|
![]() |
XML Abuse [HTML] XML is the wonderdrug of the 21st century. Or so make
you the vendors and marchitects believe. However, like any good tool it
can be abused in at least five different ways. This article discusses
some of the most hair-raising XML abuse I have encountered. |
|
|
![]() |
Agile EAI [PDF]
[HTML] This article describes some of the benefits and challenges of implementing agile practices for EAI development. It is based on a talk that Martin and I gave at the LOMA Systems Forum last year. |
|
|
![]() |
Test-Driven Development in Enterprise Integration
Projects [PDF] This whitepaper describes how test-driven development can benefit EAI projects. It examines the challenges of automated testing in an asynchronous messaging environment and presents tools and techniques to help improve quality and productivity on EAI projects. |
|
|
![]() |
Enterprise Integration Patterns [PDF] July 2002 My original paper on integration patterns. I workshopped this paper at the PLoP conference in 2002. You can see that the patterns have come a long way since last Summer. |
|
|
Stairway to Heaven - Service Oriented Architectures
[PDF] This article tries to dampen some of the hype around
Web services and Service-Oriented Architectures (SOA). Web Services supporters
herald the advent of the Service-Oriented Architecture which will solve
our EAI-style integration pains. SOAs are an intriguing concept, but it
will take a multi-phase evolution until SOAs will establish themselves
as the integration architecture of choice. |
|
© 2020 All rights reserved. |