Технологии ASP

Содержание

Список используемых сокращений………………………………………..2

Введение……………………………………………………..………………3

1. Общие сведения о технологиях ASP…………………..………………..5

1.1 Принципы функционирования............................................................... 6

1.2 Используемые средства  для программирования…….……………….7

1.3. Модель Active Server Pages…….…………………………...………….8

2. История технологий ASP…………………………………….…..............9

3. Общие сведения о технологиях ASP.NET……………………………..13

3.1 Преимущества ASP.NET перед ASP……………………….…………13

3.2 Процесс создание web-сайта на платформе ASP.NET…….…..….…14

3.3 Использование дополнительных средств………….…………………15

Заключение……………………………………………………………..…..17

Список литературы…………………………………………………...……19

































Список используемых сокращений 

		ASP -  Active Server Page 

		CGI - Common Gateway Interface 

		ISAPI - Internet Server Application Programming Interface 

		HTML - Hypertext Markup Language 

		COM - Component Object Model 

		ADO - ActiveX Data Objects 

		MTS - Microsoft Transaction Server

		IIS - Internet Information Server

		MMC - Microsoft Management Console

		RDO - Remote Data Objects 

		DAO - Data Access Objects 

		FPSE - FrontPage Server Extensions 

		NGWS - Next Generation Web Services 

		CLR - Common Language Runtime 

		CMS - Content Management Software или Content Management System





























Введение

Существует два способа создания активного сервера Web на базе Microsoft Internet Information Server — с применением программ расширения CGI или ISAPI либо с помощью активных серверных страниц ASP.

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

Главный недостаток этого способа заключается в сложности разработки и отладки программ расширений сервера Web, что значительно замедляет процесс разработки больших и сложных проектов. Особенно тяжело при этом сопровождать проекты, которые постоянно изменяются.

Что же касается активных серверных страниц ASP, то они значительно проще, хотя позволяют решать те же самые задачи, что и программные расширения сервера Web. Страницы ASP представляют собой текстовые файлы с конструкциями языка HTML и сценариями, составленными на таких языках программирования, как JScript и VB Script. Фактически, если пользователь уже владеет этими языками программирования, изучение технологии ASP пройдет очень быстро.

Возможность составления серверных приложений с применением высокоуровневых языков сценариев и технологии компонентов COM значительно упрощает создание сложных приложений Web. При этом от разработчика не требуется глубокого понимания тонкостей программирования на уровне интерфейса операционной системы или прикладных интерфейсов базы данных. Все разработки ведутся в терминах интерфейсов и свойств высокоуровневых компонент COM.

Cценарии, расположенные в страницах ASP, могут быть серверными и клиентскими. Серверные сценарии выделяются специальным образом и исполняются на сервере, в то время как клиентские сценарии работают на компьютере пользователя под управлением браузера, например Microsoft Internet Explorer. 

Результатом работы серверных сценариев ASP является динамически формируемый текст документа HTML, отсылаемый пользователю. Этот текст загружается в окно браузера. Если сформированный документ HTML содержит клиентские сценарии, они будут выполнены браузером.











































1. Общие сведения о технологиях ASP 

Active Server Page – активные серверные страницы  – язык программирования, используемый для создания динамических веб-страниц, обрабатываемых на стороне сервера. 

Динамические  страницы – это такие страницы, содержимое которых изменяется в зависимости от действий пользователя. Напротив, статические страницы выглядят всегда одинаково, независимо от того, кто и когда ее просматривает. Первоначально все страницы были статическими, однако развитие Интернета вызвало потребность в предоставлении быстро меняющейся информации. Самые простые примеры – курсы валют, прогнозы погоды, обновляющиеся новости. Сложные – это интернет-магазины, on-line издания. Так, система Яндекс определяет географический адрес Вашего IP и предлагает поиск, карту и другие сервисы, актуальные для Вашего региона. 

С ростом потребности в динамически изменяемых web-страницах стали появляться и технологии их создания, одним из которых и стала технология ASP. 

