Category Archives: Thoughts on the World

Enterprise Integration Patterns

Integration, like other design activities, can benefit from sharing ideas and proven strategies in the form of patterns. An excellent starting point is Gregor Hohpe and Bobby Woolf’s Enterprise Integration Patterns website and book.

In my recent work I’ve discovered a few patterns of my own, and I’ve started a page to document them.

First up is entitled “Change Indicator” . You may have a legacy system with an EAI adaptor, or a similar source of messages, which reports on the current state of key business objects. The messages will typically tell you when something has changed, but not necessarily what has changed, but the latter may be important to downstream systems. This pattern shows how to use EAI elements to add this information in a way which is totally transparent to the legacy system and existing users of the EAI scheme.

Read the full article
Posted in Agile & Architecture, Code & Development, Thoughts on the World | Leave a comment

I Told You So

In Extensibility Points, Gregor Hohpe describes architecture as a guessing game, trying to understand future changes to a business, and designing a system to cater for those changes. He’s written a good article on types of extensibility and where they can be applied.

But Gergor’s article doesn’t really touch on understanding the dynamics of business change, and how these should dictate the form of architectural extensibility. Neither does he discuss the problem of being an architect who understands what flexibility is required, but being unable to get either the customers, or the suppliers, to agree. I seem to spend a lot of my time saying “I told you so” when a problem I predicted occurs – this is frustrating, even if I’m being proven right.

If you want to understand more about the dynamics of change, you might look at my previous postings on the subject:

Architects – Masters of Order and Unorder

Business Flexibility

Strategies for Flexibility

See http://www.enterpriseintegrationpatterns.com/ramblings/22_extensibility.html
Posted in Agile & Architecture, Thoughts on the World | Leave a comment

Web Service Challenges

In a recent article, Gregor Hohpe asks “Is SOA Like Drunk Driving?” In our attempts to address the shortcomings of component-based development have we “swung too far” and introduced new problems?

One recent experience suggests to me that we may well be at risk of this. Read about my first experience of Web Service development and judge for yourself: have we thrown the baby out with the bath-water?

Read the full article
Posted in Agile & Architecture, Thoughts on the World | Leave a comment

Blogging: What It Is and How It Works

Another good article published in the Microsoft Architecture Journal: If you don’t fully understand what a Weblog (or “Blog”) is, how it works, or what it may mean to you and your business, then this is for you.

The first part of “DasBlog: Notes from Building a Distributed .NET Collaboration System” is an accessible review of the phenomenon of blogging, and its implications for collaboration and knowledge management. Blogs cross several traditional boundaries: diaries, content management, collaboration, and news publishing. As a result both authors and readers are changing the way they get news and opinion from the web, and the new patterns are beginning to be reflected in corporate and project communications.

The second part of the article discusses some of the underlying technologies, like RSS, and how they can lead to increasingly rich linkage between the work of many authors.

Finally, the third section discusses the challenges of building a full-function open-source blogging engine using .NET technology. It’s very interesting, but gets quite technical. However you don’t have to follow, or even read, this to get benefit from the excellent first part.

See http://www.microsoft.com/architecture/library.aspx?pid=journal.1&abver=FEEB2E89-4412-4C58-A7F8-9B2CA0E0BDAC&id=http://msdn.microsoft.com/architecture/journal/default.aspx?pull=/library/en-us/dnmaj/html/aj1dasblog.asp
Posted in Thoughts on the World | Leave a comment

Enterprise Architecture Design and the Integrated Architecture Framework

I’ve recently been catching up on the Microsoft Architecture Journal. This is an occasional MS publication, which can be downloaded from the

.NET Architecture Center
. It’s got a lot of good articles, with a software architecture and process focus.

Of particular interest, there’s an article in the first edition by Cap Gemini on “Enterprise Architecture Design and the Integrated Architecture Framework”. Obviously every consultancy has their own architecture framework, and they all share some features, but what makes this one a bit different is the strong focus on the contextual (business context), conceptual (vision) and logical (solution independent capability) aspects, with technical details relegated to a bottom physical layer. It also has one of the best discussions I’ve seen on the relationship and differences between enterprise and project architectures.

See http://www.microsoft.com/architecture/library.aspx?pid=journal.1&abver=FEEB2E89-4412-4C58-A7F8-9B2CA0E0BDAC&id=http://msdn.microsoft.com/architecture/journal/default.aspx?pull=/library/en-us/dnmaj/html/aj1entarch.asp
Posted in Agile & Architecture, Thoughts on the World | Leave a comment

Blogger Me!

My blog is now fully live. My Thoughts on the World, and the articles in
AgileArchitect.org
, are now available via an RSS feed.

For the technically inclined, I’ve built my blog using a combination of VB.NET, Active Server Pages, and a bit of XSLT. This allows me to develop my site using FrontPage and IIS, and run it under Apache. If anyone’s interested I’ll write a technical note on it.

Posted in Code & Development, Thoughts on the World | Leave a comment

Business Flexibility

Inspired by an article on Richard Veryard’s SOAPBox Blog, this piece considers the business equivalents of expansion capabilities like the spare slots in a desktop PC.

Read the full article
Posted in Agile & Architecture, Thoughts on the World | Leave a comment

A Fast Diff Algorithm

This recent posting to The Code Project is an implementation of a Diff
algorithm in VB.NET, with various techniques to improve performance, while
keeping the code simple.

See http://www.codeproject.com/vb/net/DiffQuest.asp
Posted in Code & Development, My Publications, Thoughts on the World | Leave a comment

Architects – Masters of Order and Unorder?

Do you work in an ordered environment, where things follow rules in a nice, predictable way? Or does your environment exhibit “unorder”, characteristics of complexity or chaotic behaviour. If the latter, you need to read this paper to understand how your domain may differ from others, and appropriate techniques to use as an architect, analyst or designer.

Read the full article
Posted in Agile & Architecture, Thoughts on the World | Tagged | 5 Comments

Domain-Specific Modelling Techniques

Sometimes formalised modelling techniques like UML are not the best solution. Microsoft have recently started talking about “Domain-Specific Languages”, specialised modelling techniques for specific tasks. My Domain-Specific Modelling Techniques page outlines some useful DSLs I have developed or discovered.

Read the full article
Posted in Agile & Architecture, Thoughts on the World | 1 Comment

Architecture, Design and Engineering

Is IT architecture about the “hidden bits of plumbing”, or should it focus on the “visible design” delivered to users, developers and other stakeholders? Read this paper, and consider your view.

Read the full article
Posted in Agile & Architecture, Thoughts on the World | Leave a comment

Architects Anonymous

Is Architecture an Addiction?

This rather tongue in cheek piece was inspired by a “group therapy” session at the IRM/Meta group Enterprise Architecture Conference 2004.

Read the full article
Posted in Agile & Architecture, Thoughts on the World | Tagged | 1 Comment