- •Базы данных
- •1. Введение в базы данных
- •1.1. Базы данных и информационные системы
- •1.2. Архигсюура информационной системы
- •1.3. Системы управления базами данных
- •1.4. Локальные информационные системы
- •1.5. Способы разработки и выполнения приложений
- •1.6. Схема обмена данными при работе с бд
- •2. Модели и типы данных
- •2.1. Иерархическая модель
- •Сотоудники
- •2.2. Сетевая модель
- •2.3. Реляционная модель
- •2.4. Постреляционная модель
- •2.5. Многомерная модель
- •1996 1994 Петров Смирнов Яковлев
- •2.6. Объектно-ориентированная модель
- •2.7. Типы данных
- •3. Реляционная модель данных
- •3.1. Определение реляционной модели
- •3.2. Индексирование
- •3.3. Связывание таблиц
- •3.4. Контроль целостности связей
- •3.5. Теоретические языки запросов
- •I аспределенное Удаленное Распределен- Удаленн! 1йдо- Распределен- предстаеление представление ная функция ступ к данным наяЬд
- •4.5. Информационные системы в Интернете и интранете
- •Часть 2. I Ъоектиросанн ? и использование бд
- •7. Средства автоматизации проектирования
- •7.1. Основные определения
- •7.8. Рекомендации по применению case-систем
- •9. Дополнительные вопросы применения баз данных
- •9.1. Программно-аппаратные платформы
- •9.2. Перспективы развития субд
- •9.3. Стандартизация баз данных
- •9.4. Характеристика технологии ado.Net
- •10.1. Общая характеристика
- •10.2. Новые возможности Microsoft Access 2002
- •10.3.Средства поддержки проектирования
- •10.4. Создание основных элементов бд
- •IQdbl mdb
- •Option Compare Database Public Function funl() beep End Function
- •10.5. Работа с гиперссылками
- •10.6. Использование языка sql
- •Аргументы макрокоманды ' Инструкция sQl. Select distinctrow tof
- •10.7. Защита баз данных
- •10.9. Обслуживание баз данный
- •10.10. Репликация баз данных
- •Реплицируемые объекты
- •Реплицируемые объекты
- •10.11. Работа с мультимедиа-данными
- •Тип объекта
- •Comic Chat Boom Microsoft Graph so Music Prop pry Page 2 1 Option f ropery Page21 Ры-ndox FableВидео-клип
- •10.12. Создание файлов приложений
- •10.13. Страницы доступа к данным
- •Краткая характеристика отличий сДд от форм и отчетом
- •10.14. Разработка проекта
- •Распределение атрибутов по вариантам
- •11.1. Пользовательский интерфейс
- •11.2. Характеристика проекта
- •11.3. Компиляция и выполнение проекта
- •11.4. Разработка приложения
- •11.5. Средства интегрированной среды разработки
- •Управление параметрами среды
- •11.6. Базы данных и средства работы с ними
- •Компоненты приложений для баз данных
- •11.7. Создание таблиц базы данных
- •11.8. Создание приложения bde
- •Значения свойств компонентов
- •11.9. Работа с отчетами
- •12. Субд Visual FoxPro 8.0
- •12.1. Общая характеристика
- •12.2. Новые возможности Visual FoxPro 8.0
- •12.3. Элементы проекта
- •12.4. Интерфейс Visual FoxPro
- •12.5. Средства автоматизации разработки
- •12.6. Создание баз данных
- •12.7. Таблицы и индексы
- •12.8. Организация межтабличных связей
- •12.9. Обеспечение ссылочной целостности
- •12.10. Создание запросов
- •Variables:
- •13. Microsoft sql Server 2000
- •13.1. Характеристика sql Server
- •13.2. Язык запросов Transact-sql
- •13.3. Системные базы данных и таблицы
- •13.4. Создание баз данных
- •13.5. Работа с таблицами
- •15.1. Принципы функционирования Web-приложений
- •15.2. Архитектура Web-приложений, публикующих бд
- •15.3. Обзор Web-серверов
- •15.4. Использование Personal Web-server
- •15.5. Использование Microsoft Internet Information Server
- •15.6. Использование Apache дляMicrosoft Windows 9х/2000
- •Вы видите это вместо ожидаемой страницы?
- •15.7. Варианты создания Web-узла
- •16. Интерфейсы программирования Web-приложений
- •16.1. Общий интерфейс взаимодействия cgi
- •18. Публикация бд средствами Microsoft Access
- •18.1. Характеристика вариантов публикации
15.3. Обзор Web-серверов
В настоящий момент развитие технологий Интернета идет очень быстрыми темпами. Появляется очень много производителей программного обеспечения для Интернета, в том числе производителей Web-серверов. Дадим характеристику наиболее распространеннымWeb-серверам, используемым в корпоративных сетях и в «домашних» компьютерах, которые могут использоваться для публикации информации из БД. Определим понятиеWeb-cepee- ра.Web-cepBep — это программное средство, установленное наWeb-узле глобальной или корпоративной сети и позволяющее пользователям сети получать доступ к гипертекстовым документам, расположенным на этомWeb узле. Иногда подWeb сервером понимают программное обеспечениеWeb-cepBepa и аппаратное обеспечение — компьютер, на которомWeb-сервер установлен.
В общем случае программное обеспечение Web-cepBepa может устанавливаться на компьютеры общего назначения, предназначенные для решения различных задач, не обязательно связанных с технологиями Интернета. Поэтому более корректно использовать понятиеWeb-cepeepa для обозначения только программного обеспеченияWeb-cepeepa, а компьютер с операционной системой и сетевой структурой называть средой работыWeb-cepeepa, или платформой.. .
Отметим, что Web- серверы используются для следующих целей:
создание корпоративных сетей интранет на основе принципов Интернет- сетей, многоуровневой архитектуры и клиент/серверных технологий;
подключение корпоративных сетей интранет к Интернету для получения доступа к предоставляемым в нем услугам;
публикация информации из корпоративных сетей интранет, в том числе и содержимого БД из информационных систем, функционирующих в среде интранет;
распространение собственной информации, находящейся на домашнем ком ньютере, создание собственного сайта с помощью домашнего компьютера.
В настоящее время в Интернете функционирует большое число типов серверов, используемых для обеспечения различных функций. Кроме того, существует большое число однотипных серверов, разработанных различными производителями.
В Интернете существует ряд источников информации о серверах, содержащих ежемесячные обзоры, всего, что касается Web-серверов. Например один из наиболее популярных источников информации о статистики использованияWeb-серверов находится в Интернете на узлеNetcraft по адресу"http://www.netcraft.com/survey", который содержит самую свежую информацию о серверах и платформах, используемых в Интернете, и список узлов, содержащих информацию об основныхWeb-серверах.
Еще один из лучших источников сводной информации находится ftaMRi iVORLD компанииMeckermedia (http://www.iworld.com), на котором мож но 1,айти журналыWebCompare, ServerWatch иWeb Servers Feature Chart.
В таб 15.4 no данным, опубликованным на узлеnetcraft, представлены сведения по трем наиболее популярным серверам. Как следует из приведенной таблицы, наибольшее распространение имеютWeb-серверыApache иMicrosoft. Причем имеет место тенденция небольшого снижения со временем процента этихWeb-серверов от общего числа сайтов в Интернете,
Таблица 15.4.
Популярные Web-ссрверы
Название Web-сервера |
Число сайтов в Интернете осенью 2000 |
Процент от числа сайтов в Интернете |
Изменение процента от числа сайтов за квартал |
Apache |
12705194 |
60,02 |
-1,64 |
Microsoft |
4140977 |
19,56 |
-0,07 |
Netscape Enterprise |
1472689 |
6,96 |
-0,05 |
На выбор сервера большое влияние оказывает «платформа», на которой работает Web сервер. Анализ различных источников показывает, что в качестве узловWeb могут работать компьютеры любых типов с необходимыми техническими характеристиками, касающиеся ресурсов и в целом производительности компьютера. Аппаратное обеспечение, используемое в платформах серверов, может включать большинство типов компьютеров, используемых на сегодня
Активно используемых типов операционных систем намного меньше, чем типов компьютеров. Анализ статистики показывает, что для высокопроизводительных объемных узлов наиболее часто используется операционная система Unix (около 80%Web-серверов работают под ее управлением), для средне- и низкопроизводительных узлов чаще всего используетсяWindows NT (менее 20%Web-серверов работает под ее управлением).
Операционные системы Web-серверов
В сети Интернет в основном используется несколько операционных систем. Наибо чее популярными среди Web-серверов являютсяUnix-подобные операционные системы. Дадим краткую характеристику основным операционным системам, используемым в качестве платформWeb-серверов.
Операционная система Unix (Unix-подобные операционные системы) получила наибольшее распространение в среде Интернет по следующим причинам:
Unix применяется для значительно большего количества платформ, чем другие операционные системы. Она распространяется в исходных кодах, поэтому легко может быть перекомпилирована для ^юбой аппаратной платформы;
Unix раньше других начала применяться в Интернете;
Unix включает большое количество услуг, ориентирована на работу с наибольшим количеством процессоров, адресовIP;
Unix является более устойчивой при функционировании в загруженных сетях.
Однако эта система является самой сложной для изучения и конфигурирования из всех операционных систем.
Операционные системы Windows 2000 Server и Windows NT Server широко распространены, используются в качестве платформыWeb-серверов и являются единственными реальными конкурентами для системыUnix. Отметим, чтоW idows 2000Server представляет собой доработанный вариантWindows NT Server и включающий достоинстваWindows 98. Основное преимуществоWindows 2000/NT Server заключается в легкости насторойки и освоении работы в среде этих операционных систем. Для начинающих пользователей лучше начать работу вWeb с одной из этих операционных систем.
Для Web-узла с малой или средней нагрузкой операционная системаWindows 2000/NT Server фирмыMicrosoft работает достаточно надежно. Об этом свидетельствует тенденция роста в процентном соотношении числаWeb- серверов, использующихWindows 2000/NT Server. Отметим, что другие операционные системыWindows 9Х фирмыMicrosoft не зарекомендовали себя как надежные платформы дляWeb-узла.
В Windows 2000 расширены средства поддержки операционных систем. Так,Windows 2000 позволяет организовывать взаимодействие сWindows NT Server 3.51 и 4 0, поддерживает клиентов с операционными системамиWindows 3.x,Windows 95,Windows 98 иWindows NT Workstation 4.0, с большими и средними ЭВМ с помощью шлюзов транзакций и очередей. Файловый сервер дляMacintosh позволяет клиентамMacintosh организовывать общий доступ к файлам и использовал общие ресурсыWindows 2000/NT Server.
Тем не менее операционная система Windows 2000/NT Server не обеспечи- вет требуемую гибкость при администрировании и расширении возможностейWeb-узла.
Отметим, что тенденция увеличения использования Windows 2000/NT будет сохраняться за счет вхождения в сеть Интернет большого количества пользователейTntel-компьютеров.Windows-ориентированные серверы могут устанавливаться и настраиваться автоматизированно, в отличие отUnix-ори- ен-ированныуWeb-серверов, которые с трудом поддаются настройке.
Операционная система MacOSиспользуется пользователямиMacintosh, рабе тающими вWeb. В настоящее время эта операционная система значи тельно уступает по популярностиWindows NT иUnix ввиду того, что система имеет ограниченные возможности по взаимодействию с динамическими узлами и не приспособлена к режиму повышенной нагрузкиMacOS не является лучшим выбором операционной системы дляWeb-cepBepa, но остается популярной среди пользователейMacintosh.
Приведем основные отличия операционных систем Unix иWindows 2000/NT Server.
В Unix более гибко реализована масштабируемость, в этой операционной системе могут использоваться кластерные технологии.
В Unix реализована избыточная отказоустойчивость. На основеUnix построены мэйнфреймы — самые устойчивые аппаратно-программные комплексы.
Общая безопасность системы с точки зрения защиты информации операционной системы Unix превосходитWindows 2000/NT Server.
Unix имеет встроенную поддержку многопользовательского интерфейса, которая отсутствует уWindow NT. К компьютеру, на котором установлена операционная системаUnix, могут быть подключены алфавитно-цифровые терминалы, с которых можно работать с графической многопользовательской оболочкой операционной системыUnix.
Операционная сист ема Unix имеется на всех аппаратных платформах. Сама операционная системаUnix и входящие в ее состав приложения распространяются в исходных кодах. Для переносаUnix или любогоUnix-приложения на другую аппаратную платформу достаточно перекомпилировать на требуемой платформе операционную системуUnix илиUnix-приложение.
Web-cepeep дтя операционной системыUnix остается более устойчивым к сбоям, объему нагрузки и обеспечивает более высокую безопасностьWeb-узла.
Сервер баз данных для операционной системы Unix, благодаря кластерной технологии и лучшей масштабируемости, чаще используется в качестве мощного сервера баз данных.
Для сервера приложений лучше подходит Windows 2000/NT Server, так как эта операционная система обеспечивает более полное использование возможностейWindows-подобных приложений.
Windows 2000/NT Server обладает удобным графическим интерфейсом, что значительно упрощает настройку, администрирование и процесс обучения персонала работе наWeb-узле.
Администрирование реализовано в Windows 2000/NT Server с исполь зованием автоматизированных средств и Мастеров.
В операционной системе Unix реализован более широкий набор утилит, необходимых для удаленного адинистрирования.
Дадим обзор наиболее популярных Web-серверов.
Сервер Apache
Под управлением Apache работают более 6 миллионов серверов Интернет (на февраль 2000 г.) Они полностью отлажены и протестированы разработчиками и пользователями. Группа разработчиковApache придерживается строгих стандартов в отношении выпуска новых версий их сервера. Когда обнаруживаются ошибки в работе сервера, компанияApache Development Group выпускает корректирующие файлы или новые версии продукта. Эта компания является международной организацией добровольцев, разработавших данный программный продукт для некоммерческого распространения среди широкого круга пользователей. Созданш [й под покровительством компанииApache Digital Corporation, проектWeb-cepeepa Apache развивался как ветвьNCSA httpd проекта одного из самых первых наиболее эффективных из уже давно существующих серверов сети Интернет.
Само название «Apache» созвучно слову «АPAtCHy server» (сервер с до работками — «patch files»). Одновременно это — просто красивое название, связанное с американским индейским племенемApache, известным своим военным мастерством и неутомимостью.
В сравнении с другими серверами, Apache показал себя более устойчивым, более быстрым, имеющим более широкий набор функций и возможностей. Кроме того,Web-серверApache характеризуется открытой архитектурой, заключающейся в том, что этот сервер распространяется в исходных кодах и используется гибкая архитектура построения сервера, позволяющая легко наращивать дополнительные возможности.
Его безусловное доминирование на рынке объясняется тем, что сервер был разработан для самой популярной платформы UNIX. Хотя серверApache распространяется бесплатно, но организация, разоаботавшая и обслуживающая этот мощный пакет (см. серверwww.apache.org), обеспечивает свое функционирование с помощью пользователей, которые спонсируют его развитие и сопровождение.
Используя открытый код Apache, разработчик может создавать собственные конфигурации сервера, компилируя внесенные в код изменения.Apache имеет модульную структуру, то есть в его состав входит набор модулей, которые служат для обеспечения требуемых функций сервера и могут быть динамически включены в конфигурацию даже во время активной работы сервера. СерверApache позволяет использоватьCGI-сценарии, написанные наPerl илиPHR
Приведем основные особенности функционирования сервера Apache.
Является мощным, гибким, НТТР/11 -совместимым сервером.
Поддерживает современные протоколы.
Имеет легко перестраиваемую конфигурацию с возможностью установления дополнительных функций (модулей) от сторонних производителей.
Может быть сконфигурирован с использованием модулей API.
Снабжается полным исходным текстом и поступает с бесплатной лицензией без ограничений.
Работает под управлением популярных операционных систем Windows NT/9x, Netware 5.x, OS/2 и большинства версийUnix.
Поддерживает введение отчетной документации об ошибках и файлы коррекции.
Сервер Apache поддерживает следующие функции:
доступ к базам данных, используемым для аутентификации, то есть возможность установки защищенных паролем страниц с огромным количеством уполномоченных пользователей без перегрузки сервера;
настройку реакции сервера на ошибки и сбои, заключающуюся в возможности устанавливать файлы или даже сценарии CGI, используемые сервером при возникновении ошибки (например, установка сценариев, позволяющих обрабатывать около 500 ошибок сервера, вес ги непрерывну ю диагностику и устранять неполадки по желанию пользователя);
автоматическая обработка HTML-данных с изменяющейся структурой и модификация их для удобного представления информации клиенту;
поддержка виртуальных хостов, заключающаяся в возможности настройки нескольких «домашних хостов», что позволяет серверу различать запросы, сделанные по различным IP-адресам.Apache также предоставляет возможность динамически настраивать функции «главного» виртуаль ного хоста;
генерация информации о настройках в удобном для пользователя формате;
формирование на большинстве архитектур Unix Apache так называемых журналов учета(log файлов), причем их количество кратно числу виртуальных хостов, и работаDNS корректируется без приостановки функционирования.
Отметим, что для сервера Apache отсутствуют официальное техническое обслуживание и поддержка. Тем не менее, для этой программы можно найти большое количество информации или советов. Например, список известных сбоев можно найти наWeb-узле, а со службой поддержки от независимых разработчиков можно связаться через список рассылкиApache comp.infosystems.www.servers.unix, через коммерческие службы, например,Cygnus (http://www.cygnus.com/product/idk/apache) или ежемесячный дайджест от разработчиковApache. Еще одним неплохим источником технической информации являетсяApache Week.
В перспективе для сервера Apache планируется разработать графический пользовательский интерфейс и окончательно адаптировать версию этого сервера для работы на платформеWindows NT/9X. Кроме того, основные направления политики внедрения сервераApache в Интернете остаются прежними, а именно открытость архитектуры, тесная обратная связь с пользователями и поддержка последних версий протоколаHTTP.
Microsoft Internet information Server
Ближайшим конкурентом Apache являетсяMicrosoft Internet Information Server (MIIS), входящий в состав системыWindows 2000/NT Server. Согласно опросу, проводимому компаниейNetcralt (таб. 13.4), под управлениемMIIS работает примерно в три раза меньше серверов от количества, обслуживаемогоApache, то есть этому серверу отдают предпочтение около 20 процентов пользователей(Apache использую г почти более 60 процентов пользователей). Он обладает многими новыми функциональными возможностями, среди которых создание несколькихWeb-узлов, новые средства администрирования, работа в режиме сервера новостей.
Еще одной особенностью стали определяемые пользователем специальные группы Интернета, где можно размещать различите ресурсы, например принтеры, с целью упрощенного обращения к ним и просмотра.
Службы M1IS позволяют использовать масштабируемыеWeb- приложения, а также публиковать информацию из информационных систем в Интернете. СлужбыMIIS включают поддержку страницASP, которые являются средой создания серверных сценариев для разработки динамических интерактивных приложенийWeb-серверов. Они позволяют разработчикам объединять нужным образом страницы в форматеHTML, команды сценариев и компоненты СОМ для создания мощных и гибкихWeb-приложений.
Упрощенной версией MIIS являетсяMicrosoft Personal Web Server (PWS), который предназначен для работы в качестве настольногоWeb- cepBepa для распространения информации с домашнего компьютера в сеть.
К недостаткамMIIS относят то, что этот сервер разработан в основном для платформWindows 2000/NT и 9Х. Используется сервер, как правило, с операционной системойWindows 2000/NT Server, так как системаWindows 2000/NT имеет намного более высокий уровень устойчивости к сбоям и общей стабильности при работе по сравнению с операционными системамиWindows 9Х. Анализ статистических данных и отзывов пользователей показывает, что общая производительность и надежностьMIIS на платформеWindows 2000/NT Server близка к среднему показателю для сервераApache.
MIIS 4.0 является встроенным вWindows NT 5.0 сервером.MIIS поставляется бесплатно как часть пакетаNT Server.
Microsoft Internet Information Server позволяет так же расширять возможности сервера, как и серверApache. Используя интерфейс СОМ, можно подключать различные языки создания сценариев для этогоWeb- сервера. Но в этом случае интерпретаторы сценариев не входят непосредственно в состав сервера, что несколько замедляет обработку сценариев.
Наибольшее отличие между Apache иMIIS заключается в возможности изменять конфигурацию сервераApache без остановки его работы, изменяя в текстовом режиме файлы настройки, что позволяет динамически включать и выключать необходимые модули. Однако графический интерфейсMIIS развит гораздо лучше, в то время как аналогичный модульApache все еще в стадии разработки. Это объясняется тем, что первоначальноApache разрабатывался дляUnix-подобных систем с интерфейсом в виде командной строки.
Среди недостатков MIIS можно выделить недостаточный уровень безопасности дисков с файловой системойNTFS, в результате которой возникает зависимость от сети и системы безопасностиWindows NT.
Положительным фактом для MIIS является возможность получения тех нической поддержки этого сервера. В интерактивном режиме предоставляется вся информация, касающаяся установки и обслуживания. Дополнительно в пакетеMIIS имеются отдельные файлы помощи по утилитам.
Серверы Netscape Enterprise
На третьем месте в рейтинге использования серверов находится сервер компании Netscape, которая осуществляет продажу разнообразных серверных продуктов(Communications, Commerce иEnterprise). СерверNetscape Enterprise используют около 7%Web-узлов. Этот сервер уверенно конкурирует с основными типами серверов.
Достоинством этого сервера является то, что фирма Netscape разработала версии сервера, которые работают в системахWindows 95,NT иUNIX.
Сервер Netscape характеризуется простотой в использовании и надежное тью в работе, «интегрированностью» высокопроизводительных функций в интерфейс пользователя.
Информацию по программным продуктам Netscape можно найти по адресуwww.netscape.com.