ПредишенСледващото

XMPP - не само с общо предназначение съобщения транспортен протокол. Други популярни протоколи като XML-RPC и сапун, могат да предоставят тези възможности с семантика, подобни на извикване на функция. По-нови методи, като представителна държавна Transfer (почивка), предоставяне на контролиран достъп до файлове с помощта на URL на местоположението на обекта и метода.

XMPP архитектура

XMPP е подобна на други приложния слой протоколи, например, SMTP. В такива архитектури, клиентът с уникално име, свързано с друг клиент, с уникално име чрез свързан сървър. Всеки клиент реализира под формата на клиент на протокола, и сървърът предоставя възможност за маршрут. Фигура 1 илюстрира този прост архитектура. В този случай, както клиенти са част от един домейн (discovery.nasa.guv).


Фигура 1. Обикновено XMPP-архитектура, която включва сървър и двама клиенти.

Сървъри и общуват помежду си за целите на маршрута между домейните (например, между discovery.nasa.guv и europa.nasa.guv). Освен това, може да има и шлюзове за излъчване и на други територии и мигновени съобщения протоколи. ПРИМЕР Фигура 2 показва XMPP-мрежа с шлюзове в домени Услуга за кратки съобщения (SMS) и SMTP. В този контекст, шлюзове често се използват за превод между IM-протоколи (например, XMPP да Internet Relay чат [IRC]). Да бъдеш разтегателен, XMPP е идеална база протокол за универсални протоколи за комуникация между различните край. Шлюзът XMPP позволява целевата край протокол приключване на сесията на клиент-сървър и да започне нова сесия (с правилното превод протокол).

Запознайте се с разтегателен съобщения и присъствие протокол (XMPP)

Фигура 2. По-комплекс XMPP-архитектура, включително XMPP-шлюзове.

XMPP протокол

XMPP - това е сравнително прост протокол, който работи върху TCP-гнезда, използвайки XML-съобщения. Асинхронна комуникация извършва в XML-потоци и XML-знамения (Стансите). XML-Feed - това е един плик, който капсулира обмен на XML-информация между двете институции. XML-потоци съдържат XML-строфа, които са отделни единици от информация. Например, XML-стих, използвани в XMPP съобщения (текст между потребителите на интернет-пейджър) и да информира за наличието на даден потребител. За да се убедите в това понятие, нека да разгледаме един прост пример IM-връзка между два клиента с помощта на XMPP.

Фигура 3 показва прост договаряне между две лица. Имайте предвид, че в преговорите участват най-малко един сървър (в този случай, тъй като и двата клиента са в същия домейн, това е сигурно само един сървър). На Фигура 3, лявата клиента - това е най-започване на предприятието (тя започва XMPP-споделянето между двата субекта). Тази нишка използва XML-атрибут за идентифициране на получаващия домейн (както и за определяне на място XML пространство от имена). Получаване на клиент получава XML десен поток и също е в XML-поток (от използването на атрибута). На този етап, на няколко различни възможни преговори, по-специално, удостоверяване и шифроване. Тук ние пропуснете тази стъпка (както и обмен на съобщения между сървъри, когато клиентите са в различни области).

Запознайте се с разтегателен съобщения и присъствие протокол (XMPP)

Фигура 3. Пример (опростен) XMPP съобщения.

Всяка страна може да се върне съобщение за грешка, подобно на следното. В този случай, възелът е изпратил невалиден XML поток или ред:

Докато този пример показва прост обмен на IM-съобщения, само за да види как строфи на съобщенията може да се трансформира в RPC-постове. Вместо това потребителите на домейни могат да бъдат регистрирани като функция на възли за създаване на динамична рамка за услуги в мрежата. Сега нека видим как да се изгради просто приложение, което работи чрез XMPP.

XMPP-например в Ruby

Един от най-интересните аспекти на XMPP - голям брой библиотеки в много езици. Този пример е писано в Ruby използване XMPP4R библиотека. Връзки към различни съществуващи библиотеки могат да бъдат намерени в раздел ресурси.

