Лучшие среды разработки Web-приложений

Автор: manager Понедельник, Март 17th, 2008 Нет комментариев

Рубрика: Интернет

При выборе Web-сервера на ваше решение, очевидно, будет влиять целый ряд факторов — это уже инсталлированная база системного и прикладного ПО, пристрастия ваших сетевых и Web-администраторов, платформа Web-разработки, а возможно, и модные тенденции в Интернет. Мы поставили перед собой задачу провести объективное сравнение самых популярных Web-серверов, уделяя особое внимание таким характеристикам, как набор программных средств, поддерживаемые платформы, возможности управления и надежность.

Два с половиной месяца в лаборатории Университета Висконсин-Мэдисон мы тестировали три основных продукта, доминирующих на рынке Web-серверов: Enterprise Server 4.0 (вскоре он будет переименован в iPlanet Server) фирмы Netscape Communications, Internet Information Server 4.0 (IIS) корпорации Microsoft и Apache Server 1.3.9 — выбранный нами в качестве бесплатного Web-сервера, поддерживающего политику “открытого кода”. Вооружившись уже имеющейся у производителей информацией со сравнительным анализом производительности различных продуктов и результатами независимых исследований, мы провели более ста тестов на системах, оснащенных одним, двумя и четырьмя SPARC или Intel-процессорами (см. “Как мы тестировали Web-серверы”).
Достичь гигантских скоростей передачи данных или выдающихся значений числа обрабатываемых в секунду запросов мы не стремились. В отличие от других исследований для тестирования сетевых соединений мы ограничились одним интерфейсом Fast Ethernet, чтобы ярче проявились присущие каждому серверу эффективность обработки запросов, а также возможные недостатки.

Нашей целью было выявить Web-сервер, обладающий самой высокой общей производительностью, необходимой гибкостью, простотой в использовании и управлении. Проводя свои испытания на вышеописанной сети, мы тщательно изучили возможности управления каждого Web-сервера и имеющиеся в них наборы программных средств.
Наше сравнение мы начали со средств управления и настройки каждого сервера. За время эксплуатации любого Web-сервера неизбежно происходят изменения в его конфигурации. В этом отношении ОС Windows NT и сервер IIS причинили нам значительно больше неприятностей, чем все остальные продукты. При конфигурировании нам часто приходилось объявлять перекур из-за очередных перезагрузок системы. Подобных проблем не возникло совсем с серверами Apache и Netscape, когда они работали под управлением Solaris и Linux. Сервер Enterprise Server фирмы Netscape потребовал значительно меньшего числа перезагрузок и на платформе Intel.
Поскольку отказоустойчивость Web-узла — наиболее важная его характеристика, мы, разумеется, не можем рекомендовать для использования Web-сервер, работающий на базе ОС, способной вызвать такие длительные остановки в работе.

Следующей по важности характеристикой для нас являлась способность Web-сервера к расширению функциональности и к обеспечению контроля за работой. Непревзойденной в этом плане оказалась управляющая консоль сервера IIS фирмы Microsoft. Она была проще всех в использовании для задач конфигурирования и мониторинга Web-сервера. Вся информация размещалась на экране очень аккуратно, до нее легко было добраться, что неизмеримо лучше текстовых конфигурационных файлов серверов Apache и Netscape. И хотя Web-интерфейс сервера Netscape вполне адекватно отображал информацию, а графический интерфейс Comanche Project сервера Apache был очень неплох, все же они не могли сравниться со своим конкурентом от компании Microsoft.

Не менее пристальное внимание мы уделяли собственным средам разработки каждого сервера, включая ASP (Active Server Page), ISAPI, NSAPI, JavaScript, Java Server Pages, JavaBeans, Servlets, PHP3, CGI и Perl_mod. С языком разработки вы, скорее всего, определитесь прежде, чем приступите к выбору Web-сервера. Ниже мы подробно рассмотрим характеристики сред разработки каждого из Web-серверов и расскажем о их преимуществах.
С этой точки зрения несомненным фаворитом благодаря своей надежности и хорошему набору базовых средств стал для нас сервер Apache и его средство создания сценариев Professional Home Page (PHP). Для узлов, которым не требуется крупномасштабное, мощное Web-приложение, сервер Apache хорош тем, что вместе с PHP образует эффективную комбинацию средств, характеризующуюся превосходной надежностью. Продукт Netscape также заслужил высокие оценки за отличную — практически полную — поддержку Java-технологий на серверной стороне. А вот его документация оказалась не на должном уровне. Тесная интеграция продукта фирмы Microsoft с Visual Studio C и Visual Inte rd ev позволяет создавать самые сложные Web-приложения. Однако, как мы уже упоминали, у ОС Windows NT не все в порядке с надежностью, и из-за этого возникают нежелательные простои во время отладки программ и внесения изменений в конфигурацию.

