Patterns are being talked about everywhere. Our favorite book is Head First Design Patterns by Eric and Elizabeth Freeman. But when you see Patterns being talked about in the BI Data Integration space (see the Ascential weblog here) then you know that Patterns have escaped the Java “ghetto” and are gaining wider acceptance. And what is propelling the wider acceptance is the need to do better analysis and design in the context of wider architectures. BI Data Integration quickly leads to BAM-Business Activity Monitoring, EAI-Enterprise Application Integration and SOA-Service Oriented Architectures. Business is finally getting down to the business of not just Enterprise wide data interoperability and integration but also crucial business-to-business data feeds and workflows. And Patterns certainly help in the discipline of finding good options and trade-offs in the competing IT strategies here. Patterns help to support the realization that there is no one best way; but rather a series of disciplined choices based on major options/patterns with well understood characteristics.
But another arena where Patterns are being used quite successfully is in the newly expanding program code generation arena. Already dynamic code generation is used throught delivery in Application and Web servers. But diverse vendors such as BEA with Weblogic and J2EE, Microsoft with Software Factories and .NET, plus Sonic and Tibco with various messaging and asynchronous workflow tools – all of these vendors are using design patterns as the point of departure for design, analysis and/or monitoring their systems. In sum, Patterns are informing IT development quite broadly and lighting a fire under code generation technologies specifically. Watch the latter trend closely for some potential breakthrough apps.