Автор работы: Пользователь скрыл имя, 05 Февраля 2014 в 19:13, дипломная работа
С распространением сети Интернет возникли «электронные магазины» торгующие самыми различными товарами. По сравнению с обычными магазинами они имеют множество преимуществ, которые способствуют росту доходов в этой сфере торговли.
Целью данного дипломного проекта является рассмотрение принципов и методов публикации БД в Интернет и разработка модели базы данных «Книжный Интернет-магазин», а также реализация информационной системы в виде Web-приложения в архитектуре «клиент-сервер».
1.3.2 Элементы управления ActiveX
Элементы управления ActiveX представляют вид модулей расширения, который может использоваться на стороне клиента или на стороне сервера. Они реализуются с помощью динамических библиотек DLL и могут быть встроены в Web-документ как дополнительные интерфейсные элементы. Механизм работы элементов управления ActiveX позволяет из программного кода этих объектов получать неограниченный доступ к локальным ресурсам компьютера пользователя. Из элемента управления ActiveX имеется возможность передавать на сервер любую информацию с компьютера пользователя. Поэтому использование этих элементов на стороне клиента не всегда оправдано в сети Интернет с точки зрения обеспечения безопасности данных.
В коде объектов ActiveX имеется потенциальная возможность наличия вируса. Если загрузить такой объект, то компьютеру клиента в принципе может быть причинен вред. Для частичного устранения этого недостатка компания Microsoft добавляет в свои коды цифровую подпись (signing), которая обозначает, что данный объект создан надежной компанией. При этом обозреватель Internet Explorer, используя такой объект, выдает предупреждающее сообщение с предоставлением возможности пользователю отменить выполнение кода этого объекта Этот механизм предназначен для идентификации модулей ActivеХ и не устраняет возможность заражения вирусом компьютеров пользователей, использующих объекты ActiveX.
Кроме того, при загрузке текущей Web-страницы, если на ней используются новые элементы управления ActiveX, для их активизации требуется сначала их скачать и установить. А это нарушает принцип универсальности обозревателя. По этим причинам более предпочтительно использовать элементы управления ActiveX на стороне сервера для наращивания его возможностей.
1.3.3 Апплеты и сервлеты Java
Апплеты Java применяются для создания динамически формируемого интерфейса пользователя. Язык Javа является объектно-ориентированным языком с синтаксисом, похожим на синтаксис языка С++. Однако возможности языка Java по доступу к локальным ресурсам пользователей сильно урезаны, что делает его безопасным для использования в сети. Апплеты предназначены для выполнения на любых платформах. Их код интерпретируется виртуальной Java-машиной, входящей в состав обозревателя. Использование такого механизма гарантирует целостность локальных данных пользователей. Для использования апплета на Web-странице применяется специальный тег, позволяющий вставлять объект-апплет в любое место Web-документа Сервлеты, в отличие от апплетов, выполняются на стороне сервера и служат для обработки запросов от обозревателя.
1.3.4 Интерфейсы CGI и WinCGI
Для создания модулей расширения Web-cepвеpa могут использоваться интерфейсы CGI (Common Gateway Interface — общий шлюзовой интерфейс) или интерфейсы программирования API (Application Program Interface — интерфейс прикладного программирования).
Интерфейс CGI является стандартным протоколом взаимодействия между Web-сервером и модулями расширения, которые могут применяться для выполнения дополнительных функций, не поддерживаемых сервером. Например, такие модули используются для обработки получаемой от пользователя информации, для динамического формирования Web-документа, публикации БД на Web-странице и т. ц.
Интерфейсу CGI соответствуют обычные консольные приложения операционной системы DOS. Обмен информацией между сервером и модулем расширения осуществляется с помощью стандартного потокового ввода/вывода, передача управляющих параметров организуется через переменные окружения операционной системы или через параметры URL- адреса модуля расширения. В качестве стандартных устройств ввода и вывода в среде DOS по умолчанию используются клавиатура и терминал (монитор) соответственно. В этом случае вывод на стандартное устройство перенаправляют в буфер, из которого данные с помощью протокола HTTP отправляются Web-обозревателю.
Для запуска модуля расширения достаточно задать его URL-адрес в строке адреса обозревателя и начать загрузку документа. При получении запроса обозревателя к CGI-приложению сервер запускает это приложение и передает ему данные из командной строки запроса. CGI-приложение формирует ответ и помещает его в выходной поток (на стандартном устройстве вывода), затем сервер посылает этот ответ с использованием протокола HTTP обратно обозревателю. В случае параллельной обработки нескольких запросов сервер запускает отдельный процесс для обработки каждого запроса. Причем для каждого процесса создается копия модуля расширения в памяти компьютера, на котором находится Web-cepвep. Поэтому недостатками этого протокола является невысокая скорость обработки запросов и повышенная за грузка Web-cepвepa.
Существует адаптированный вариант общего интерфейса для среды Windows 3.1 — WinCGI. Этот интерфейс отличается от интерфейса CGI тем, что управляющие параметры передаются через INI-файл, а входной и выходной потоки данных перенаправлены в специальные файлы. В остальном механизм взаимодействия с сервером аналогичен механизму, используемому интерфейсом CGI.
1.3.5 Интерфейсы ISAPI/NSAPI
Более перспективными являются интерфейсы ISAPI/NSAPI (Internet Server API/Netscape Server API), разработанные фирмами Microsoft и Netscape соответственно. Они также предназначены для разработки дополнительных модулей расширения Web-cepвepa. В случае их использования модули расширения реализуются в виде библиотек DLL. Запуск модуля расширения выполняется сервером в ответ на запрос обозревателя на загрузку URL-адреса этого модуля. Взаимодействие между сервером и модулем расширения осуществляется с помощью специальных объектов (Request, Response). Сервер передает параметры запроса модулю расширения и получает сформированный Web-документ, который передается с помощью протокола HTTP обозревателю.
При многопользовательском режиме работы сервера загрузка ISAPI- расширения (библиотеки DLL) происходит один раз при первом обращении. При обработке сервером последующих запросов к модулю расширения сервер использует уже загруженный экземпляр динамической библиотеки. Такой механизм взаимодействия сервера и модуля расширения обеспечивает экономию ресурсов сервера и увеличение скорости обработки запросов. Однако при возникновении ошибок в коде модуля расширения сам Web-cepвep аварийно завершит работу (в отличие от интерфейса CGI, при использовании которого в случае возникновения ошибки в модуле расширения сервер может продолжать нормально функционировать). Поэтому для отладки модулей расширения, реализуемых с помощью интерфейса ISAPI, создают аналог модуля на основе интерфейса CGI. При успешной его отладке создают и отлаживают вариант модуля расширения на основе ISAPI.
1.3.6 ASP, РНР иIDС/НТХ-страницы
ASP, PHP u IDC/HTX-страницы — это специальный тип страниц, используемых для динамического формирования на сервере Web-страниц, содержащих информацию из БД.
IDC-страница содержит алиас (псевдоним) БД, или системную запись, используемую операционной системой для связи с базой данных) БД, SQL- запрос к базе данных, идентификатор пользователя и пароль для доступа к БД. НТХ-страница содержит HTML-шаблон, определяющий какую информацию и в каком формате будет иметь результирующий файл. Этот файл поддерживает все теги языка HTML и дополнительные теги для размещения информации из БД.
Активная серверная страница ASP (Active Server Page) содержит одновременно HTML-шаблон и SQL-запрос к БД. В ASP-странице используются средства языка JSciipt и объектная модель ASP, с помощью которых организуется доступ к БД и формируется внешний вид создаваемой Web-страницы. В ASP-страницах, также как в IDC-страницах, поддерживаются все теги языка HTM L и используются дополнительные теги для размещения кода на языке JScript.
PHP страницы разрабатываются с помощью одноименного языка обработки сценариев PHP (Personal Home Page tools — средства персональных домашних страниц). Синтаксис языка РНР напоминает смесь синтаксиса языков программирования С, JAVA и Perl.
ASP, РНР и IDC/HTX-страницы обрабатываются Web-сервером, в результате сервер генерирует Web-страницу, содержащую информацию из БД, которая отсылается обозревателю. Рассмотрим процесс формирования Web- страниц, содержащих информацию из БД.
1.3.7 Формирование Web-страниц
В Интернете информация находится на Web-узлах, на которых для организации взаимодействия с пользователями сети устанавливается специальное программное обеспечение, в том числе Web-сервер. В функции Web-cepвера входит обработка запросов Web-обозревателей пользователей сети. В результате обработки запроса сервер формирует Web-документ, который отсылается Web-обозревателю в формате протокола HTTP.
Самостоятельно Web-ceрвep может отсылать готовые Web- страницы и формировать динамически Web-страницы различными способами. Для формирования динамической Web-страницы, содержащей информацию из БД, дополнительно используются модули расширения серверной части.
В связи с этим различают пассивное и активное состояния Web-ceрвepa. Так, Web-сервер находится в пассивном состоянии, если формируемый им документ содержит статическую текстовую, графическую, мультимедийную информацию и гиперссылки. В таком документе отсутствуют средства ввода и обработки запросов к серверу.
В случае, когда на Web-странице находятся интерфейсные элементы, которые могут в ответ на реакцию пользователя обращаться с запросами к серверу, то сервер переходит в активное состояние. Для публикации БД основной интерес представляет активный Web-cepвep, который реализуется с помощью программных расширений. Для создания программных расширений Web-cepвepa, формирующих на Web странице содержимое БД, используются следующие средства:
Кроме того, для организации связи программных расширений Web-cepвера с БД используются современные интерфейсы доступа к данным OLE DB, ADO и ODBC. Эти интерфейсы являются промежуточным уровнем между источником данных и приложением, в качестве которого выступают программные расширения Web-cepверa.
1.3.8 Web-приложения
Развитие технологий
Интернет вызвало переворот в
индустрии программных
Информационные системы, построенные на основе Web-приложений, характеризуются многоуровневой архитектурой и позволяют использовать все достоинства сети Интернет.
Приложения, реализующие технологию публикации БД в Интернете, составляют отдельный класс Web-приложений, под которыми понимается совокупность Web-страниц, клиентских и серверных сценариев, расположенных на одном или нескольких компьютерах и выполняемых в рамках одной информационной системы (целевой задачи). Для разработки Web-приложений могут использоваться различные комбинации рассмотренных технологий. Web-приложения, публикующие содержимое БД, по своей архитектуре и организации работы опираются на принципы, заложенные в многоуровневые клиент-серверные приложения. Однако Web-приложения имеют свои особенности функционирования, заключающиеся в организации работы сети Интернет. Разработчику Web-приложения требуется учитывать следующие вопросы:
Web-приложения, публикующие БД на Web-страницах, выполняются на стороне сервера. Сервер обрабатывает запросы обозревателя. Запросы к БД сервер передает серверу приложений или серверу баз данных. Обработав запрос, сервер БД передает нужные данные Web-серверу, который формирует Web-документ и отсылает его обозревателю.
Функции обозревателя заключаются в отображении Web-страниц, сгенерированных сервером или модулями расширения, и отправке запросов пользователя Web-приложению. Обозреватель является связующим звеном между пользователем и Web-приложением [2].
1.3.9 Принципы функционирования Web-приложений
Программные средства сетей Интернет/интранет включают новую категорию программ — Web-приложения. К Web-приложениям относят набор Web-страниц, сценариев и других программных средств, расположенных на одном или нескольких компьютерах (клиентских и серверных) и объединенных для выполнения прикладной задачи. Web-приложения, публикующие БД в Интернет, представляют отдельный класс Web-приложений.
Современные информационные системы в сетях Интернет/интранет, построенные на основе Web-приложений, использующих БД, по своей архитектуре и организации работы опираются на принципы, заложенные в многоуровневых клиент-серверных приложениях и принципах функционирования Интернета. Основы архитектуры многоуровневых клиент серверных приложений рассмотрены в предыдущей главе. Web-приложения имеют ряд особенностей функционирования, заключающиеся в принципах работы Интернета. Кратко напомним основные из этих принципов.
Wfeb-приложения выполняются на стороне Wfeb-сервера, который находится на Web-узлах сети Интернет. Wfeb-сервер обрабатывает запросы обозревателя на получение Web-страниц и отсылает требуемые данные обозревателю в формате Web-документов.
Обмен данными в сети Интернет осуществляется на аппаратном уровне на основе протокола TCP/IP и протокола более высокого логического уровня HTTP. Упрощенная схема функционирования Web-приложения приведена на рис. 1.5.
Рисунок 1.5. Упрощенная схема функционирования Web-приложения
Под Web-документом (Web-страницей) понимают документы, используемые в сети Интернет в форматах HTML, XML. шаблоны в форматах ASP, НТХ и т. д.
Для доступа к Web-страницам используются специальные клиентские программы — обозреватели Web, находящиеся на компьютерах пользователей Интернета. Обозреватель формирует запрос на получение требуемой страницы или другого ресурса с помощью адреса URL. Функции обозревателя заключаются в отображении Web-cтраниц, сгенерированных сервером или модулями расширения, и отправке запросов пользователя Web-приложению. Обозреватель является связующим звеном между пользователем и Web-приложением. При этом Web-обозреватель устанавливает соединение с требуемым Web-узлом, используя различные протоколы передачи данных, нами рассматривается использование протокола HTTP.