Так какой же из серверов заслужил первое место? Каждый из них имеет свои преимущества в определенных ситуациях, но нельзя не выделить Enterprise Server фирмы Netscape за ее обширный набор средств и поддерживаемых платформ. Благодаря множеству опций для Web-разработки и хорошей производительности, Netscape завоевал первое место в нашем обзоре. Сервер IIS, имеющий надежные средства Web-разработки и высокую производительность, занял второе место с минимальным отставанием, ненамного обойдя Apache Server. Если бы число поддерживаемых платформ в IIS было больше, он мог бы обогнать сервер Netscape. Сервер Apache, незначительно отставая от двух своих конкурентов по производительности и набору средств разработки, тем не менее обладает практически универсальной поддержкой различных платформ, снабжен обширной документацией и поэтому весьма популярен в сообществе Интернет.

Серверы со встроенной поддержкой Web-приложений
Enterprise Server 4.0 (iPlanet Enterprise Server) фирмы Netscape Communications
Из трех протестированных нами серверов Enterprise Server 4.0 фирмы Netscape оказался самым простым в использовании, управлении и конфигурировании. Он поддерживает ОС Solaris и Windows NT и в силу этого совместим с большинством оборудования масштаба предприятия, предлагаемого сейчас на рынке. Кроме того, он очень надежен в работе: с ним нам не пришлось перезагружаться. Он также ни разу не вызвал системного сбоя в ОС Windows NT и Solaris. Собственно говоря, единственная проблема заключалась в ранней бета-версии инсталлятора, которая еще содержала некоторые ошибки. По производительности Enterprise Server не отличался от IIS при работе на платформе Intel и существенно превосходил Apache при выполнении тестов на динамическую генерацию HTML-страниц. Учитывая широкую поддержку платформ и превосходную надежность сервера Enterprise Server 4.0 фирмы Netscape, мы рекомендуем его Web-администраторам, как заслуживающий первоочередного внимания с их стороны.

Прежде чем приступить к тестам на производительность на платформах Intel и SPARC, нам необходимо было внести соответствующие изменения в конфигурацию. С этой целью мы открыли текстовый редактор и с его помощью внесли многочисленные изменения в главный конфигурационный файл magnus.conf. Пока мы проверяли с помощью WUI (Web User Interface, или пользовательский Web-интерфейс) правильность конфигурирования, Enterprise Server успел распознать внесенные вручную изменения и напомнил нам о необходимости их загрузки. Получив разрешение на загрузку модифицированных конфигурационных файлов, он сам произвел перезапуск.
С Netscape в отличие от IIS нам ни разу не пришлось перезагружать машину при изменении конфигурации.
Для замера времени простоя, вызванного перезапуском ПО сервера, мы активизировали программу передачи статических HTML-страниц со скоростью от 1 до 20 Кбит/с с 82 клиентами и перезапустили Enterprise Server в середине теста. Несмотря на большую нагрузку, только от 25 до 30 клиентов сообщали о возникновении проблем с соединениями. Сервер Apache Server показал примерно такие же результаты, впрочем как и IIS, только последний часто требовал полной перезагрузки системы.