За да демонстрира работа с библиотеки, използващи XMPP, помислете за един прост IM-проявител да се използва като технически речник. В този случай, стандартната интернет-пейджър изпишете една дума, и IM-агент ще се върне своята дефиниция

В този пример, IM-реализира агент се свързва чрез XMPP на друг IM-агент и свързване получава дума определения:

Обява 1. Обикновено XMPP-агент.

Обявата 1 започва чрез създаване на прост речник. За тази цел, хеш Ruby клас, което ви позволява да създадете двойки ключ-стойност, а след това лесно да ги справка от ключово значение. След това, за да се свържете към сървъра посредством XMPP4R библиотека. За да започнете, създайте JID и нов клиент връзка с помощта на класа на клиента. За да всъщност се свърже с IM-сървър с помощта на свързване метод. След свързването метод се нарича с удостоверяване с парола. Връзката вече е готов за съобщения.

Фигура 4 показва пример на приложение на движение. Този пример използва популярната универсален клиент Pidgin чата. Pidgin клиент поддържа всички основни протоколи и чатове могат да бъдат използвани в различни съществуващи мрежи за моментални съобщения (дори едновременно). Фигура 4 показва прозореца за съобщения създава, когато IM-клиент се свързва със сървъра и да започнете да чатите с друг потребител.

Запознайте се с разтегателен съобщения и присъствие протокол (XMPP)

Фигура 4. Пример за IM-сесия.

Прилагане на XMPP

XMPP предвижда обща рамка за обмен на съобщения по мрежата. Не е изненадващо, че е много приложения, в допълнение към традиционните IM и разпространяването на информация за неговото присъствие.

Онлайн игри могат да използват и XMPP. XMPP осигурява изходен набор от функции за онлайн игри, включително и удостоверяване, информация за присъствие, чат и разтегателен обмен почти реално време на информация за състоянието на играта.

И накрая, XMPP - това е идеалният протокол за новата ера на изчислителни облаци. Облачният компютинг и съхранение на данни с помощта на различни нива и форми на комуникация, в това число не само обмен на съобщения между системите за предаване на държавата, но и да се движат на големи обекти, като съхранение или виртуални машини. Поради удостоверяване и защита на данните предаване XMPP може да се използва на различни нива и е идеален като протокол от среден клас.

Имайте предвид, че повечето приложения не са нищо общо с комуникацията между хората, както и да се съсредоточат върху взаимодействието между машини. Интересното е, че протоколът първоначално насочена към мигновени съобщения, намира съвсем друга кандидатура.

Многоезичен XMPP

XMPP се реализира като набор от библиотеки, които предоставят възможност на XMPP приложения. Да се ​​каже, че XMPP, протоколът е много полезно, много лесно да имат въз основа на броя на поддържаните езици днес. Можете да намерите на XMPP-библиотеки за традиционните езици като C и C ++, както и за популярни скриптови езици като Ruby, Java, Python, Perl и Tcl. Има и XMPP библиотеки за езици като Erlang, C #, и Lisp. По този начин, без значение каква среда, който използвате, вие сте вероятно да намерите XMPP-библиотека за него. Пълен списък на поддържаните езици можете да намерите в раздел ресурси.

давай

Въпреки, че останалата част - тя е по-архитектурен модел, отколкото на изпълнение, тя се разви бързо в различни посоки. Нейната прост модел за дистанционно управление е намерил своето място в изчислителни облаци, където останалата част се използва като модел за достъп и управление на склад.

Много полезни технологии често се използват като техните изобретатели и не поемат. Например, HTTP е де факто стандарт протокола за показване на уеб-страници, но тя се използва и като транспортни протоколи заявление ниво като SOAP и XML-RPC (включително модел тип протокол почивка). XMPP - друга полезна технология, която намира много приложения, в допълнение към обичайната УИ. Как се прилага XMPP във вашите решения?

Подкрепете проекта - споделете линка, благодаря!