Technology Evaluation Criteria
What is it? Describes the technology in general terms
Is there anything I need to be aware of? Describes things that you need to watch for or avoid. Reasons to not use the technology in some situations, or special considerations.
What does the technology do? Describes the types of things you can and can't do with the technology.
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.
What things does the technology affect? Describes to what 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 that the technology uses to provide data access: rows and fields, or a hierarchical set of objects, or both.
What threading models are supported? Describes the types of process threading supported by the technology. For example, does the technology support apartment threading, thread pools, and so on.
What application architectures can be used? Describes the application architecture styles most appropriate for the technology. For example, Windows applications run on a client computer, ASP Intranet pages, and so on.
Can the technology be used remotely? Describes whether the technology can be used on a machine that is not an Exchange server, and whether the technology be employed over the Internet.
Does the technology support transactions? Describes whether the technology includes built-in support for rollback-style transactions.
What facilities for application management does the technology provide? Describes whether the technology provide features that support managed applications. For example, Windows Event logs, performance counters or WMI providers.
Where can I obtain the technology? Describes what products include the technology, and whether there are any changes anticipated in the technology.
How do I develop using the technology? Describes the things you need to have or know 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 applications that use the technology.
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?
Can the technology be access from WSH scripts? Describes whether the technology can be used with scripts written using the Windows Script Host.
What test and troubleshooting tools can I use? Describes the tools that can be used to troubleshoot and test applications created using the technology.
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.
Where can I find developer-focused information about the technology? Describes the resources 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 need to develop and deploy applications that use the technology? Describes whether there are any special licenses or agreements needed in order to use the technology.
What are the security implications? Describes security and permissions issues related to the technology.
What permissions are required by the developer to create applications using the technology? Describes the system permissions needed by the developer so they can effectively design, build, test, and maintain applications using the technology.
What permissions are needed to install applications that use the technology? Describes the system permissions needed by the user or administrator when they install an application that uses the technology.
What permissions are required by a running application that uses the technology? Describes the system permissions 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? 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.
How to I deploy and manage applications that use the technology? Describes the recommended deployment and distribution methods for the technology.
Server Platform Requirements
What are the server requirements for using this technology when deployed? Describes the server platform requirements of the technology.
Client Platform Requirements
What are the client requirements for using this technology? Describes the client requirements of the technology.
What methods are available/recommended for installing, distributing and deploying applications that use this technology? Describes the methods or other technologies that are recommended, available or required when deploying applications made using this technology.
Are there other important details surrounding deployment of applications that use this technology? Describes other issues that need to be addressed when deploying applications that use the technology.