СОЗДАНИЕ WEB-САЙТОВ С ИСПОЛЬЗОВАНИЕМ ТЕХНОЛОГИЙ JAVA И XML Гудов А.М., Ростовцев Е.В. Кемеровский государственный университет, Центр новых информационных технологий E-mail: [email protected] При создании web-сайта разработчики сталкиваются с рядом проблем, связанных как с разработкой его структуры, дизайна и логики, так и с его поддержкой и модификацией. В данной работе обсуждаются наиболее часто возникающие проблемы, пути их решения, а также приемы, призванные помочь в повышении эффективности решения типичных задач. Как правило при разработке «классического» web-сайта возникают трудности, связанные с общепринятыми технологиями и подходами к реализации его различных функциональных блоков. Ниже приводятся перечень наиболее часто встречающиеся проблемы и даются пути их решения. 1. Высокая нагрузка на СУБД, обусловленная достаточно сложной логикой сайта (или нескольких сайтов) при обслуживании достаточно большого числа клиентов. В настоящее время многие разработчики отказываются от традиционной клиент-серверной архитектуры в пользу N-уровневой архитектуры (клиент сервер приложений web-сервер СУБД). Это позволяет «разнести» нагрузку между различными частями распределенного сайта и обрабатывать запросы к информационным структурам пользуясь теми приложениями, которые делают эта более эффективно. 2. Высокая нагрузка на web-сервер, обусловленная активным использованием технологий CGI и SSI. В качестве решения этой задачи все более часто используется платформа Java 2 Enterprise Edition. При этом не только возрастает производительность сайта при обслуживании большого числа клиентов, но и расширение его функциональных возможностей. 3. Сложность создания нетривиальных CGI-программ чрезмерно возрастает вместе с увеличением сложности реализуемой в них логикой приложения. Существующие языки сценариев, такие как Perl, php, asp и другие, дают широкие возможности для программирования web-приложений. Однако при возрастании структуры приложения сложность написания CGI-программ возрастает чрезвычайно быстро. В качестве решения проблемы предлагается использование серверов приложений, базирующихся на Java-платформе. Сам язык Java является объектно-ориентированным и имеет мощный набор функций для реализации приложения любой сложности. 4. Ограниченность модификации html-дизайна. Например, при малейших изменениях в дизайне возникает необходимость в модификации каждой html-страницы (в случае, когда SSI не используется). Использование XML для хранения данных и языка преобразований XML – XSLT позволяет легко обойти эти трудности. При этом достигается разделение данных от их представления. Любые изменения дизайна web-страниц сводится лишь к модификации соответствующих шаблонов. При использовании технологий Java и XML становятся доступны новые возможности, позволяющие сделать разработку и обслуживание web-сайтов проще и эффективнее. Это, во-первых, независимость от платформы, операционной системы и сервера приложений. Во-вторых, тесное взаимодействие компонент сайта благодаря архитектуре сервера. Часто web-сайт имеет иерархическую структуру, в таком случае использование XML дает ощутимый выигрыш в обслуживании благодаря централизованному хранению и обработке структурированных данных. В третьих, различные фильтры и «врапперы» позволяют прозрачно обслуживать динамические элементы сайта, а также формировать содержание на основании комбинации определенных условий. Также значительно упрощается мульти-языковая поддержка. Java – объектно-ориентированный язык. XML же представляет «слепок» объекта в определенный момент времени. При таком подходе есть все возможности по автоматизации процесса создания и обслуживания web-сайта, универсализации данных, а, значит, создание системы, независимой от конкретного сайта. Кроме того, повышаются гибкость и расширяемость сайта. Изложенные выше общие подходы были реализованы при разработке нового сайта Кемеровского университета (http://www.kemsu.ru). Сервер Java-приложений (TomCat) функционирует на компьютере Pentium III-800 под управлением операционной системы Windows 2000. При обработке запроса происходит обращение к XML-странице под управлением Java-процедуры. При формировании «конечного» документа (если это необходимо) происходит обращение либо к данным, находящимся в базе данных Oracle 8i, либо к http-серверу (Apache) для получения какого-либо объекта по его ссылке.