Живой чат

Онлайн поддержка

Сегодня доделал живой чат для сайта. Задача стояла такая: создать живой чат, чтобы посетитель, пришедший на сайт, мог задать вопрос менеджеру или оператору. Менеджеру или оператору сообщение должно приходить на клиент, типа icq.

В интернете есть сервисы, которые предоставляют подобную услугу. К примеру plupper.com или liveoperator.ru. Эти сервисы бесплатны дней на 14, затем они снимают определенную абоненскую плату. Liveoperator предлагает клиент с богатыми возможностями. В нем даже можно смотреть на страничку, которую видит пользователь в данный момент и инициировать переход на другие страницы.

Есть и другие сервисы и даже бесплатные. Но где гарантия, что они будут жить вечно. Если сервера, на которых крутятся сервисы, внезапно станут недоступны, то надо будет экстренно искать другие варианты. В общем не хочется такого счастья и лучше сделать собственное решение.

Изучив имеющиеся возможности, я предпочел воспользоваться open-source xmpp сервером openfire. Это сервер, написанный на java. Довольно производительный, у него хорошие рейтинги. Устанавливается он очень просто, имеет веб-интерфейс для настройки. К серверу прилагаются плагины для организации живого чата на сайте. К серверу можно подключаться любым jabber клиентом, но есть и специальный клиент spark. С посетителями сайта возможно общаться только через spark.

Но для работы чата не достаточно одного сервера openfire. Необходим сервер приложений, который поддерживает выполнение сервлетов. На этом сервере необходимо установить отдельное приложение — собственно сам чат, который запускается в браузере. В качестве сервера приложений, я использовал apache tomcat, так как он достаточно легкий и я с ним хорошо знаком.

Остается скрутить все эти штуки в один клубок, чтобы на сайте была специальная кнопка для запуска чата. Сама эта кнопка должна быть связана с приложением, которое выполняется на apache tomcat, который работает с сервером openfire, к которому подключены операторы с помощью клиента spark. Сложновато, но интересно. Конечно, можно было бы попроще сделать. Есть примеры с приложением, написанным на perl или php. Их прямо на хостинг можно поставить без дополнительных серверов. Но у меня не было опыта создания мессенджеров и серверов для обмена сообщениями. С нуля я бы это делал очень долго, а так за полторы недели и то эпизодически мне удалось развернуть собственное решение. Сначала я все настроил на виртуалке, затем перенес на сервер заказчика.

Решение конечно же не идеально. Его надо еще докручивать. Но какая-то основа уже есть и она работает. Надеюсь, что эта штука окажется нужной и полезной. В крайнем случае, можно будет в будущем для собственного сайта прикрутить по-аналогии.

PS: Кстати реальный пример того, как это все работает можно посмотреть тут: sitravel.ru

Похожие записи:

Добавить комментарий

Обязательные поля помечены *.