9 Июнь 2008

10. Апплеты и сервлеты Java как средства расширения возможностей браузера и Web-сервера.

Апплеты и сервлеты Java

Java- это оригинальный язык программирования, разработанный корпорацией Sun Microsystems. Сегодня язык Java быстро становится фактически стандартным языком программирования для сложных Web-приложений. Java является объектно-ориентированным языком программирования со строгим контролем типов, который интересен, прежде всего, возможностью построения Web-приложений, или апплетов (applet), и серверных приложений, или сервлетов (servlet). Java- это простой, объектно-ориентированный, распределенный, интерпретируемый, устойчивый, безопасный, архитектурно-нейтральный, переносимый, высокопроизводительный, многопоточный и динамический язык.

Компилятор Java считывает файл с расширением .java и генерирует файл с расширением .class, который содержит инструкции в виде байт-кода, не зависящего от любой конкретной компьютерной архитектуры. Текст байт-кода одинаково легко интерпретируется на любой платформе или же транслируется в характерные для нее методы. При этом виртуальная машина JVM, входящая в состав обозревателя, может интерпретировать и выполнять байт-код Java непосредственно на любой платформе, для которой созданы интерпретатор и система времени выполнения. Поскольку практически все разработчики Web-браузеров уже лицензировали Java и реализовали в своих продуктах встроенную виртуальную машину JVM, приложения Java могут выполняться на подавляющем большинстве существующих платформ.

Концепция мобильных Java байт-кодов (апплетов) была специально разработана для использования в WWW. Для использования апплетов в язык гипертекстовой разметки HTML был введен тег APPLET, указывающий имя апплета и параметры его вызова. При этом обработка HTML-документов выполняется браузером также, как и при обработке встроенной в документ графики. Сначала запрашивается документ, анализируется его содержание, а потом, если имеются теги APPLET, подгружаются апплеты. После получения всех апплетов они могут быть выполнены. Из этой схемы ясно, что браузер является одновременно и интерпретатором байт-кодов. Используя библиотеку классов, можно разработать эффектные динамические мультимедийные страницы. Кроме того, применение байт-кодов позволяет организовать распределенные процедуры вычислений с использованием различных серверов, с которыми можно взаимодействовать по разным протоколам. Сервлеты, в отличие от апплетов, выполняется на стороне сервера и служат для обработки запросов от обозревателя.

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

написано в рубрике: Базы данных +УБД (Т) — Метки: , , — Михаил @ 21:13

PHP-страницы разрабатываются с помощью одноименного языка обработки сценариев PHP (Personal Home Page tools – средства персональных домашних страниц).

Названная технология включает в себя язык программирования (РНР), интерпретатор этого языка, средства реализации CGI-протокола и библиотеку функций, обеспечивающих доступ к разным ресурсам Интернет. В целом РНР имеет практически те же возможности, что и технология ASP, разработанная фирмой Microsoft. Однако РНР работает не только с узким кругом Web-серверов Microsoft, и в этом несомненное достоинство РНР.

Что касается собственно языка РНР, то это кросс-платформенный интерпретируемый на стороне Web-сервера язык программирования, предназначенный для создания активных Web-страниц. Синтаксис языка РНР основан на принципах построения языков С, Perl, Java. Код скрипта (сценария) на языке РНР встраивается непосредственно в HTML-текст. При запросе клиентом HTML-страницы со скриптом на языке РНР Web-сервер выполняет интерпретацию операторов языка. Обычно указанная интерпретация предусматривает изменение исходного HTML-текста, и этот измененный текст отправляется клиенту.

ASP и PHP-страницы обрабатываются Web-сервером, в результате сервер генерирует Web-страницу, содержащую информацию из БД, которая отсылается обозревателю.

8. ISAPI-сценарии как средство организации взаимодействия сервера и клиента.

написано в рубрике: Базы данных +УБД (Т) — Метки: , , — Михаил @ 21:12

Расширения ISAPI

Интерфейсы ISAPI/NSAPI (Internet Server API/Netscape Server API) предназначены для разработки дополнительных модулей расширения Web-сервера. В случае их использования модули расширения реализуются в виде библиотек DLL. Взаимодействие между сервером и модулем расширения осуществляется с помощью специальных объектов (Request, Response).

Спецификация ISAPI/NSAPI, так же как и CGI, определяет правила взаимодействия между Web-сервером и другими приложениями. Главное отличие ISAPI-расширения от CGI-сценария заключается в том, что приложение ISAPI представляет собой динамически связываемую библиотеку DLL, которая при вызове загружается не как отдельный процесс, а как поток, принадлежащий Web-серверу. Приложения могут принадлежать к двум типам - ISAPI-расширение и ISAPI-фильтр.

Фильтр непосредственно участвует в обработке пользовательского запроса с момента его получения сервером и до момента отправки ответа. Он может модифицировать запрос или ответ, изменить адресата, ответственного за обработку запроса, но он сам не является конечным получателем запроса.

Расширение, наоборот, является адресатом запроса и не может влиять на его параметры и путь обработки. ISAPI-расширения IIS - это альтернатива CGI-приложениям. Расширения (и фильтры) реализуются в виде dll. IIS загружает dll при первом запросе к расширению и выгружает ее либо при выгрузке веб-приложения (если включено кэширование ISAPI), либо после окончания обработки запроса (если кэширование выключено).

