Проектирование приложения

На этом примере будут продемонстрированы не только различные аспекты РНР и управления базами данных, но и некоторые принципы, на которых основана работа по стандарту Web 2.0 (например, техноло­гия Ajax и применение тегов). Приложение по управлению блогами позволит поль­зователям создавать собственные веб-журналы и управлять ими. У каждого поль­зователя будет собственная открытая страница для публикации записей блога.

Показана структура будущего приложения. Для хранения используемых им данных используется база данных. Для управления функциональными возможно­стями приложения в ее структуре создано несколько отдельных логических областей. Кроме того, один из ключевых аспектов приложений для Web 2.0 — строгое соблюде­ние стандартов XHTML и CSS. Для максимальной совместимости и согласованности доступа к данным необходима качественная гипертекстовая разметка и хорошо струк­турированные классы javascript, чем мы, в частности, и займемся далее.

База данных веб-приложения

(MySQL, PostgreSQL и т.п.)

Хранение учетных записей и заметок блогов

 

Учет пользователей

Регистрация Вход и выход Отправка пароля по почте Страницы пользователей

  • Показ заметок блога

(с фотографиями и картами)

  • Прием и вывод комментариев

Работа с блогом

  • Работа с комментариями
  • Работа с комментариями
  • Изображения и карты местности^

Веб-браузер пользователя

  • Вывод XHTML и CSS по стандарту
  • Интерфейс на основе javascript
  • Связь с сервером средствами Ajax

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

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

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