Сравнение некоторых Web-технологий
Технология | Преимущества | Недостатки |
Сценарии и приложения CGI | Безопасность для клиента. Высокая совместимость, поскольку на выходе создаются стандартные HTML-страницы, просматриваемые в любом броузере | Потенциальная угроза серверу. Необходимость поддержки от администрации сервера. Необходимость в использовании квалифицированных программистов |
Апплеты Java | Возможность создания визуальных эффектов. Возможность создания интерактивных игр с пользователем | Необходимость в программистах высокой квалификации. Угроза безопасности для клиентов. Высокая вероятность того, что клиент отключит необходимые функции |
Элементы ActiveX | Возможность взаимодействия с другими программами на компьютере пользователя. Возможность записи данных на жесткий диск пользователя | Не полная совместимость, так как только броузеры Internet Explorer поддерживают элементы ActiveX. Отсутствие защиты пользователя. Возможность прямого воздействия на жесткий диск и операционную систему. Высокая вероятность того, что клиент отключит необходимые функции |
Активные сценарии JavaScript | Относительная простота реализации. Высокая производительность. Удобны для контроля заполнения Web-форм и для управления окном броузера | Угроза безопасности для клиентов. Недостаточная совместимость с броузерами разных типов. Неприглядная репутация в глазах пользователей, связанная с фактами некорректного использования. Высокая вероятность того, что клиент отключит необходимые функции |
Активные сценарии VBScript | То же + особая простота реализации | То же + более ограниченная совместимость |
Технология подключаемых приложений. Мы рассмотрели приемы увеличения интерактивности и динамичности Web-страниц путем встраивания в них активных объектов и активных сценариев. Мы убедились в том, что в большинстве случаев такие решения несут определенную угрозу для пользователей. Если пользователь использует WWW в информационных или развлекательных целях, то можно рассчитывать, что он не предпримет жестких мер для борьбы с активными компонентами. Однако, когда речь идет об электронной коммерции, информированный пользователь, скорее всего, отключит в броузере поддержку любых активных объектов и активных сценариев.
Тем не менее, если мы хотим организовать интерактивное взаимодействие сервера с клиентом, нам все-таки нужно, чтобы где-то работала некая программа, обслуживающая соединение. В данном подразделе мы рассмотрим прием размещения такой программы на стороне клиента, то есть на компьютере пользователя услуг электронной коммерции. Но сначала сделаем три вводных замечания.
1. Прежде всего, сервер должен предложить клиенту принять и установить на своем компьютере некую программу, которая позволит им взаимодействовать в гораздо более широкой мере, чем это предусмотрено стандартными средствами HTTP и HTML.
2. Со своей стороны, пользователь должен решительно отказываться от всех предложений серверов что-то ему установить, так как это прямой путь к потере управления над своим компьютером и хранящейся на нем информации.
3. Это противоречие имеет объективный характер. С подобными явлениями мы очень часто сталкиваемся в вычислительной технике вообще и в электронной коммерции в частности. Общий принцип разрешения таких конфликтных ситуаций — действие через посредника.
В качестве посредника может выступать третья сторона — производитель программного обеспечения, которое позволит создавать и направлять клиенту специфические объекты не программной природы (например графические), обладающие особыми свойствами, но не обладающие способностью к активной работе. Клиент, со своей стороны, должен получить и установить программное средство, с помощью которого он сможет этими объектами управлять.
Приведем пример. Сервер отправляет клиенту Web-страницу, посвященную столовому сервизу. На этой странице в виде объектов имеются изображения отдельных предметов, выполненные в специальном формате. Клиент может выбрать изображение любого предмета, увеличить его на экране, внимательно рассмотреть его художественное оформление, произвольно поворачивать предмет, рассматривая его с разных сторон. В ходе этих манипуляций с изображением клиент не обращается к серверу с новыми запросами (с просьбами показать предмет с другой стороны). Все данные им уже приняты — они хранятся в исходном объекте. Просто программа, имеющаяся на стороне клиента, позволяет извлекать из этих данных все новую и новую информацию и формировать серию изображений в соответствии с командами пользователя, что и воспринимается им как интерактивность.
Для того чтобы и клиент, и сервер могли доверять программному средству, поставляемому третьей стороной, они должны быть уверены в том, что это средство безопасно. Относительная уверенность в этом возникает, если речь идет о независимом поставщике общепризнанной технологии, применяющейся достаточно широко, чтобы считаться стандартной. Чем шире она распространена, тем больше вероятность того, что ее уязвимости, если они и есть, не будут использованы авторами технологии во вред ее пользователям.
На практике такие программные технологии “третьих фирм” реализуются в виде приложений, подключаемых к броузеру, почему они и называются подключаемыми приложениями. Все современные броузеры имеют механизмы для подключения к ним вспомогательных приложений. Такие приложения не имеют автономной ценности и не могут использоваться без броузера. Однако, когда они к броузеру подключены, то автоматически находят в составе Web-страницы “свои” объекты и воспроизводят их на экране или иным способом, например в виде звука.
Технология Flash. Flash-технология внедрена компанией Macromedia, известной своими разработками в области компьютерного дизайна. Авторам технологии удалось разработать механизм и выпустить программное обеспечение для создания необычайно компактных flash-объектов, обладающих свойствами динамичности (за счет анимации) и интерактивности (за счет возможности пользователя управлять их поведением на экране). Создатели Web-страниц размещают flash-объекты точно так же, как размещают обычные графические элементы оформления. Компактность flash-объектов обеспечивает их быструю передачу по медленным каналам связи.
Для просмотра flash-объектов пользователь должен иметь специальный проигрыватель, который присоединяется к броузеру как подключаемое расширение. Если броузер пользователя такого средства не имеет, то при загрузке Web-страницы, содержащей flash-объекты, ему выдается предложение установить проигрыватель. При положительном ответе на предложение происходит автоматическое подключение к Web-серверу компании Macromedia, передача и подключение проигрывателя. Эта услуга занимает не более нескольких минут. Для потребителя проигрыватель бесплатен — компания Macromedia получает доход от продажи средств создания flash-объектов, а не средств их просмотра. При последующих загрузках Web-страниц, имеющих flash-объекты, загрузка проигрывателя не требуется.
Сегодня flash-технология очень широко применяется в электронной коммерции. В качестве примера можно указать ведущие автомобильные концерны: Mercedes-Benz, BMW, Opel, Volkswagen, которые периодически используют flash-технологию при оформлении своих Web-pecypcoв. В России примеры использования flash-объектов можно найти на Web-узлах компании НТВ+, ряда операторов мобильной телефонной связи и многих других крупных компаний (рис. 10.8).
Как правило, flash-объекты настраиваются таким образом, что их воспроизведение начинается немедленно по завершении загрузки. Если объект представляет собой чистую анимацию, то он не требует никакого вмешательства со стороны пользователя, как, например, не требует никакого вмешательства просмотр обычного видеоряда (рис. 10.9). Но особенность flash-объектов состоит в том, что они представляют собой интерактивные элементы Web-страниц. Это означает, что они могут содержать элементы управления, допускающие взаимодействие с пользователем.
Основной интерактивный элемент flash-объектов — это командная кнопка. Flash-кнопки могут быть анимированными, могут изменять свой вид при движении над ними указателя мыши, могут обеспечивать совершенно неожиданные реакции на щелчок. Дополнительным элементом управления flash-объектов является текстовое поле, и на этом список исчерпывается. Однако с помощью таких, казалось бы ограниченных, средств можно реализовать удивительно много оригинальных художественных приемов.
Технологии виртуальной реальности. Документы World Wide Web не зря называют “страницами” — их можно рассматривать как плоские листы, содержанию текст и изображения. Между тем, компьютерные программы давно пытаются выйти за пределы плоскости. Такие средства используются и в электронной коммерции, например для представления товаров.
Для описания трехмерных сцен используется текстовый документ, который загружается броузером и отображается с помощью специального подключаемого приложения. Язык описания трехмерных изображений называется VRML (Virtual Reality Modelling Language — язык моделирования виртуальной реальности), а приложение, выполняющее визуализацию трехмерных сцен, называют средством просмотра VRML. Способ именования документов VRML несколько отличается от принятого для документов HTML. Стандартное расширение документов VRML – WRL.
Для просмотра VRML-документов существует несколько подключаемых приложений. В частности, для броузеров Netscape используют приложение Cosmo Player, а для Internet Explorer — компонент WorldView. При просмотре документа VRML или Web-страницы, содержащей объекты VRML, окно WorldView открывается непосредственно внутри основного окна броузера. Оно имеет две панели управления: вертикальную и горизонтальную. Их основное назначение — выбор точки, с которой выполняется наблюдение, а также коррекция изображения, если в этом возникнет необходимость. Дополнительным инструментом управления является контекстное меню, которое можно открыть щелчком правой кнопки мыши в основной области изображения.
Альтернативный метод демонстрации трехмерных моделей товаров основан на использовании Java-апплетов. В этом случае не обязательно открывать дополнительное окно со своими элементами управления. Демонстрация объекта может происходить в основном окне броузера в составе Web-страницы (рис. 10.10).
Динамические Web-страницы. На примере подключаемых приложений мы рассмотрели, как может осуществляться динамичное изменение Web-страниц и интерактивное взаимодействие с пользователем при размещении специального программного обеспечения на стороне клиента. О преимуществах и недостатках такого подхода мы уже говорили. Но возможен и другой подход — когда динамичность и интерактивность обеспечивает специальное серверное программное обеспечение.
Общий принцип работы подобных систем заключается в том, что Web-сервер работает в паре с системой управления базой данных (СУБД). При этом Web-узел приобретает совершенно новые свойства. Теперь его уже не надо рассматривать только как совокупность заранее подготовленных и должным образом связанных между собой Web-страниц. Не встает также вопрос о том, где и как следует сохранять эти Web-страницы, — их просто может не быть. Рассмотрим для примера функционирование Web-узла, поставляющего сводки последних известий (рис. 10.11).
1. Клиент запрашивает у сервера Web-страницу, посвященную последним известиям из области экономики (курсы валют, котировки биржевых акций, новости экономики и политики, комментарии и прогнозы специалистов). Если речь идет о событиях, произошедших пятнадцать минут назад, то трудно рассчитывать, что кто-то мог обработать информацию о них, создать Web-страницу, аккуратно ее оформить, расположив текстовые и графические материалы, после чего сохранить эту страницу в каталоге с заданным адресом URL (тем самым, к которому обращается клиент).
2. Получив запрос на поставку страницы, которой на самом деле нет в природе, Web-сервер обращается к СУБД, в которой хранятся материалы, поступающие по различным каналам связи. Среди этих материалов есть и текстовые сообщения, и фотографии.
3. Система управления базой данных отбирает материалы, наиболее полно соответствующие запросу клиента, и передает их серверу.
4. Специальное серверное приложение собирает из полученных материалов Web-страницу (документ HTML) и отправляет ее клиенту в ответ на его запрос.
5. Клиент может просматривать полученную Web-страницу в окне броузера и может сохранить ее в виде документа HTML. Но если он через несколько минут вновь обратится к серверу за получением той же страницы, то, скорее всего, она будет представлена уже совсем другим документом. За время, прошедшее после предыдущего запроса, экономическая ситуация в мире могла измениться, соответственно могли измениться биржевые сводки и поступить новые сообщения от информационных агентств.
В настоящее время одной из наиболее популярных технологий создания динамических Web-страниц является технология Active Server Pages (ASP), средства для реализации которой инкорпорированы компанией Microsoft в Web-сервер IIS (Internet Information Server). В последнее время очень большую популярность приобретает также активно развивающаяся технология ColdFusion, внедренная компанией Allaire (www.allaire.com). Эта технология основана на двух компонентах: ColdFusion Server и ColdFusion Studio. Первый компонент выполняет функции специализированного Web-сервера, взаимодействующего с базой данных (практически с любой стандартной), а второй компонент служит средством для создания шаблонов динамических Web-страниц, в которые могут входить блоки содержания, отбираемые из базы данных (рис. 10.12).