Перед началом работы
Это руководство познакомит вас с Web реального времени и некоторыми причинами, по которым создают Web-приложения реального времени. Вы узнаете о методах, позволяющих создавать отзывчивые, постоянно обновляемые Web-приложения, которые экономят ресурсы сервера, обеспечивая удобство для пользователя.
Web-приложения реального времени позволяют получать уведомления сразу, как только информация опубликована, без необходимости наведываться в источник для ручного обновления. Они стали популярны благодаря таким инструментам, как Twitter и Friendfeed, Google Wave и Meebo.
Extensible Messaging и Presence Protocol (XMPP) – это основанный на XML набор технологий для создания приложений реального времени, определяемых как сетевые приложения, которые постоянно обновляют данные по мере их появления или изменения. Изначально он был разработан как среда для поддержки корпоративных приложений мгновенного обмена сообщениями и информацией о присутствии.
В этом руководстве мы создадим Pingstream, простой инструмент, который постоянно обновляется с помощью каналов RSS (код Pingstream содержится в разделе Загрузки). По ходу дела вы:
- узнаете, почему XMPP особенно подходит для Web-приложений;
- познакомитесь с компонентами связи XMPP;
- установите и настроите сервер Openfire XMPP;
- подключитесь к XMPP-серверу с использованием PHP и библиотеки XMPPHP;
- научитесь проверять наличие новых элементов в канале и передавать их на XMPP;
- воспользуетесь Strophe и JQuery для подключения к XMPP-серверу через HTTP с применением технологии Bidirectional-streams Over Synchronous HTTP (BOSH);
- отобразите уведомления XMPP на Web-странице.
Это руководство предполагает некоторое знакомство с разработкой Web-приложений на PHP, хотя и мало углубляется в программирование. Также понадобится некоторый опыт работы с HTML и JavaScript. Будет полезен и опыт работы в среде JQuery JavaScript. Никакого предварительного знакомства с XMPP или подобными технологиями не требуется.
Чтобы следовать этому руководству, понадобится следующее программное обеспечение сервера:
- PHP 5.2 или более поздняя версия,
- Apache HTTP Server,
- MySQL.
В процессе работы мы загрузим и установим также следующее программное обеспечение и библиотеки:
- Openfire,
- jQuery,
- Strophe,
- XMPPHP,
- Last RSS.
Еще полезно найти инструмент PhpMyAdmin для сервера MySQL. Если для локального тестирования ПО Web-приложения реального времени используется настольный компьютер, XAMPP может оказаться полезным для установки и эксплуатации инфраструктуры тестирования Web-сервера.
См. ссылки в разделе Ресурсы.
