Tuesday, March 6, 2012

Understanding the Microsoft Windows DNA Architecture

Central to Windows DNA is the concept that applications should be logically separated into partitions, called tiers. According to Avalani, this benefits developers in several ways.
"Partitioning an application increases its scalability -- in other words, the software's ability to support a large number of simultaneous users," Avalani says. " It also makes the application more manageable and easier to update.
The three tiers of Windows DNA are:
Presentation, or user interface
Business logic
Data storage
It's important to note that these three tiers are separations within the application. The deployment of the application can span any number of computers. Avalani cites the example of a mobile worker using a laptop computer. A Windows DNA-based application can run on that single computer, providing the benefit of access to the application at any time or any place. In the case of a large, electronic commerce Web site, the Windows DNA-based application might be distributed across many servers to meet that particular company's scalability requirements.
" This explains why people sometimes talk about Windows DNA as an n-tier
or multi-tier architecture, "Avalani points out." They are referring to the ability to deploy a Windows DNA-based application over any number of physical computers. "

COM: The Cornerstone of Windows DNA
Avalani notes that Windows DNA is based on a programming model called COM (Component Object Model). The COM model has come into widespread use since its introduction by Microsoft and it is an integral part of many Microsoft applications and technologies, including Internet Explorer and the Office suite of applications.
Unlike traditional software development, which required each application to be built from scratch, COM allows developers to create complex applications using a series of small software objects. Much like cars or houses are built with standardized "parts," COM lets developers make portions of their applications using components. For example, Avalani says, a component might be a tax calculation engine or the business rules for a price list. A growing number of third-party vendors sell COM components.
This approach speeds up the development process by allowing several teams to work on separate parts at the same time. Developers can also reuse components from one project to the next, and they can easily swap out or update a particular component without affecting other portions of the application. COM also offers the advantage of programming language independence. That means developers can create COM components using the tools and languages they're familiar with, such as Visual Basic, C, C++ and Java.
"An easy way to look at it is that COM serves as the glue between the tiers of the architecture, allowing Windows DNA applications to communicate in a highly distributed environment," Avalani explains. 



No comments:

Post a Comment