ASP — технология от Microsoft, позволяющая легко разрабатывать приложения для World Wide Web. ASP работает на платформе операционных систем линии Windows NT и на веб-сервере IIS. ASP не является языком программирования — это лишь технология предварительной обработки, позволяющая подключать программные модули во время процесса формирования Web-страницы. Относительная популярность ASP основана на простоте используемых языков сценариев (VBScript или JScript) и возможности использования внешних COM-компонент.

Технология ASP предполагает широкое использование серверных сценариев и объектов СОМ для создания динамических web-серверов. Средствами технологии ASP можно легко создавать интерактивные web-страницы, выполнять обработку данных введенных пользователем через формы, обращаться к базам данных. 

Наиболее интересными и полезными качествами, которыми нас привлекает технология ASP, можно считать: 

		удобный способ объединение серверных сценариев c HTML; 

		скриптовый подход (интерпретируемый язык) – т.е. файл с исходным кодом ASP одновременно является его исполняемым файлом, что упрощает процессы разработки и поддержки; 

		концепция "Session" – переменные для каждого пользовательского соединения, как удачное решение вечной проблемы stateless-протокола HTTP; 

		возможность организации распределенной архитектуры на основе инфраструктуры COM, DCOM, COM+. Дополнительные возможности, предоставляемые MTS – такие, например, как контекст объектов, пул и т.д.; 

		удобный набор объектов-утилит: Server, Application, Request, Response, Session, ObjectContext. 

	Пользователь не может каким-либо образом получить содержимое страницы ASP, так как web-сервер отправляет ему не саму страницу, а результат ее интерпретации, таким образом, логика работы страницы скрыта от пользователей. Для просмотра требуется www-браузер, такой как Netscape Navigator, или Microsoft Internet Explorer. 

1.1 Принципы функционирования

Использование ASP не требует специфичных браузеров. Все ASP-скрипты запускаются и выполняются на веб-сервере, причем браузер получает только результирующие HTML-файлы. Microsoft Internet Information Server, начиная с версии 3.0, поддерживает Active Server Pages. 

Функционирования ASP имеет следующую последовательность. Клиент запрашивает ASP-страницу на веб-сервере. Сервер принимает запрос и начинает его обрабатывать. По расширению файла (".asp") определяет, что данный файл содержит ASP-скрипт и начинает анализировать его содержимое, последовательно интерпретируя и выполняя вставки ASP-кода. ASP-код, в свою очередь, может содержать обращения к различным источникам данных, осуществлять обработку полученных данных и добавлять содержимое генерируемой страницы. В результате формируется "обычная" HTML-страница (уже не содержащая ASP-кода), которая и отправляется обратно клиенту. 

Внешне ASP функционирует также как CGI. При передаче данных от клиентской формы серверу, последний кодирует входные данные, а сценарий CGI декодирует их, а затем функционально обрабатывает и возвращает выходные данные браузеру. 

Аналогичным образом передаются параметры (формат строки запроса) и осуществляется вывод результатов. Однако производительность ASP оказывается гораздо выше, т.к. при каждом запросе не происходит отдельной загрузки ASP-интерпретатора. Использование компонент ActiveX также значительно повышают производительность веб-сервера. 

Помимо повышения производительности ASP решают также проблему оформления динамических web-страниц. Ранее при использовании CGI приходилось либо встраивать текст оформления web-страницы в программный код CGI-сценария, что затрудняло дальнейшее изменение дизайна, либо вынуждало разработчиков создавать свои собственные системы шаблонов. Использование ASP позволяет разработчику одновременно работать над программным кодом и над оформлением Web-страницы. 

1.2 Используемые средства  для программирования 

Web – нормальная среда программирования, если правильно понять, что есть что. В VBScript есть все нормальные конструкции структурного программирования (if, while, case, etc). Есть переменные (описывать не обязательно, тип явно не задается). Поддерживаются объекты. Работа с ними обычная – Object.Property, Object.Method. Есть ряд встроенных объектов (Request, Response, Session, Server, Connection, Recordset). Можно доустанавливать другие компоненты (скачивать, покупать, программировать), например для работы с электронной почтой. 

1.3 Модель Active Server Pages

