Разработка INTRANET приложений

         

Библиотека Httpodbc.dll


После того, как все выбранные данные будут записаны в HTX-файл, заполненный HTML-документ отправляется клиенту. Результирующая Web-страница отображается броузером.

Кроме построения приложений для генерации отчетов и для поиска по образцу, существует возможность создания на базе IDC диалоговых приложений регистрации данных. Более сложные приложения обработки транзакций IDC не поддерживает из-за невозможности обеспечить целостность сложных транзакций при отсутствии понятия сеанса для протокола HTTP. Новый продукт ActiveServerPage (ASP) позволяет строить более сложные серверные приложения с использованием VBScript и обеспечивает поддержку транзакций.

Рис. 4.2. Динамическая публикация БД с помощью IDC



Шлюз dbWeb для доступа к БД


MicrosoftdbWeb представляет собой шлюз между 32-битными ODBC-ресурсами, в качестве которых могут выступать, например, MicrosoftSQLServer, MicrosoftAccess, MicrosoftVisualFoxPro, Oracle и т.д., и Web-сервером MSIIS. Пакет dbWeb предусматривает создание схемы, содержащей описание данных и связанных с ними Web-страниц. Он поддерживает исполнение запросов в реальном режиме времени на основе "pull"-модели публикации, позволяя тем самым создавать активные Web-страницы.

MicrosoftdbWeb структурно состоит из двух основных компонент: dbWebService и dbWebAdministrator. Компонент dbWebService является типичным ISAPI-приложением, которое обрабатывает пользовательские запросы, направляемые посетителем страницы через броузер, и управляет соединениями между броузером, ODBC-ресурсом и IIS. К функциям dbWebAdministrator относится создание HTML-страниц, содержащих результаты выполнения запросов на основе уже упоминавшихся схем, с помощью которых осуществляется управление публикуемыми данными. Схемы определяют сам запрос и структуру страниц. При этом не требуется знания HTML или ISAPI, так как в состав dbWebAdministrator входит интерактивный мастер-построитель схем (SchemaWizard), который в традиционной для любой программы-мастера манере позволяет задать поля поиска по методу Query-by-Example (QBE), выбрать поля для отображения в таблице страницы результатов и определить переходы из списка записей в отдельные страницы, содержащие развернутую информацию по текущей записи. Настройкой соответствующих свойств можно разрешать или запрещать операции вставки, удаления и редактирования. Для проверки прав пользователя используется система безопасности той СУБД, к которой происходит доступ. dbWeb имеет в своем составе широкий спектр шаблонов страниц, которые при необходимости могут быть легко откорректированы и настроены разработчиком для более полного соответствия его задачам. Таким образом, dbWeb не является конечным пользовательским приложением. Скорее его можно охарактеризовать как достаточно легкий в использовании инструментарий разработки, который, как всякий мастер, не поддерживает языка программирования и оттого несколько проигрывает в функциональности SQLWebAssistant, несмотря на возможность инициируемого посетителем обновления информации в базе. Тем не менее, эта программа успешно справляется с автоматизацией большинства рутинных операций по организации соединений и публикации данных из БД и покрывает, по разным оценкам, порядка 40-60% потребностей бизнеса среднестатистической фирмы при организации доступа к своим источникам данных через Internet. dbWeb является свободно распространяемым приложением и может быть установлен с MicrosoftTechnet, WindowsNTResourceKit или непосредственно с http://www.microsoft.com.



Шлюзовой интерфейс CGI


Спецификация CommonGatewayInterface предложена группой NCSA. Интерфейс CGI был специально разработан для расширения возможностей WWW за счет подключения всевозможного внешнего программного обеспечения. Такой подход логично продолжал принцип публичности и простоты разработки и наращивания возможностей WWW. Если команда CERN предложила простой и быстрый способ разработки баз данных, то NCSA развила этот принцип на разработку программных средств.

Надо отметить, что в общедоступной библиотеке CERN были модули, позволяющие программистам подключать свои программы к серверу HTTP, но это требовало использования этой библиотеки. Предложенный и описанный в CGI способ подключения не требовал дополнительных библиотек и буквально ошеломлял своей простотой. Сервер взаимодействовал с программами через стандартные потоки ввода/вывода, что упрощает программирование до предела. Методы доступа, описанные в протоколе HTTP, заняли чрезвычайно важное место при реализации CGI.



Система GroupWise для поддержки групповой работы в электронном офисе


NovellGroupWise реализует наиболее быстрый, простой и экономичный путь к полному решению, обеспечивающему коллективную работу в Intranet, плюс защищенное соединение с остальным миром через Internet.

GroupWise позволяет быстро просматривать, сортировать и искать сообщения электронной почты, документы, факсы, речевые сообщения и сведения о назначенных встречах. GroupWise использует службу каталога, утилиты управления и администрирования наиболее полнофункциональной из существующих сегодня сетевых ОС - NovellIntraNetWare. В то же время приложение GroupWise способно работать и в иных сетевых операционных системах, включая WindowsNT и UNIX.

ПО GroupWiseWebAccess позволяет дополнить функции коллективной работы GroupWise с помощью любого стандартного броузера HTML. Кроме того можно использовать открытые стандарты Internet в корпоративных локальных и глобальных сетях.

Полная поддержка таких спецификаций как POP3, SMTP, MIME и IMAP обеспечивает простой и эффективный способ взаимодействия с поставщиками, партнерами, заказчиками, покупателями и всем остальным миром.

Открытые интерфейсы GroupWiseSDK и тесная интеграция с Java расширяют доступные в GroupWise службы.

В универсальный почтовый ящик GroupWise (UniversalMaibox) поступает вся передаваемая вам информация (сообщения электронной и речевой почты, факсы), события и данные календаря, документы (текст, электронные таблицы, графические файлы и изображения). Все, это хранится в одном легко доступном месте. Единый механизм поиска помогает найти необходимые сведения за считанные секунды независимо от типа информации: сообщения электронной почты, просьбы о встрече, документ или факс.

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

групповое планирование; ведение персональных календарей; управление задачами; совместно используемые папки / организации телеконференций; управление звонками (через ConversationPlace); управление речевой почтой (с помощью GroupWisePhoneAcess и решений партнеров Novell при разработке приложений обмена речевыми сообщениями); управление документами; средства работы с изображениями; автоматизация деловых процедур.


Наиболее мощными и GroupWise значимыми средствами, включенными в GroupWise являются функции управления документами и автоматизации деловых процедур.

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

GroupWiseWebAcess позволяет обращаться к UniversalMailBox с помощью любого стандартного Web-броузера. Данное ПО позволяет с любого ПК, оснащенного Web-броузером, просмотреть свой список задач и документы.

GroupWise поддерживает следующие стандарты Internet: SMTP, MIME, POP3 и IMAP. Кроме того, в состав пакета GroupWise включена оснащенная броузером HTML версия клиента GroupWise под названием GroupWiseWebAccess.

ПО GroupWise и предлагаемые в его составе шлюзы GroupWiseSMTP/MIME позволяют обмениваться электронной почтой с пользователями приложений E-mailInternet. Аналогично GroupWiseWebAccess вы можете обращаться к GroupWiseUniversalMailBox с помощью любого броузера, поддерживающего HTML, применяя доступ через Internet из любой точки мира.

Благодаря GroupWiseWebAcess клиент GroupWise реализован как базовая страница в Intranet или в Internet. Для доступа к GroupWise достаточно ввести URL базовой страницы, свой идентификатор электронной почты и пароль в любой броузер WorldWideWeb, поддерживающий HTML. Получив доступ к универсальному почтовому ящику, можно обращаться ко всем функциям GroupWise, которые будут представляться в интерфейсе применяемого броузера Internet. Благодаря GroupWiseWebAccess, универсальный почтовый ящик будет доступен в такой же степени, как ближайший броузер.

GroupWise поддерживает полный спектр шлюзов, которые используются для реализации взаимодействия данного продукта с другими, основанными на стандартах, системами электронной почты на базе локальных сетей и мейнфреймов. Например, шлюз GroupWiseSMTP/MIMEGateway позволяет вашей системе GroupWise полностью обмениваться информацией с другими системами электронной почты Internet, а продукт GroupWise Х.400. Gateway обеспечивает взаимодействие с системами E-mail на базе стандарта X.400. Имеются также шлюзы для работы с системами электронной почты cc: Mail, LotusNotes, MicrosoftMail, OfficeVision/VM и многими другими продуктами.


Система координат




В VRML используется прямоугольная правосторонняя трехмерная система координат. По умолчанию объекты проецируются на плоскость в положительном направлении оси Z, а для изменения направления используются камера или модельное преобразование.



Система программирования SymantecCafe


Широкому применению языка Java препятствует отсутствие нормальной среды разработки, включающей стандартные инструменты визуального программирования. SymantecCafe для Windows 95 и WindowsNT является первым инструментом, оформленным в виде единой многооконной среды разработки и отладки с удобным графическим интерфейсом и включает:

разрядный Java-компилятор, работающий примерно в 20 раз быстрее компилятора из комплекта JDK компании Sun. Полная интеграция компилятора в среду разработки позволяет программисту переходить к сбойному участку кода простым щелчком по сообщению об ошибке. Редактор ресурсов CafeStudio, позволяющий визуально создавать интерфейс Java-приложений перемещением и размещением управляющих элементов. CafеStudio включает редактор меню Java-приложений и может автоматически конвертировать существующие файлы ресурсов Windows в Java-код. Щелчок мыши по объекту позволяет создавать или править обработчик соответствующего события. Интегрированный графический отладчик, предлагающий: отладку Java-приложений, встроенных в HTML-страницы, на уровне исходного текста; просмотр данных и объектов; отслеживание цепочки вызовов; управление потоками и управление контрольными точками. Специальная библиотека, замещающая Java-интерпретатор и ускоряющая выполнение Java-приложений более чем в 2 раза. Программа просмотра классов ClassBrowser, позволяющая просматривать Java-код, а также просматривать и редактировать методы, данные и классы. ClassBrowser полностью поддерживает стандартные пакеты классов языка, упрощая понимание библиотеки классов Java. Редактор HierarhyEditor, обеспечивающий визуальное представление иерархии классов Java-приложений, позволяющий лучше понять стандартные классы языка Java и их взаимоотношения, а также классы приложения. HierarhyEditor полностью поддерживает представление стандартных пакетов классов языка Java. Легкий доступ к справочной системе, быстрый просмотр информации об интерфейсах JavaAPI. ProjectExpress, Wizard-подобный инструмент быстрого создания проектов на основе набора Java-программ. AppExpress, Wizard-подобный инструмент, позволяющий быстрее начать работу с языком Java. AppExpress автоматически генерирует полнофункциональное Java-приложение, которое затем может быть расширено. Полностью интегрированная в среду разработки программа просмотра Java-приложений AppletViewer. Комплект разработчика JDK 1.0 компании Sun. Профессиональный редактор Java-кода, обеспечивающий выделение цветом ключевых слов и участков кода на языках Java и HTML, и включающий макроязык для расширения возможностей редактирования. Редактор позволяет мгновенно переходить к любому Java-описанию в тексте программы или библиотеки классов. Учебник по программированию "Введение в язык Java", примеры и образцы WEB-страниц, позволяющих быстрее начать работать с языком Java; руководство "Gettingstarted", справочник "JavaLanguageReference".

