Рефераты. Технологии программирования Web

работающая на Internet Information Server (US), заметно упрощающая

написание кода для создания HTML-страниц. ASP.NET предлагает новый, не

зависимый от языка способ создания кода и привязки его к запросам Web-

страниц, — .NET Web Forms — управляемую событиями программную модель

взаимодействия с элементами управления. Она делает программирование Web-

страниц аналогичным программированию форм Visual Basic. ASP.NET содержит

развитые средства управления сеансами и функции защиты. Она надежнее, и

производительность ее значительно выше в сравнении с ASP. Microsoft .NET

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

функции любому клиенту на любой машине с любой ОС.

По мере расширения Web и увеличения потребностей пользователей Web-

разработчикам потребовались совершенствование двух ключевых свойств

исполняющей среды: простоты программирования и качества выполнения. ASP.NET

и явилось таким усовершенствованием. ASP.NET похожа на оригинальную ASP и

большая часть кода может быть переведена на нее практически без изменений.

Но внутренняя реализация ASP.NET полностью переделана с тем, чтобы

задействовать возможности .NET Framework.

ASP.NET отделяет HTML от алгоритмов, создавая фоновый код (code-behind).

Вместо того чтобы перемешивать HTML с кодом, код пишется в отдельном файле,

на который есть ссылка на ASP-странице. В результате такого разделения

Microsoft смогла усовершенствовать среду разработки и отладки Visual

Studio.NET, которая используется при разработке Web-приложений.

JAVA-servlets

Сервлеты - это высокопроизводительные платформо-независимые server-side-

пpиложения, написанные на Java и составляющие реальную конкуренцию таким

технологиям, как CGI, PHP3, Perl, и уж конечно ASP.

Java-сервлеты были созданы в Sun. Сервлеты похожи на CGI-сценарии тем, что

это код, создающий документы. Тем не менее, сервлеты, поскольку они

используют Java, должны быть скомпилированы перед запуском как классы,

которые динамически загружаются веб-сервером при запуске сервлетов.

Интерфейс отличается от CGI. JavaServer Pages или JSP - это другая

технология, позволяющая разработчикам встраивать Java в веб-страницы,

наподобие ASP.

К преимуществам сервлетов можно отнести:

a) Исключительно высокая скорость работы.

Быстpодействие сервлетов объясняется тем, что они, во-пеpвых, пpедставляют

собою уже скомпилиpованный и оптимизиpованный код (а в случае с JIT-ом -

ещё и пpеобpазованный в машинный) и, во-втоpых, выполняются в единожды

загpуженной и инициализиpованной Java-машине.

Таким образом, экономятся ресурсы на запуск обработчика/паpсеpа скpипта,

необходимые, например, для Perl или PHP3 (в некоторых ОС, в частности, в

OS/2 - это очень серьезная экономия), и ресурсы (как память, так и время),

затрачиваемые на непосредственно предкомпиляцию (интерпретацию) кода (что

необходимо для тех же Perl, PHP, REXX).

Реально обе этих проблемы сразу не решаются, практически, нигде. Hаибольший

эффект даёт, пожалуй, внедрение транслятора скpиптового языка

непосредственно в веб-сеpвеp, например, пресловутые .asp-скpипты в серверах

от Microsoft, или модули mod_perl или mod_php для apache. (Последний

вариант - PHP3, внедренный в апач - является, наверное, самым

производительным из всего вышеперечисленного).

b) Переносимость.

В данном случае принцип "write once run everywhere" действует безотказно.

Сервлеты, написанные в соответствии со спецификацией от Sun и не

использующие какие-то особенности конкретного веб-сервера, работают безо

всякой переделки или перекомпиляции под любыми, порой весьма далёкими друг

от друга платформами, будь то Solaris, FreeBSD или OS/2. В связи с этим

разработчик может совершенно свободно выбирать, в какой системе ему удобнее

работать - он ни коим образом не привязан ни к серверу, ни к будущей

целевой платформе.

c) Работа с базами данных.

Работа с реляционными СУБД из Java унифицирована (для этого существует

специальный пакет java.sql), удобна и отвязана от специфичных для

конкретной СУБД тонкостей. Всё, что Вам нужно - это найти для своей СУБД

JDBC-дpайвеpы (а они сейчас существуют практически для всех совpеменных баз

данных, зачастую даже по нескольку pазновидностей), и далее можно

пользоваться совеpшенно стандаpтными механизмами.

А при переходе на другую СУБД, например, c MySQL на Oracle, достаточно

будет просто добавить в CLASSPATH новый драйвер и поменять URL для

подключения к другой базе. Ни одного изменения в коде

d) Перспективность, современность технологий.

Конечно, есть у этой технологии и недостатки. Как технические: например,