В ASP процесс создания веб-приложений, как уже говорилось выше, значительно упрощен по сравнению с другими приложениями. Достаточно знаний какого-либо языка сценариев, например, VBScript или JavaScript. ASP может использовать сторонние COM-объекты (ActiveX для работы с файлами, отправки писем …), в т.ч. самой операционной системы Windows. Это значительно расширяет возможности ASP-страниц. 



Рисунок 1. Схема модели ASP

Когда клиент запрашивает ASP-файл, веб-сервер отправляет ASP-файл в обработчик ASP (файл asp.dll), где код сценария выполняется на стороне сервера и преобразуется в HTML-код. Затем, полученный HTML-код отправляется веб-клиенту. Простое копирование серверных сценариев клиентом невозможно, поскольку обозревателю передаются только результаты их выполнения. 













2. История технологий ASP

Когда технология ASP появилась на свет в ноябре 1996 года, она сразу же была оценена как удобный способ создания динамических Web-страниц. В то время широко использовались стандарт CGI  и язык Perl, но ASP быстро завоевала популярность по четырем причинам: 

		простота доступа к данным, 

		простота проектирования страниц,

		возможность взаимодействия с технологией СОМ

		относительная легкость изучения для программистов, знакомых с языком Visual Basic.

   Во-первых, если бы ASP была выпущена без объектов доступа к данным ADO, то, скорее всего, она не завоевала бы признание так быстро. Технология ADO заменила технологию RDO, которая, в свою очередь, пришла на смену технологии DAO. Microsoft пропагандировала ADO как наиболее предпочтительный метод доступа к базам данных. Объектная модель ADO была существенно упрощена по сравнению с предшественниками.

   Во-вторых, одновременно с выходом ASP 1.0 увидел свет первый комплект приложений для Microsoft Visual Studio, включавший, в частности, программу InterDev 1.0. Этот инструмент предоставлял широкие возможности (особенно для первой версии) и пользовался серверными расширения FPSE для упрощения работы по сопровождению Web-сайтов, в результате чего отпала необходимость в отдельном FTP-клиенте. Технология Intellisense для СОМ (автоматическое предложение списка свойств и методов объявленного объекта после ввода его имени) и наличие встроенных объектов ASP и элемента управления для доступа к данным сделали этот редактор весьма популярным, даже несмотря на некоторые недостатки. Например, его графический редактор был основан на ранней версии программы FrontPage.

   Без ASP не сложился бы рынок компонентов от сторонних фирм, который сейчас оценивается во много миллионов долларов в год. Конечно, это был не единственный фактор, поскольку рынок компонентов для Visual Basic возник еще до революции, ознаменованной появлением технологии СОМ, но, именно ASP и СОМ позволили некоторым компаниям неплохо заработать на продаже готовых компонентов для Web-серверов. До появления ASP 1.0 приобрести готовые компоненты и встроить их в Web-сайт могли разве что самые квалифицированные программисты.  Предоставив такую возможность широким массам, ASP открыла совершенно новый рынок для поставщиков компонентов, которые продолжают выпускать мощные инструменты, легко интегрируемые с ASP-приложениями.

  Четвертая особенность ASP, немало способствовавшая ее популярности, использование VBScript как языка программирования по умолчанию. Благодаря этому многие программисты, уже знакомые с языком Visual Basic, смогли быстро освоить программирование для ASP. Кроме того, Microsoft предоставила возможность использовать и другие языки от сторонних фирм, и очень скоро код для ASP стало можно писать и на Perl.

   Но, несмотря на все перечисленные достоинства у ASP 1.0 были существенные ограничения. В частности, необходимо было перезапускать Web-сервер после каждого обновления используемых DLL (a COM-объекты физически хранятся в DLL-файлах). При переходе к версии ASP 2.0 эта проблема, а также ряд других, связанных с безопасностью и производительностью, были решены, но самым крупным достижением стало появление сервера транзакций MTS. ASP 2.0 поставлялась в составе Web-сервера IIS 4.0, a MTS 1.0 - в составе бесплатного пакета дополнений Windows NT 4 Option Pack.

   Вместе с IIS 4.0 был представлен новый интерфейс управления - MMC, который применялся для администрирования IIS 4.0 и MTS. Сервер транзакций сильно упростил жизнь всем, кто разрабатывал или использовал компоненты СОМ. Он управлял инсталляцией и деинсталляцией компонентов, позволял избегать перезагрузки Web-сервера (а иногда и всей машины), а также снимал с разработчика обязанности по управлению транзакциями. Кроме того, он выступал в роли объектного брокера, осуществляя эффективное кэширование экземпляров объектов и выдавая их по запросу. Эта техника потребовала создания объектов «без состояния», поскольку только так можно было обеспечить эффективное повторное использование. Кроме того, новые версии ADO расширили возможности работы с удаленными данными, для чего, в частности, применялись XML-потоки.

   В феврале 2000 года Microsoft выпустила IIS 5.0 в составе операционной системы Windows 2000. Вместе с IIS 5.0 поставлялась уже версия ASP 3.0, a MTS был заменен на сервисы СОМ+. По существу, СОМ+ объединил функциональность MTS со службами очередей сообщений, a ASP приобрела дополнительные возможности, в том числе несколько новых методов и свойств встроенных объектов. Основные различия между ASP 2.0 и ASP 3.0 заключались скорее в поддержке сервисов СОМ+, нежели в самом языке. Всякий, кто умел писать на VBScript для ASP 1.0 в среде InterDev 1.0, не испытывал никаких затруднений при работе с IIS 4.0 или IIS 5.0. Но несмотря на все эти преимущества все вышеперечисленные технологии ASP обладали рядом недостатков:

		быстродействие сценариев оставляло желать лучшего, поскольку в основу ASP была заложена интерпретация кода на стороне сервера;

		разработка и сопровождение сценариев затруднялись тем, что представление страницы не отделялось от управляющего кода;

		сложности с масштабированием, поскольку страницы ASP не сохраняли текущее состояние сеанса при переходе на другие серверы web-комплекса или после перезапуска;

		отсутствие нормальной модели безопасности.