Как отмечает журнал "JavaReport", SymantecCafe представляет собой наиболее эффективную систему визуального программирования на языке Java с выдающимися возможностями быстрой разработки переносимых приложений.



Системы управления документами на основе Web-технологий


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

Одно из решений - превратить все бумажные документы в электронные и сосредоточить их в базе данных главного офиса/отделения, обеспечив к ним доступ по интрасети всем своим сотрудникам, а по Internet - "внешним" пользователям. Это позволит снизить затраты на распространение бумажной документации за счет публикации необходимой информации в Internet и интрасети и повысить эффективность работы с документами.

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

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

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

Чтобы установить систему управления документами, не обязательно иметь интрасеть на базе протокола IP. Необходимо только наличие Web-сервера и выделенного сервера для самой системы управления документами. Однако, если в сети не поддерживается этот протокол, можно подключить Web-сервер к корпоративной сети посредством любого шлюза типа IPX-to-IP.

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

Наиболее сложной является проблема защиты информации. Если доступ к информации односторонний, обеспечить надежную защиту легко: достаточно предоставить внешним пользователям, обращающимся к библиотекам документов через Web, право только искать и читать данные, что значительно снижает опасность внесения несанкционированных изменений в ответственную информацию. В данном случае пользователь с помощью Web-броузера может только ознакомиться с данными, размещенными на Web-сервере, который установлен между ним и внутренней сетью корпорации. Когда же система управления документами применяется для двустороннего доступа к информации (а именно этот способ совместного использования документов особенно привлекателен), проблема защиты осложняется. Теперь для обеспечения безопасности корпоративной базы данных требуется специальное ПО, регламентирующее права доступа. Кроме того, на клиентском компьютере должно быть установлено специальное приложение, поддерживающее связь с сервером и позволяющее регистрировать документы и изменения. Большинство систем, предназначенных для управления документами в системе Web, включают развитое серверное ПО и небольшую клиентскую часть, рассчитанную на так называемого "слабого" клиента, т.е. устройство, не имеющее мощного процессора и способное обеспечить только просмотр информации с помощью Web-броузера. Эти системы не позволяют полностью контролировать доступ пользователей к информации.

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

Одной из практических реализаций системы управления документами на основе Internet-технологий является программный продукт DOCSOpen компании PCDOCS, который позволяет организовать электронный архив на предприятии. Система предназначена для хранения, поиска и обработки информации, хранящейся в распределенной гетерогенной среде на накопителях различной природы.

DOCSOpen хранит документы в файлах, которые размещаются в файловой системе сервера, каждый документ содержится в исходном виде (в виде одного или нескольких файлов). DOCSOpen имеет средства миграции документов по различным типам носителей данных. Миграция документов осуществляется автоматически в соответствии с частотой обращения к документам. Система DOCSOpen интегрирована с внешними процессорами обработки информации. Для обработки любого документа вызывается внешний процессор. Документы редактируются непосредственно по месту хранения (т.е. прямо на серверах документов). Если доступ к документам медленный, есть возможность предварительного создания локальной копии документа. Каждый документ в системе DOCSOpen снабжается учетной карточкой. В карточке документа содержится обязательная информация, необходимая для нормального функционирования самой системы DOCSOpen, и дополнительная информация, состав которой определяет пользователь системы. DOCSOpen снабжен подсистемой полнотекстовой индексации. Эта система позволяет находить документы не по учетной информации, а по содержанию документа.

DOCSOpen строит поиск на основе интерфейса QBE (QueryByExample). Для того, чтобы не вводить наиболее часто используемые запросы, DOCSOpen позволяет сохранить типовые поисковые запросы. Можно объединять документы в папки, которые могут быть связаны между собой произвольным образом. Это дает возможность построить целую систему сетевой классификации документов произвольного вида.

Наиболее сильной стороной DOCSOpen является возможность ведения распределенных и удаленных архивов информации. Организация может иметь несколько территориально распределенных архивов информации. Карточки документов и сами документы хранятся непосредственно в той библиотеке, куда они были первоначально положены (однако, можно явно откопировать документ в другую библиотеку). Администратор системы записывает в локальную библиотеку адреса всех доступных библиотек. В начале работы указывается, где искать информацию. После этого система автоматически организует поиск в распределенной системе.

В новой, третьей версии DOCSOpen осуществлена многоплатформная поддержка клиентов и серверов, гибкая конфигурация, возможности защиты информации (модуль DocumentSentryAgent). Усовершенствована работа с мобильными системами. Существенно продвинуто ядро полного поиска.

В DOCSOpen 3.0 усовершенствованы возможности индексации и поиска, благодаря замене ядра Infolink, которое выпускалось с версиями 2.x и более ранними, на ядро компании Verity, позволяющее создавать полный индекс текста. Ядро Verity предлагает возможность осуществлять нечеткий или концептуальный поиск и создавать разбитые на соответствующие категории отсортированные списки наиболее популярных вариантов поиска и многоуровневых запросов.

DOCSUnplugged - это готовый вариант DOCSMobile - популярного модуля версии 2.5. Помимо обеспечения мобильной взаимосвязи, Unplugged позволяет работать в автономном режиме при возникновении сбоя сети.

DOCSOpen предлагает функцию MobileTeam, при помощи которой удаленные рабочие группы, не связанные с корпоративной сетью, могут получить доступ к библиотекам DOCSOpen.

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

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

DOCSLinks - средство построения сложных связей между документами. Этот компонент позволяет строить связи между документами, не помещая их в папки. При этом поддерживаются два типа связей: направленные вертикальные связи (типа "главный - подчиненный") и ненаправленные горизонтальные связи (типа "родственные документы"). Данная система позволяет строить сложную сеть документов, типичную для таких сфер применения, как архивы нормативно-справочных или юридических документов.

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

WorkRouteII- компонент маршрутизации документов. После установки система становится частью рабочего места DOCSOpen. Она обеспечивает маршрутизацию работ и связанных с ней документов, а также контроль исполнения и автоматическое напоминание о просроченных работах. Можно отметить следующие особенности данного компонента:


возможность организации распределенной системы управления заданиями; возможность каскадной маршрутизации с контролем исполнения на любом подчиненном уровне; возможность добавления новых документов в работу; тесная интеграция с СУБД (из нее берутся списки пользователей и групп пользователей); возможность групповой адресации в разных режимах; возможность задания контрольных и предельных сроков работ.

PCDOCS работает над тремя отдельными проектами, связанными с Internet, которые помогут связать глобальных пользователей DOCSOpen. Первый продукт, называемый CyberDOCS 1.1 (псевдоним Mercury) предоставит пользователям возможность поиска и получения документов, хранящихся в библиотеке DOCSOpen, через программу просмотра Web. В процессе разработки находится и Venus, который расширяет эту идею, используя Internet в качестве глобальной сети, а продукт Jupiter предоставит пользователям DOCSOpen доступ к серверам документов через Internet в многоуровневых окружениях клиент-сервер.

Продукт CyberDOCS 1.1 реализован на базе HTML-технологий. Схема работы близка к работе со стандартным клиентом базового пакета. После набора имени и пароля, а также успешного подсоединения к системе пользователь видит на экране страницу, где он может обратиться к списку документов. Можно воспользоваться и панелью кнопок вверху экрана, получить доступ к карточке поиска по образцу, списку проектов, к выбору другой библиотеки. Форма поиска по образцу близка к стандартной запросной карточке базовой системы. Пользователю доступны все справочники, с помощью которых могут быть заполнены поля карточки, а также поиск по содержанию документа.

Кроме того, компания Infodata объявила о выходе продукта VFC - VirtualFileCabinet. Основное назначение - обеспечение унифицированного доступа к разнообразным хранилищам документов, начиная от LotusNotes и заканчивая DOCSOpen. Этот доступ осуществляется через стандартный Web-броузер. В задачу Infodata входит создание шлюзов для разных систем и различным коллекциям документов.

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


Создание базы данных


Язык SQL сочетает в себе возможности языка манипулирования данными и языка определения данных. Язык определения данных позволяет:

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

Для определения нового объекта базы данных используется ключевое слово CREATE, для удаления - DROP, для изменения - ALTER.

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

Ограничение на уникальность строк в таблице UNIQUE указывается аналогично определению первичного ключа.

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

Удаление таблицы DROP является наиболее простой операцией.

Реструктуризация таблицы ALTER заключается в изменении состава колонок и ключей.

Полное имя таблицы в базе данных включает в себя префикс - имя владельца. Для удобства идентификации несобственных таблиц в SQL предусмотрена возможность определения синонимов. Использовать синонимы можно во всех предложениях SQL.

Для быстрой обработки SELECT-конструкций можно определить индексы - специальные поисковые структуры, хранящие значения некоторых колонок со ссылками на соответствующие строки таблицы. Анализируя структуру используемых в приложении SELECT-конструкций, программист достаточно просто может выделить требуемые индексы.

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

Виртуальная таблица VIEW является результатом неявного выполнения некоторой SELECT-конструкции. Строки такой таблицы образуются либо в момент обращения к ним, либо, однажды сформировавшись, постоянно изменяются при изменении отношений, входящих в соответствующую SELECT-конструкцию.

Важным моментом при создании баз данных является определение привилегий пользователей (перечня разрешенных операций при использовании базы данных). При работе с базой данных пользователь проходит регистрацию, указывая свое имя и пароль. На основе имени пользователя СУБД контролирует действия пользователя и отклоняет несанкционированные операции. Установить привилегии пользователю можно предложением GRANT, а снять - предложением REVOKE.



Создание приложений Web к базам данных Oracle


OracleWebServer представляет собой сервер HTTP с возможностью интеграции с базой данных. OracleWebServer получает UniformResourceLocator (URL) с помощью протокола HTTP от навигатора WWW и извлекает информацию, необходимую для ответа на запрос, из базы данных или файловой системы. WebListener - обычный Web-сервер, который получает URL от клиента - навигатора WWW - и отвечает на запрос. При получении URLWebListener определяет, требуется ли для выполнения запроса обращение к файловой системе, выполнение программы через интерфейс CGI или обращение к базе данных. В последнем случае Listener передает запрос диспетчеру многопотокового сервера приложений WebRequestBroker (WRB) и возвращается к состоянию ожидания новых запросов HTTP. Диспетчер WRB распределяет запрос между процессами, называемыми WRBExecutableEngines (WRBX). Каждый из WRBX с помощью встроенного API обращается к специальным приложениям, так называемым WRB-картриджам. WebServer 3.0 позволяет использовать следующие картриджи:

Картридж PL/SQL, позволяющий строить Web-страницы, основанные на информации, извлекаемой из базы данных. Динамические страницы создаются с помощью хранимых процедур PL/SQL, которые используют стандартный пакет функций и процедур, интерпретирующих команды языка HTML. Картридж Java, представляющий собой интерпретатор языка Java, полностью интегрированный с базой данных Oracle. Картридж ODBC позволяет иметь доступ к информации, хранящейся в базах данных различных типов через драйверы ODBC (OpenDataBaseConnectivity). Картридж Perl дает возможность использования программ, написанных на языке Perl в архитектуре WebRequestBroker. WRBAPI позволяет разработчикам также создавать свои собственные картриджи, расширяющие возможности OracleWebServer.



Создание строки надписей


Для облегчения восприятия информации из таблицы, желательно указать вверху каждого столбца теги, описывающие содержимое столбца. Для этого используются теги <TH> и </TH> с таким форматом:

<TR> <TH>Надпись первого столбца</TH> <TH>Надпись второго столбца</TH> <TH>Надпись третьего столбца</TH> </TR>



Создание таблицы


Таблица представляет собой расположенную на HTML-странице прямоугольную сетку строк и столбцов, в которую можно вводить разнообразную информацию, включая текст, числа, связи и даже изображения.

Все таблицы обрамляются тегами

<TABLE> </TABLE>

остальные теги таблицы находятся между этими тегами. Чтобы показать в таблице рамку, вместо тега <TABLE> применяется тег <TABLEBORDER> , однако закрывается таблица тегом </TABLE>.

Для добавления строки между тегами <TABLE> и </TABLE> вставляется тег <TR> и соответствующий тег </TR>:

<TABLE> <TR> </TR> </TABLE>

После этого строка разделяется на столбцы, для чего между тегами <TR> и </TR> вставляются теги <TD> и </TD>. Каждая комбинация <TD> и </TD> представляет собой один столбец (точнее, отдельную клетку в строке), поэтому для трехстолбцовой таблицы HTML-текст выглядит следующим образом:

<TABLE> <TR> <TD></TD> <TD></TD> <TD></TD> </TR> </TABLE>

Для того, чтобы ввести данные в клетку таблицы, надо ввести текст между тегами <TD> и </TD>:

<TABLE> <TR> <TD>One</TD> <TD>Two</TD> <TD>Three</TD> </TR> </TABLE>

При этом, между тегами <TD> и </TD> можно помещать не только текст, но и теги для форматирования текста (например, <B> или <I>), списки и даже изображения. Обратите внимание, что в таблицах допускается смешивать текст и графику.

<TABLE> <TR> <TD>One</TD> <TD><IMGSRC="picture.jpg" ALT=" "></TD> <TD><FONTSIZE=5>W</FONT><FONTSIZE=3>Three</FONT></TD> </TR> </TABLE>



Создание внутренних связей в документе


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

Пример создания оглавления:

<AHREF="#Chapter1">Общие сведения о языке HTML</A> <AHREF="#Chapter2">Форматирование текста</A> <AHREF="#Chapter3">Использование таблиц</A>

Для именования фрагментов текста применяются теги <A> с атрибутом <NAME>.

Пример именования глав текста HTML-страницы:

<ANAME="Chapter1">Общие сведения о языке HTML</A>

Далее сам текст первой главы:

<ANAME="Chapter2">Форматирование текста</A>

Далее сам текст второй главы:

<ANAME="Chapter3">Использование таблиц</A>

Далее сам текст третьей главы



Специализированные Web-серверы


Существуют специализированные или гибридные - Web-серверы, которые сочетают обслуживание транспортного протокола HTTP с более совершенными вспомогательными средствами обработки информации. Например, семейство Web-серверов Domino фирмы LotusDevelopment дает разработчикам возможность предоставить любому клиенту с Web-броузером доступ к средствам и программируемым функциям пакета LotusNotes и тем самым создавать Intranet-приложения для коллективного пользования. Имеется целый ряд специализированных Web-серверов для организации доступа к БД. Для примера можно назвать OracleWebServer, который обеспечивает доступ через CGI к SQL-серверу Oracle и с помощью дополнительных утилит формирует HTML-отчет для динамической публикации. Другим примером служит сервер приложений BaikonurWebApplicationServer для доступа к базам данных в корпоративных сетях Internet/Intranet.

Помимо серверного ПО для Web-серверов поставляются так называемые "готовые" Web-серверы - аппаратно-программные комплексы ( см. таблицу 2.4).

Таблица 2.4. "Готовые" Web-серверы

КопанияПродуктМикро-процессорОперационная системаПрограммное обеспечение сервера
CompaqComputerCorp.Серия ProSignia
Серия Proliant
Pentium/133
PentiumPro/150
WindowsNT Server 3.51, NetWare 4.1, OS/2 WarpServer, SCOOpenServer 5.0MicrosoftIIS Netscape FastTrack Server или NetWareWeb-сервер
DigitalEquipmentCorp.EasyWebServerAlpha/166DigitalUnix 4. 0 или WindowsNT Server 3.51/td>NetscapeCommunicationsServer или PurveyorEncryptWebServer
Internet AlphaServerAlpha/166, 233, 266DigitalUnix 4. 0NetscapeCommunicationsServer
 Web AlphaServerAlpha/166, 233, 266WindowsNT Server 3.51NetscapeCommunicationsServer
Hewlett-PackardCo.HP 9000 D-ClassWebServerдо 12 PA-7100LC/75s или PA 7200/100sHP-UX 10.0NetscapeCommerceServer, NetscapeCommunicationsServer или ОреnMarketWebServer
SunMicrosystemsIncNetraInternetServerUltraSPARC/ 110-167Solaris 2.5NetscapeEnterpriseServer



Сравнение языков программирования JavaScript и Java


Язык JavaScript построен на основе Java, но не обладает строгой типизацией. Он поддерживает многие синтаксические конструкции Java, но не имеет понятия классов, существует лишь небольшой набор типов данных: числовые, строковые и булевские. В JavaScript имеются функции, которые могут быть как методами объектов, так и самостоятельными. Основные отличия языков JavaScript и Java сведены в таблице 3.1.

Таблица 3.1. Сравнение языков JavaScript и Java

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

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



Средства подготовки гипертекста и гипермедиа


Подготовка гипертекста может осуществляться с помощью различных средств:

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

Часто Web-броузеры имеют возможности просмотра и редактирования описания гипертекста на языке HTML.

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

Особый вид гипермедиа представляют трехмерные сцены, которые описываются на языке VRML. Для их создания/редактирования и воспроизведения используются отдельные специализированные пакеты.



Средства разработки, эксплуатации и сопровождения Internet/Intranet-приложений


В состав средств, предназначенных для разработки Internet/Intranet-приложений, их эксплуатации и сопровождения, входят следующие группы:

средства Run-time (времени выполнения); инструментальные средства разработки; средства администрирования.

Средства Run-time включают:

программы просмотра и навигации (броузеры); клиентские приложения и расширения; программное обеспечение Web-серверов; серверные приложения и расширения; средства поиска информации; программное обеспечение Internet-серверов; средства безопасности.

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

Клиентские приложения имеют различную природу. Это может быть, прежде всего, гипертекст или гипермедиа. Дополнительную функциональность обеспечивают сценарии на языках JavaScript или VBScript, мобильные Java-апплеты, helper-программы (редакторы текста, процессоры электронных таблиц и другие готовые программы, активируемые в зависимости от типа файла) и клиентские расширения (ActiveX и Plug-in).

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

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

Средства поиска информации помогают найти в Internet/Intranet необходимые сведения, удовлетворяющие условиям поиска. Для этого используются как поисковые машины, так и средства управления документами с полнотекстовым индексированием.

Программное обеспечение Internet-серверов служит для поддержки электронной почты, FTP-сервиса для передачи файлов, возможностей доступа к новостям и др.

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

Инструментальные средства разработки Internet/Intranet-приложений очень разнообразны и включают:


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

Редакторы гипертекста предназначены для формирования HTML-файлов в режимах программирования или WYSIWYG. Для создания гипертекста могут использоваться и обычные текстовые редакторы, а также средства, встроенные в броузеры. К этой же группе относятся конверторы офисных документов в гипертекст.

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

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

Средства мультимедиа предназначены для создания звукового и музыкального сопровождения, анимационных и видео роликов. Часто воспроизведение файлов мультимедиа осуществляется клиентскими расширениями или helper-программами.

Средства генерации виртуальной реальности позволяют запрограммировать трехмерные сцены и управление ими на языке VRML. Воспроизведение виртуальной реальности может потребовать дополнительных средств.

Системы программирования клиентских приложений предназначены для разработки и отладки сценариев (на языках JavaScript, VBScript) и мобильных приложений (на языке Java), выполняемых на стороне клиента, наибольшие удобство и производительность разработки дают средства визуального программирования.

В качестве средств программирования серверных приложений могут использоваться как обычные системы программирования (C/C++, VisualBasic, Java и др.), так и интерпретаторы команд (UNIX-shell, REXX и др.), интерпретаторы и компиляторы сценариев на JavaScript, VBScript и Perl.

Для создания клиентских и серверных расширений используются системы программирования, позволяющие создавать компоненты с использованием механизмов ActiveX или Plug-in, представленных в виде встроенных или дополнительных библиотек интерфейсов.

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

Далее будем рассматривать в основном инструментальные средства разработки Intranet-приложений и только по необходимости касаться средств Run-time и администрирования.


Стеки гипертекстовых ссылок


В язык теперь введен новый тип объектов Area. Area - это элемент контейнера MAP, который определяет client-siteimagemap. Собственно, главное достоинство такого объекта состоит в том, что гипертекстовые ссылки, которые определены в AREA стали доступны для переопределения. Они появляются в массиве обычных ссылок страницы и можно как получить значение URL, так и переопределить его. К объекту AREA нельзя обратиться по имени. Можно использовать только индекс массива гипертекстовых ссылок документа.

В контексте стека гипертекстовых ссылок интересно рассмотреть еще одну возможность JavaScript, связанную с переходом по гипертекстовой ссылке вообще. В обычном случае параметр HREF контейнера A должен иметь какое-нибудь значение. Если, например, по событию onClick необходимо открыть новое окно и в старом сохранить отображенный документ, то его URL следует указывать в качестве значения HREF. В противном случае, в старое окно будет загружена пустая страница, если HREF=" ".

В новой версии JavaScript введена функция void. Точнее, тип void, который означает отсутствие какого либо значения. Если необходимо выполнить некоторые действия при выборе гипертекстовой ссылки, но при этом не перегружать текущие страницы, то в параметре HREF можно указать конструкцию:

<AHREF="javascript:void (0)">kuku</A>

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



Структура HTML-документа


HTML-документ представляет собой иерархию элементов документа, заключенных в "теговые скобки" (рисунок 3.1). В секцию головы всегда помещается заглавие документа (не путать с именем файла), которое при просмотре HTML-страницы появляется в заголовке окна броузера. Заглавие показывает общий смысл HTML-страницы. Для определения заглавия HTML-страницы применяется теговый контейнер <TITLE>, например:

<TITLE>Моя любимая страница</TITLE> <HTML> <HEAD> Голова документа

</HEAD> <BODY> Тело, Содержание документа

</BODY> </HTML>

Рис. 3.1. Теговая структура HTML-документа

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