Сервером Enterprise Server фирмы Netscape можно управлять с помощью как командной строки, так и его нового, переработанного Web-интерфейса, передвигаться по которому значительно проще, чем по интерфейсу WUI сервера IIS (хотя интерфейс управляющей консоли IIS компенсирует недостатки Web-интерфейса IIS). Интерфейсом Enterprise Server легко можно управлять через браузеры Microsoft Internet Explorer (IE) или Netscape Navigator, в то время как сервер IIS через Netscape Navigator работает заметно медленнее. Enterprise Server позволяет легко просматривать и модифицировать информацию. В процессе тестирования Web-интерфейса мы высоко оценили его контекстную интерактивную подсказку, к которой можно было обратиться через кнопки, расположенные на каждой странице Server Manager WUI. В подробной документации имелись ссылки на другие связанные материалы службы интерактивной подсказки или тексты руководства в формате PDF.
Компания Netscape Communications поставляет и инсталлирует свою собственную среду JRE (Java Runtime Environment). Однако, несмотря на то что для поддержки работы Java Servlet требуется только JRE, Web-администраторам все же придется загружать из Сети и инсталлировать самую последнюю версию Java Development Kit (JDK) для поддержки Java Server Page. Мы скачали и инсталлировали самую последнюю версию JDK (1.2.1.03) с узла Sun, повторно запустили тест на определение производительности работы серверного приложения Java и получили такие же результаты, как и при использовании JRE, установленной по умолчанию.
Во время тестирования на производительность мы столкнулись еще с рядом аномалий, обусловленных функционированием серверных приложений Java на сервере Enterprise Server. Хотя выполнение CGI-тестов показало, что все вычислительные ресурсы процессора используются эффективно, при тестировании на производительность серверных приложений Java этого не происходило. Вне зависимости от конфигурации тестовой машины (одно-, двух- или четырехпроцессорная) мы все время сталкивались с тем же самым ограничением, равно как и с HTTP-ошибками в начале исполнения большинства сценариев на платформе Intel. Скорее всего, это вызвано резким увеличением объема HTТР-трафика, хотя при работе всех трех серверов под управлением Solaris подобных проблем не наблюдалось.

Internet Information Server 4.0 фирмы Microsoft
Последняя версия сервера IIS фирмы Microsoft является составной частью NT Option Pack 4.0. Благодаря своей превосходной по всем параметрам производительности IIS практически всегда быстрее, чем серверы Enterprise Server или Apache Server, доставлял нам Web-страницы. Единственным исключением были тесты с интерфейсом CGI и сценариями. У этого Web-сервера имеются два недостатка: он часто требует перезагрузки и ему не хватает поддержки платформ, отличных от Windows. Достоинствами же IIS являются его зрелая платформа разработки Web-приложений и превосходная производительность.
Управление IIS осуществляется с помощью подключаемого модуля (plug-in) консоли Microsoft Management Console (MMC). Пользоваться этой консолью довольно просто. По сравнению со своим же собственным интерфейсом WUI и интерфейсом сервера Enterprise Server пользовательский интерфейс консоли MMC выглядит как идеальное средство управления.

Нашей первой задачей было убедиться в правильности задания параметров тестового наполнения сервера и привязки соответствующих приложений к типам файлов внутри IIS. Щелчок правой клавиши мыши на корневом уровне дерева документов вызывал диалоговое окно с множеством графических закладок, относящихся к различным конфигурационным опциям Web-узла. Привязка приложений выполнена на корневом уровне дерева документов и соответствующим образом влияет на все файлы узла. Однако в отличие от Apache Server здесь мы так и не смогли отключить доступ к отдельным каталогам Web-содержимого в зависимости от типа приложений. Последовав совету представителя Microsoft, для увеличения производительности мы отключили все привязки приложений к типам файлов, за исключением расширений .asp, .pl и .shtml.

Во время выполнения CGI-тестов мы вначале столкнулись с некоторыми трудностями при конфигурировании распределения ActiveState Perl и привязок приложений внутри IIS. После небольших исследований нам удалось обнаружить описание правильного синтаксиса в документации к ActiveState, однако было бы намного удобнее, если бы этот синтаксис производители привели и в документации к самому IIS.
Для тестирования с помощью сценариев были использованы две различные конфигурации ASP. Первый тест, созданный на языке сценариев VBScript, не подошел для нашего приложения синтаксического разбора текста. Поскольку в ASP предусмотрена возможность использования нескольких языков сценариев, мы написали еще один ASP-тест, уже на языке PerlScript. Неудивительно, что в данном случае производительность сервера оказалась более чем в пять раз выше таковой при VBScript-тестировании. В итоге SSI-испытания (Server-Side Include — тесты, вовлекающие в процесс динамической генерации кода страницы вычислительные ресурсы сервера) показали, что сервер IIS по производительности превзошел сервер Netscape в ОС Windows NT и сервер Apache в ОС Linux. Однако при CGI-тестах (на языке Perl) IIS продемонстрировал одинаковые результаты с серверами Enterprise Server и Ap ache Server.