Эти и другие проблемы решаются в новой технологии ASP.NET, в которой дело обстоит совершенно иначе.

Сотрудники Microsoft Марк Андерс (Mark Anders) и Скотт Гатри (Scott Guthrie) начали разрабатывать продукт, ставший в конце концов ASP.NET, в начале января 1998 года. В то время технологии ASP было всего год от роду, но уже тогда стали очевидны некоторые присущие ей ограничения. Например, как уже говорилось выше, можно было использовать только сценарные языки. Кроме того, отсутствие компонентной модели ASP затрудняло разработку хороших инструментальных средств для нее. Чередование кода программы с HTML-текстом часто затрудняло совместную работу программистов и дизайнеров над одним проектом. С самого начала ASP.NET проектировалась для преодоления недостатков ASP.

   Марк и Скотт решили строить ASP.NET (тогда она называлась ASP+) в контексте новой среды исполнения NGWS, которая как раз тогда разрабатывалась. Платформа NGWS, которой суждено было превратиться в .NET, предоставляла богатые библиотеки и должна была включить в себя новый язык программирования С#, на котором и написана ASP.NET. ASP.NET (как часть платформы Microsoft .NET) — появился в январе 2002 года. Версии до ASP.NET иногда называют «классическим» ASP. 

Три года спустя, была представлена технология ASP.NET 2.0, которая на данный момент является последней. В новой версии появилось большое количество возможностей, например, использование шаблонов дизайна страниц, упрощенная локализация Web-приложений. Разработчикам удалось повысить скорость разработки сайтов, масштабируемость, легкость поддержки и администрирования сайтов, скорость работы сервера. Шаблоны дизайна, темы и скины позволяют разделить дизайн сайта и его функциональность, темы включают графику и каскадные таблицы стилей. В ASP.NET 2.0 также встроена технология автоматического обновления баз данных. Данные, полученные из базы, хранятся на сервере, при изменении базы данных кэш обновляет свое содержимое. 

 











3. Общие сведения о технологиях ASP.NET

ASP.NET — это технология создания веб-приложений и веб-сервисов от компании Майкрософт. Она является составной частью платформы Microsoft .NET и развитием более старой технологии Microsoft ASP.