Для формирования кадров используется контейнер набора кадров FRAMESET и тега FRAME. Альтернативное содержимое задается с помощью контейнера NOFRAMES:

<HTML> <HEAD> Голова документа </HEAD> <Frameset ...> <FRAME ...> Связывание кадров <FRAME ...> c документами </FRAMESET> <NOFRAMES> Часть документа только для старых броузеров </NOFRAMES> </HTML>

Начальный тег FRAMESET определяет разбиение окна по строкам и столбцам, например:

<FRAMESET ROWS="60%,*" COLS="60%,20%, *">.

Тег кадра FRAME устанавливает какой документ (атрибут SRC) первоначально выводится в кадре. Атрибут Name определяет имя целевого кадра для указания его в гиперссылках.

Одна из распространенных компоновок кадров содержит левый узкий кадр для оглавления в виде гиперссылок и правый кадр для показа документов по этим ссылкам. Другая компоновка предлагает разбиение на верхний и нижний кадры.

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



Структура основного предложения SQL


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

SELECT (distinct), <элемент(ы)> FROM <таблица(ы)> WHERE <условие отбора> GROUPBY <колонка(и)> HAVING <условие отбора> ORDERBY <упорядоченность(и)>

Результатом запроса всегда является таблица требуемой структуры с требуемыми данными. В частном случае таблица может содержать одну колонку и одну строку, т.е. представлять собой простое значение. Результирующая таблица может иметь повторяющиеся строки, удалить которые можно, указав DISTINCT в позиции SELECT. Рассмотрим назначение позиций в структуре предложения запроса.

SELECTопределяет, какие колонки должна иметь результирующая таблица. Символ "*" означает, что результирующая таблица должна включать в себя все колонки всех таблиц, на основе которых строится запрос. Если несколько исходных таблиц имеют одноименные колонки, то идентифицировать нужную колонку можно, указав ее полное имя, составленное из имени таблицы и имени колонки. В качестве колонки результирующего отношения может быть указано любое выражение, использующее набор стандартных функций, например, COUNT(), AVG(), SUM() и другие.

FROMопределяет список таблиц, на основе которых строится запрос. Поскольку SQL является структурным языком, то он допускает использование вложенных SELECT-конструкций. В качестве базовой таблицы может быть указано некоторое SELECT-предложение.

WHERE позволяет указать условие, которому должны удовлетворять значения в строках результирующего отношения. Условие может использовать проверки пустых (неопределенных) значений, проверки вхождения значения во множество значений другой таблицы.

GROUPBY определяет список имен колонок, по одинаковым значениям которых будет выполняться группировка строк. Т. е. строки с одинаковыми значениями в указанных колонках будут представлены в результирующем отношении одной строкой. Но если в SELECT указана, например, функция AVG() или SUM(), то она применяется ко всем строкам группы.



Свойства объекта document


Основным объектом JavaScript является HTML-документ. Кроме методов для вывода текста на экран, этот объект содержит набор свойств, описывающих документ (см. таблицу 3.3).

Таблица 3.3. Свойства объекта document

Свойство объектаОписание
titleЗаголовок документа, соответствует содержимому тега <TITLE>
locationПолный адрес (URL) документа
lastModifiedДата последней модификации
referrerАдрес (URL) ссылающегося документа
anchors, linksМассивы ссылок в документе
formsСодержит все диалоговые формы документа
cookieОтметки состояний
fgColorЦвет текста (атрибут TEXT тега <BODY>)
bgColorЦвет фона (атрибут BGCOLOR тега <BODY>)
alinkColorСоответствует атрибуту ALINK тега <BODY>
linkColorСоответствует атрибуту LINK тега <BODY>
vlinkColorСоответствует атрибуту VLINK тега <BODY>

Пример сценария, изменяющего по нажатию кнопки цвета фона документа на темно-синий, а цвета текста - на белый:

<SCRIPT> functionchColor() { document.bgcolor="#000080"; document.fgcolor="white"; } </SCRIPT> <FORM> <INPUTtype="button" name="btn2" value=" Смена цвета" onClick="chColor()"> </FORM>

Язык JavaScript имеет развитые алгоритмические возможности, необходимые для написания расчетных программ. С его помощью можно написать сценарии для доступа к БД и построения диаграмм и графиков.



Tcl/Tk


Пакет Tcl/Tk (ToolCommandLanguage / ToolKit) состоит из языка Tcl и Tk - средства для работы с библиотеками виджетов. Язык Tcl - это интерпретируемый язык сценариев, особенно удобный при написании пользовательских интерфейсов программ. В отличие от тяжеловесного Motif, Tcl/Tk может обходиться без C/C++.

Tcl разработан в SunMicrosystems, ориентирован на сетевые применения, платформно-независим (работает на всех Windows, Macintosh и Solaris 2.x) и имеет мощные механизмы защиты (тиклеты могут исполняться в безопасном окружении Safe-Tcl). Tcl/Tk будет работать в паре с Java, а не с C++. Tcl по применению расположится рядом с VisualBasic, а Tk, соответственно, рядом с ActiveX.

Sun выпустила семейство программ для работы с технологией Tcl/Tk. В основной пакет Tcl7.5 Tk4.1 входят две программы: оболочка командного интерпретатора SHELL и графический интерфейс разработки Wish, библиотека и документация. Наиболее популярен модуль расширения к NetscapeNavigator. Для работы он не требует пакета Tcl7.5 Tk4.1, при этом пользователь может не только исполнять тиклеты в окне NetscapeNavigator, но и встраивать Tcl-сценарии в свои Web-страницы. Мощная среда разработки графических интерфейсов SpecTcl (вместе cSpecJava) для работы требует пакет Tcl7.5 Tk4.1.

Редактор для гипертекстовой графики WebTkImagemapEditor для работы требует пакет Tcl7.5 Tk4.1. Компактный полнофункциональный HTTP-сервер TclWebServer целиком написан на Tcl (около 1000 строк кода), работает с CGI и использует безопасный режим SafeTcl.



Типы данных


VBScript имеет только один тип данных - Variant - специальный тип данных, который может содержать различные виды информации, в зависимости от того, как она используется. Тип данных Variant существует только в VBScript. Все функции VBScript возвращают значения только типа Variant. Тип данных Variant может содержать как численную, так и текстовую информацию. Variant ведет себя как число, когда он используется в численном контексте, и как текст - в случае использования в текстовом контексте. Вот почему, когда Вы используете данные выглядящие как числа, VBScript интерпретирует их как числа и производит с ними соответствующие операции. Конечно же всегда можно определить числа как текстовую информацию, но для этого необходимо обрамить их кавычками. Кроме простого деления на числовую и текстовую информацию, тип данных Variant можно классифицировать по специальным классам числовой информации. Например, Вы можете использовать числовые данные, обозначающие дату или время. Также числовые данные имеют большой диапазон значений, начиная с булевых значений и заканчивая числами с плавающей точкой. Все эти различные классы значений содержится в типе данных Variant и называются подтипами. Все возможные подтипы данных Variant перечислены ниже в таблице 3.4.

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



Традиционная схема публикации и просмотра документов


Изначально технология Internet/Intranet/WWW предназначалась для облегчения доступа к информации и публикации документов (рисунок 1.1). Программа-клиент (броузер) выполняет функции интерфейса пользователя (диалоговый ввод-вывод PS и логика диалога PL) и обеспечивает доступ практически ко всем информационным ресурсам Internet/Intranet посредством HTTP-сервиса. База данных гипертекста - это часть файловой системы, которая содержит текстовые файлы в формате HTML и связанные с ними графику и другие ресурсы. Фактически, броузер является интерпретатором HTML-текста. И как типичный интерпретатор клиент в зависимости от команд разметки выполняет различные функции. В круг этих функций входит не только размещение текста на экране, но и обмен информацией с сервером по мере анализа полученного HTML-текста, что наиболее наглядно происходит при отображении встроенных графических образов. При анализе URL-спецификаций или по командам сервера клиент запускает дополнительные help-программы для работы с документами в форматах, отличных от HTML, например, GIF, JPEG, MPEG, Postscript и т.п. Кроме того, в гипертекст может быть встроен текст сценария на JavaScipt, VBScript и др., который расширяет логику диалога (PL) и обеспечивает простую прикладную обработку (BL). Броузер вызывает соответствующий интерпретатор для исполнения сценария.

Рис. 1.1. Традиционная схема публикации и просмотра документов

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



Удобство использования


И InternetExplorer, и Navigator предоставляют комбинации клавиш и закладки (которые Explorer называет Favorites) и огромное количество способов быстро достичь нужных узлов.

Оба броузера сохраняют в буфере на жестком диске страницы, которые были посещены, поэтому, когда приходится возвратиться к ним в следующий раз, информация на экране появляется очень быстро. Оба броузера также сохраняют список узлов Web, к которым были обращения. Но реализация InternetExplorer лучше: в отличие от Navigator, который после выхода из программы удаляет список узлов, InternetExplorer сохраняет список между сеансами, оформляя URL как Windows 95 Shortcuts.

И тот, и другой броузеры позволяют отметить страницы узла, которые нужно будет посетить еще раз, и легко к ним вернуться, выбирая из выпадающего списка на панели. Но Navigator сохраняет их, позволяя инкорпорировать как "горячие" ссылки в обычном файле HTML, например, в собственные страницы Web. Можно легко изменить порядок закладок, используя интерфейс drag-and-drop, и при помощи опций меню создавать каскадные папки. Можно даже определять объединения URL, позволяющие вставить одну и ту же закладку в несколько папок.

При установке опции What'sNew в меню Navigator броузер автоматически входит на каждый узел, указанный в списке закладок, для того, чтобы проверить, изменилась ли там информация. InternetExplorer 3.0 также имеет аналогичные возможности.

У Microsoft лучше реализована система помощи. Помощь в InternetExplorer - встроенная утилита с подробным содержанием и ясным руководством. У Navigator наоборот: из одиннадцати пунктов меню Help девять требуют соединения с серверами Netscape, поэтому наводить справки в "автономном" режиме работы невозможно.

Производительность

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

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



Управление доступом.


SQL обеспечивает синхронизацию обработки базы данных различными прикладными программами, защиту данных от несанкционированного доступа.



Управление Java-апплетами


Можно использовать JavaScript, чтобы управлять поведением Java-апплетов без необходимости понимания внутренней структуры апплета. Все публичные переменные и методы апплета доступны из JavaScript. Например, можно использовать HTML-кнопки, чтобы вызывать или останавливать апплеты.

Каждый апплет виден в JavaScript как document.appletName, где appletName - это значение атрибута NAME тега <APPLET>.



Управление Java- plug-ins


Каждый plug-in в документе доступен в JavaScript как элемент в массиве embeds. Например:

<EMBEDSRC=myavi.aviNAME="myEmbed" WIDTH=320 HEIGHT=200>

Если этот HTML-код определяет первый plugin в документе, он доступен следующими способами:

document.embeds[0] document.embeds["myEmbed"] document.myEmbed

Если plug-in написан с помощью Java-класса netscape.plugin.Plugin, доступны его статические переменные и методы.