высокие требования к системным ресурсам - в основном, к памяти (под OS/2,

например, запущенная Java-машина занимает 15-20 мегабайт оперативной

памяти) или необходимсть в качественной устойчивой реализации Java для

выбранной платформы, так и иного плана: такие как отсутствие должной

квалификации как у разработчиков, так и, зачастую, у тех, кто принимает

решения, их устоявшиеся предубеждения и многое другое...

Технология pаботы сеpвлет-сеpвеpа.

Итак, как же работают сервлеты. Рассмотрим это на примере модуля JServ к

веб-серверу apache.

В момент старта сервера вместе с ним стартует и ява-машина с так называемым

servlet-wrapper'ом или средой, в которой в дальнейшем и предстоит

исполняться сервлетам. Строго говоря, JServ - это и есть та самая среда. Он

целиком написан на Java и занимается непосредственно загрузкой и

исполнением сервлетов, следуя спецификации Sun, а также обменом данными с

собственно веб-сервером. В последнем для этого должен присутствовать

специальный модуль mod_jserv (его необходимо добавить при компиляции и

сборке apache, или подключить в виде внешнего модуля).

При получении запроса на документ, приходящийся на специально оговоренный

URL или каталог (обычно это что-нибудь вроде /servlets/), apache с помощью

модуля mod_jserv передает этот запрос JServ'у, который определяет, какой

сервлет должен этот запрос обработать, загружает этот сервлет (если он ещё

не был загружен) и затем возвращает веб-серверу тот текст или поток данных,

который был сформирован в результате работы сервлета.

Изначально сервер "пуст" - при его старте сервлеты обычно не загружаются

(хотя есть возможность принудительно инициализировать нужные сервлеты при

старте сервера). При появлении запроса нужный сервлет ищется в списке уже

загруженных и, при необходимости, стартуется и инициализируется. После

этого он остается постоянно загруженным в Java-машине (и

предкомпилированным, если Java-машина содержит JIT) и при последующих

запросах просто вызывается соответствующий его метод для их обработки.

Преимущества такой идеологии очевидны. Функционально это аналогично вызову

простой подпрограммы внутри обычного сервера и проиходит очень быстро и

эффективно. Кроме того, заметный выигрыш дают такие вещи, как единожды

проведенная инициализация, возможность хранения глобальных данных или

поддержка множественных клиентских сессий, ведущаяся самим сеpвеpом (а не

сеpвлетами, pазpаботчики котоpых в значительной степени избавлены от

изобpетания велосипедов). Например, можно установить одно единственное

соединение с базой данных, и пользоваться им при обработке запросов -

немалая экономия, учитывая то, что из тех же скриптов на perl или php

приходится каждый раз создавать новое соединение, восстанавливать параметры

сессии и т.п.

Конечно же, существует возможность принудительной выгрузки отдельных

сервлетов из памяти в случае необходимости, а также возможность

автоматического распознавания изменения сервлетов и их перезагрузки. Иными

словами, при обновлении того или иного сервлета нет необходимости

перезагружать весь веб-сервер или JServ, достаточно просто положить новую

версию на место старой, и она будет автоматически загружена в память при

следующем запросе (естественно, при этом будет сначала произведено

корректное завершение работы старой версии, путём вызова специального

метода, а затем загрузка и инициализация новой).

Пакет Cold Fusion от Macromedia

Пакет предназначен для использования под ОС Windows и позволяет обращаться

к различным базам данных, поддерживающим интерфейс ODBC через WWW-

интерфейсы. Пакет имеет коммерческий статус, его "evaluation copy" является

свободно-распространяемой. Для доступа к базам данных используются

конструкции языка DBML - расширения языка HTML, дополненного средствами

доступа к БД через ODBC. Документы на языке DBML обрабатываются на

серверной части, в результате чего создается HTML-документ.

Пакет может эффективно использоваться в качестве обработчика запросов WWW к

исходным базам данных или информационному хранилищу.

ColdFusion от Macromedia в большей степени чем РНР различает страницы с

кодом и HTML-страницы. В HTML-страницах могут быть дополнительные теги,

вызывающие функции ColdFusion. В ColdFusion доступны несколько стандартных

функций, и разработчики могут создавать собственные функции как расширения.

ColdFusion был первоначально написан для Windows, но теперь доступны версии

и для Unix. Интерпретатор ColdFusion встроен в веб-сервер.

Технология ActiveX

ActiveX - технология Microsoft, предназначенная для написания сетевых

приложений. Она предоставляет программистам наборы стандартных библиотек,

значительно облегчающих процесс кодирования. Если раньше при написании

программ использовались механизмы OLE (OLE Automation, OLE Documents, OLE

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.