Зачем нужны ISAPI-расширения, если есть CGI, ASP и т.д.? Ответ - они быстрее и требуют меньших ресурсов. В отличие от CGI, ISAPI-раширения многопоточны, т.е. для обработки еще одного запроса не требуется загрузки еще одной копии приложения. По сравнению с ASP, они имеют гораздо больше возможностей (использование множества функций Win32 API без необходимости писать для этого COM-объекты) и существенно выигрывают по скорости, т.к. код уже откомпилирован и оптимизирован. Правда, наряду с преимуществами имеются и недостатки, такие как большая сложность программирования и отсутствие поддержки сессий. Тем не менее, ISAPI-расширения наиболее хорошо подходят для написания критичных по времени приложений для IIS.

7. CGI-сценарии как средство организации взаимодействия сервера и клиента.

написано в рубрике: Базы данных +УБД (Т) — Метки: , , — Михаил @ 21:11

CGI-сценарии и приложения WinCGI

Для создания модулей расширения Web-сервера могут использоваться интерфейсы CGI (Common Gateway Interface –общий шлюзовый интерфейс) или интерфейсы программирования API (Appication Program Interface –интерфейс прикладного программирования). Интерфейс CGI является стандартным протоколом взаимодействия между Web-сервером и модулями расширения, которые могут применяться для выполнения дополнительных функций, не поддерживаемых сервером. Например, такие модули используются для обработки получаемой от пользователя информации, для динамического формирования Web-докумкета, публикации БД на Web-странице и т.д. Интерфейсу CGI соответствуют обычные консольные приложения операционной системы DOS. Обмен информацией между сервером и модулем расширения осуществляется с помощью стандартного потокового ввода / вывода, передача управляющих параметров организуется через переменные окружения операционной системы или через параметры URL-адреса модуля расширения.

Существует адаптированный вариант общего интерфейса для среды Windows 3/1 – WinCGI. Этот интерфейс отличается от интерфейса CGI тем, что управляющие параметры передаются через INI-файл, а входной и выходной потоки данных перенаправлены в специальные файлы.

Программу, которая работает по такому интерфейсу совместно с веб-сервером, принято называть шлюзом, многие больше любят названия скрипт или CGI-программа.

Сам протокол разработан таким образом, чтобы можно было использовать любой язык программирования, который может работать со стандартными устройствами ввода/вывода. А это умеет даже сама операционная система, поэтому часто если вам не требуется сложный скрипт, его можно просто сделать в виде командного файла.

Все скрипты, как правило, помещают в директорию cgi-bin сервера, но это совсем даже не обязательно, в принципе скрипт может располагаться где угодно только при этом большинство Web-серверов требуют специальной настройки.

Простым примером может служить скрипт, который при каждом новом обновлении страницы вставляет в нее новую ссылку(баннер) или анекдот. Более сложными скриптами являются гостевые книги, чаты, форумы и естественно поисковые сервера или базы данных построенные на технологиях Интернета.

Применение CGI-программ сопряжено с высокими накладными расходами. В результате извлечение данных из БД выполняется медленно, так как каждый раз при генерации запроса требуется подключение к базе данных. Определенные трудности возникают и при обработке транзакций посредством интерактивных Web-страниц. Например, интерактивная система заказа товаров по каталогу, расположенному на Web-узле, не сможет правильно отследить, какие позиции выбраны покупателем, если связь с БД прервется между двумя запросами на разные виды товаров. А поскольку в такой системе не предусмотрена фиксация транзакций, необработанные запросы просто теряются.

Однако то, что CGI-программы после обработки каждого запроса разрывают связь с базой данных, сильно осложняет деятельность хакеров, так как при отсутствии постоянного подключения к корпоративной системе проникнуть в нее гораздо сложнее. Существенным достоинством этих программ является и то, что связь с Web-сервером устанавливается только на короткий промежуток времени: в результате он не перегружается и может выполнять другие задания.

6. Архитектура Web-приложений, публикующих БД.

написано в рубрике: Базы данных +УБД (Т) — Метки: , — Михаил @ 21:09

Схема функционирования Web-приложения приведена на рис. 3. Web - приложение выполняется на стороне Web-сервера, который находится на Web-узлах сети Интернет. Web-сервер обрабатывает запросы обозревателя на получение Web-страниц и отсылает требуемые данные обозревателю в формате Web-документов. Под Web-документом (Web-страницей) понимают документы , используемые в сети Интернет в форматах HTML, XML, шаблоны в форматах ASP, HTX и т.д.

Обмен данными в сети Интернет осуществляется на аппаратном уровне на основе протокола TCP/IP и протокола более высокого логического уровня HTTP.

Для доступа к Web-страницам используются специальные клиентские программы – обозреватели Web, находящиеся на компьютерах пользователей Интернет. Обозреватель формирует запрос на получение требуемой страницы или другого ресурса с помощью адреса URL. Функции обозревателя заключаются в отображении Web-страниц, сгенерированных сервером или модулями расширения, и отправке запросов пользователя Web-приложению. Обозреватель является связующим звеном между пользователем и Web-приложением. При этом Web-обозреватель устанавливает соединение с требуемым Web-узлом, используя различные протоколы передачи данных, например, HTTP.

Схема функционирования Web-приложения.

© Проект «Студенты-Программеры»., 2008. Все права защищены.
Перепечатка материалов только при наличии активной ссылки на источник.
Powered by WordPress