- 25 октября 1998 г.
Больше никакой статики
Продолжаем разговор о создании сайта электронной коммерции. В предыдущем
номере мы рассказали об организационных аспектах этого процесса. Теперь настало
время рассмотреть технические детали. Первая статья этой рубрики в кратком
введении напомнит читателям о вопросах, на которые необходимо ответить прежде,
чем начать разработку проекта электронного бизнеса. Основная же тема данного
материала - технические аспекты создания динамического сайта - программные и
аппаратные требования к web-серверу, особенности платформ и соединений,
использование баз данных и т.д.
Компоненты технического решения и вопросы технической реализации, по
большому счету, не зависят от типа сайта. Почему мы начинаем именно с
динамического дизайна? Конечно, это современно, это популярно, это
привлекательно:, но самое главное - без динамики не существует электронной
коммерции: именно она дает возможность отражать быстро меняющуюся информацию и
предлагать посетителям интерактивные способы работы с сайтом.
Вы решили создать сайт для своего бизнеса и пока вы готовились к проработке деталей его создания, одно стало очевидно: статический сайт - это не совсем то, что нужно. Вам же надо привлечь и заинтересовать посетителей, а также дать им возможность насладиться необычайными интерактивными возможностями вашего сайта. Вы же хотите не просто удовлетворить их требования, но и произвести впечатление своим обслуживанием. Как можно добиться этого? Ответ - с помощью динамического сайта. Однако, прежде чем вы углубитесь в динамический дизайн сайта, вам необходимо ответить на три фундаментальных вопроса:
- Кто ваша аудитория?
Вы должны оценить потребности ваших онлайновых клиентов и определить, какими типами web-броузеров они пользуются. Если вы ориентируетесь на всю потенциальную аудиторию, ваш сайт должен быть доступен для различных броузеров - в противном случае вы рискуете потерять серьезную часть предполагаемого рынка. - Почему вы создаете сайт?
Ясно определите ваши цели, и у вас будут все данные для выбора конкретных динамических методов. Например, привлечение новых клиентов может диктовать подходы, отличные от тех, что используются для обслуживания ваших нынешних клиентов. - Что будет представлять собой контент (содержимое) вашего
сайта?
Контент - это все! Динамические сайты нуждаются в "свежем" контенте, независимо от того, представляет ли он собой информацию в реальном времени, результаты запросов к базе данных или исходные статьи, обновляемые на регулярной основе. Если вы не можете обеспечить обновление контента, значит, вы предлагаете статический сайт.
Обзор динамического дизайна
Бизнес-афоризм "общение есть ключ к хорошим взаимоотношениям" звучит особенно справедливо в отношении ваших онлайновых клиентов. Предоставьте им динамический интерактивный сайт, и ваш великий старт будет совершен. Не уверены в том, как лучше всего это сделать? Я расскажу вам о различных методах и предложу некоторые решения для творческого создания вашей собственной сессии:
- Методы сервера
Динамические web-страницы, генерируемые "на лету", обычно являются результатом методов сервера. Все биты и частички, придающие странице индивидуальность, собираются вместе в момент работы программ, запускаемых совместно с web-сервером. Получающаяся в результате страница часто строится с использованием ответов пользователей, полученных от них на предыдущих страницах. Стандартным примером является многостраничная форма ввода или опрос, при этом информация, отображаемая на последующих страницах, зависит от сделанного пользователем выбора или введенной им информации. Используя методы сервера, вы можете предложить (организовать) на своем сайте различные форумы, гостевую книгу, формы обратной связи, чаты, поисковики по сайту, автоответчики или форму подписки на новости. - Серверные подключения базы данных
С помощью шаблона для создания среды построения Web-страниц вы можете последовательно создавать страницы с содержимым, управляемым базой данных и уникальным для каждого выбранного пользователем критерия.
Если ваш контент еще не содержится в базе данных, но все же структурирован в определенном формате (формате плоского файла, реляционном или многомерном), подходящем для стандартных запросов, подумайте, какие преимущества ваши клиенты могут получить от обращения к таким данным. Обдумайте вывод вашего каталога в онлайн. И как насчет журнала горячей линии технической поддержки - может ли это быть представлено в виде ЧаВо или базы знаний по неисправностям? А, может быть, вашим постоянным клиентам необходим доступ к информации по их аккаунтам? Кроме того, вы даже можете предложить функцию поиска и клиентских отчетов. - Методы клиента
Используя возможности программного обеспечения броузера потребителей, методы клиента дают вам возможность предоставлять динамический контент без повторяющихся запросов к web-серверу. Вместо них, вы используете скриптовый язык наподобие JavaScript или автономные приложения наподобие Java-апплетов.
С помощью этих методов вы можете отслеживать выбор ваших посетителей в процессе сессии, подключать отображение в реальном режиме местного времени ваших пользователей или добавлять окно с "прокручивающимися" курсами акций. Вы можете также отображать и изменять - случайным образом или согласно расписанию - все виды информации - рекламные материалы, тексты, ссылки, цитаты или изображения.
Методами клиента возможно реализовать даже утилиты поиска, хотя их функциональность будет несколько ограничена, как и у онлайновых игр и инструментов, которые вы захотите предложить в виде подарков своим потребителям.
И, наконец, те маленькие детали, что привлекают внимание - выпадающие меню, подсветка в соответствии с положением курсора, прокрутка сообщений с помощью линии статуса, - также являются продуктом методов клиента. - Обновления вручную
Когда для решения задачи не подходят методы ни сервера, ни клиента, необходимо участие человека -администрирование. Если вы планируете разместить на своем сайте какие-либо статьи, посвященные конкретной области бизнеса, и часто их обновлять, то необходима постоянная связь с автором Вмешательство человека необходимо для таких случаев, как загрузка последних новостей вашей компании, добавление новых внешних ссылок, обновление раздела "Что нового?", удаление "мертвых" ссылок и общее редактирование сайта.
Перейдем к делу
Теперь у вас есть несколько интересных соображений по созданию нового бизнес-сайта. Как вы будете его строить? Вы могли бы выбрать самое простое и возможно наименее дорогое решение: заказать и разработку, и внедрение сайта соответствующей фирме. С другой стороны ценового спектра находится самостоятельное создание сайта и установка собственного сервера.
Независимо от того, какой метод вы выберете, решение должно приниматься вами только после внимательного рассмотрения вашего бюджета и следующих факторов:
- Штат
Оцените уровень квалификации ваших сотрудников. Подходят ли ваши кадры для разработки и обслуживания динамического сайта? Если вы планируете использовать собственный сервер, то выясните, могут ли ваши специалисты работать с HTML и графическими пакетами, администрировать web-сервер и/или базы данных, программировать CGI или скрипты, а также анализировать журнальный файл?
Если нет, вы можете решиться заказать разработку и хостинг вашего сайта в соответствующей фирме - это принесет вам изрядную головную боль, но зато наверняка повлечет за собой резкий скачок в квалификации вашего персонала. Даже если вы поручите кому-либо техническую часть работы над вашим сайтом, вам все равно необходимо выделить в рабочем графике своих сотрудников некоторый отрезок времени для ответов на запросы, поступающие с вашего сайта, наблюдение за технической реализацией, анализа информации онлайновых форм, выполнения транзакций электронной коммерции и поддержки актуальности информации на вашем сайте.
Все, кто ответственен за ваш контент, нуждаются в способе размещения своего текста или графики непосредственно на сервере. Они могут использовать область общего доступа или ftp-аккаунт, но вам обязательно захочется выяснить, какие проблемы существуют у провайдеров вашего контента и как их избежать. - Аппаратное обеспечение web-сервера
Аппаратное обеспечение web-сервера не обязательно должно быть очень дорогим - маловероятно, например, что ваш сервер потребует нечто большее, чем скромную видеокарту и монитор. Но вам не следует экономить на RAM или дисковой подсистеме (здесь наилучшим выбором будет SCSI, если только ваш сайт не предполагает большого трафика). Учтите, что запуск программного обеспечения для баз данных на вашем web-сервере ограничивает системные ресурсы, снижая интенсивность работы web-сервера, поэтому для компенсации этого недостатка вам необходима более быстрая машина с большим объемом памяти.
В некотором роде минимальные требования к вашему аппаратному обеспечению будут зависеть от выбранной вами операционной системы. Если вы планируете установить Linux, воспользуйтесь не менее чем 100 МГц Pentium с не менее чем 48 Мб RAM, а лучше даже более мощным. Минимальные требования к АО для Windows NT Server варьируются от 120 МГц Pentium с 64 Мб RAM для систем Intel до 200 МГц Pentium для Alpha-систем DEC. Ту же работу может выполнить и Macintosh с процессором PowerPC G3 и 48 Мб RAM, хотя он и не столь популярен в качестве платформы для web-серверов. - Программное обеспечение web-серверов
Самые лучшие пакеты программного обеспечения для web-серверов поддерживают безопасные транзакции, CGI-скрипты, установку и обслуживание графики, пользовательские области, общий формат журнала, вставки на стороне сервера и контроль доступа. Если вы планируете приобрести коммерческий web-серверный продукт, важным моментом будет его техническая поддержка. Два наиболее популярных в мире web-сервера могут быть бесплатно получены через Интернет.
Заметьте, что не все web-серверы работают на всех платформах. Например, если серверы Apache и Netscape имеют модификации как для Windows NT, так и для различных вариантов Unix, то возможности Microsoft Internet Information Server (IIS) ограничены только Windows NT.
Что касается Mac-серверов, WebTen (Tenon Intersystems) является самым быстрым и держит эту марку даже при сравнении с работой IIS на NT. Однако, его ближайший конкурент WebStar 3.0 (StarNine Technologies) считается более подходящим с точки зрения простоты использования, хотя быстродействие его гораздо ниже, чем у WebTen. - Платформа
Unix представлен на рынке в различных вариантах. Вы можете приобрести продукт известной фирмы у одного из крупных поставщиков (например, AIX компании IBM или HP-UX фирмы Hewlett-Packard) или скачать одну из бесплатных версий через Интернет.
Помните, тем не менее, что может оказаться, что платформа известной фирмы способна работать только на соответствующей машине той же фирмы. Например, Digital Unix фирмы DEC будет работать только на DEC-машине. А Solaris компании Sun Microsystems имеет несколько версий для компьютеров, основанных на процессорах Intel или совместимых с ними.
Windows NT Server имеет весьма привлекательные возможности для администрирования и цену, однако ряд разработчиков сайтов утверждает, что стоимость последующего обслуживания вызывает трудности в случае использования приложений, число пользователей которых превышает 1500. Windows NT Server Enterprise Edition, хотя и требует более высоких начальных затрат, тем не менее работает значительно лучше. Я все еще рекомендую Unix для корпоративных систем с большим числом транзакций: так как это более мощная и детально проработанная хостинговая система, чем Windows NT. - Безопасность
Безопасность web-сайта - это функция как платформы, так и программного обеспечения web-сервера, и ее ни в коем случае нельзя упускать из виду. Если у вас уже имеется частная сеть, содержащая конфиденциальную информацию или информацию, являющуюся собственностью фирмы, не подключайте машины данной сети к Интернет без шлюзов. Даже если вы планируете расположить ваш сайт на вашем ISP-сервере, вы все равно должны задуматься о безопасности, особенно если вы предполагаете оперировать конфиденциальной информацией, полученной от ваших клиентов. - Резервное копирование
Резервное копирование ваших данных не менее важно, чем обеспечение безопасности. Если хостинг вашего сайта осуществляется с помощью ISP, вам, вероятно, необходимо копировать только ваш HTML-файл и графику. Но если вы обеспечиваете хостинг сайта самостоятельно, вам следует также создавать копии файлов конфигурации вашего сервера и журнальных файлов, ваших CGI-скриптов и любых баз данных, обеспечивающих динамические данные. - Соединения сети
Скорость соединения web-сервера с Интернет очень важна, особенно для динамических сайтов, где контент, как правило, предоставляется методами сервера. Лучше, если ISP будет иметь хотя бы одно или более соединений Т1 (номинально способных передавать 1,5 мегабита данных в секунду; многие ISP имеют гораздо большую пропускную способность). Безусловно, лучше использовать собственный сервер или арендовать место на ISP-сервере.
Если вы располагаете ваш сайт на собственном сервере, соединение с меньшей пропускной способностью, чем усеченный канал Т1 (128 Кб/с или 256 Кб/с), подойдет только для работы с текстовыми файлами или сайтами с небольшим трафиком.
Стоимость технологических подходов
Как только вы определились с инфраструктурой, теперь вы должны оценить стоимость и преимущества различных технологических решений, которыми вы сможете воспользоваться для обеспечения динамического контента.
- Методы сервера
Методы сервера включают в себя использование CGI-скриптов (часто написанных на Perl), карт изображений и вставок на стороне сервера (SSI). CGI представляет собой простую для понимания коммуникационную инфраструктуру, не зависящую от архитектуры сервера и языка программирования. В сравнении с другими способами добавления динамического контента к вашему сайту, методы сервера позволяют вам обслуживать посетителей с более широким спектром броузеров.
В то же время, методы сервера могут быть неэффективны и имеют тенденцию отнимать значительную часть ресурсов сервера. Сложная серверная обработка может вылиться в длительное ожидание, если вы используете внешний сервер, чей центральный процессор и диски используются несколькими различными сайтами.
Для улучшения работы сервера имеются и различные опции, например - собственные API популярных web-серверов. Эти API не так просты в изучении, как CGI, и часто требуют освоения языка Си или Си++. FastCGI представляет собой другой интерфейс web-сервера, достаточно похожий на CHI, но имеющий расширенную функциональность и значительно улучшенные характеристики работы. FastCGI является хорошим средством для приложений, интенсивно использующих ресурсы сети, но если вы выберете этот путь, вам придется использовать собственный сервер.
В настоящее время наиболее популярным программным обеспечением для web-серверов является Apache (1.3.1) и Microsoft IIS (4.0). Каждый из них поддерживает CGI-скрипты, карты изображений и вставки на стороне сервера.
Если вы заинтересованы в разработке среды, интегрирующей клиентскую часть, сервер и технологии баз данных, обратите внимание на web-сервер приложений. Это и Microsoft Active Server Pages (ASP), и Netscape Enterprise Server 3.5.1. (с приложенным к нему LiveWire), и Apple WebObjects 3.5, и Allaire Cold Fusion. Enterprise Server, WebObjects и Cold Fusion работают под управлением и NT Server, и Unix, а ASP лучше всего запускать на NT Server.
И, наконец, Вам не обязательно использовать свой собственный сервер, чтобы создать такие динамические и интерактивные контенты, как форумы, автоответчики, списки рассылки или чаты. Многие компании-разработчики предоставляют настраиваемые интерактивные сервисы и средства другим компаниям, обеспечивая им возможность создания полнофункционального динамического сайта с меньшими затратами времени и с меньшим объемом работы. - Методы клиента
Эти методы в управлении объектами на web-странице опираются на языки скриптов, наподобие JavaScript, или автономные динамические программы, возможно, написанные на Java. Языки скриптов могут использоваться как сами по себе, так и совместно с Dynamic HTML (DHTML) - новой объектной моделью HTML-документов.
Серьезным преимуществом клиентских методов является то, что броузеры ваших посетителей снимают часть нагрузки с вашего сервера, обеспечивая тем самым большую пропускную способность. Обратной же стороной клиентских скриптов и приложений является то, что ваши посетители должны иметь броузеры с параметрами, соответствующими вашему сайту. Большая часть ваших посетителей, конечно, придет к вам с последней версией Netscape Navigator или Microsoft Internet Explorer - но отнюдь не все. И вам либо придется заняться дополнительной работой по приведению в соответствие вашему сайту устаревших броузеров или броузеров с ограниченной функциональностью, либо пойти на риск потерять пользователей с такими средствами.
Другим новым стандартом, привлекающим внимание передовых разработчиков, является XML. Он определяет и описывает вид информации в элементах данных XML-документа, и представляется перспективным с точки зрения мультимедийной публикации и интернет-коммерции.
Широкое распространение DHTML и XML, тем не менее, пока остается в перспективе: частично из-за временного промежутка, который обычно существует между созданием новой технологии и ее принятием пользователями, частично - из-за того, что конкуренты на рынке программного обеспечения броузеров настаивают на собственных версиях DHTML.
Что это может означать для вас как для разработчика сайта? Вам придется предпринять некоторые усилия, чтобы убедиться, что используемая вами версия DHTML корректно работает с различными броузерами. Поскольку вероятность того, , что ваши посетители используют устаревшие версии броузеров, все же достаточно велика, предлагаю вам не тратить время и средства на DHTML, пока вы не будете уверены в том, что большая часть вашей аудитории в состоянии их воспринять. Возможно, с течением времени реализации DHTML поставщиками броузеров объединятся в единое целое. - Опции базы данных
Динамический, управляемый базой данных сайт может быть очень привлекательным для пользователей: вы можете поощрять повторные визиты с помощью вашего кладезя информации. Связь с базой данных можно обеспечить с помощью Java-апплетов, но проблема поддержки броузеров все еще является значительным препятствием такому методу, поэтому сторона сервера больше подходит для обслуживания разнородной аудитории.
Для небольших приложений могут подойти "плоские" базы. Маленькие "плоские" базы данных просты в установке и доступе. Для мощных приложений вам все же следует обратить внимание на машины баз данных и программное обеспечение, спроектированное специально для реляционных или многомерных баз. Для очень большого приложения следует установить сервер баз данных, расположенный на отдельной от web-сервера машине, так как соединение с базой данных может существенно замедлить работу web-сервера.
Заставить ваш web-сервер и базу данных "общаться" между собой не всегда просто. К счастью, сегодня имеется несколько инструментов для размещения баз данных в Интернет, которые могут помочь установить соединения с web-сервером и ускорить проектирование интерфейса. До настоящего времени большая часть этого пакетного программного обеспечения ориентированы на реляционные базы данных.
Здесь мы предполагаем, разумеется, что ваш web-сервер будет иметь доступ к вашей базе данных. Однако, это может представлять собой риск с точки зрения безопасности.
Если вы используете внешний сервер, вам необходимо найти надежный метод синхронизации удаленных данных с вашими текущими внутренними данными (и, возможно, наоборот тоже). Если ваша база данных используется исключительно для интернет-данных, вам нужно обеспечить ваших сотрудников простым интерфейсом для работы с этими данными.
Удержитесь от соблазна
В процессе работы над созданием запоминающегося интерактивного сайта, легко перестараться (перейти к крайностям). Не смотря ни на что, вы должны в первую очередь руководствоваться потребностями ваших клиентов. Дайте им броскую, но при этом быстро загружающуюся главную страницу и оставьте некоторые сюрпризы для внутренних страниц. А главное - дайте им веское основание вернуться.
Автор: Стефани Д. Квок