Difference between revisions of "Component"

From JaWiki (Jabber/XMPP wiki)
Jump to: navigation, search
(попробовал формализовать понятие component)
({{RealTitle|Компонент}})
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:Term]]
+
{{RealTitle|Компонент}}
 +
'''Компонент''' — общее название для [[сервис|сервисов]] и [[транспорт|транспортов]] и обозначает программу или модуль, расширяющий список предоставляемых [[сервер|сервером]] услуг. Примеры: rss.jabber.ru (сервис), icq.jabber.ru (транспорт), translate.jrudevels.org (сервис).
  
Под '''компонентом''' в терминологии [[XMPP]] понимается отдельная программа, которая подключается к [[Server|серверу]] и расширяет предоставляемые им услуги.  
+
Термин ''«компонент»'' применяется, в основном, в техническом общении для определения способа реализации сервисов и транспортов. Фраза «Сервис XXX выполнен в виде внешнего компонента» означает, что это отдельная программа, а не встроенный в сервер модуль или ещё что-то, и его можно использовать с любым сервером, поддерживающим {{xep|0114}}. Часто слово «внешний» опускается, а для определения внутренних компонентов используют слова модуль, плагин и т.д.
  
Этот термин применяется в основном в техническом общении, и определяет способ реализации [[Service|сервисов]] и [[Transport|транспортов]]. Фраза "Сервис XXX сделан в виде компонента" означает, что это отдельная программа, а не встроенный в сервер модуль или еще что-то, и его можно использовать с любым сервером, поддерживающим [http://www.xmpp.org/extensions/xep-0114.html XEP-0114].
+
== Классификация компонентов ==
  
 +
Компоненты делятся на ''внутренние'' и ''внешние''.
  
== Разработка компонентов ==
+
; Внутренний компонент — : неотделимый от конкретной реализации [[XMPP]]-сервера модуль, плагин или кусок, который нельзя использовать с другой реализацией.
У каждого компонента должен быть свой [[JID]] (обычно это поддомен домена сервера) и пароль (secret), с которыми он авторизуется на сервере. На сервере же этот [[JID]] и пароль должен быть прописан в файле конфигурации. Процесс авторизации описан в [http://www.xmpp.org/extensions/xep-0114.html XEP-0114]. Соединение с сервером обычно осуществляется через TCP/IP.
+
  
После того, как компонент подсоединился и авторизовался, сервер начинает пробрасывать все [[Stanza|станцы]], пришедшие на [[JID]] компонента из сети, в соединение с компонентом и наоборот, т.е. работает как обычный шлюз. Кроме этого сервер обычно добавляет [[JID]] компонента в список сервисов, который можно получить через [[Service_Discovery|дисковери]]. Больше никакой работы сервер не делает, т.е. рассылать [[Presence|презенсы]], следить за [[Roster|ростерами]] своих "пользователей", если есть, и т.п. компонент должен сам.
+
; Внешний компонент — : отдельная программа, которая подключается к серверу динамически и расширяет предоставляемые им услуги. Она может быть запущена как на том же, так и на отдельном компьютере.
  
{{TODO: узнать, что пишеться в DNS, чтобы клиент нашел сервер, через который он может связаться с компонентом}}
+
== Разработка внешних компонентов ==
 +
 
 +
У каждого компонента должен быть свой [[JID]] (обычно это поддомен домена сервера) и пароль (secret), с которыми он авторизуется на сервере. На сервере же этот JID и пароль должны быть прописаны в файле конфигурации. Процесс авторизации описан в {{xep|0114}}. Соединение с сервером обычно осуществляется через [[w:TCP/IP|TCP/IP]].
 +
 
 +
После того, как компонент подсоединился и авторизовался, сервер начинает перенапрвлять компоненту все [[станс|станcы]], пришедшие на его JID из сети, и наоборот, т.е. работает как обычный шлюз. Кроме этого, сервер обычно добавляет JID компонента в список сервисов, который можно получить через [[Service Discovery]]. Больше никакой работы сервер не делает, т.е. рассылать [[информация о присутствии|информацию о присутствии]], следить за [[ростер|ростерами]] своих пользователей, если есть, и т.п. компонент должен сам.
 +
 
 +
[[w:DNS|Зону DNS]] для компонента нужно определить так, чтобы он (его JID) имел [[w:IP-адрес|IP-адрес]] сервера, даже если сама программа, реализующая внешний компонент, запущена на компьютере с другим IP-адресом.
 +
 
 +
 
 +
[[Category:Термины]]

Latest revision as of 03:10, 21 May 2010

В соответствии с принятыми в данной вики договорённостями, правильное название этой статьи — Компонент.
Для ссылок сюда с других страниц
ЯВики используйте название
Компонент
На других ресурсах
можно также давать ссылку
http://jawiki.ru/Component

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

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

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

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

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

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

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

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

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