Кіріспе
Серверлік бағдарламалық қамтамасыз ету
ejabberd – кеңейтілген хабарламалар және қатысу протоколы (XMPP) қолданбалық сервері және MQ телеметриялық тасымалдау (MQTT) брокері, негізінен Erlang бағдарламалау тілінде жазылған. Ол macOS, Linux, FreeBSD, NetBSD, OpenBSD және OpenSolaris сияқты бірнеше Unix-подобные операциялық жүйелерде жұмыс істей алады. Сонымен қатар, ejabberd Microsoft Windows жүйесінде де жұмыс істей алады. ejabberd атауы Erlang Jabber Daemon (Jabber – XMPP-нің бұрынғы атауы) дегенді білдіреді және дамон бағдарламалық жасақтамасында кең таралғандай, тек кіші әріптермен жазылады. ejabberd – GNU GPL 2.0 немесе одан кейінгі нұсқаларының шарттарымен таратылатын ашық кодты бағдарламалық қамтамасыз ету. Бұл Erlang тілінде жазылған ең танымал ашық кодты қолданбалардың бірі. XMPP: The Definitive Guide (O'Reilly Media, 2009) ejabberd-ті оның кеңейтімділігі мен кластерлеу мүмкіндігі үшін жоғары бағалады, сонымен бірге Erlang-та жазылғандығы пайдаланушылар мен қатысушылар үшін қабылдау мәселесін тудыруы мүмкін екенін көрсетті. Бағдарламалық жасақтаманың авторы Алексей Щепин 2006 жылғы Erlang пайдаланушылар конференциясында «Жылдың Erlang пайдаланушысы» сыйлығына ие болды. ejabberd-тің көптеген маңызды қолданылулары бар, олардың ішінде IETF Groupchat қызметі, BBC Radio LiveText, Nokia-ның Ovi, KDE Talk және Facebook-та әзірленудегі жоба бар. 2009 жылғы мәліметтер бойынша, ejabberd xmpp.org-та тіркелген кіші XMPP қолдайтын сайттар арасында ең танымал сервер болып табылады. 2-ші нұсқадан кейінгі келесі үлкен шығарылымда (бұрын ejabberd 3 деп аталған) нұсқалау схемасы шығарылым күндерін көрсету үшін «Жыл. Ай. Түзету» (13.04 beta1-ден бастап) форматына өзгертілді. Сонымен қатар, әрі қарымы даму «ejabberd Community Server» және «ejabberd Commercial Edition» деп бөлінетіні хабарланды, соңғысы операторларға, веб-сайттарға, қызмет провайдерлеріне, ірі корпорацияларға, университеттерге, ойын компанияларына арналған, оларға ProcessOne-нан жоғары деңгейдегі міндеттемелер, тұрақтылық, өнімділік және бизнесін табысты жүргізуге қажетті ерекше мүмкіндіктер қажет.
Жобаның тарихы
Алексей Щепин ejabberd-ті 2002 жылдың қараша айында үш негізгі себеппен бастады: Tkabber-мен (оның бұрынғы жобасы, XMPP клиенті) жеткен табыс, jabberd2-нің өте тұрақсыз алғашқы альфа нұсқасы және Erlang мүмкіндіктерін сынап көргісі келді. Шчепин Ерланг болмаса, ejabberd-ті бастамас едім деп мәлімдеді. Ejabberd 2005 жылдың желтоқсан айында 1.0 нұсқасына жетті.
Ерекшеліктері
ejabberd XMPP талаптарына жоғары деңгейде сәйкес келеді. Ол басқа тілдерге аударылатын веб-интерфейсті ұсынады. ejabberd кластерлеу арқылы таратылған есептеуді қолдайды, тікелей жаңартуларды, ортақ тізім топтарын және виртуалды хосттарды қолдайды. Қолдау көрсетілетін деректер базасы басқару жүйелері PostgreSQL және MySQL, ал ODBC басқа жүйелерге қосылу үшін қолдау көрсетеді. LDAP аутентификациясы, сондай-ақ SSL/TLS, SASL және STARTTLS арқылы кіру қолдауға ие. ejabberd модульдер арқылы кеңейтіледі, олар оффлайн хабарламаларды сақтау, IRC арналарымен байланыс орнату немесе пайдаланушының vCardтарын пайдаланатын пайдаланушы дерекқорын ұсыну сияқты қосымша мүмкіндіктерді қамтамасыз ете алады (vCardтарды LDAP немесе ODBC-мен үйлесімді деректер базасында сақтау басқа модульдер арқылы мүмкін). Сонымен қатар, модульдер XMPP протоколының кеңейтімдерін, мысалы, MUC, HTTP сауалдауын, Жариялап Алу және XMPP арқылы статистиканы жинауды қолдай алады. 2.0.0 нұсқасынан бастап ejabberd Proxy65 файл беру проксисін де қолдайды, бұл өрт қабырғасының артындағы Jabber/XMPP пайдаланушыларына SOCKS 5 проксисі арқылы файлдарды бөлісуге мүмкіндік береді. ejabberd басқа XMPP серверлерімен және XMPP емес жылдам хабар алмасу желілерімен де байланыса алады, бұл үшін XMPP компонентінің арнайы түрі – транспорт немесе шлюз пайдаланылады.
Тарату әдістері
Linux, macOS және Windows үшін бастапқы код жинағы мен екілік орнатушылардан өзге, ejabberd сондай-ақ Debian, Fedora, Gentoo, Ubuntu, Arch Linux, OpenSolaris, FreeBSD Ports, OpenBSD порттары, NetBSD порты және Mac OS X-тің Fink сияқты бірнеше операциялық жүйелердің дистрибутивтерінде де қолжетімді, бұл FOSS-ке тән. ejabberd-ті алудың басқа жолдары – TurnKey Linux виртуалды құрылғылар кітапханасы және Comprehensive Erlang Archive Network (CEAN). Unison біріктірілген коммуникациялық бағдарламалық құралында ejabberd-тің ескі нұсқасы да бар.