Welcome to MSDN Blogs Sign in | Join | Help

The Architecture Newsletter, June 2009

Sign up for this newsletter | Unsubscribe | Update your profile

 

The Architecture Journal

June 2009

Issue 20
June 2009

 

Architecture in Turbulent Times

Letter from the Editor


Dear Architect,

Let's start with the basics: the goal of our Architect role is to align IT with the course of business. So far, so good, eh? So, being that almost every business has been challenged as a consequence of the current economic slowdown, we-as architects-are challenged to make our architectures follow the pace of business that these days is particularly changeable and unstable.

We thought that we had a clear understanding of the rules corresponding to the latest scenario. Having made a plan to face it, and being in the middle of the execution, we're told that the organization must now implement further changes to keep business going. The results of the last quarter were known, and growth expectations were revised to lower-perhaps negative-numbers.

This issue of The Architecture Journal won't tell you when this meltdown will end or whether we'll have kept our jobs. It will, however, share architecture strategies, IT behaviors, and-for sure-success stories. I counted on the invaluable collaboration of Mike Walker as guest editor for this issue. Mike wrote the opening article, which details how architects can add value back to the business during climates as particular as the current one. He and the other authors are architects like you and me: they didn't live during the Great Depression and, even if they had, technology in general and IT architecture as a discipline were slightly different from what they are today. They were suddenly challenged, and they responded to those challenges. Now, they tell us how they are succeeding. I hope you'll find both inspiration and courage in these pages.

By the way, as announced in the last issue, we keep adding features to the Journal to take advantage of its now mainstream digital format. We've introduced a "Follow Up" section at the end of any article that has references for going further with implementation.

This issue, we're introducing the "guest columnist" concept. You'll find that an article comes with one, two, or even three guest columnists. We intend to widen coverage on a given topic by offering different perspectives and voices. We're not yet done with these new features. Also, for those of you who are interested in receiving a printed version, we're still working on a print on-demand model.

By chance, are you interested in writing an article for the Journal? We just finished a call for papers on "SOA at the end of the decade," and we thank all of you who participated in that call. You can learn about a future call for papers by subscribing to The Architecture Journal newsletter, which you can do by visiting The Architecture Journal Web site.

As always, you can let us know your opinions directly by e-mailing us.


Diego Dagum
Editor-in-Chief

Contents

 

Architecture in Turbulent Times

By Mike Walker (Microsoft).
A review of how the crisis is changing the business agenda, how architectural priorities are altered as a consequence, and a method for maximizing architecture decisions.

 

 

Reuse, Buy, or Build: Components and Services

By Simon Thurman (Microsoft) and Phil Rowland (Capgemini UK).
An exploration of the attributes that drive a decision, high-order considerations, forces that may influence the process, and how to extract a conclusion after a balanced analysis.

 

 

"Live Long and Prosper": Customer and Employee Retention with an Agile Process

By Rodney Guzman (InterKnowlogy).
Lessons learned from a concrete case study on how a real software shop delivers on time, even with changing definitions (for instance, those taken under pressure these days), and keeping customers and employees so satisfied that they don't think about leaving you.

 

 

Surviving Turbulent Times: Prioritizing IT Initiatives Using Business Architecture

By Martin Sykes (Microsoft) and Brad Clayton (Microsoft).
How Microsoft prioritizes its project portfolio to maximize return on investment (ROI), determining the projects that should receive budget and resource allocation.

 

 

Practical Architecture in Impractical Times

By Matt Valentine (Microsoft).
Mindsets, practices, and an invaluable set of illustrative real-world case studies to help understand that progress isn't but the consequence of a former stagnation.

 

 

Reducing Infrastructure Costs Through Virtualization

By Leandro Sgallari (TI Sistemas).
A review of the multiple virtualization techniques that allow you to get more for less. This article quantifies the margins to be saved, as no other articles on virtualization have done.

 

 

Engineering in the Cloud: An Engineering Software + Services Architecture Forged in Turbulent Times

By Peter Williams (dezineforce) and Simon Cox (dezineforce).
A real-world story of a company that switched from manufacturing and delivering a solution hosted entirely by its customers on an expensive infrastructure, to offering the application as a service, with the consequent cost reduction for its customers.

 

Journal 20 - Architecture in Turbulent Times

Download This Issue as a PDF

Find more architecture resources

 

MSDN Mag, June

MSDN Magazine - June 2009

TechNet Mag, June

Technet Magazine - June 2009

p&p Summit, 2009

If you are a software architect or developer who is passionate about mastering your craft, you should register now to attend the next patterns & practices Summit, October 12-16th at the Microsoft Conference Center in Redmond, Washington.

Infrastructure Planning and Design

Considering an online solution for your organization's collaboration services? The SharePoint Online-Evaluating Software-plus-Services guide presents a clear comparison of SharePoint collaboration technologies across on-premises, standard hosting, and dedicated hosting scenarios.

To cancel your subscription to this newsletter, reply to this message with the word UNSUBSCRIBE in the Subject line. You can also unsubscribe at the Architecture Journal web site. You can manage all your Microsoft.com communication preferences at this site.

Legal Information.

This newsletter was sent by the Microsoft Corporation
1 Microsoft Way
Redmond, Washington, USA
98052

Sign up for this newsletter | Unsubscribe | Update your profile

