A Web Architect ?!?!

We all know that architecture in an IT setting has many definitions and explanations which inevitably means that those calling themselves architects come in just as many flavors as their role descriptions.  Given the rise of web-native software in the Web 2.0 space, could we see the emergence of a specific Web Architect role?  If so, how would this differ from other technie-architect roles such as the popular 'Software Architect' or its synonym 'Application Architect'?  I mean, isn't web-native software just software and it is the environment and medium that is calling for specificity?  I don't know the answer but let's think this through shall we?

 

To frame the analysis a bit let's think of other techie-architect roles.  I've heard of Infrastructure Architect, a broad discipline often encompassing roles like Server Architect, Storage Architect, Network Architect, Messaging Architect, and in some cases and by some views even a Data Architect (among others).  There is Solutions Architect, which like its Infrastructure counterpart encompasses specific roles, for example Application or Software Architect, Integration Architect, or again Data Architect (…).  What makes the distinguishing case for each?  Well, a Storage Architect for example would be focusing on technology-specific elements such as SANs or NAS devices and the topologies associated with them, a Network Architect would similarly focus on network-specific devices and topologies.  The Software/Application Architect is more broad but focuses on application platform technologies and environments such as Java EE or .NET, usually associated with a mid-market to enterprise setting (in terms of scale).  Integration Architects would focus on middleware and integration scenarios for data and software.  Of course, regardless of particular discipline there is a knowledge of best practices, patterns, standards, and reference architectures that an architect should be expertly aware of which further distinguishes him/her from their fellow engineers.  There are much more competencies required to be an architect that is outside the scope of this examination, but can be alluded to here.  The nutshell here is scope.  Now let's take a look at Web Architect.

 

A Web Architect would focus on web-specific technologies and scenarios and apply best practices, patterns, and oftentimes reference architectures around delivering web-native experiences with software.  In terms of technologies, Asynchronous Javascript and XML (AJAX) is predominant for delivering rich client experiences on the web and for stylistic standards the Web Architect would prescribe XHTML and Cascading Style Sheets (CSS).  Understanding of web browser design and W3C standards compliance/adoption would be analogous to a Software Architect developing smart clients would need to know the target client environment (Windows, Linux… .NET/Mono or Java SE/ME and which version of their respective runtimes, etc.).  Content syndication and aggregation scenarios and technologies such as RSS and ATOM, and data interconnectivity with web service APIs either via SOAP, REST, and/or POX for rich and loosely coupled functionality.  The concepts surrounding 'mashups' in terms of application composition would be a particular focus of a Web Architect analogous to composite application designs and the associated patterns such as Dependency Injection (Inversion of Control).  A Web Architect would have knowledge of proprietary technologies such as Adobe Flash and Flex as well as Microsoft's Windows Presentation Foundation (WPF) and its web delivery subset in WPF/e (Ibid.).  Then the juicy architecture stuff around session and state management, instrumentation, caching design, security and identity, smart client and mobile to web topologies, user experience patterns and practices, performance and scalability considerations, service-oriented architecture, and very importantly, peer-to-peer architecture and design.  Sure, most of the things mentioned here are relevant to Software/Application Architects just as the implications of these things would have upon the Infrastructure Architecture disciplines.  Given the specificity of the target environment and related technologies, I can see how the role of Web Architect is valid and even necessary.

 

Of course, it wouldn't be much of a stretch for a Software/Application Architect with web knowledge to transition to a specific Web Architect distinction, but given the differences between Web 2.0 application development and Web 1.0 application development, there would be much experience to be gained on the former.