Evaluation Criteria Descriptions

Topic Last Modified: 2008-09-02

The individual technology topics provide information about many different evaluation criteria. Different criteria will be more or less important, depending on the projects and available staff. This topic describes those criteria.

Technology Evaluation Criteria

Introduction

What is it? Describes the technology in general terms.

Caveats

Is there anything I need to be aware of? Describes things that you need to watch for or avoid, including reasons not to use the technology in some situations or special considerations.

Functional Criteria

What does the technology do? Describes the types of things you can and cannot do with the technology.

Application domain

What types of applications is this technology used for? Describes the functional types of applications for which this technology is appropriate; for example, Exchange Server management, mailbox access, and so on.

Major objects

What kinds of things does the technology affect? Describes on which types of things the technology provides programmatic access; for example, users, mailboxes, and so on.

Data access model

What style is used to access the data? Describes the style on which the technology uses to provide data access: rows and fields, or a hierarchical set of objects, or both.

Threading models

What threading models are supported? Describes the types of process-threading that is supported by the technology; for example, apartment threading, thread pools, and so on.

Application architectures

What application architectures can be used? Describes the application architecture styles that are most appropriate for the technology; for example, Windows applications run on a client computer, while ASP runs on intranet pages, and so on.

Remote usage

Can the technology be used remotely? Describes whether the technology can be used on a computer that is not an Exchange server, and whether the technology can be used over the Internet.

Transactions

Does the technology support transactions? Describes whether the technology includes built-in support for rollback-style transactions.

Management capabilities

What facilities for application management does the technology provide? Describes whether the technology provides features that support managed applications; for example, Windows Event logs, performance counters, or WMI providers.

Availability

Where can I obtain the technology? Describes which products include the technology, and whether any changes to the technology are anticipated.

Development Criteria

How do I develop criteria by using the technology? Describes the things you need to have or know how to use the technology.

Languages and Tools

What development languages/tools can I use? Describes the Microsoft and non-Microsoft tools and programming languages that can be used to develop the applications that use the technology.

Managed implementation

Does the technology support managed code in Visual Studio .NET? Describes whether the technology is available for use in fully-managed code, and whether it can be used with COM interoperability?

Scriptable

Can the technology be accessed from Windows Script Host (WSH) scripts? Describes whether the technology can be used with scripts written by using the WSH.

Test/Debug tools

What test and troubleshooting tools can I use? Describes the tools that can be used to troubleshoot and test applications created by using the technology.

Expert availability

How available are experts for this technology? Describes, in general terms, whether it would be difficult to find someone who has used the technology extensively.

Available information

Where can I find developer-focused information about the technology? Describes the resources that are available for reading about and getting help with the technology; for example, Microsoft SDKs that cover the technology or third-party Web sites and communities.

Developer/Deployment licensing

What product licenses are needed to develop and deploy applications that use the technology? Describes whether any special licenses or agreements are needed in order to use the technology.

Security Criteria

What are the security implications? Describes security and permissions issues related to the technology.

Design-time permissions

What permissions are required by the developer to create applications by using the technology? Describes the system permissions needed by the developer so they can effectively design, build, test, and maintain applications by using the technology.

Setup permissions

What permissions are needed to install applications that use the technology? This topic describes the system permissions that are needed by the user or administrator when they install an application that uses the technology.

Run-time permissions

What permissions are required by a running application that uses the technology? This topic describes the system permissions that are needed by the user or administrator when they use an application that uses the technology.

Built-in security features

What are the built-in authentication/authorization mechanisms? This topic describes the built-in features of the technology that support authentication and authorization so that only the appropriate users have access to the data that the technology makes available.

Security monitoring features

What are the available monitoring, auditing, and traceability features of the technology? Describes the features provided in the technology to ensure that security-sensitive uses can be detected, audited, and traced.

Deployment Criteria

How to I deploy and manage applications that use the technology? This topic describes the recommended deployment and distribution methods for the technology.

Server platform requirements

What are the server requirements for using this technology when deployed? This topic describes the server platform requirements of the technology.

Client platform requirements

What are the client requirements for using this technology? This topic describes the client requirements for the technology.

Deployment methods

What methods are available/recommended for installing, distributing, and deploying applications that use this technology? This topic describes the methods or other technologies that are recommended, available, or required when deploying applications made by using this technology.

Deployment notes

Are there other important details surrounding deployment of applications that use this technology? This topic describes other issues that need to be addressed when deploying applications that use the technology.