Управляющие конструкции VBScript


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

Условный оператор If ... Then ... Else оценивает условие как False или True, а затем определяет один или несколько операторов, соответствующих условию, для дальнейшего выполнения. Обычно в условном операторе используются операторы сравнения. В VBScript разрешается использовать вложенность условных операторов.

Если при выполнении условия нужно выполнить только один оператор, то используется однострочный условный оператор, например:

<SCRIPTLANGUAGE="VBScript"> SubFixDate() DimmyDate myDate = #2/13/95# IfmyDate < NowThenmyDate = Now EndSub </SCRIPT>

В случае, когда нужно выполнить несколько операторов при выполнении условия, используется многострочный оператор If ... Then ... Else, например:

<SCRIPTLANGUAGE="VBScript"> SubAlertUser(value) Ifvalue = 0 Then AlertLabel.ForeColor = "Red" AlertLabel.Font.Bold = True AlertLabel.Font.Italic = True EndIf EndSub </SCRIPT>

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

Также оператор If ... Then ... Else можно использовать для определения двух блоков операторов, один из которых выполняется, когда условие верно, а другой - в противном случае. Такой вариант показан ниже:

<SCRIPTLANGUAGE="VBScript"> SubAlertUser(value) Ifvalue = 0 Then AlertLabel.ForeColor = vbRed AlertLabel.Font.Bold = True AlertLabel.Font.Italic = True Else AlertLabel.Forecolor = vbBlack AlertLabel.Font.Bold = False AlertLabel.Font.Italic = False EndIf EndSub </SCRIPT>

Для повторения группы операторов в VBScript используются циклы. Существуют следующие операторы цикла:

Do ... Loop: повторяет операторы пока условие верно или до тех пор, когда условие станет верным; While ... Wend: повторяет операторы пока условие верно; For ... Next: используется счетчик для определения числа повторений цикла.


Для проверки условия в операторе цикла Do ... Loop используются два ключевых слова While и Until. Ключевое слово While можно поставить перед входом в цикл (как показано в первом примере) или в конце цикла (как показано во втором примере). Отличие заключается в том, что в первом случае цикл начнет выполняться только при выполнении условия, а во втором случае операторы цикла сначала выполняться один раз, и только потом произойдет проверка условия. Цикл выполняется, пока выполняется условие.

<SCRIPTLANGUAGE="VBScript"> SubChkFirstWhile() Dimcounter, myNum counter = 0 myNum = 20 DoWhilemyNum > 10 myNum = myNum - 1 counter = counter + 1 Loop MsgBox "Theloopmade " & counter & " repetitions." EndSub

SubChkLastWhile() Dimcounter, myNum counter = 0 myNum = 9 Do myNum = myNum - 1 counter = counter + 1 LoopWhilemyNum > 10 MsgBox "Theloopmade " & counter & " repetitions." EndSub </SCRIPT>

Ключевое слово Until также можно ставить в начале и в конце цикла. Отличие от цикла с ключевым словом While заключается в том, что в данном случае цикл выполняется, пока условие неверно. Примеры использования ключевого слова Until приведены ниже.

<SCRIPTLANGUAGE="VBScript"> SubChkFirstUntil() Dimcounter, myNum counter = 0 myNum = 20 DoUntilmyNum = 10 myNum = myNum - 1 counter = counter + 1 Loop MsgBox "Theloopmade " & counter & " repetitions." EndSub

SubChkLastUntil() Dimcounter, myNum counter = 0 myNum = 1 Do myNum = myNum + 1 counter = counter + 1 LoopUntilmyNum = 10 MsgBox "Theloopmade " & counter & " repetitions." EndSub </SCRIPT>

Кроме того, при необходимости можно принудительно заканчивать выполнение цикла Do ... Loop. Для этого используется оператор ExitDo. Например, может потребоваться выход из цикла при выполнении некоторого условия. Тогда в тело цикла нужно включить условный оператор, который будет проверять выполнение этого условия. Если условие выполнится, то произойдет выполнение оператора ExitDo, и программа закончит выполнение цикла, а в противном случае цикл будет выполняться как обычно. Пример использования оператора ExitDo показан ниже:



<SCRIPTLANGUAGE="VB"> SubExitExample() Dimcounter, myNum counter = 0 myNum = 9 DoUntilmyNum = 10 myNum = myNum - 1 counter = counter + 1 IfmyNum < 10 ThenExitDo Loop MsgBox "Theloopmade " & counter & " repetitions." EndSub </SCRIPT>

Оператор цикла While ... Wend предназначен для тех, кто уже хорошо знает VBScript. Кроме того, поскольку этот оператор не имеет достаточной гибкости при использовании, то рекомендуется вместо него использовать оператор Do ... Loop.

Оператор цикла For ... Next используется для повторения группы операторов заданное количество раз. Для повторения выполнения операторов используется переменная-счетчик, чье значение каждый раз увеличивается или уменьшается после каждого выполнения цикла. Например, следующая процедура MyProc выполняется 50 раз. Выражение For определяет переменную-счетчик х, а также ее начальное и конечное значения. Выражение Next увеличивает счетчик на 1.

<SCRIPTLANGUAGE="VBScript"> SubDoMyProc50Times() Dimx Forx = 1 To 50 MyProc Next EndSub </SCRIPT>

Величину шага, на который увеличивается или уменьшается счетчик, можно задавать самому. Для этого используется ключевое слово Step. Например, в следующем примере счетчик увеличивается на 2 после каждого выполнения цикла:

<SCRIPTLANGUAGE="VBScript"> SubTwosTotal() Dimj, total Forj = 2 To 10 Step 2 total = total + j Next MsgBox "Thetotalis " & total EndSub </SCRIPT>

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


Узлы


Все 36 узлов в VRML делятся на три категории: формы, свойства и группы. Первые определяют геометрию сцены, вторые задают условия визуализации первых, а третьи используются для объединения нескольких узлов в одно целое.

В категорию форм входят следующие узлы: AsciiText, Cone, Cube, Cylinder, IndexedFaceSet, IndexedLineSet, PointSet и Sphere.

В категорию свойств: Coordinate3, FontStyle, Info, LOD, Material, MaterialBinding, Normal, NormalBinding, Texture2, Texture2Transform, TextureCoordinate2, ShapeHints, MatrixTransform, Rotation, Scale, Transform, Translation, OrthographicCamera, PerspectiveCamera, DirectionalLight, PointLight, SpotLight.

Узлы, входящие в категорию "группа" - это: Group, Separator, Switch, TransformSeparator, WWWanchor. Отдельно различается узел WWWinline, не входящий ни в одну из категорий.

Кроме задания геометрии объектов, их свойств и характеристик материала, в стандарте с помощью различных типов камер можно управлять положением наблюдателя. Ортогональная камера определяет параллельную проекцию сцены, без учета перспективы которой можно управлять, если выбрать PerspectiveCamera. По умолчанию камеры размещаются в точке с координатами (0,0,1) и направлены вдоль отрицательного направления оси Z. Программы, используемые для просмотра файлов VRML, позволяют изменять положение камеры, предоставляя пользователю возможность свободно перемещаться внутри виртуального пространства. Порядок работы с потомками задается в узле Switch, определяющем, кто из потомков будет иметь заданные родителем свойства. Расширенные возможности работы с текстурами являются одним из достижений стандарта. Кроме определения текстуры в поле Texture2, либо заданной в виде локального шаблона, либо считанной по URL из удаленного сервера, можно задавать любые преобразования и местоположение текстуры. Узел группы WWWAnchor загружает новую сцену в программу просмотра файла VRML после выбора очередного потомка. Имя сцены задается обычно в форме URL. Узел WWWInline считывает потомка из любого места WWW и задерживает его визуализацию до особого распоряжения, в качестве которого может быть, например, завершение процесса установки параметров.



Виртуальные Web-серверы


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

Обычно серверу назначается несколько IP-адресов, по одному для каждого домена, а затем каждому домену ставят в соответствие собственный каталог документов. Такой возможностью располагают все рассмотренные продукты, за исключением NetWareWebServer и InternetConnectionSecureServer фирмы IBM. Компания Netscape предлагает так называемые "программные виртуальные серверы" (softwarevirtualservers), где информация из заголовка запроса HTTP, используется для отыскания каталога с нужными содержательными материалами.

Различают два типа виртуальных серверов: software-серверы и hardware-серверы. В первом случае для данного сервера определяется несколько доменных имен в описании прямой зоны домена. Эти имена закрепляются за различными деревьями документов, для которых устанавливаются свои правила организации доступа. Доменное имя необходимо в обязательном порядке прописать в базе данных сервера доменных имен, который поддерживает текущую зону. Если этого не сделать, то никакие виртуальные серверы работать не будут. Головной сервер в этом случае будет обращаться к своей корневой странице. При этом, однако, администрации сервера не удастся скрыть тот факт, что реально несколько Website поддерживаются одним и тем же сервером.

Для того, чтобы иллюзия была полной, кроме доменного имени необходимо назначить серверу еще и уникальный IP-адрес. Для этой цели служит механизм построения hardware-серверов. В этом случае запускается механизм, который для назначения нескольких IP-адресов использует команду ifconfig. Для каждого из этих адресов устанавливается доменное имя. После этого данное доменное имя можно использовать в директивах VirtualHost.



VisualBasicScript


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

Так же, как VisualBasic облегчает разработку приложений для Windows, а VisualBasicforApplication (VBA) делает то же для приложений, базирующихся на MicrosoftOffice, VisualBasicScript (VBScript), дает в руки тех, кто создает Internet-приложения, аналогичный по мощности инструмент.

VBScript является простым подмножеством VisualBasicforApplication и, следовательно, полностью с ним совместим. Все эти три продукта можно рассматривать следующим образом: VisualBasic - полная интегрированная среда разработки, VisualBasicforApplication - инструмент для создания приложений, работающих в рамках MicrosoftOffice, VBScript - инструмент для написания приложений, функционирующих в программах, работающих в Internet.

VBScript позволяет разрабатывать клиентские приложения, автоматически загружаемые вместе с Web-страницей. Затем скрипты могут выполняться на клиентской ЭВМ как обычные программы. VBScript был разработан для применения в корпоративных Интранет-сетях как средство для создания приложений клиент-сервер. VBScript поддерживается броузером InternetExplorer, начиная с версии 3.0 на платформах Macintosh и Windows.



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


Корпорация BorlandInternational анонсировала семейство инструментальных средств для построения Web-серверов, обеспечивающих работу с базами данных. В него входят следующие продукты: IntraBuilder, IntraBuilderProfessional и IntraBuilderClient/Server.

Благодаря использованию технологии two-way-tools, пользователь средней квалификации может быстро конструировать интерфейсы к базам данных в виде динамических HTML-страниц.