Естественно, ASP.NET внешне во многом сохраняет схожесть с более старой технологией ASP, что позволяет разработчикам относительно легко перейти на ASP.NET. В то же время внутреннее устройство ASP.NET существенно отличается от ASP, поскольку она основана на платформе .NET и, следовательно, использует все новые возможности, предоставляемые этой платформой.

Хотя ASP.NET берёт своё название от старой технологии Microsoft, ASP, она значительно от нее отличается. Microsoft полностью перестроила ASP.NET, основываясь на CLR), который является основой всех приложений Microsoft.NET. Программисты могут писать код для ASP.NET, используя различные языки программирования, поддерживаемые в .NET Framework, обычно Visual Basic.NET, JScript .NET или C#, а также «открытые» языки, например, Perl и Python. ASP.NET имеет преимущество в скорости по сравнению с другими технологиями, основанными на скриптах, так как при первом обращении код компилируется и помещается в специальный кеш, и впоследствии только исполняется, не требуя затрат времени на оптимизацию, и т. д.

3.1 Преимущества ASP.NET перед ASP

			Компилируемый код выполняется быстрее, большинство ошибок отлавливается ещё на стадии разработки 

				Значительно улучшенная обработка ошибок времени выполнения, с использованием блоков try..catch 

				Пользовательские элементы управления (controls) позволяют выделять часто используемые шаблоны, такие как меню сайта 

				Использование метафор, уже применяющихся в Windows-приложениях, например, таких как элементы управления и события 

				Расширяемый набор элементов управления и библиотек классов позволяет быстрее разрабатывать приложения 

				ASP.NET опирается на многоязыковые возможности .NET, что позволяет писать код страниц на VB.NET, Delphi.NET, Visual C#, J# и т. д. 

				Возможность кэширования всей страницы или её части для увеличения производительности 

				Возможность кэширования данных, используемых на странице 

				Возможность разделения визуальной части и бизнес логики по разным файлам («code behind») 

				Расширяемая модель обработки запросов 

				Расширенная событийная модель 

				Расширяемая модель серверных элементов управления 

				Наличие master-страниц для задания шаблонов оформления страниц 



3.2 Процесс создания web-сайта на платформе ASP.NET

Начинать создание web-сайта на платформе ASP.NET, как и любого другого, лучше всего с разработки проекта, который должен включать в себя детальное описание функциональности сайта, его архитектуру и примерный дизайн. 

При разработке дизайна, лучше всего использовать Мастер страницы (Master Pages), которые, по сути, являются некоторыми шаблонами страниц сайта. Мастер страницы - одна из самых современных технологий web-программирования, используя их, Вы сможете легко поддерживать единый дизайн сайта. В случае необходимости изменить дизайн будет достаточно отредактировать Мастер страницы для разделов сайта, все остальные страницы, которых может быть несколько сотен или тысяч, изменять не придётся. 

После создания Мастер страниц для разделов сайта, следует перейти к созданию обычных страниц. Категорически не рекомендуется хранить контент сайта внутри обычных ASP страниц, лучше использовать для этого XML - файлы или базу данных. 

Приступая к реализации функциональности сайта, следует тщательно ознакомиться с классами стандартной библиотеки, особенно теми, которые могут быть полезны в каждом конкретном случае. Следуя данному совету, Вы можете существенно сократить время, затрачиваемое на программирование функциональности web-сайта. 

3.3 Использование дополнительных средств

В случае если пользователю необходимо добавить к своему web-проекту некоторые стандартные функции, такие как, например, форум или гостевая, то вполне вероятно имеет смысл использовать готовое решение, а не программировать все самому. 

В последнее время в сети стало появляться большое количество ASP скриптов и различных библиотек классов для платформы Asp.Net 2.0, многие из которых распространяются бесплатно, или стоят существенно дешевле вашего времени, необходимого для реализации подобной функциональности самостоятельно. 

Для ускорения процесса разработки web-проекта, можно взять за его основу, какую либо из свободно распространяемых или коммерческих CMS под платформу Asp.Net 2.0. 

