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.