Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПОКС.docx
Скачиваний:
69
Добавлен:
26.05.2015
Размер:
1.82 Mб
Скачать

Общие сравнительные характеристики:

ASP Script:

VBScript

JScript

PerlScript

Объктно-ориентированное программирование

Нет

Да

Да

2nd tier на COM

Да

Да

Да

2nd tier на CORBA

Только через мосты

Только через мосты

Да

2nd tier на EJB

Только через мосты

Только через мосты

Только через мосты

Схожие языки (для формирование корпоративного стандарта)

MS Visual Basic, any Basic

javascript, Java, C, C++ 

Perl, PHP

Проект может мигрировать на другую Web-технологию

Нет

Да, на JSP

Да, на PHP или Perl CGI/ISAPI

Проект может мигрировать на другую платформу

Нет

Да, JSP на любой JSP-совместимой платформе

Да, PHP/Perl на любой PHP/Perl-совместимой платформе

    Критериями выбора скрипта разработки для ASP могут стать:

  • возможности этого скрипта, как языка программирования

  • корпоративные стандарты компании 

  • возможности простой миграции проекта на конкурирующие технологии

  • простота поддержки

    В свете вышеописанных критериев, можно порекомендовать выбор в пользу JScript.

45 серверные расширения CGI и ISAPI

Как мы только что сказали, расширение ISAPI создается в виде библиотеки динамической компоновки DLL. Обращение к такой библиотеки выполняется в документах HTML аналогично обращению к программам CGI - из форм или ссылок, созданных, соответственно, при помощи операторов <FORM> и <A>.

Когда пользователь обращается к расширению ISAPI, соответствующая библиотека DLL загружается в адресное пространство сервера Microsoft Information Server и становится его составной частью. Так как расширение ISAPI работает в рамках процесса сервера Microsoft Information Server, а не в рамках отдельного процесса (как это происходит при запуске программы CGI), оно может пользоваться всеми ресурсами, доступными серверу. Это благоприятно сказывается на производительности.

Другой важный момент, влияющий на производительность, имеет особое значение в тех случаях, когда расширение сервера используется активно сразу многими пользователями.

Пусть, скажем, 20 пользователей обратятся одновременно к одной и той же программе CGI. В результате на сервере будет создано 20 процессов, по одному для каждого пользователя. Так как создание процесса отнимает достаточно много системных ресурсов, это приведет к потере производительности.

Если же 20 пользователей одновременно обратятся к одному и тому же расширению ISAPI, в память серверного процесса будет загружена одна копия библиотеки DLL расширения, которая будет работать в мультизадачном режиме. Очевидно, при таком подходе полностью исключаются накладные расходы системных ресурсов на запуск процессов.

Сравнивая программы CGI и расширения ISAPI, нужно заметить, что несмотря на существенное превосходство в быстродействии расширений ISAPI, программы CGI также имеют свои преимущества.

Так как расширения ISAPI работают в рамках серверного процесса, они должны отлаживаться особенно тщательно. Ошибка в расширении ISAPI может привести к аварийному завершению всего сервера Microsoft Information Server. Что же касается программы CGI, работающей как отдельный процесс в своем собственном адресном пространстве, то она едва ли способна вывести из строя сервер. Если в программе CGI будет допущена критическая ошибка, это приведет всего лишь к аварийному завершению самой программы, но не всего сервера.

Напомним, что расширение ISAPI работает в мультизадачном режиме, что приводит к дополнительным проблемам при отладке. Особенности программирования для мультизадачного режима мы описали в 26 и 27 томах “Библиотеки системного программиста”, которые называются “Программирование для Windows NT. Часть 1” и “Программирование для Windows NT. Часть 2”. Там же вы найдете информацию о том, как создавать библиотеки DLL, предназначенные для работы в среде Microsoft Windows NT и Microsoft windows 95.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]