В сети доступны многие библиотеки классов, предназначенные для решения различных задач: 

		SharpZipLib.dll - для обработки заархивированных с помощью алгоритма сжатия zip файлов и потоков 

		HtmlAgilityPack.dll - библиотека, предназначенная для эффектифной работы с Html форматированием. Позволяет легко осуществлять поиск различных тегов, читать и изменять их значения и атрибуты. Прекрасно работает с плохо форматированными html данными, имеющим ошибки в разметке. 

		edtFTPnet.dll - набор классов для работы с ftp, с помощью которых можно просматривать содержимое ftp серверов, загружать и удалять файлы, создавать и переименовывать каталоги, а также выполнять многие другие действия, предусмотренные протоколом ftp.

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

















































Заключение

Active Server Pages - это среда программирования, которая обеспечивает возможность комбинирования HTML, скриптов, и компонент для создания динамических web-приложений. Возможность встраивания в web-страницы скриптов (кода, написанного на языке программирования, например VBScript или JScript) позволяет логичным образом объединить оформление с данными полученными из различных источников, например, из баз данных. 

Идеология создания современных web-приложений заключается в инкапсуляции бизнес-логики в отдельные компоненты, написанные по технологии COM. Технология ASP в данном случае является связующим звеном между этими компонентами и интерфейсом веб-приложения. 

Технология ASP от компании Microsoft перешла на следующую ступень эволюции. На этот раз изменения оказались столь велики, что Microsoft решила присвоить новой версии не очередной порядковый номер (4.0), а включить в название указание на свою новую технологию — ASP.NET (предварительно эта версия называлась ASP+). ASP.NET и каркас .NET в целом изменят технику разработки мощных Internet-приложений больше, чем любая предшествующая версия ASP.

При первом знакомстве с ASP.NET возникает обманчивое впечатление, что перед вами всего лишь очередной способ динамического построения web-страниц. В действительности возможности ASP.NET выходят далеко за рамки того, что можно было сделать традиционными средствами ASP. Хотя ASP.NET сохраняет совместимость с ASP, это совершенно новая и вполне самостоятельная технология. Так, в ASP.NET входят элементы web-форм, которые должны сыграть по отношению к браузерным приложениям ту же роль, что и классические элементы VB для программирования Windows-приложений для любых клиентов — как для браузеров на PC, так и для портативных устройств. Откомпилированный код ASP.NET значительно быстрее работает на сервере; он хорошо масштабируется, использует модель безопасности .NET, поддерживает несколько способов аутентификации и  т.д.

Вероятно, ASP.NET станет первой частью .NET, широко используемой в коммерческих приложениях. Microsoft настолько гордится своими достижениями в области ASP.NET, что помимо перевода некоторых частей своего сайта на эту технологию компания пошла на беспрецедентный шаг, разрешив использование коммерческих приложений на базе ASP.NET бета-версии 2!



		

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	Список литературы

		Марко Беллиньясо Разработка Web-приложений в среде ASP.NET 2.0: задача — проект — решение = ASP.NET 2.0 Website Programming: Problem - Design - Solution. — М.: «Диалектика», 2007.

		Мэтью Мак-Дональд, Марио Шпушта Microsoft ASP.NET 2.0 с примерами на C# 2005 для профессионалов = Pro ASP.NET 2.0 in C# 2005. — М.: «Вильямс», 2007 

			http://www.intuit.ru/department/se/aspdotnet/

			http://www.eureca.ru/education/microsoft/web/asp/

			http://www.activeserverpages.ru

			http://www.helloworld.ru/texts/comp/web/asp/

		http://www.genusa.com/asp 

			http://www.intuit.ru/department/se/aspdotnet/

		http://ru.wikipedia.org

		http://www.citforum.ru/internet/cgi/cgi_prg.shtml

		http://www.ivt.pgati.ru/metods/Inf/El_Uch_Inf_Alekseev/book/9.8.2.htm





.Проверил

Разработал

Лист

Технологии ASP

Подпись





    Дата

26.04.2014



Ф.И.О.



.

 Лист



.

Изм.

1