Exchange development technology evaluation criteria descriptions

Exchange

Published: July 16, 2012

Learn about the criteria that you can use to evaluate Exchange development technologies.

Applies to:  EWS Managed API | Exchange 2013 | Exchange Online | Exchange Server 2003 | Exchange Server 2007 | Exchange Server 2010 | Office 365 

In this article
Functional criteria
Development criteria
Security criteria
Deployment criteria
Additional resources

Evaluating the available development technologies is an important first step to developing an application that interacts with Exchange. Before you decide which development technology is right for you, you will need to consider functional, security, and other criteria in the context of the needs of your organization. How important the various criteria are to you will vary depending on your project requirements and the resources that are available.

This article describes the various criteria that you can use to evaluate the Exchange development technologies that are available. To learn about the evaluation criteria for specific Exchange development technologies, see Current development technologies for Exchange and Development technologies for earlier versions of Exchange.

The evaluation criteria for Exchange development technologies fall into the following four categories:

  • Functional criteria

  • Development criteria

  • Security criteria

  • Deployment criteria

Functional criteria

The functional criteria provide information about what you can and cannot you can and cannot do with the technology. The following table lists and describes the functional criteria.

Table 1:  Functional criteria descriptions

Criterion

Description

Application function

Describes the application type for which the technology is appropriate; for example, Exchange server management, mailbox access, and so on.

Availability

Provides information about which products include the technology or how you can access the technology, and whether any changes to the availability of the technology are anticipated. For example, is this technology available for use with Exchange Online or does it require an on-premises deployment?

Application architectures

Describes the application architecture styles that are most appropriate for the technology; for example, a client-to-server architecture or a server-to-server architecture.

Remote usage

Indicates 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.

Major objects

Describes the types of items that the technology provides programmatic access to; for example, contacts, mailboxes, and so on.

Data access model

Describes the method that the technology uses to provide data access; for example, a data stream, or a hierarchical set of objects.

Threading models

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

Transactions

Indicates whether the technology includes built-in support for rollback-style transactions.

Management capabilities

Indicates whether the technology provides features that support managed applications, or whether you have to write your own implementation; for example, writing information to Windows Event logs, performance counters, WMI providers, and so on.

Development criteria

The development criteria provide information about the tools and resources that you need in order to use the technology, the ways in which you can use the technology, and the resources that are available to help you use the technology. The following table lists and describes the development criteria.

Table 2:  Development criteria descriptions

Criterion

Description

Languages and tools

Describes the programming languages and Microsoft and non-Microsoft tools that can be used to develop applications that use the technology.

Managed implementation

Indicates whether the technology is available for use in managed code, and whether it can be used with COM interoperability.

Scriptable

Indicates whether the technology can be used with a scripting language such as JavaScript that does not require the code to be compiled in order to run.

Test/debug tools

Describes the tools that can be used to troubleshoot and test applications created by using the technology.

Expert availability

Indicates whether developers who have used the technology extensively are readily available and how to engage with the developer community.

Available information

Describes the resources that are available for learning more about the technology; for example, MSDN content, third-party websites, communities, and so on.

Developer/deployment licensing

Indicates whether you need any special licenses or agreements in order to use the technology.

Security criteria

The security criteria provide information about security and permissions requirements related to installing, designing, and running applications that use the technology. The following table lists and describes the security criteria.

Table 3:  Security criteria descriptions

Criterion

Description

Design-time permissions

Describes the system permissions that you need in order to effectively design, build, test, and maintain applications that use the technology.

Setup permissions

Describes the system permissions that the user or administrator need when they install an application that uses the technology.

Run-time permissions

Describes the system permissions that the user or administrator need when they run an application that uses the technology.

Built-in security features

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

Describes the features provided in the technology to help to ensure that security-sensitive uses can be detected, audited, and traced.

Deployment criteria

The deployment criteria provide information about the recommended deployment and distribution methods for the technology. The following table lists and describes the deployment criteria.

Table 4:  Deployment criteria descriptions

Criterion

Description

Server platform requirements

Describes the server requirements for using the technology when it is deployed.

Client platform requirements

Describes the client requirements for the technology.

Deployment methods

Describes the methods or other technologies that are recommended, available, or required for deploying applications created by using the technology.

Deployment notes

Describes other issues that you might need to address when you deploy applications that use the technology.

Community Additions

ADD
Show:
© 2014 Microsoft