© 2009 Microsoft Corporation Terms of Use | Trademarks | Privacy Statement

Microsoft

 

 

The Architecture Newsletter, May 2009

Sign up for this newsletter | Unsubscribe | Update your profile

The Architecture Journal

May 2009

SOA Call for Papers
http://www.microsoft.com/library/images/pens/system/1ptrans.gif
May 2009

SOA Keys for Success

Call for Papers

The 21st issue of the Architecture Journal will be devoted to SOA Keys for Success.

While Cloud, Utility, and Green Computing trends emerge as probable candidates for the top of the enterprise IT agenda for the next decade, SOA undoubtedly has been the priority during this decade, and particularly during these five last years.

The initial appeal of SOA came when the industry acknowledged how standards such as XML Web Services easily achieved decoupled levels of integration that were unseen on previous, complex attempts such as CORBA or COM.

Then came the SOA rush, and a growing number of companies embarked on SOA projects while Web Services standards continued to evolve in order to close the gap in security, reliable messaging, and transactional integrity.

Some years later, we can confirm that SOA has accomplished its promise of interoperability. But where SOA practitioners probably will disagree is on the total cost of ownership of this kind of project. We might find as many successful stories (on time, on budget, and straightforward) as not-so-successful stories (more expensive than projected, unforeseeable complexity, and so on).

What are the factors that make the difference? We are calling for articles on:

. SOA practices. Which ones determine the success-or failure-of a project?
. SOA governance. Running, monitoring, versioning: How better to serve services?
. To ESB or not to ESB. Angel or demon? When to consider it a fundamental piece? What about it should you get rid of?
. From object to services. Considerations to guarantee separation of concerns after shifting paradigms.
. Enhanced SOA. How alternative, complementary approaches such as Event-Driven Architecture (EDA), REST protocols, service virtualization, and others are helping SOA traverse the last mile of integration.
. SOA and The Cloud. What SaaS, S+S, and related emerging delivery models have to offer to an in-house SOA investment.

If you have ideas on these topics that you would like to share with the architecture community, this is your chance! To submit an idea for an article, please send the following before June 11, 2009:

. An abstract of between two and four paragraphs that explains what the reader will get from your article with regard to the "SOA Keys for Success" theme of the issue. If you like, you may submit on an alternative topic; we have published out-of-theme articles in the past. However, your chances of being selected might be lower.
. A bio of between one and two paragraphs.
. A list of your previously published articles, if any.

Submissions should be made via e-mail to
archjrnl@microsoft.com (we receive many submissions for each issue, so we encourage you to put time and thought into your submission).

After the call for articles has ended, everyone who has submitted an idea will be notified via e-mail as to whether their submission was successful or not. If it is accepted, your article must follow this schedule:

. June 17. Acceptance notified.
. July 8. First draft (possibly unfinished) is due.
. July 22. Final draft is due.*
. September 5. Your article and the Journal are ready and published.

* We recommend that articles be between 2,500 and 3,500 words in length. We will ask you to sign a release form that gives Microsoft permission to reprint the article, although ownership of the article will remain with you.

For more information, check out
this link or contact us at archjrnl@microsoft.com. Good luck!


Architecture Resources: Editor's Choice

 
 

ALM: Download the Microsoft Visual Studio 2010 Beta

VSTS 2010 Architecture supports both Unified Modeling Language and Domain Specific Language, core part of the larger Microsoft modeling platform, which will also include the "Oslo" repository, tools and language.

 

 

[SOA World] The Five Pillars of Cloud Computing

Cloud computing requires a dynamic computing infrastructure - there are four other pillars, too.

 

 

Federated Identity: "Geneva" Beta 2 Released

"Geneva" is Microsoft's open platform for user access that helps companies simplify access to applications and other systems with an interoperable claims-based model.

 

 

[Visual Studio Magazine] Reaching for the Cloud?

It seems developers are either quite immersed in the technical underpinnings of Redmond's next-generation platform (Azure cloud services) or they're ambivalent about it.

 

 

Rich Internet Applications: .NET RIA Services

A framework that provides a pattern to write application logic that runs on the mid-tier and controls access to data for queries, changes and custom operations.

http://www.microsoft.com/library/images/pens/system/1ptrans.gif

 

[infoQ] Virtual Service Oriented Grids

This article discusses virtualization, service orientation, and grid computing, and then shows how they are combining to create new design and deployment options.

 

 

SOA and BPM: BizTalk Server 2009 Ready

Enhancements and new features were introduced in four main areas: latest MS platforms, developer productivity and application life cycle management, agile SOA and end-to-end supply chain management.

 

 

