The Microsoft implementation of the collaborative approach was dubbed DNA and was realized using the following set of technologies:
We can see how the model and the technologies could now work together.
First, a lightweight front-end could perform the presentation and client interaction in a familiar and robust environment. The HTML browser solves this. Information is displayed and submitted in a standardized fashion and governed by an independent and open community.
Secondly, business rules could be captured in a middle tier where they could change but remain scalable. To capture logic, one must build an encapsulated function that can be accessed via the presentation layer and talk to the data layer. COM, which will discuss in greater detail in just a bit, was designed with such ideas in mind; code re-use, maintenance and encapsulation.
Finally, we could store the data within it's own layer to protect the other layers from proprietary databases and Meta stores.
While this may initially seem like a utopian list of features, the technology had provided the solutions.
A number of technologies are needed to make the collaborative or "tiered" approach work. In fact, DNA, and the DNA technologies hoped to provide an 'n' tier solution (this will become apparent soon).
|Technologies Needed||Microsoft Products||Other Products|
|Lightweight Presentation||Internet Explorer, HTML, XML||Others include Netscape|
|Rendering Engine||Internet Information Server (Web Engine)||For large solutions see other variants of IIS by MS.|
|Fast Implementation (between Rendering and Business Components)||Active Server Pages, Scripting (VBScript, Jscript and even PerlScript) (COM)||Enables IIS to produce flexible HTML driven by Business Components.|
|Component Communication||COM (Common Object Model), MSMQ, COM+||Competitors include Corba and RMI, PerlRPC|
|Business Components||COM Objects (with/without MTS support)|
|Fast Implementation (Business Layer to Data||ActiveX Data Objects (More COM), ODBC||Using lightweight wrappers to access a generic data abstract layer.|
|Data Access and Translation||OLEDB, Universal Data Access and ADSI||ODBC|
|Data Storage||SQL Server, Exchange, Active Directory and NTFS||Obviously other databases are included like Oracle and Informix.|
This table by no means provides the complete or definitive list of the technologies involved, or the boundaries of their scope. However, it does give some indication of where and when the technologies mentioned later in this tutorial are used.
There are many other technologies used in other areas, for example, that include access to legacy systems, third party integrations, and even exchangeable data format. However, we are primarily focused on what DNA is and where ASP sits.
By now, you will have realized that COM, the Component Object Model, plays a large part in the Microsoft implementation of the multi-tiered solutions.
This is no co-incidence, as COM was designed to solve the problems of communication, implementation and open access within the layers. The COM approach centers on a language independent framework to build components and services. It's obviously successful - if we look at our table we can see that a large number of the technologies either use or are built from COM. Also note, that nearly all of the technologies presented here for DNA are mainly based on the Windows NT technology.
So what are the Microsoft technologies and what functions do they perform that we should know about? Well, almost all of those specified go to make up the majority of DNA based applications in one form or another. With this in mind a quick tour of the technologies is required.
For further information on Microsoft DNA, the architecture, the technologies and where DNA is headed you can access the Microsoft Developer Network site. For more information on COM, you can point your browser to Microsoft.