Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билеты общего блока.doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
215.55 Кб
Скачать
  1. Современные технологии разработки web-приложений. Принципы использования субд в web-приложениях.

Все технологии, применяемые при создании веб-систем, делятся на два основных класса: исполняемые на клиенте средствами обозревателя Интернет (HTML, CSS, JavaScript, Flash, ActiveX и т.п.) и исполняемые на сервере средствами веб-сервера (SSI, PHP, ASP, Perl, Python и т.п.) и связанных с ним систем (MySQL, PostgreSQL, MSSQL и т.п.). Приложения, исполняемые на сервере, практически ничем не ограничены по сложности: могут выполнять любые преобразования информации и затем формировать поток данных, который может быть визуализирован пользователю обозревателем Интернет. Соответственно форматы данных, которые могут быть обработаны на клиенте, ограничены достаточно узким набором технологий, стандартов и определенными рамками, что позволяет унифицировать рабочее место пользователя и не требовать от него установки какого-либо дополнительного программного обеспечения кроме обозревателя Интернет.

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

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

для получения информации необходим физический доступ к соответствующей СУБД;

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

требуется умение пользоваться языком запросов к БД.

Каковы возможности взаимодействия Web-приложений и СУБД? С одной стороны, технологии Internet/Intranet имеют удобный язык разработки распределенных гипертекстовых документов, включая простые, удобные, развитые и унифицированные интерфейсы для доступа к информации. С другой стороны - наличие большого количества ценных баз данных, управляемых разнородными СУБД, а также стремление увеличить доступность данных для корпоративных пользователей. Возникает естественное желание скрестить эти две технологии и обеспечить доступ к базам данных в интерфейсе Web. Еще два года назад существовали только идеи такого скрещивания и не очень тщательно разработанные подходы к реализации. На сегодня имеется два класса механизмов такого взаимодействия: 1) обеспечивающие доступ к БД (по запросу клиента) на стороне Web-сервера; 2) работающие непосредственно на стороне клиента.

Механизм доступа к БД на стороне сервера реализуется за счет наличия стандартизованных средств:

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

возможности запуска серверных программ, взаимодействие которых происходит через стандартный интерфейс CGI или прикладные интерфейсы Web-сервера.

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

Доступ к базе данных на стороне клиента

Видимо, наиболее мощные средства обеспечения доступа к базам данных на стороне Web-клиента обеспечивает язык Java. Java - это объектно-ориентированный язык программирования, являющийся, по сути дела, "безопасным" подмножеством языка С++.

Для обеспечения доступа к базам данных на стороне Web-клиента наиболее существенно наличие языка Java. Технология разработки HTML-документа позволяет написать произвольное количество дополнительных Java-программ, откомпилировать их в мобильные коды и поставить ссылки на соответствующие коды в теле HTML-документа. Такие дополнительные Java-программы называются апплетами (Java-applets). Получив доступ к документу, содержащему ссылки на апплеты, клиентская программа просмотра запрашивает у Web-сервера все мобильные коды. Коды могут начать выполняться сразу после размещения в компьютере клиента или быть активизированы с помощью специальных команд.

Для взаимодействия Java-апплета с внешним сервером баз данных разработан специализированный протокол JDBC, который, фактически, сочетает функции шлюзования между интерпретатором мобильных Java-кодов и ODBC, а также включает ODBC.

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

Использование Java-апплетов, вообще говоря, обеспечивает более гибкое решение. Апплет - это часть HTML-документа. Для включения нового апплета нужно всего-навсего перекомпоновать документ. Web-cервер трогать не нужно.

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