[Java Developer's Journal] Application Grids

Doing more with less infrastructure.

 

 

Remote Server Administration for Windows 7

IT administrators can now manage roles and features that are installed on computers that are running Windows Server 2008 or Windows Server 2003, from a remote computer that is running Windows 7 RC.
Extra: Will Windows 7 run in your desktops?

 

 

[Enterprise Systems] Outsourcing Status

Although outsourcing revenues increased by nearly 50 percent last year, experts predict slowing demand for outsourcing services in the first half of this year.

 
         

Get more resources at MSDN Architecture Center.


From Ideas to Real Implementation

 
 

Going Green TechNet Special Issue

 

Online Only: Earth Day TechNet Special Issue

Framework for Building a "Hyper-Green" Virtual Server System
Planning Your Power Management and Virtualization Strategies
Essential Tools for Planning Your Virtual Infrastructure
Build a Green Datacenter
... and more!!

http://www.microsoft.com/library/images/pens/system/1ptrans.gif

 

TechNet Magazine - May 2009

 

TechNet Magazine June: Application Compatibility

Providing Scalability for ASP.NET Applications
Inside the Application Compatibility Toolkit 5.5
Planning Your Application Compatibility Project
Automating Group Policy Management with Windows PowerShell
... and more!!

 
         

 

To cancel your subscription to this newsletter, unsubscribe at the Architecture Journal web site. You can manage all your Microsoft.com communication preferences at this site.

Legal Information.

This newsletter was sent by the Microsoft Corporation
1 Microsoft Way
Redmond, Washington, USA
98052

Sign up for this newsletter | Unsubscribe | Update your profile

© 2009 Microsoft Corporation Terms of Use | Trademarks | Privacy Statement

Microsoft

http://co1piltwb.partners.extranet.microsoft.com/mcoeredir/Empty.gif?J1=177956&J2=1&S1=ae4521b8-aa45-a730-abcf-508a610b862e

Speaking on Mission-Critical Apps at SATURN 2009 (SEI's Architecture Conference) – May 7, Pittsburgh, PA

SATURN 2009 Speaker

 Dear Architect, 

   I'll be delivering a session on "Architecting for Highly Available, Scalable, and Reliable Mission-Critical Applications" in the 5th edition of SEI Architecture Technology User Network Conference

   Hope to see you there

 

Sincerely,

Diegum

Microsoft Architecture Journal Issue 20 - Call For Papers

The 20th issue of The Architecture Journal will provide insights into how turbulent times affect architects and the new and challenging solutions they will need to create. This issue will examine how Software and Infrastructure Architects can add value back to their business units through business alignment, IT optimization, externalization of services, and consolidation of redundant or obsolete solutions.

 

How can the IT architects help keep business alignment and efficiency in such scenario? We are looking for real world ideas such as:

  1. Optimizing  software development and delivery (i.e. via enterprise agile process implementation or any other strategy)
  2. Optimized deployment to low-cost desktop infrastructure (thru virtualization or any other technique)
  3. What IT Operations consolidation strategies Infrastructure Architects should know about
  4. Efficient communication between distributed teams (IT, users, etc)
  5. Any other original idea based on past, local crisis contexts

 

If you have ideas that you would like to share with the architect community on this topic, here is your chance! Follow the instructions below to send an abstract before the cut-off date and you could see your thoughts and ideas shared with over 62,000 readers, translated in several languages, and distributed at multiple conferences around the world!

The cut-off date for abstracts for the next issue is March 18th 2009.  If you are interested in making a submission, here are the details:

How do I make a submission?

To submit an idea for a paper, please send the following:

  • A 2 – 4 paragraph abstract explaining how your paper fits the "Architecture in Uncertain Times" theme of the magazine
  • A 1 – 2 paragraph bio
  • A list of previously published articles

Submissions should be made via Email to archjrnl@microsoft.com

We receive many submissions for each issue, so we encourage you to put time and thought into the submission.

When will I know whether my submission is accepted?

After the call for papers has ended, you will be notified via Email as to whether your submission was successful or not.

What happens if my submission is accepted?

If accepted, you’ll have between 6 weeks to submit two drafts and a final version of your paper. These dates will be clearly communicated. Your first draft will be reviewed by an editorial board to ensure it is on message for the magazine. Your second draft and final version will be subject to both technical and copy editing.

The magazine is generally available in print and online 4 weeks after final drafts are submitted.

What are the guidelines for papers printed in the Architecture Journal?

We recommend that papers are between 3,500 and 4,500 words in length – although we have accepted shorter and longer papers in the past. The article should be submitted using Microsoft Word. Diagrams should be submitted in either Microsoft Visio or Microsoft PowerPoint, and will be reformatted for the magazine.

Do I still own the work?

Yes. We ask you to sign a release form that gives Microsoft permission to reprint the article, but ownership of the paper remains with you, the author.

Will I get paid for writing?

We do not currently reimburse authors for contributing to the Architecture Journal.

Will I get copies of the magazine as an author?

After printing you’ll be sent 10 copies of the Journal for your own use.

Where can I get more information?

Check out this link

Posted by diegumzone | 1 Comments

Computer Sciences and Consciousness: Journal on Sustainable Computing Just Released

 The theme of this issue, Green Computing,” is especially important and timely: As computing becomes increasingly pervasive, the energy consumption attributable to computing is climbing, despite the clarion call to action to reduce consumption and reverse greenhouse effects. At the same time, the rising cost of energy — due to regulatory measures enforcing a “true cost” of energy coupled with scarcity as finite natural resources are rapidly being diminished — is refocusing IT leaders on efficiency and total cost of ownership, particularly in the context of the world-wide financial crisis.

We are pleased to have Lewis Curtis, Principal Architect on the Microsoft Platform Architecture Team, as our subject matter expert on this topic and co-editor for this issue. In the first article (page 2), Lewis provides a holistic approach to greener architectures, and he also helped us subdivide the topic in five perspectives:

Physical. The Genome research project, described in “Wireless Sensor Network for Data Center Monitoring” (page 28), uses heat distribution data from a wireless sensor network to optimize data center design and server provisioning in order to avoid overcooling the entire data center.
Operating Platform. Hardware resources are often allocated based on a worst-case scenario that may happen with a low frequency. As a result, complete farms may be as much as 90 percent underutilized. Read Mark Pohto’s article on SQL Server consolidation (page 35) to learn more about virtualization and other consolidation tactics.
Sustainable Intelligence. An Energy Usage Profile (EUP) is an essential tool for measuring energy consumption in various domains such as hardware, operating systems, users, and applications, as the Software Architect of the Future explains in the article by Steve Stevanovich and coauthors (page 24).
Application Development. Solution architects also have an opportunity here, as coauthors Dan Rogers and Ulrich Homann point out in “Application Patterns for Green IT” (page 16). Green computing discussions today tend to focus on the platform, hardware, and data centers. However, application inefficiencies, such as suboptimal algorithms and inefficient usage of shared resources causing contentions, are originators of higher CPU usage and, therefore, energy consumption.
The Cloud. In their article on virtualization maturity model (page 9), Kevin Francis and Peter Richardson also cover utility computing-based delivery models. Insofar as this these models consolidate organizations, consumption has the potential to be remarkably reduced as the Internet scale data centers in which services are hosted can make efficient use of shared resources (servers, storage, cooling mechanisms, and so forth).

Now and in the future, green computing will be a key challenge for businesses and presents a leadership opportunity for all architects. It is an exciting time to
be an architect. Celebrating the relaunch of the Architect MVP (Most Valuable Professional) program, we interviewed Udi Dahan (Architect MVP for four years
now) in our Architecture Journal Profile (page 22).

We hope you enjoy these thoughtful articles on green computing. We invite you to visit the Microsoft Environmental Sustainability portal at http://www.microsoft.com/environment/, and as always, we welcome your feedback at editors@architecturejournal.net.

 

Diego Dagum
Editor-in-chief

Tech•Ed 2009 North America: Architecture Track Call for Papers

 You are cordially invited  to submit a title and abstract for a Breakout Session, Hands-on Lab, Interactive Theater Session, Tech•Ed Online Tech Talk,  or Tech•Ed Online Panel Discussion for the Architecture track at Tech•Ed North America 2009.

The Architecture [ARC] track has become a key contributor at Tech•Ed and we plan to continue leading the sessions by providing relevant content. This is your opportunity to propose sessions for delivery.
The Architecture track will offer sessions that target Architecture (of technology) and Architects (as part of a job description). Elements include the architectural process of translating business vision, intent, and strategy into effective technological change in the Enterprise; addressing the skills of creating, communicating, and improving the key tenets, principles, and models that describe the Enterprise's future state and enable its transformation, evolution, or migration.

ACTION:

  1. Go to: https://2009.msteched.com/cft/default.aspx
  2. Enter RSVP Access Code: RSVP09-ARC
  3. Complete all the fields and submit your entry.

NOTE: You will use the email alias and password you entered when creating your Call for Content profile to return to this site to review or edit your submission or to submit another topic.

Deadline for SubmissionsJanuary 5, 2009

What is Tech•Ed?

Tech•Ed is Microsoft’s premier global conference designed to provide Developers and IT Professionals with the technical education, product evaluation and community resources they need to design, develop, manage, secure, and mobilize state-of-the-art software solutions for a connected enterprise. 

Tech•Ed North America 2009 Returns to a Single Week Event!

To better serve the needs of Developers and IT Professionals, Microsoft constantly looks for the best, most efficient channels to educate both communities on the latest technology developments. Based on our recent findings, Tech•Ed North America will once again be focused into a single week for both communities.

The return to a combined event is the result of feedback from both the Developer and IT Professional communities. We remain excited to provide the best technical education event in the industry, and we are confident the combined-week model will continue to deliver the great content, education, and connection opportunities it has delivered for more than 16 years.

The following information will be helpful as you think about the session ideas that you would like to submit and present at Tech•Ed.

Audience Segments

Approximately 40% of those who attend Tech•Ed are developers, solution architects, designers and testers who seek to engage with Microsoft and take a deep dive into the latest enterprise development solutions using Microsoft’s developer tools, frameworks, and platforms. The remaining 60% are IT Professionals seeking to collaborate and network with Microsoft staff and other IT professionals, and who also want to learn how to design, plan, deploy, manage, and secure a connected enterprise.

Content directed at these audience segments focuses on current and soon-to-release (available in CTP) Microsoft products, technologies and services.

Tech•Ed 2009 kicks off in North America and is followed by international Tech•Ed events that leverage much of the same content reaching 50,000 customers in-person and over 100,000 online.

Breakout Sessions

Breakout Sessions are the main content delivery modality at Tech•Ed. These sessions are lecture-style presentations located in rooms seating anywhere from 200-1,200 people and are 75 minutes in length. They typically include slides, demos, and a Question & Answer period, and they are recorded and distributed in the Global TechEd content library.

Next steps…

  • We will review session submissions to determine which ones best meet the needs of the Tech•Ed audience, adhere to the content guidelines, and fulfill the messaging requirements of the product group. 
  • We will relay the final status of all submissions by March 2009. Please be sure to contact your track owner for any questions you have about the status of your submission,

Tech•Ed is a strategic event for Architecture as a discipline and as a profession. Thank you taking the time to begin planning for this important customer event. Please feel free to contact me and send any additional questions that you have regarding the Architecture track.

Warmest regards,

Tech Ed 2008 ARC Core Team

Tech•Ed 2009 North America logo

Posted by diegumzone | 4 Comments
Filed under: ,

Microsoft Generation 4.0 Data Center Vision

[Extracted from InfoWorld]:

 "Microsoft has come up with a faster,  cheaper way to build its datacenters over the next five years, and it says other companies could use its methods too.
Microsoft's approach, described by General Manager Michael Manos in a
blog post Tuesday, uses a modular design in which standard units of computing, cooling, and electrical equipment are delivered to a facility on the back of a truck and assembled on site. The system, which Microsoft calls its "Generation 4" design, will allow its datacenters to become operational more quickly and cut the cost of building traditional, brick and mortar facilities."

"This is our vision and will be the foundation of our cloud data center infrastructure in the next five years. A highly modular, scalable, efficient, just-in-time data center capacity program that can be delivered anywhere in the world very quickly and cheaply, while allowing for continued growth as required. We believe it is one of the most revolutionary changes to happen to data centers in the last 30 years." (Michael Manos, General Manager responsible for global data center design, construction and ongoing operations for Microsoft’s online services)

Posted by diegumzone | 1 Comments

PDC 2008. Architect's Cut

 Although, except some  few, almost all PDC 2008 breakout sessions are available both online or offline (previous download, of course), one may feel that bitter frustration derived from the overwhelming quantity of them

Typical questions I ask myself in these emotionally mixed situations are "Wow, what a repository of data! Will I have the time to watch and later assimilate this info!? What to watch first? What if I pick something that needs another session to be watched first, in order to get some background? Would it be some session that I could discard from the list without guilt?"... and a long list of etcs

Fortunately the team behind Microsoft Architecture Center (Microsoft's Platform Architecture Team) is here to help: we browsed the whole list of session, classifying them based on complexity, addressed topic, architectural relevance, etc, and extracted a list of about 45 sessions (the whole list tripled or quadrupled that) and we are now exposing those in the portal, but in a paced way

PDCforArcs

For these days we are exposing those 10 we consider "watchme.1st":

  • Framework Design Guidelines
  • Performance
  • Scalability
  • Cloud Computing and Azure
  • "Oslo" Modeling Model (redundancy apart smile_regular)
  • Dynamic Languages
  • Distributed Caching
  • Concurrence and Parallelism

You'll find these days a video roller right in the home page where you can select the session of your interest, click on it and, voilà!: the spectacle starts when you arrive. No need to sign in, nothing else

Of course, you may maximize (you'll probably do) the video box thanks to newel Silverlight 2 technology, or eventually visit the hosting site (Channel 9) and download there the slidedeck, or -finally- a mix of everything

Application Architecture Guidance 2.0 - Beta 1 Just Released

PnP Application Architecture Guidance  Better than just  making promises is offering some realities and this is coming real

After the auspicious success that the original Application Architecture Guidance (version 1.0) had had, there was a series of books on fine tuning aspects such as security, performance, scalability, smart client internals, web applications and so on

But all that happened between 2002 and 2004 during the timeframe of .NET 1.0 and 1.1. And part of the gotten feedback was later used during the maturation stages of .NET 2.0 however...

While best practices were departing from the architect agenda to land inherently into the development platform (something known as commoditization phase), architects started staying with a bitter taste in their throats. Had Architecture, in capitals, dead?

That question emerged time and time again

MSDN Architecture Forums

Until finally PnP Architect J.D. Meier took the lead and turned the engine back on with his now legendary post "patterns & practices App Arch Guide 2.0 Project". J.D. started apologizing in some way: "It's long overdo..."

J.D. Meier's Blog

Today, coincident with sessions inauguration at PDC (Microsoft Professional Developer Conference) in Los Angeles, its Beta 1 was released

Application Architecture Guide 2.0 BETA 1

I was taking a quick look (as I find the time for, I'm also contributor for this project), I can guarantee the reader that this is not just a book migration from .NET 1.0/1.1 to .NET 3.5 SP1 but a complete redefinition of what Application Architecture means today. Even beyond the .NET platform, why not

This important point could be confirmed just by checking how the information is organized along the book

Information Architecture

Application types, Architecture styles, cross-cutting concerns and an overall frame of features that every architecture must take into account (no matter the application type being supported or the style being followed as blueprint)

J.D. encourages the reader to download and apply these resources as already finished guidance, in order to provide feedback through the Codeplex discussion engine (see "Discussions" and "Issue Tracker" tabs), or by telling your experiences turning over the match by using this guidance to MyStory@Microsoft.com

It's just the Beta 1 but it's really taking shape. Be part of the project and help J.D. make worth the wait! Open-mouthed

ASAP: Messaging Services

 Resuming our training for  Aspiring Architects, here we got from MS India a third series, this time focused on the Messaging Infrastructure, its planning, constraints, scalability, etc

I want to thank Ramnish Singh (Infrastructure MCA in MS India) for this contribution, that I'm confident that will help a lot IT Pros raise the bar, start thinking on computing environments in a different manner and get the necessary background and skills

The remaining ingredients in the Architecture Career prescription is up to you, guys: experience, dedication and passion! smile_regular Enjoy!

 

Introduction to Designing a Messaging Infrastructure
The Architecture Series is intended for those involved in planning, designing, and implementing an enterprise-class infrastructure project, including consultants, system architects, and IT professionals who are responsible for messaging infrastructure deployment. The series is aimed at empowering systems integrators and IT professionals with validated architectural guidance for Messaging.
Designing and planning messaging services
This session will cover the first major design decisions when creating an Messaging infrastructure - Directory Services. The session will highlight recommend Active Directory configurations, server deployment based on best practices, budget, and other business factors, network topology and provide technical recommendations and discuss new Exchange 2007 features.
Designing and planning high availability
This session will cover high availability solution based on client types and client loads. It will also cover design of policies to handle unsolicited e-mail and virus outbreaks, disaster recovery, backup, and restore solution. The presenter will also recommend a strategy for dependent services that impact high availability.
Designing and planning coexistence and migration
This session will cover the plan for migration of messaging systems. The presenter will also discuss various migration and coexistence strategies.
Defining policies and security procedures
This session will cover how to address regulatory and legal requirements. The presenter will also discuss message content filtering and how to design a secure messaging environment.
Notes from Field and Contest Case Study
This session will showcase the best practices followed for Messaging Architecture and will have panel of experts discuss their Enterprise (Messaging) Architecture experiences.

ASAP: The Network

 After the initial  success of the original Aspiring Software Architects Program, there was a second series focused on Infrastructure Architecture, especially related to Identity and Group Management, network planning, availability and so on

The program was a complete success so I asked Ramnish Singh (Infrastructure MCA in MS India) for the chance of making all these available for any aspiring architect all over the world (session language is English in all cases). I want to thank Ramnish for this contribution, that I'm confident that will help a lot IT Pros raise the bar, start thinking on computing environments in a different manner and get the necessary background and skills

The remaining ingredients in the Architecture Career prescription is up to you, guys: experience, dedication and passion! smile_regular Enjoy!

 

Introduction to Designing an Active Directory Infrastructure
The Architecture Series is intended for those involved in planning, designing, and implementing an enterprise-class infrastructure project, including consultants, system architects, and IT professionals who are responsible for directory services infrastructure development and deployment. The series is aimed at empowering systems integrators and IT professionals with validated architectural guidance for Active Directory.
Designing a Forest and Domain Infrastructure
This session will cover the first major design decisions when creating an Active Directory infrastructure - Active Directory logical structure and the design of forests and domains.
Designing a Site Infrastructure
This session explains how to design a site topology to organize the network in your organization and optimize the exchange of data and directory information.
Designing the Administrative Structure
This session explains how to design administrative structure to delegate authority and simplify administrative overhead and design an organizational unit structure.
Designing for Group Policy
This session describes how to gather and analyze business requirements and other data and then use that data to design a Group Policy structure and integrate the structure into an organizational unit design. It describes the role of Group Policy in the Active Directory infrastructure and factors in choosing particular implementations, such as security, software deployment, and administrative requirements. The session also covers why and how to design a change management structure.
Designing the Physical Network
This session describes how to gather business requirements and other data and then analyze and use that data to design the physical network. It explains how to design a connectivity infrastructure, with considerations for intrasite and intersite connectivity, router placement, connection types, and virtual private networks (VPNs).
Designing a Name Resolution Strategy
This session describes the relationship between Active Directory and DNS domain names, Windows Internet Name Service (WINS), and other name-resolution strategies.
Designing the Network Access Infrastructure
This session describes how to design a network access infrastructure by gathering relevant data, and then analyzing and using that data to design for network access security, remote access, and wireless access. The module includes strategies for authentication, administration, access monitoring, interoperability, and user education.
Designing for Federation
This session describes how to design Active Directory to support Federation. Active Directory Federation Services (ADFS), a next-generation information security infrastructure designed to help IT professionals extend internal applications to external users.
Notes from Field and Contest Case Study
This session will showcase the best practices followed for Active Directory Architecture and will have panel of experts discuss their Enterprise (Active Directory) Architecture experiences.

ASAP: Application Development

 ASAP, Aspiring Software  Architects Program, was a series of web casts originally delivered for aspiring application architects in India. It brought Champion Architects from Microsoft's partner organizations who were challenged by Microsoft host, Vikram Rajkondawar to share their experience, challenges faced, pitfalls and lessons learnt across interesting topics

The program was a complete success so I asked Vikram for the chance of making all these available for any aspiring architect all over the world (session language is English in all cases). I want to thank Vikram for this contribution, that I'm confident that will help a lot of developers raise the bar, start thinking on computer applications in a different manner and get the necessary background and skills

The remaining ingredients in the Architecture Career prescription is up to you, guys: experience, dedication and passion! smile_regular Enjoy!

 

Architecture and Design Fundamentals in the .NET World
This session talks about architecture from the .NET perspective. We will try to understand the roles of architects and designers in a software project. We will delve into patterns and practices, some of the enterprise solution patterns authored by Microsoft.  We will discuss software factories and debate the viability of software factories. We will discuss tools and offerings from Microsoft and also some open source tools that enable Continuous Integration. Towards the end we will discuss the Architecture of the Case Study.
Abilities Design : Architecting for Performance
This session talks about how to architect and design applications for application performance with proven models. We will discuss various best practices used to architect, design and code applications that would help in providing consistent performance against industry benchmarks. We would also discuss various techniques to review, measure and tune performance.
Architecting the UI Layer
This session we would discuss how to architect consistent, scalable and high user performance user interface. We would also look at the end user productivity gains that organization can expect from a great UI, using the various UI design patterns, web client software factories and leveraging web 2.0/Ajax in creating a extensible environment.
Architecting End-to-End Security
This session focuses on the various security considerations that influence the development of the architecture of a .NET application. It starts with the business imperatives of considering security and the right amount of security to implement in the architecture. It also discusses security topics like authentication, authorization, auditing, single sign-on, external interface security, secure data transmission and storage as well as security architecture for SaaS scenario. It discusses the value of conducting threat modeling in application development and also the secure coding practices that must be implemented to mitigate the risks associated with the common attack vectors.
Designing Service and Business Layer
This session discusses the best practices around building business layer as well as service layer components. It also focuses on the importance of moving towards SOA and terminologies and ontology relevant to service orientation. This session also discusses the patterns and anti-patterns which are appropriate for business and service layer design/development. We will also talk about Microsoft’s Web Services Software Factories implementations which are useful to get started on SOA along with the case study.
Data Architecture
This session is about the guidelines for implementing a data tier in a multi-tier .NET based application. We discuss on what are the challenges faced during designing the data architecture and the considerations that an architect should take care of. We also discuss on different methods/patterns available for passing data across various layers and for e.g. how SaaS or SOA architectures influence these decisions.
Testing for Architects
This session is about how testing influences architecture, and how it helps architecture. We discuss the various types of testing - functional testing, non-functional testing (load tests, stress tests, etc.) and touch upon performance testing - what counters to look for, what some interpretations are, etc. We also look at testing in the current RIA / SOA world. We also look at Microsoft's offerings in the testing arena, and how to leverage these tools well.
Deployment and Management and Transitioning to an Architect
In this session we discuss on how Deployment Management directly impacts revenue and end customer satisfaction. We discuss the criticality to map system functional, non functional requirement to production physical environment in early stages and define deployment strategy. We will also talk about some of the key aspects to be considered while deployment like Management are Security Consideration, Rollback Process, Application Configuration Information, Error Logging Mechanism, System Alerts Management, Load Balancing and lot more.

Making Room for an Exception

 A new friend I got,  J.D. Meier, is leading a project intended to provide renewed Architecture Guidance for the Microsoft platform, and specifically for .NET applications

J.D. was compiling input from different sources and launched a web site for his project in CodePlex (a Microsoft portal for community projects, most of them available with code, samples, screencasts and so on)

I had the privilege of being enlisted in J.D.' list an one of his inquiries was about my beliefs on exception handling. I had written a blog post three years ago about that although, ugh!, I did it in Spanish as I was living in South America at that time

I was about translating my blog post for J.D. but better than emailing my outcome, I considered worth making my ideas of public domain, so here we go:

There are four common antipatterns (those are, bad practices, bad habits) when dealing with exceptions in today's platforms like .NET and Java. Those are:

  • Exaggerated "exceptionalization"
  • Unnecessary intervention
  • Negligent inaction
  • Inopportune handling

Let's review each.

  • Exaggerated "exceptionalization". I heard about several software projects where their management thought that exceptions were made to address any abnormal situation. All abnormal situations. That way, data entry modules validated received input and before the first mandatory field left blank, the first entered date field violating the "MM/DD/YYYY" mask, etc, an exception was thrown. Just because the policy was throwing an exception for each abnormal situation
    That got the programming cost more expensive as all that plumbing of exception throwing & catching was developer responsibility. But that was just to start: the code became illegible as the treatment of these exceptions was several line of codes further. Occasionally, several entries in the callstack further
    So we can say they got two undesired consequences: too much code and illegibility. A better approach in cases like these should have handled validations in situ, giving control back to the user when some field was entered wrongly, in a simple and direct manner (that is, without changing an error for another one)
  • Unnecessary intervention. It's normal having code blocks that call modules that eventually throw exceptions. What I find anti natural -accepting that not everybody thinks as I do- is having to be prepared to react before any possible exception. I remember from my participation in a project at a multinational bank, that enclosing between a try - catch block every method call that could throw exception was imperative. And it was forbidden doing nothing inside the catch brackets. To prevent this, the project management staff asked certain development team members to build a robot that reviewed the project source code, hunting for empty catch's. After some while, the managers got finally convinced about the fact that not all the time there's something to do before an exception, but they just made their position a bit more flexible (and consequently, the robot), by allowing in such cases the chance of documenting inside the catch an explanation about why not to intervene. Since then, developers in a hurry to finish their part started entering explanations like /* dkjfhashakjbadshkjdkfjdhkj */ in empty catch's, and the robot has never found a violation of the rule again
    The real thing behind this story is that, in any code segment, there will be exceptions thrown by module invocations which sometimes we could handle, so we could act in consequence, sometimes our involvement will be simply senseless. An example of this? The Data Access Layer (DAL) returns System.Data.SqlClient.SqlException because the connection string was sent with an expired password. The exception is caught in the Business Layer, the one that called the DAL. Does it make sense catching the exception in that place? Maybe to make the answer more obvious, the question could have been "can the Business Layer create a new password for the DAL?"
    The right thing in that case is masking, before leaving the DAL, the low-level exception (coupled to ADO.NET in this case) as a high level one without losing the original exception as it's the one that holds the stack-trace). The original exception is usually known as root cause and logged, while the high-level exception is shown to the user. For more info, let's check next
  • Negligent inaction. This is the opposite scenario regarding the previous case, also negative. It happens each time we leave go any occurred exception without taking over not even to mask certain error messages in order to avoid slapping users faces with low-level explanations like the expired password when trying to connect to the database
    Eluding any intervention, as a policy, leads to code with unpredictable behavior. That erodes its reliability from a development perspective, and its usability, from the users perspective
    However, how to set the correct degree of involvement without falling in the previous anti-pattern? As told before, masking the low-level exception into a higher one before leaving the layer or module where that exception is produced. Special care here, as I previously said, of original exception nesting as the new exception will be useful for presentation purposes (thinking in the user), while the original one will allow to understand what provoked it (when IT responsible personnel takes over) and the first measure in order to prevent these situations in the future, mostly if the cause is a software bug (the example of the expired database password does not belong to that category). Don't you remember having seen a web site where, after clicking in some submit button, you got a beautiful message in red characters, like [ODBC Exception, SQL code = ...]? Wouldn't have been better logging that error while communicating to the user something like "We are experiencing some difficulties. Please try again later or call to our operators at (XXX)XXX-XXXX"
  • Inopportune handling. A customer of mine reclaimed about the low reliability of MS .NET regarding exception handling. He told me that they, before certain range of exceptions, had a handler invoked in the catch section. The handler generated a record in a database with the exception, with the end of taking monthly statistics on their software failures. Concretely, his recrimination towards .NET was that, while was generating the record in the database (low-level speaking, acting in a transaction-oriented manner with locking mechanisms, etc) the web user stayed waiting as a silly for an answer that, worst of worst, was abnormal
    When checking deeper, we found that the catch logic was executed by design in the same thread where the exception had been occurred. Therefore, if we are urged to let the user know that we couldn't, but we also want to generate a record for stats that are reviewed in a monthly basis, the advice here is perform simple logging (a plain text file, not even XML), loading the database in offline using, for instance, ETL mechanisms
    Even, if stats may be checked anytime and we want to have information updated, let's say, 10 minutes ago or even less, we can forget ETL by applying fire-and-forget mechanisms in the exception handler. For instance, the exception handler can post a message to a queue whose consumer -necessarily another thread or process- will complete the action by registering it into a database. Thus, the handler just post to the queue and returns the control to its invoking catch, which in turns will finish and return error and control to the user. The persistence logic stays, that way, decoupled and will be executed asynchronously

I want to invite anyone to share experiences to J.D., anti-patterns and their respective best practices in exception handling

PS. An interesting study on Exception Handling is found in Rod Johnson's best seller "Expert one-on-one: J2EE Design and Development" (Wrox, 2003, pages 125-132). I strongly recommend its reading

Just Released: Architecture Journal 16 on Identity and Access

 Two years ago,  when an article of mine about evolving architectures was published in an independent IT magazine, a colleague said to me, “You should write for The Architecture Journal.” I couldn’t have predicted that I would now find myself writing for this magazine as its editor. I want to thank Simon Guest for this opportunity and these big shoes to fill; during his tenure, readership has more than doubled, increasing from 30,000 to 62,000+.

In this issue, we invite you to think about the identity architecture in your organization. Identity management today is evolving from the single, isolated scenario to a federated one, in ways that might surprise you.

We begin this sixteenth journey with Fernando Gebara Filho’s introduction to identity concepts and strategies, how they have evolved and the road ahead. Next, Jesus Rodriguez and Joe Klug examine an assortment of strategies for making identity a first-class citizen in the portfolio of federated applications. Gerrit van der Geest and Carmen de Ruijter Korver consider the challenge of establishing an application-level trust environment, as user identities, in a service-oriented world, must flow from a service consumer to a provider.

For this issue’s profile, we caught up with Kim Cameron, author of “The Laws of Identity,” whose ideas on federated identities are shaping the next generation of Microsoft identity technologies. (A funny thing happened the day I visited Kim for this interview: I forgot my ID badge, so I needed Kim to “certify” my identity to the lobby.)

Resuming our journey, Mario Szpuszta describes how the Austrian healthcare system turned an administrative provisioning crisis into a clear opportunity for creating an open identity federation. Then Vittorio Bertocci explains how architectural patterns allow us to build claim-aware solutions, so that when the cloud arrives to companies, identity management won’t necessarily look cloudy.

Finally, Mike Morley and Barry Lawrence reveal how they synchronized identities on multiple systems and legacy applications from a single administrative console through a consolidating framework.

Dear reader, I’d like to be the first to welcome you to the issue, and hope that you’ll identify with the articles within. Enjoy!

Bonus article:

David Chou offers a comprehensive view of strong user authentication by examining its concepts, implementation approaches, and challenges and additional concerns

More Posts Next page »
 
Page view tracker