Apache Server фирмы Apache Software Foundation
Сервер Apache Server, согласно данным исследования Web-серверов, проведенным фирмой NetCraft (http://www.netscaft.com/survey), способен надежно обслуживать содержимое большинства ныне существующих Web-узлов. Успех сервера легко объяснить: свободно распространяясь через Интернет, Apache Server заслужил репутацию самого надежного из предлагающихся на данный момент Web-серверов. К сожалению, за свою надежность он требует от пользователей некоторых жертв: управление Apache Server осуществляется посредством редактирования текстовых файлов, при этом предоставляется всего несколько полезных Web-страниц, содержащих информацию о его текущем состоянии.

Большой вклад в расширение возможностей Web-сервера “открытого кода” Apache Server в форме общедоступных серверных модулей внесли его пользователи. Возможно, его главными преимуществами и являются широчайшая поддержка со стороны конечных пользователей, практически универсальная поддержка платформ, быстрота исправления ошибок и короткий цикл разработки конечного Web-приложения. Хотя по мощности и богатству средств Apache Server не может сравниться с продуктами фирм Netscape и Microsoft, но в большом числе конфигураций он удовлетворяет все требования пользователей и при этом поставляется бесплатно.
Для расширения функциональности базового HTTP-сервера Apache Server использует серверные модули, которые могут загружаться динамически во время исполнения или заранее статически компилироваться в двоичный код.

Чтобы добиться от Apache Server самой высокой производительности, на которую он только способен, мы откомпилировали его с минимальным числом серверных модулей:
· mod_log_config — регистрация пользователей,
· mod_mime — поддержка почтовых MIME-сообщений и SSI,
· mod_cgi — поддержка CGI-сценариев,
· mod_perl — поддержка языка Perl,
· mod_include — для SSI,
· mod_env — тоже для SSI.
В целом производительность Apache Server была чуть ниже, чем у серверов фирм Netscape и Microsoft, особенно на SSI-тестах .

Конфигурирование и управление Apache Server практически полностью осуществляется посредством командной строки или через текстовый редактор. Настоящий графический интерфейс для Apache Server на большинстве поддерживаемых платформ, в том числе Solaris, Win32 и Linux, обеспечивают дополнительные утилиты, такие, как Comanche Project. Графический интерфейс Comanche действительно оказался полезным на первых этапах работы с сервером, но позже мы уже предпочитали им не пользоваться и редактировали конфигурационные файлы вручную. К достоинствам данной программы следует отнести тот факт, что базовый исходный код и заранее откомпилированный бинарный код Apache Server содержат много документации по конфигурированию и примеров. Каждый новый раздел в таком файле предваряется подробным разъяснением предоставляемых опций.
Главное преимущество использования Apache Server в качестве промышленного Web-сервера состоит в том, что разработчики обеспечивают его техническую поддержку в интерактивном режиме. Для разрешения возникающих проблем обычно достаточно заглянуть на канал IRC (Internet Relay Chat) или на доску объявлений в Web и задать пару-тройку вопросов. Новые расширения функциональности для продуктов линии Apache Software Foundation появляются почти ежедневно. Находящиеся сейчас в работе проекты включают: продукт Java Apache, нацеленный на обеспечение улучшенной поддержки Java-технологий; продукт Apache JServ — модуль поддержки серверных приложений Java для Apache Server; Apache SSI — он позволит серверным компонентам J a va генерировать динамическое содержимое внутри Web-страниц JHTML, а также продукт MOD_JAVA, который даст возможность в будущем для разработок Apache Module пользоваться языком Java вместо Си.
В Apache Module версии 1.3 и более поздних используется новый метод пакетного конфигурирования (batch configuration), называемый APACI (Apache Autoconf-style Interface), значительно упрощающий процедуру инсталляции и конфигурирования. При базовой компоновке и инсталляции сервера Apache Server проблем у нас не возникло, однако пришлось приложить некоторые усилия, когда в основную конфигурацию понадобилось добавить отдельные модули. Так как mod_perl не входит в базовый вариант поставки Apache Server, то исходные файлы нам пришлось загрузить из Сети и компоновать их с базовым Apache Server. Используя APACI, мы успешно справились с этой задачей с первой же попытки и считаем, что пользователи вряд ли столкнутся с большим количеством проблем при установке и запуске сервера в подобной конфигурации.
Средства разработки серверных Web-приложений
Выбор архитектуры Web-сервера определяется не только параметрами производительности — немаловажными являются также факторы доступности и качества технологий разработки ПО, особенно если вы планируете вести свой бизнес с помощью Web-приложений.
Некоторые технологии разработки Web-приложений прилагаются к Web-серверу, при этом они могут быть независимы от языка программирования, как, например, технология CGI (Common Gateway Interface). Часть из них сильно зависит от доступных средств разработки, как, например, компоненты ActiveX, разрабатываемые в основном с помощью Microsoft Visual Studio.
Существует множество превосходных средств разработки Web-приложений и помимо тех, что рассматриваются в данном обзоре. Мы решили сосредоточить свое внимание на Web-серверах и связанных с ними продуктах.
Какое же средство подойдет именно вам? На этот вопрос нет однозначного ответа. Информационным системам, работающим на базе продукции Microsoft, несомненно, подойдет превосходный набор средств разработки сервера IIS, зато более независимые в своих пристрастиях программисты предпочтут бесплатный Apache Server с PHP, обладающий широчайшей поддержкой. Разработчикам, работающим на Java, трудно будет найти среду лучше Netscape (iPlanet) с ее поддержкой самых современных Java-средств.
Apache Server и PHP
В качестве средств разработки приложений мы бы предпочли выбрать Apache Server и PHP. Документация к ним имеется в изобилии, а поддержка со стороны пользователей просто феноменальная. Надежность продукта, особенно на Unix-сервере, не имеет себе равных. Средство контроля исходного кода Source Code Control может работать совместно со свободно доступными средствами CVS. Если ваш информационный центр никак не связан с IIS и Java, то вам стоит серьезно подумать о возможности использования Apache, PHP и mySQL на Linux-сервере.
Web-сервер Apache обеспечивает несколько опций разработки программного кода приложений любой степени сложности. Старомодный интерфейс CGI (Common Gateway Interface) в соединении с Perl, Си и прочими языками программирования позволяет без проблем справиться с простыми задачами для узлов с низким уровнем трафика. Все эти программы генерируются в отдельных процессах, что обычно сильно увеличивает вычислительную нагрузку на машину, где запущены Web-приложения.
Сервер Apache, как и Netscape и IIS, имеет API, позволяющий справиться с трудностями работы с CGI. При помощи Apache API программисты могут написать фрагмент программы в требуемом формате на языке Си. Этот фрагмент, называемый модулем, затем подключается к серверу Apache или же загружается динамически в момент исполнения. Используя вызовы Си-функций, программист получает прямой доступ к функциям ядра Apache. Такая же возможность доступна и для Netscape (через NSAPI) и для IIS (через ISAPI), но разработчики во всем мире чаще всего пользуются ею при работе с Apache. Если вы хотите использовать этот механизм и ваши приложения имеют дело с большими объемами данных, то, прежде чем приступать к работе, просмотрите файл mod_example.c, находящийся в каталоге текстов исходных модулей. Специальный модуль под названием mod_perl позволит вам писать собственные модули на языке Perl вместо Си.
Мы предпочитаем писать динамическое содержимое для Apache при помощи PHP — свободно распространяемого языка встраиваемых в HTML сценариев для серверной стороны. Программирование на PHP аналогично тому, что применяется и с ASP, однако обеспечиваемая им широкая поддержка баз данных дает ему преимущество перед VBScript. Язык PHP позволяет встраивать внутрь вашей HTML-страницы код, исполняемый на сервере. Таким образом, клиент никогда не видит текста PHP-программы. По синтаксису PHP напоминает язык Си, так что для программиста, имеющего опыт работы на Си и Perl, освоить его будет легко. Этот язык дает возможность пользоваться сложными структурами данных, такими, как массивы и классы, а так как он поддерживает большое число баз данных, то это позволяет разрабатывать крупные приложения при помощи одного PHP.

Кроме того, язык PHP и сам по себе достаточно прост. Написать с его помощью Web-приложение, использующее базу данных, не представляет особого труда. У такого приложения на HTML-странице имеется форма ввода данных, которая инициирует исполнение PHP-сценария; тот, в свою очередь, открывает соединение с базой данных одним оператором, задающим имена сервера и пользователя, а при необходимости и пароль. Потом такая программа может выполнить SQL-запрос и в результате получить все адреса, отвечающие заданным в форме условиям. Кроме того, при помощи PHP-цикла запускается итерационный процесс обработки извлеченного из БД набора данных. Выбранная информация с использованием встроенных функций echo() и print() печатается на итоговой HTML-странице. Необходимый для этого текст PHP-сценария состоит всего из шести строк. Конечный пользователь увидит только HTML-страницу со списком имен и адресов, так как весь программный PHP-код заранее обрабатывается на сервере.
Более сложным Web-приложениям, особенно полномасштабным Web-клиентам, которые идут на замену существующим традиционным, или “толстым” клиентам, требуется уже применение сеансов. Технология ASP уже давно определила концепцию сеанса, и в PHP4 она теперь тоже реализована. При использовании сеансов не нужно постоянно записывать и считывать специальные маркеры (cookies) для выяснения того, где побывал данный пользователь, — необходимая информация сохраняется в соответствующей переменной сеанса. Эти переменные вместе с уникальными идентификаторами сеанса позволяют писать сложные приложения, которые, выполняя запросы пользователей, одновременно отслеживают их действия.

IIS и Visual Studio фирмы Microsoft
Платформа Microsoft обладает наилучшим набором средств разработки, но и наименьшей надежностью. И тем не менее если вы работаете в организации, использующей продукцию Microsoft, а ваши клиенты и серверы работают под управлением Windows, то, вероятно, вы выберете IIS и Visual Studio. Данный тандем позволит вам разрабатывать самые сложные Web-приложения.

Крупные клиент-серверные приложения IIS, как правило, имеют трехуровневую архитектуру. Уровень представления разрабатывается с помощью HTML, Java-аплетов и JavaScript. Средний уровень строится средствами Active Server Pages (ASP) и ActiveX (Dynamic Link Libraries). А серверная СУБД, например MS SQL Server, содержит обычно таблицы, хранимые процедуры и представления. IIS силен своим средним архитектурным уровнем. Компоненты ActiveX разрабатываются с помощью поставляемого отдельно пакета Visual Studio 6.0, в который входят Visual Basic, Visual C++ и Visual J++. Средства этого крупномасштабного пакета сред разработки позволят вам разрабатывать компоненты ActiveX, которые вызываются из ASP-кода и устанавливают связь с серверной базой данных. ASP — это уже не просто язык, а скорее базовая связующая среда, позволяющая подключать любые совместимые машины сценариев серверной стороны. Так, для написания ASP-кода мы с успехом использовали машину сценариев фирмы PerlScript, но ниже мы сосредоточим свое внимание на VBScript, который встроен в IIS. Клиентский браузер никогда не видит ASP-код, так как он обрабатывается на Web-сервере (в данном случае это IIS), а результирующая Web-страница передается браузеру. ASP легко использовать для простых примеров, однако применение его в более сложных проектах уже становится трудоемким.

Реализация компонентов ActiveX средствами Visual Basic позволяет программистам пользоваться знакомым им синтаксисом и для сценариев ASP, и для компонентов ActiveX. Несмотря на свою простоту, язык Visual Basic представляет собой довольно мощное средство разработки. Интегрированная среда разработки (Integrated Development Environment — IDE) Visual Basic значительно более зрелая, чем практически любая другая среда, предлагаемая сегодня для Web-разработки серверной стороны. Она обеспечивает тесную интеграцию с Visual Source Safe — средством контроля исходного кода, являющегося частью пакета Visual Studio. Отладчик у Visual Basic просто великолепный: он позволяет разработчикам возвращаться к уже пройденной точке исполнения программы (roll back), пропускать отдельные операторы (skip statements) и модифицировать программный код на лету.
Управление базой данных и установление с ней соединений, выполнение запросов к базе данных, обработка полученных в результате наборов данных — все это невероятно просто сделать средствами Visual Basic. Например, для компонентов установления соединения с базой данных требуется всего две-три строчки кода ADO (ActiveX Database Objects). Компоненты ActiveX могут получать большие массивы результатов и сохранять их в динамических структурах данных. К этим массивам данных может быть применена сложная бизнес-логика, что облегчает разработку интеллектуальных приложений. ASP, выступая в роли моста между браузером и компонентами ActiveX, увязывает бизнес-логику с пользовательским интерфейсом. IIS и ASP также позволяют управлять сеансом посредством задаваемых пользователем переменных, время жизни которых ограничивается продолжительностью сеанса. А сеанс заканчивается, как только вы закрываете свой браузер или же программным путем явно обнуляете все переменные сеанса. Управление сеансом оказалось настолько удачной идеей, что в последней бета-версии PHP и в Enterprise Server фирмы Netscape оно уже фигурирует в качестве встроенного средства.

Если вам не нужна многоуровневая архитектура и не требуется согласовывать между собой компоненты для разных платформ, то подойдет ASP-код, который сможет напрямую устанавливать ADO-соединения с базами данных. Параметры этих соединений будут храниться в переменных приложения или сеанса, что позволит вам построить законченное и относительно надежное приложение, работающее с базами данных, используя только HTML и ASP.
Однако надежность технологии ASP напрямую связана с Windows, поскольку она не предназначена для работы в какой-либо другой среде Web-разработки. В отличие от более зрелых ОС сервер под управлением NT может оказаться неожиданно парализованным из-за небольших изъянов в логике приложения. Выбирая данную среду разработки, вы обрекаете себя на жизнь, полную приключений.

Netscape Enterprise Server фирмы Netscape и язык Java

Если вы тесно связаны с Java, то лучше всего вам подойдет Netscape Enterprise Server (NES), который поддерживает самые современные Java-технологии, включая серверные приложения Java, Java Server Pages (JSP) и Server Side JavaScript. Документация фирмы Netscape, когда дело касается ее собственных технологий, очень обширна. Язык же Java все еще находится в процессе развития, и поэтому относящаяся к нему документация не соответствует тому уровню, на котором должно осуществляться программирование критически важных задач на серверной стороне, но в этом недостатке нельзя упрекать серверы Netscape. Когда технология Java для сервера станет более зрелой, NES окажется на голову выше остальных в плане поддержки различных возможностей Java для разработки приложений серверной стороны.

В продукте NES предлагается самый широкий набор опций для разработчиков Web-приложений, включая CGI для форм различной сложности, Netscape API (NSAPI) для представления более сложной пользовательской информации, серверные приложения Java, JSP и Server Side JavaScript. Вооружившись средствами Java, JavaScript и HTML с целью разработки внешнего интерфейса, программисты посредством NES смогут строить приложения любой сложности.
Представители фирмы Netscape порекомендовали нам, чтобы для организации взаимодействия с базами данных мы использовали JSP, серверные приложения Java и JDBC API. Для разработки Java-кода программистам необходимы средства, не входящие в NES. Такие средства поставляются по большей части компанией Sun Microsystems, к ним относится, например, Java Development Kit (JDK). Фирмы Sun и Netscape работают в тесном контакте над внедрением Java-решений в серверы Netscape.

Популярность Java как языка программирования начиналась с концепции “пишется однажды — работает везде” для клиентов, а сейчас Java чувствует себя как дома и на сервере. Комбинация из Java на сервере и Dynamic HTML на клиенте обещает стать превосходным тандемом для решения самых различных задач.
Поддерживаемые NES опции на серверной стороне позволяют программисту выбирать уровень сложности приложения и доступную функциональность. Отныне он более не ограничен какой-либо одной технологией Java, поскольку может сам свободно комбинировать JSP с серверными приложениями Java и JavaBeans.

Однако тернисты пути Java на серверной стороне. Для создания простейшей программы типа “Hello World” на ASP или PHP нам достаточно было написать одну-две строки, а вот переписать ее в виде серверного приложения Java оказалось задачей куда более утомительной. После того как программный код написан, вы должны его откомпилировать и разместить в специальном, заранее сконфигурированном каталоге для серверных приложений. Имеющиеся средства написания серверных приложений Java очень разные — от SDK фирмы Sun, базирующегося на командной строке, до более проработанных с точки зрения интегрированной среды разработчика, таких, как Visual Cafeў фирмы Symantec и Visual Age for Java компании IBM.

Технология JSP, как и ASP, представляет собой смесь HTML со специальным синтаксисом сценариев, обрабатываемых на серверной стороне и выглядящих как чистый HTML для клиентов. В этом языке сценариев нет ничего особенно привлекательного, хотя компоненты JavaBeans могут выделить его среди прочих. В среде NES вы сможете разрабатывать сложные приложения при помощи JSP, благодаря которой компоненты Enterprise JavaBeans будут защищаться на серверной стороне. Это позволит вам облегчить процесс разработки и снизить вычислительную нагрузку на клиентскую часть. NES поддерживает JavaScript для серверной стороны, однако код должен быть заранее откомпилирован на сервере, причем для его работы требуются специальные установки и конфигурирование. Инструментарий JSP, работа которого во многом похожа на ASP и PHP, скорее всего, вообще избавит разработчиков от необходимости в использовании JavaScript.

Источник: http://www.ccc.ru/

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты