Simon Brown
General Manager, Developer and Platform Evangelism Group, Microsoft EMEA

Arvindra Sehmi
Architect, Developer and Platform Evangelism Group, Microsoft EMEA

January 2004


Dear Architect,

Adapting to change has always been important to business success and today change is more rapid than ever. Companies merge, markets shift, competitors develop new products, and customers demand change, all with unprecedented speed. In today's business environment, staying ahead means continuously adapting to change—and making change work in your favor. To do that, business leaders need IT systems that support and enable their strategic decisions. There is a growing consensus in the industry that the way to create this kind of adaptive, agile IT architecture is through Web services—discrete units of software, based on industry-standard protocols that interoperate across platforms and programming languages.

Whether or not you build IT systems and Web service-based connectivity using Microsoft® Windows® and Microsoft® .NET, you still need to connect together a broad range of personal and business technologies. These enable you to access and use important information, whenever and wherever it is needed. The final result you desire is an integrated, cost-effective IT architecture that empowers your business. Information once isolated in back-end systems is now available to all your employees via streamlined and automated processes that can span multiple systems.

It gives me great pleasure to introduce the very first issue of the new Microsoft Architects Journal—a platform where authoritative software architects from all corners of Microsoft's architect community will discuss the connection between opportunities once out of reach and the solutions that now make them possible.

We hope you will enjoy your journal.

Simon Brown
General Manager, Developer and Platform Evangelism Group, Microsoft EMEA


Dear Architect,

Welcome to the inaugural issue of JOURNAL! Software architecture is a tough thing—a vast, interesting, and largely unexplored subject area. As an art, it requires intuition and understanding of well-established architectural disciplines. As an engineering practice, it leads to formation of system models consisting of parts; with descriptions of their shape and form in terms of properties, relationships, and constraints. The rationale for their existence often derives from the system requirements. And of course, everyone has or wants to say something about it!

The richness of this topic is one of the reasons we have launched JOURNAL—Microsoft Architect's Journal. It will be a platform for thought leadership on a wide range of subjects on enterprise application architecture, design and development. Authors will discuss various business and 'soft' concerns that play a key role in enterprise systems development. It will provide a unique source of information previously not available through any other Microsoft offering.

The responsibilities and required capabilities of the architect vary, depending on the particular role that is being fulfilled during the enterprise solutions development cycle. Typically, during the early business and IT strategy phases, the architect provides a supporting role. This involvement serves to add value in visioning and scoping, helping to reduce complexity and risks, and ensuring the strategy is viable and feasible.

The architect also gains knowledge of the business and its aspirations, which will provide the basis for architecture design. The architect can translate between the technology view and business view of the strategy.

As the organization moves into enterprise and project architecture design phases, the architect role becomes much more significant. The architect is responsible for structuring, modelling and design of the architecture.

Finally, as the organization moves through subsequent phases to implement, deploy and maintain the solution, the architect performs a guiding and verification role: ensuring quality and architectural implementation conformance to the design. The architect may also optimise the architecture, as the problem domain becomes better understood. In all stages, the architect will perform as part of the assignment team, and frequently a team will fulfil the architecture role. An indicative list of typical architect responsibilities is:

  • Support business visioning and scoping activities.
  • Translate between business and IT requirements.
  • Communicate with stakeholders, both within business and IT.
  • Weigh different interests.
  • Determine solution alternatives.
  • Create a viable and feasible design.
  • Choose solutions.
  • Manage quality.
  • Manage complexity.
  • Mitigate risks.
  • Communicate.

This requires a diverse range of skills, including knowledge of architecture design, workgroup and communications skills, and consultancy skills.

In this issue of JOURNAL, we reflect the wide variety of architectural issues in today's software industry—from Service-Oriented Architecture and best practices for rule-based systems to the role of blogging in an enterprise solution. Our authors come from organizations throughout the world, and each offers a unique perspective on software architecture and design.

Andrew Macaulay, a technical architect at Cap Gemini Ernst & Young, writes about enterprise architecture design and the Integrated Architecture Framework, and describes a model for enterprise architecture and its importance in helping software architects understand the business as a whole.

David Sprott and Lawrence Wilkes, analysts at CBDI Forum, provide an insight into Service-Oriented Architecture. In their article they outline some of the principles of architecting solutions with services and emphasize the importance of a service-oriented environment.

Gerke Geurts and Adrie Geelhoed, architects at LogicaCMG, discuss communication patterns and their role in defining business processes and services. They assert that such patterns afford decomposition of business processes into business, informational and infrastructural services and the definition of their dependencies, thus providing a solid basis for enterprise information and application architecture.

Kevin Perera, systems architect with Temenos, will present a pragmatic "late-bound" approach using metadata descriptions of artifacts at design time, to make development time implementation of his applications extremely flexible.

Dennis Merrit, a principal in Amzi! Inc., discusses the problem of encoding logical rules, and argues for a rules processing engine-based approach to business automation in which the rules are abstracted from the process.

Clemens Vasters, an executive team member at newtelligence AG and prominent blogger, expounds the merits of Web logs as a means of sharing knowledge and ideas. He describes the lessons he learned while designing and implementing dasBlog, a Web service–based Web log engine built using Microsoft .NET technologies.

I'm certain you'll find something of interest and value in JOURNAL. We'll be keeping you updated with additional information on our home page, where you'll also be able to download the articles for your added convenience.

Finally, if you have an idea for an article you'd like to submit for a future issue of JOURNAL, please send a brief outline and resume to me—

Please also e-mail me any comments on JOURNAL.

Arvindra Sehmi
Architect, Developer and Platform Evangelism Group, Microsoft EMEA

Articles in This Issue

Best Practices for Rule-Based Application Development
Business Process Decomposition and Service Identification Using Communication Patterns
DasBlog: Notes from Building a Distributed .NET Collaboration System
Enterprise Architecture Design and the Integrated Architecture Framework
Metadata-Driven Application Design and Development
Understanding Service-Oriented Architecture

Download this issue here


Executive Editor & Program Manager

Arvindra Sehmi
Architect, Developer and Platform Evangelism Group, Microsoft EMEA

Managing Editor

Graeme Malcolm
Principal Technologist, Content Master Ltd

Editorial Board

Christopher Baldwin
Principal Consultant, Developer and Platform Evangelism Group, Microsoft EMEA

Gianpaolo Carraro
Architect Evangelist, Developer and Platform Evangelism Group, Microsoft EMEA

Simon Guest
Program Manager, .NET Enterprise Architecture Team, Microsoft Corporation

Wilfried Grommen
General Manager, Business Strategy Microsoft EMEA

Neil Hutson
Director of Windows Evangelism, Platform Strategy and Partner Group, Microsoft Corporation

Eugenio Pace
Principal Consultant, Microsoft Consulting Services, Microsoft Argentina

Michael Platt
Architect Evangelist, Developer and Platform Evangelism Group, Microsoft Ltd

Philip Teale
Partner Strategy Manager, Enterprise Partner Group, Microsoft Ltd

Project Management

Content Master Ltd

Design Direction

venturethree, London


Devinia Hudson
Projects Coordinator, Developer and Platform Evangelism Group, Microsoft EMEA

Foreword Contributor

Simon Brown
General Manager, Developer and Platform Evangelism Group, Microsoft EMEA

This article was published in the Architecture Journal, a print and online publication produced by Microsoft. For more articles from this publication, please visit the Architecture Journal Web site.