Difference between revisions of "Component"

From JaWiki (Jabber/XMPP wiki)
Jump to: navigation, search
m (Разработка внешних компонентов: typo)
Line 15: Line 15:
 
У каждого компонента должен быть свой [[JID]] (обычно это поддомен домена сервера) и пароль (secret), с которыми он авторизуется на сервере. На сервере же этот JID и пароль должны быть прописаны в файле конфигурации. Процесс авторизации описан в {{xep|0114}}. Соединение с сервером обычно осуществляется через [[w:TCP/IP|TCP/IP]].
 
У каждого компонента должен быть свой [[JID]] (обычно это поддомен домена сервера) и пароль (secret), с которыми он авторизуется на сервере. На сервере же этот JID и пароль должны быть прописаны в файле конфигурации. Процесс авторизации описан в {{xep|0114}}. Соединение с сервером обычно осуществляется через [[w:TCP/IP|TCP/IP]].
  
После того, как компонент подсоединился и авторизовался, сервер начинает перенапрвлять компоненту все [[станc|станcы]], пришедшие на его JID из сети, и наоборот, т.е. работает как обычный шлюз. Кроме этого, сервер обычно добавляет JID компонента в список сервисов, который можно получить через [[Service Discovery]]. Больше никакой работы сервер не делает, т.е. рассылать [[информация о присутствии|информацию о присутствии]], следить за [[ростер|ростерами]] своих пользователей, если есть, и т.п. компонент должен сам.
+
После того, как компонент подсоединился и авторизовался, сервер начинает перенапрвлять компоненту все [[станс|станcы]], пришедшие на его JID из сети, и наоборот, т.е. работает как обычный шлюз. Кроме этого, сервер обычно добавляет JID компонента в список сервисов, который можно получить через [[Service Discovery]]. Больше никакой работы сервер не делает, т.е. рассылать [[информация о присутствии|информацию о присутствии]], следить за [[ростер|ростерами]] своих пользователей, если есть, и т.п. компонент должен сам.
  
 
[[w:DNS|Зону DNS]] для компонента нужно определить так, чтобы он (его JID) имел [[w:IP-адрес|IP-адрес]] сервера, даже если сама программа, реализующая внешний компонент, запущена на компьютере с другим IP-адресом.
 
[[w:DNS|Зону DNS]] для компонента нужно определить так, чтобы он (его JID) имел [[w:IP-адрес|IP-адрес]] сервера, даже если сама программа, реализующая внешний компонент, запущена на компьютере с другим IP-адресом.

Revision as of 12:49, 9 December 2007

Компонент — общее название для сервисов и транспортов и обозначает программу или модуль, расширяющий список предоставляемых сервером услуг. Примеры: rss.jabber.ru (сервис), icq.jabber.ru (транспорт), translate.jrudevels.org (сервис).

Термин «компонент» применяется, в основном, в техническом общении для определения способа реализации сервисов и транспортов. Фраза «Сервис XXX выполнен в виде внешнего компонента» означает, что это отдельная программа, а не встроенный в сервер модуль или ещё что-то, и его можно использовать с любым сервером, поддерживающим XEP-0114. Часто слово «внешний» опускается, а для определения внутренних компонентов используют слова модуль, плагин и т.д.

Классификация компонентов

Компоненты делятся на внутренние и внешние.

Внутренний компонент — 
неотделимый от конкретной реализации XMPP-сервера модуль, плагин или кусок, который нельзя использовать с другой реализацией.
Внешний компонент — 
отдельная программа, которая подключается к серверу динамически и расширяет предоставляемые им услуги. Она может быть запущена как на том же, так и на отдельном компьютере.

Разработка внешних компонентов

У каждого компонента должен быть свой JID (обычно это поддомен домена сервера) и пароль (secret), с которыми он авторизуется на сервере. На сервере же этот JID и пароль должны быть прописаны в файле конфигурации. Процесс авторизации описан в XEP-0114. Соединение с сервером обычно осуществляется через TCP/IP.

После того, как компонент подсоединился и авторизовался, сервер начинает перенапрвлять компоненту все станcы, пришедшие на его JID из сети, и наоборот, т.е. работает как обычный шлюз. Кроме этого, сервер обычно добавляет JID компонента в список сервисов, который можно получить через Service Discovery. Больше никакой работы сервер не делает, т.е. рассылать информацию о присутствии, следить за ростерами своих пользователей, если есть, и т.п. компонент должен сам.

Зону DNS для компонента нужно определить так, чтобы он (его JID) имел IP-адрес сервера, даже если сама программа, реализующая внешний компонент, запущена на компьютере с другим IP-адресом.