При применении технологии Intranet у конечного пользователя работает лишь поддерживающий язык JavaScript броузер Internet. Программа на языке JavaScript, встроенная в текст интерпретируемого броузером InternetHTML-файла, передает параметризованный URL на Web-сервер, поддерживающий один из стандартов - NSAPI, ISAPI или CGI - и выполняющийся в среде WindowsNT или Windows 95. Web-сервер организует обработку запроса с помощью сервера компании Borland, который состоит из модуля IntraBroker, преобразующего закодированные в любом из перечисленных выше стандартов запросы в понятную модулям IntraServer технологию BorlandDataBaseEngine (BDE). В случае стандартных и профессиональных версий IntraBuilder он работает на той же машине, что и Web-сервер. Профессиональная версия отличается от стандартной тем, что одновременно могут работать несколько экземпляров модуля IntraServer, к тому же в ее комплект поставки входит промежуточное ПО SQLLinks для MSSQLServer с многопользовательской лицензией. Версия клиент/сервер еще мощнее. Она позволяет запускать модули IntraServer на нескольких компьютерах и включает ПО SQLLinks для таких СУБД, как Oracle, Informix, Sybase и IBMDB2. Несмотря на то, что стандартная версия ориентирована в первую очередь на использование локальных баз данных (например Paradox, dBase или Access), благодаря способности BDE работать с источниками данных, поддерживающими стандарт ODBC, даже в этой версии можно пользоваться более мощными СУБД, рассчитанными на функционирование в среде клиент/сервер. BDE генерирует SQL-запрос, который обрабатывается соотвествующей СУБД. Далее результат выполнения запроса преобразуется в страницу HTML с включением JavaScript, которая передается по протоколу HTTP на узел клиента, где и отображается с помощью броузеров NetscapeNavigator или MicrosoftExplorer.

Для построения HTML с формами и отчетами IntraBuilder предлагает богатую палитру визуальных компонентов. При этом за счет технологии двунаправленной разработки создатель интерфейса может свободно переключаться между режимами визуального конструирования и ручного кодирования на языке JavaScript. Продукт использует JavaScript версии 1.1, которая обогащена средствами одноуровневого наследования и аппаратом исключений. JavaScript1.1 допускает взаимодействие с активными элементами, выполненными в других стандартах: Netscapeplugin и Javaapplets. IntraBuilder включает свыше 20 визуальных конструкторов свойств (visualPropertyBuilder), обеспечивающих пользователя полным набором средств редактирования параметров объектов, в том числе и обработчики событий. В качестве компонентов можно использовать элементы ActiveX и Javaapplets.



Включение названия


Базовым элементом таблицы является ее название, то есть короткое описание (одно - два предложения), показывающее читателю назначение таблицы. Для определения названия используется тег <CAPTION>:

<CAPTIONALIGN=TOP BOTTOM>Название (верх низ)</CAPTION>

где TOP - название вверху таблицы, BOTTOM - название внизу таблицы.



Включение сценариев в гипертекст


Для оформления сценария JavaScript в теле документа используются специальные теги языка HTML. Сценарий встраивается в документ с помощью тега <SCRIPT>. Сценарий может содержать произвольное количество операторов языка JavaScript внутри тегов <SCRIPT> </SCRIPT>. Часто текст сценария помещают в комментарии, чтобы исключить его отображение на старых броузерах, не поддерживающих JavaScript. Пример оформления простого сценария:

<HTML> <BODY> <SCRIPTLANGUAGE="JavaScript"> <!- Пример простого сценария document.write("HellofromJavaSript") // -> </SCRIPT> </BODY> </HTML>

С помощью метода document.writeln можно выводить текст с использованием тегов форматирования <I>, <B>, <U>, <Hn> и др. Это позволяет динамически формировать гипертекст.

Используя эти возможности, легко вывести на экран графическое изображение из указанного файла:

<SCRIPT> document.writeln("<IMGSRC=\"logo.gif\">"); </SCRIPT>


Программа на VBScript вставляется в HTML-код с помощью контейнера <SCRIPT>, т.е. теги <SCRIPT> и </SCRIPT> обрамляют код на VBScript. Например, процедура проверки даты поставки может выглядеть следующим образом:

<SCRIPTLANGUAGE="VBScript"> <!-- FunctionCanDeliver(Dt) CanDeliver = (Cdate(Dt) - Now()) > 2 EndFunction --> </SCRIPT>

Отметим, что атрибут LANGUAGE определяет язык, на котором написан скрипт. Язык необходимо определить, поскольку начиная с версии 3.0 броузер MicrosoftInternetExplorer поддерживает и другие скриптовые языки, например, JavaScript. Также из примера видно, что функция встроена в тег комментария (<!-- ... -->). Это сделано для того, чтобы броузеры, не понимающие VBScript (например, NetscapeNavigator), не отображали текст скрипта на экране. Далее в примерах тег комментария указываться не будет. Вставлять контейнер <SCRIPT> можно в любом месте HTML-страницы - в разделе HEAD или в разделе BODY.



Вопросы безопасности


Для обеспечения безопасности защиты информации Web-серверы предоставляют следующие возможности:

виртуальные серверы для изоляции Web-структур друг от друга; средства санкционирования доступа к серверам; защищенный протокол передачи информации SSL с использованием сертификатов; комплексы защиты сетей Firewall и Proxy-серверы.

Кроме того, возможно дополнительно использовать механизмы защиты файл-серверов в сети.



Вопросы кириллизации


Кириллизация Internet/Intranet-приложений затрагивает общение пользователей с различными ресурсами Web, E-mail, FTP и др. Поэтому вопросы кириллизации должны решаться интегрированно при настройке сервисов.

Настройка Internet-сервисов выполняется путем выбора таблицы кодировки и установки соответствующих фонтов шрифтов. Часто решение проблемы кириллизации сводится к хранению текстов в нескольких кодировках, однако это нехарактерно для Intranet.



Встроенные объекты


Как было сказано выше существует пять встроенных объектов, используемых в программах сценариев: Application, Request, Response, Server иSession.

Объект Application служит для обмена информацией между пользователями данного приложения. Например, можно реализовать простой счетчик обращений к серверу:

<% Application.Lock Application ("HitCount") = Application("HitCount") + 1 Application.Unlock %>

Методы Lock и Unlock используются для блокирования изменений свойств объекта и для отмены этого запрета соответственно. Также объект Application может реагировать на два события - OnStart и OnEnd. Эти методы используются путем написания соответствующего кода в глобальном файле GLOBAL.ASA. Об этом будет рассказано в разделе "Глобальный файл".

Рассмотрим использование объекта Request на примере традиционной задачи - формы, заполняемой пользователем. Для начала необходимо создать форму. В качестве значения атрибута ACTION тега <FORM> нужно указать имя ASP-файла, например, formdemo.asp, и установить метод передачи данных POST. Пусть форма состоит из четырех текстовых полей ввода с именами UserName, UserAddress, UserEMail и UserComm. Пользователь заполняет форму и нажатием кнопки Submit отсылает ее на сервер. Что происходит на сервере? Получая команду SUBMIT, объект Request готов к обработке полей формы, то есть к отображению содержимого полей формы, сохранению их в файле или базе данных. Для отображения полей записи файл formdemo.asp может выглядеть следующим образом:

<HTML> <BODYBGCOLOR=greenTEXT=white> <%IfRequest.Form("UserName")= "" Then %> <H4> Форма заполнена некорректно. Для исправления нажмите кнопку Back. </H4> <%Else%> Получена следующая информация:<BR> <PFONTSIZE=3> Имя: <% =Request.Form("UserName") %><BR> Адрес: <% =Request.Form("UserAddress") %><BR> E-Mail: <% =Request.Form("UserEMail") %><BR> Комментарии:<% =Request.Form("UserComm") %><BR> </P> <%EndIf%> </BODY> </HTML>


Существует ряд других методов объекта Request, на которые можно обратить внимание. Например с помощью коллекции ServerVariables можно получать доступ к серверным переменным:

'адрес, с которого пришел запрос <%Response.WriteRequest.ServerVariables("REMOTE_ADDR")%> 'поддерживаемые клиентом языки <%Response.WriteRequest.ServerVariables("HTTP_ACCEPT_LANGUAGE")%>

И еще один полезный пример. В нем показано, как можно получить все посланные пользователем значения полей формы:

<% ForEachxInRequest.Form %> Request.Form(<% =x %> = <% =Request.Form(x) %> <BR> <% Nextx %>

Объект Responseиспользуется для посылки информации пользователю. Метод Redirect этого объекта служит для переключения на другую страницу, как локальную, так и удаленную, адрес которой задается в формате URL:

<% Response.Redirect ("URL") %>

Метод Write является одним из базовых методов объекта Response. С его помощью информация посылается непосредственно клиенту. Например, если мы хотим вывести текущие дату и время, можно использовать следующий код:

<% Response.Write "Локальное время: <B>" & Now & "</B> %>

Объект Serverимеет четыре метода: CreateObject, HTMLEncode, MapPath и URLEncode. Метод CreateObject служит для создания экземпляров серверных компонентов. Примеры использования рассматриваются ниже. Метод HTMLEncode используется для вывода на экран тегов языка HTML. Например, вызов этого метода:

<% Response.WriteServer.HTMLEncode("Для выделения текста используются теги <B> и </B>") %>

приведет к появлению следующего текста в окне броузера:

Для выделения текста используются теги <B> и </B>

При этом, если посмотреть на исходный текст, то можно увидеть, что вместо тегов используются специальные символы:

Для выделения текста используются теги &lt;B&gt; и &lt;/Bgt;

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



LogFile=Server.MapPath ("/Login") & "\input\logfile.txt" SetOutStreamFileObject.CreаteTextFile (Logfile, True, False)

Метод URLEncode предназначен для преобразования адресов в формате URL. Например, вызов этого метода:

<% Response.WriteServer.URLEncode("www.cpress.ru") %>

приведет к появлению в окне броузера следующей строчки:

www%2Ecpress%2Eru

С помощью свойства ScriptTimeout объекта Server можно задать время выполнения сценария.

Объект Session используется для хранения переменных в течение одной сессии работы с сервером. Методы для обработки событий OnStart и OnEnd помещаются в глобальный файл GLOBAL.ASA. Соответствующие примеры использования указаны в разделе "Глобальный файл".

Глобальный файл

Глобальный файл GLOBAL.ASA располагается в корневом каталоге сервера (виртуальном корневом каталоге). Отметим, что корневой каталог сервера доступен из всех подкаталогов, и, таким образом, файл GLOBAL.ASA доступен из всех ASP-страниц. При необходимости он располагается и в корневом каталоге приложения, выполняемого на сервере, но этот каталог также должен быть объявлен как виртуальный корневой каталог. Как мы уже говорили, в файле GLOBAL.ASA могут быть использованы два встроенных объекта:Application и Session. С помощью объекта Application можно создавать глобальные переменные для всех ASP-страниц, а с помощью объекта Session можно создавать переменные, "видимые" в рамках одной сессии. В файле GLOBAL.ASA также можно открывать сеансы связи с базами данных.

Например, для использования методов OnStartиOnEnd объекта Application можно написать следующий код:

<SCRIPTLANGUAGE=VBScriptRUNAT=Server> SubApplication_OnStart 'эта подпрограмма выполняется, когда на узел приходит первый пользователь ENDSUB ... SubApplication_OnEnd 'эта подпрограмма выполняется при выключении сервера или изменении содержимого файла global.asa ENDSUB </SCRIPT>

Обратите внимание на расширенный синтаксис тега <SCRIPT>. Атрибут RUNAT указывает на то, что данный скрипт выполняется на сервере.

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



<SCRIPTLANGUAGE=VBScriptRUNAT=Server> SubSession_OnStart 'эта подпрограмма выполняется в начале сессии ENDSUB ... SubSession_OnEnd 'эта подпрограмма выполняется в конце сессии ENDSUB </SCRIPT>

Серверные компоненты

AdRotator, BrowserCapabilities, DatabaseAccess, ContentLinking и FileAccess.

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

<CENTER> Добро пожаловать на наш сервер! <BR> <% SetAd = ServerCreateObject("MSWC.Adrotator") %> <% =Ad.GetAdvertisement("advert.txt") %> </CENTER>

Файл-сценарий (в примере advert.txt) является обычным текстовым файлом, в котором описываются правила обновления графической информации. Содержимое файла-сценария advert.txt, например, может выглядит следующим образом:

width 460 height 60 border 1 * advert1.gif http://www.cpress.ru/subscriptions/ Subscribeto "ComputerPress"! 20   advert2.gif http://www.cpress.ru/books/ Readourbooks 20   advert3.gif http://www.microsoft.com UselegalMicrosoftsoftware! 30

В начале файла-сценария указываются размеры области, в которой будет появляться графическая информация. Затем, по порядку дается описание каждого графического элемента, состоящее из четырех пунктов: имя графического файла, URL-адрес страницы, которая будет загружаться при щелчке на изображении, текстовое описание ссылки и вероятность появления данного изображения.

С помощью компонента BrowserCapabilities можно получать различную информацию о клиентском броузере. Приведем несколько примеров использования этого компонента. Например, мы можем узнать тип и версию клиентского броузера:



<% Setbc = Server.CreateObject("MSWC.BrowserType") %> Приветствуем на сервере пользователя броузера <B><% =bc.Browser %> версии <% =bc.Version %> </B>!

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

<% Setbc = Server.CreadteObject("MSWC.BrowserType" %> <% If (bc.Frames = TRUE) Then Response.Write "Есть поддержка фреймов!" Else Response.Write "Нет поддержки фреймов!" EndIf %>

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

<% Setbc = Server.CreateObject("MSWC.BrowserType") %> <% If (bc.VBScript = TRUE) Then Response.Write "Есть поддержка VBScript" Else Response.Write "Нет поддержки VBScript" EndIf %>

Компонент DatabaseAccess обеспечивает доступ к данным, хранящимся в базах данных. Рассмотрение этого компонента вынесено в отдельный раздел.

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

Компонент FileAccess использует объекты FileSystemObject и TextStream и обеспечивает доступ к хранимым на сервере файлам. Вот пример использования этого компонента:

<% 'создадим файл SetFileObject = CreateObject("Scripting.FileSystemObject") SetFile = FileObject.CreateTextFile("user.txt", True) 'запишем данные в файл File.Writeline(Now()) File.Writeln(Request.ServerVariables("REMOTE_ADDR")) File.Writeln(Request.ServerVariables("REMOTE_HOST")) 'закроем файл File.Close %>


Выравнивание изображений


Если вставить изображение внутри обычного текста HTML-страницы, то броузер выведет изображение и текст в одной строке. Иногда при этом могут возникать проблемы, связанные с высокими изображениями, так как низ изображения выравнивается с низом строки. Для того, чтобы текст появился вверху изображения или даже в его середине, можно воспользоваться атрибутом ALIGN тега <IMG>. Общий формат выглядит следующим образом:

<IMGSRC='имя_файла' ALIGN=TOP MIDDLE BOTTOM LEFT RIGHT >

Здесь вертикальная черта показывает возможность выбора указания между TOP (верх), MIDDLE (середина) или BOTTOM (низ) для нужного выравнивания.



Выравнивание внутри таблицы


Стандартным выравниванием для клеток таблицы является выравнивание влево для клеток с данными и центрирование для клеток надписей.

Кроме этого, внутри тегов <TD> и <TH> можно осуществлять выравнивание с помощью атрибута ALIGN. При этом, можно выравнивать текст влево (LEFT), вправо (RIGHT) или центрировать (CENTER). Формат записи этих атрибутов выглядит следующим образом:

<TDALIGN=LEFT RIGHT CENTER> <THALIGN=LEFT RIGHT CENTER>

Кроме горизонтального выравнивания в клетках таблиц можно применять и вертикальное выравнивание текста. В этом случае в тегах <TD> и <TH> применяется атрибут VALIGN. Выравнивание по вертикали может быть выравниванием по верху (TOP), выравниванием по низу (BOTTOM) и выравниванием по середине (MIDDLE):

<TDBOTTOM MIDDLE> <THBOTTOM MIDDLE>



Взаимодействие апплетов Java и языков сценариев


Механизм LiveConnect (входит в поставку Netscape начиная с версии 3.0) обеспечивает 3 способа взаимодействия JavaScript и Java:

непосредственное обращение к методам Java, управление Java-апплетами, управление Java- plug-ins.



Взаимодействие FoxPro с Web-броузерами


Специальное расширение InternetSearchWizard для среды разработки клиент/серверных приложений VisualFoxPro компании Microsoft позволяет легко создавать прикладные программы, к которым могут обращаться по сети Internet клиенты системы Web, функционирующие на платформах PC, AppleMacintosh и Unix.

Модуль InternetWizard для VisualFoxPro шаг за шагом проводит программистов через процесс описания интерактивного поведения создаваемых приложений, а затем автоматически генерирует сценарий, поддерживающий интерфейс CGI, необходимый для обработки Web-запросов на сервере FoxPro. Построенные таким образом приложения работают полностью на сервере, воспринимаемом удаленным Web-броузером так же, как и любой другой Web-сервер. При этом "на лету" генерируются страницы формата HTML, представляющие собой формы, заполнив которые пользователь может запросить ту или иную информацию.

Затем сценарий CGI, сгенерированный программой InternetSearchWizard, преобразует запросы, введенные пользователем на HTML-странице, в последовательность операторов на языке SQL, которые и передаются в СУБД FoxPro. БД возвращает данные обработчику сценариев CGI, а он посылает их обратно пользователю в форме HTML-страницы или в виде DBF-файла.

Этот процесс предназначен для конечного пользователя, которому для получения данных через Internet из удаленной БД FoxPro не нужно знать, как строить SQL-операторы или HTML-страницы.



Взаимодействие Internet/Intranet-приложений с СУБД


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

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

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



Взаимодействие электронной почты и пакетов коллективной работы с Internet/Intranet


Для построения офисных Intranet-приложений на основе электронной почты и пакетов коллективной (групповой) работы необходимо:

обеспечить взаимодействие броузера с почтой по протоколам SMTP и POP3; шлюзование Internet-почты и локальных почтовых систем; предоставить Web-интерфейс для доступа пользователей пакетов групповой работы к коллективной информации; совмещение возможностей серверов групповой работы и Web-серверов.

5.2.1. Взаимодействие Web-броузера с почтой по протоколам SMTP и POP3

Электронная почта - один из важнейших информационных ресурсов. Она является самым массовым средством электронных коммуникаций. Каждый пользователь Internet имеет свой почтовый ящик в сети. Через почту можно получить доступ к информационным ресурсам других сетей. Открытые протоколы, такие как SimpleMailTransferProtocol (SMTP) для передачи почтовых отправлений и PostOfficeProtocol 3 (POP3) и InteractiveMailAccessProtocol 4 (IMAP4) для их приема, легко реализуются и не требуют приобретения лицензий на использование. Пользователи могут выбирать из богатого ассортимента клиентских приложений электронной почты, в том числе и распространяемых бесплатно. Для отправки почты используется протокол SMTP, а для получения - POP3.

Современное клиентское приложение для работы с электронной почтой должно обладать широкими возможностями администрирования почтовых ящиков, включая средства копирования, сортировки и редактирования сообщений. Кроме того, нужны механизмы фильтрации, с помощью которых можно организовать ту или иную обработку сообщений на основании наличия в их заголовках или основном тексте элементов, отвечающих заданным условиям. Совершенно необходима возможность настройки параметров присоединения двоичных файлов по протоколу MIME (MultimediaInternetMailExtensions). Еще одним стандартным компонентом такой программы является встроенная адресная книга.

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

Для пользователей наибольший интерес представляют язык описания сценариев и технология программных компонентов ActiveX, на которой основан встроенный в систему Web-броузер. Пользоваться встроенным Web-броузером очень удобно - он отлично справляется с HTML-документами.

Функции POP встраиваются в почтовые серверы и броузеры. Исторически сложилось так, что почтовым серверам, основанным на протоколе PostOfficeProtocol уделялось мало внимания, несмотря на сравнительную простоту в реализации. Однако теперь рынок, порожденный Internet, получил такое развитие, что его не могут игнорировать. Такая компания, как Software.com, располагающая великолепным POP3-сервером Post.Office для платформ Windows NT и Unix, в настоящее время решает проблему удаленного управления этим сервером через Web-броузер.

После клиентских программ для работы с электронной почтой Web-броузеры являются самым популярным видом приложений для настольных ПК. Неудивительно, что многие компании пытаются интегрировать их. Первым и наиболее удачным примером таких усилий стало ПО NetscapeNavigator версий 2.x. В него встроена клиентская поддержка POP3 и средство считывания из сети новостей, основанное на протоколе NetworkNewsTransferProtocol. В Navigator 3.0 эти функции остались почти без изменения и лишь немного были усовершенствованы. Корпорация Microsoft предлагает самостоятельное, хотя и тесно интегрированное с InternetExplorer 3.0, клиентское приложение POP3 со средством чтения новостей.

В MicrosoftExchangeServer реализованы поддержка POP3-клиентов и доступ через интрасети, так что выход в Internet можно организовать с помощью практически любого стандартного средства. Кроме того, ExchangeServer оснащен SMTP-шлюзом для отправки и получения корреспонденции электронной почты по каналам Internet.

Служба взаимодействия с Web включает в себя средства интеграции ExchangeServer с ПО Web-сервера, таким, например, как MicrosoftInternetInformationServer (IIS).

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



Взаимодействие Web-клиента с другими серверами


В настоящее время броузеры WWW помимо Web-серверов (через HTTP) могут взаимодействовать с различными типами серверов с использованием протоколов FTP, gopher, mailto, news, nntp, telnet, wais, file (таблица 1.1, рисунок 1.4). В состав URL входит информация о методе доступа, требующаяся броузеру WWW, чтобы использовать любой из этих протоколов.

Таблица 1.1 Схемы доступа URL

Схема доступаОписание доступа
httpПротокол передачи гипертекста
ftpПротокол передачи файлов
gopherПротокол Gopher
mailtoАдрес электронной почты
news, nntpНовости
telnetСеанс telnet
waisСервер протокола WAIS
fileИмя файла в компьютере

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

Рис. 1.4. Взаимодействие Web-клиента с другими серверами



Web-серверы


Сегодня Internet/Intranet устойчиво ассоциируется с Web: каждая страница и графическое изображение поступают с какого-либо Web-сервера. Внимание публики приковано к Web-броузерам, в частности NetscapeNavigator и MicrosoftInternetExplorer, но без Web-серверов не было бы ни "Всемирной паутины", ни корпоративных интрасетей.



WebEditProfessionalEdition


WebEditProfessionalEdition 2.0 - один из самых современных программных редакторов Web-страниц. Этот 32-разрядный пакет предназначен для специалистов, понимающих структурную логику HTML. Однако он может послужить и новичкам благодаря наличию "мастера", который, задав лишь несколько вопросов, автоматически создает локальные страницы.

В процессе редактирования заголовки, таблицы, формы и кадры вставляются без помощи "мастеров", данные вводятся в диалоговых окнах, и работа ведется непосредственно с исходным текстом в окне редактирования, а программа предварительного просмотра, функционирующая в реальном масштабе времени, тем временем отображает этот же файл в режиме WYSIWYG. WebEdit преобразует файлы баз данных с разделителями в HTML-таблицы, объединяет различные файлы в "проекты", которые можно открывать для редактирования или загружать на сервер через FTP одним нажатием клавиши, а также создает навигационные карты на клиенткой стороне. Продукт предусматривает работу с кадрами, тегами Java и модулями ActiveX, хотя и не обеспечивает их предварительного просмотра.

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

При перемещении указателя по диалоговым окнам на экране всплывают краткие пояснения, а в help-файле имеется превосходный глоссарий HTML-кодов. WebEdit позволяет строить и импортировать таблицы в интерактивный редактор таблиц, но добавить заголовки можно лишь как отдельные теги, вернувшись в главный экран редактирования. Редактор таблиц также экспортирует HTML-таблицы в виде файлов с разделителями-запятыми.

Можно перетащить пиктограмму с "рабочего стола" или из Explorer и автоматически создать связь или открыть для редактирования файл в отдельном окне. Программа импортирует любые HTML-файлы, и хотя в ней имеются средства "проверки кодов", они лишь предупреждают, если используются управляющие коды, не распознаваемые на различных уровнях стандарта HTML. Программа оснащена мощной утилитой проверки правописания, функцией поиска с заменой и функцией экспорта файлов в форматах Macintosh и UNIX вместо стандарта DOS.



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


Для самостоятельной проработки материала первого урока слушателям предлагается сначала подготовить в любом текстовом редакторе три HTML-страницы.

На первой странице предлагается попробовать возможности выделения текста (italic, bold, underline), написания нескольких уровней заголовков, различные виды списков.

На второй странице предлагается представить несколько графических изображений, одно из которых будет являться ссылкой к некоторому отдельному изображению. Кроме этого, предлагается вставить в страницу видеоизображение (файл *.avi), опробовав различные параметры тега <IMG> для видеоизображений.

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

Таблица 1.1. Доля отдельных развитых стран в ВВП мира (%)

Страна197019801995
США23,721,420,9
Япония6,27,68,6
Германия5,65,04,6
Франция3,83,73,4
Великобритания4,33,53,2
Италия3,93,63,3

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

Примерные тексты первой, второй и третьей страниц приведены ниже:

Первая страница

<html>

<head>

<title>Общие сведения</title>

</head>

<body>

<h1 align="center">Язык гипертекстовой маркировки HTML</h1>

<h2>Общие сведения</h2>

<p>Среди общедоступных средств Internet для предоставления информации <b>система WWW</b> занимает особое место.

<p>Система WWW была разработана несколько лет назад в одном из крупнейших европейских центров ядерных исследований CERN (<i>EuropeanCenterforNuclearResearch, Швейцария</i>), и предназначена для объединения документов и файлов по всей сети Internet с помощью гипертекстовых связей.

<p><b><u>Язык гипертекстовой маркировки HTML</u></b> является одним из составных компонентов WWW. Он был основан на стандарте <b><i> ISO 8879-1986 SGML</i></b>.


<p> HTML позволяет определять структуру электронного документа с полиграфическим уровнем оформления; результирующий документ может содержать самые разнообразные элементы: иллюстрации, аудио- и видео- фрагменты и так далее. Язык включает в свой состав развитые средства для специфицирования нескольких уровней заголовков, шрифтовых выделений, различных групп объектов, например, словари, каталоги или меню для размещения иллюстраций и других фрагментов, а также множество других возможностей.

<p>В основу гипертекстовой разметки была положена теговая модель описания документа, позволяющая представить документ в виде совокупности элементов, каждый из которых окружен тегом (управляющим HTML-кодом). По своему значению теги близки к понятию операторных скобок begin/end в универсальных языках программирования и задают области действия имен локальных переменных, определяют область действия правил интерпретации текстовых элементов документа и т.п.

<p>Документ HTML представляет собой не что иное, как обычный ASCII-файл, с добавленными в него управляющими HTML-кодами (тегами). Каждый тег начинается с левой угловой скобки ''&lt;'' и заканчивается правой угловой скобкой ''&gt;''. Между скобками записывается идентификатор тега и, если необходимо, дополнительные аргументы. Все теги по их назначению и области действия можно разделить на пять основных групп:

<ol>

<li>общего назначения; </li>

<li>определения структуры текста;</li>

<li>определения атрибутов текста;</li>

<li>навигации и гипертекстовых ссылок;</li>

<li>задания специальных эффектов и форматов данных.</li>

</ol>

</body>

</html>
Вторая страница
<html> <head> <title>Животные</title> </head> <body> <h2 align="center"><u>Животные, обитающие в России</u></h2> <p>Тигр: <ahref="Tigers.jpg"><imgsrc="Tiger.jpg" width="40" heght="40"></a> Данная картинка является ссылкой! Щелкните по ней мышью и увидите... <p>Зубр: <imgsrc="Zubr.gif" border=0 align="middle" width="307" height="220"> Песец: <imgsrc="Pesec.gif" border=0 align="middle" width="408" height="160"> </body> </html>


Третья страница
<html> <head> <title>Экономика</title> </head> <body> <p> <tableborder="1" width="50%"> <captionalign="top"><i>Таблица </i> <b>Доля отдельных развитых стран в ВВП мира (%)</b></caption> <tr> <thwidth="40%">Страны</th> <thwidth="15%">1970</th> <thwidth="15%">1980</th> <thwidth="15%">1995</th> </tr> <tr> <td>США</td> <td>23,7</td> <td>21,4</td> <td>20,9</td> </tr> <tr> <td>Япония</td> <td>6,2</td> <td>7,6</td> <td>8,6</td> </tr> <tr> <td>Германия</td> <td>5,6</td> <td>5,0</td> <td>4,6</td> </tr> <tr> <td>Франция</td> <td>3,8</td> <td>3,7</td> <td>3,4</td> </tr> <tr> <td>Великобритания</td> <td>4,3</td> <td>3,5</td> <td>3,2</td> </tr> <tr> <td>Италия</td> <td>3,9</td> <td>3,6</td> <td>3,3</td> </tr> </table> </td> </tr> </table> <p><imgsrc="Diagram.gif" border=0 width="528" height="268"> </body> </html>
После этого слушателям предлагается объединить созданные HTML-страницы в единый Web-документ, создав навигационные элементы. Для этого в отдельной HTML-странице требуется создать ссылки на ранее созданные страницы, а в каждой из этих страниц - ссылки для возвращения на начальную страницу.
После этого упражнения предлагается построить Web-документ, используя фреймы (кадры). Для этого оформляется новая HTML-страница, содержащая описание кадров, а затем к ней подключаются страницы, созданные в предыдущих упражнениях.
Далее предлагается опробовать технологию карт изображений на примере UseMap. Для этого необходимо начальную страницу заменить другой страницей, содержащей графическое изображение, являющееся картой изображений. Данная карта изображений содержит некоторые элементы, которые можно сделать ссылками на различные HTML-страницы или другие элементы. В данном упражнении сделайте ссылки на три ранее созданные HTML-страницы.

Заглавие HTML-страницы


Заглавие показывает общий смысл HTML-страницы, его не следует путать с именем файла. При просмотре HTML-страницы в графическом броузере (например, NetscapeNavigator) заглавие появляется в полоске заголовка окна броузера. Для определения заглавия HTML-страницы применяется тег <TITLE> с закрывающей парой </TITLE> .

Заглавие всегда помещается в секцию головы. Например, чтобы назвать страницу Моя любимая страница, нужно создать следующий HTML-текст:

<HTML> <HEAD> <TITLE>Моя любимая страница</TITLE> </HEAD> <BODY> </BODY> </HTML>



Защищенный протокол SSL


Средства SecureSocketsLayer (SSL) обеспечивают более высокий уровень защиты, чем базовая аутентификация.

Разработанная фирмой Netscape спецификация SSL 2.0 призвана обеспечить безопасность каналов связи между клиентами и серверами с помощью шифрования данных. К другим достоинствам SSL относятся гарантированная сохранность сообщений и опознавание сервера. В настоящее время для того, чтобы использовать SSL, вы должны заплатить за сертификат сервера, выдаваемый такой уполномоченной организацией, как VeriSign. Это разумная мера для узлов Internet, где требуется высокая надежность, но для интрасетей - это стрельба из пушек по воробьям. В ближайшем будущем появятся продукты, которые дадут возможность выпускать внутренние сертификаты.

Все известные Web-серверы, за исключением изделия фирмы Novell, удовлетворяют требованиям SSL 2.0. В версии SSL3.0 фирма Netscape упорядочила спецификацию SSL и добавила средства опознавания клиента. С помощью SSL 3.0 серверы получат возможность идентифицировать клиента, пытающегося получить доступ к ресурсам. В настоящее время только программа NetscapeEnterpriseServer полностью соответствует требованиям SSL 3.0.

Пакет NetscapeEnterpriseServer рассчитан для большого коммерческого предприятия и предполагает, что несколько человек или подразделений будут совместно создавать страницы Web и управлять ими. Эта программа, функционирующая в среде WindowsNTServer, показала отличные результаты на тестах производительности, располагает всеми функциями и характеристиками, необходимыми для создания и обслуживания крупного информационного центра Web. В их числе - средства защиты SSL 3.0 с возможностью проверки подлинности сертификата клиента, встроенный процессор поиска фирмы Verity, возможность работы с протоколом SNMP, усовершенствованные средства управления содержательными материалами узла Web и великолепные инструментальные средства для подключения к базам данных.

С помощью процессора MKSIntegrityEngine пакета EnterpriseServer можно организовать систему регистрации и контроля использования файлов, которая гарантирует, что сотрудники, привлеченные к созданию содержательного материала, не уничтожат Web-страницы своих коллег. MKS также сохраняет на сервере все предварительные версии Web-документов, позволяя легко найти их при необходимости. И наконец, EnterpriseServer может функционировать на множестве платформ, в том числе в среде различных версий UNIX и WindowsNT.



Защита


И Navigator, и InternetExplorer имеют обширные встроенные механизмы защиты на основе SecureSocketsLayer 3.0 и системы шифрования RSA с использованием открытого ключа.