Kuu alguses arutleti aktiivselt Hacker Newsis mida arendab IETF juhendamisel. Mis IMAP-ile ei meeldinud?
/ / PD
IMAP
Protokoll â seda funktsionaalsust ei kasutata enam kaasaegsetes e-posti klientides praktiliselt. Teine probleem on seotud liikluse tarbimisega. IMAP-i puhul salvestatakse e-kirjad serverisse ja sĂŒnkroonitakse regulaarselt kohalikest klientidest. Kui mingil pĂ”hjusel on kasutaja seadmes olev versioon "riknenud", tuleb kogu postkasti sĂŒnkroonida uuesti. TĂ€napĂ€eva maailmas, kus serveriga vĂ”ivad olla ĂŒhendatud tuhanded mobiilsed seadmed, toob selline lĂ€henemine kaasa suurenenud andmeedastus ja arvutusressursside kulu.
Teine probleem on seotud liikluse tarbimisega. IMAP-i puhul hoiavad meilid serveris ja sĂŒnkroniseerivad perioodiliselt kohalikud kliendid. Kui mingil pĂ”hjusel kasutaja seadmes olev koopia "rikub", tuleb kogu postkast uuesti sĂŒnkroniseerida. Kaasaegses maailmas, kus serveriga vĂ”ivad olla ĂŒhendatud tuhat korda mobiilseid seadmeid, toob selline lĂ€henemine kaasa suurema liikluse ja arvutusressursside kasutamise.
Raskused tekivad mitte ainult protokolli enda, vaid ka meiliklientidega, mis sellega töötavad. Alates IMAP-i loomisest on see korduvalt erinevatesse ĂŒlevaadetesse allunud â tĂ€napĂ€evane versioon on IMAP4. Samuti on sellel palju valikulisi laiendusi â veebis on olemas ĂŒheksakĂŒmmend RFC-d koos tĂ€iendustega. Ăks uuemaid on , mis esitati 2019. aastal.
Paljud ettevÔtted pakuvad oma patenteeritud lahendusi, mis peaksid lihtsustama IMAP-i kasutamist vÔi isegi seda tÀielikult asendama: , , . Tulemuseks on see, et olemasolevad meiliklientid toetavad vaid osaliselt kÔiki saadaolevaid funktsioone. Selline mitmekesisus viib turu segmenteerimiseni.
âVeelgi enam, kaasaegne meil klient ei tohiks mitte ainult edastada sĂ”numeid, vaid osata töötada kontaktidega ja sĂŒnkroniseerida kalendriga,â ĂŒtleb Sergei Belkin, IaaS-teenuse pakkuja . âTĂ€napĂ€eval kasutatakse nende eesmĂ€rkide tĂ€itmiseks kolmandate osapoolte protokolle nagu , ja . Selline lĂ€henemine keeruline seadmise tulemuste tulemuste tulemuste ja avab uusi sidemeid kĂŒberrĂŒnnakute jaoks.
MÀÀratud probleemide lahendamiseks on loodud JMAP. Selle arendavad FastMaili spetsialistid Interneti Inseneride nĂ”ukogu (IETF) juhendamisel. Protokoll töötab HTTPS-i peal, kasutab JSON-i (seetĂ”ttu sobib see mitte ainult e-kirjade vahetamiseks, vaid ka mitmete ĂŒlesannete lahendamiseks pilves) ja lihtsustab töö korraldamist meilide haldamisel mobiilsĂŒsteemides. Lisaks kirjade töötlemisele on JMAP-i olemas ka laienduste ĂŒhendamise vĂ”imalused kontaktide ja kalendri-plaanijaga.
Uue protokolli omadused
JMAP on (stateless) ja ei nĂ”ua pidevat ĂŒhendust meiliserveriga. See omadus lihtsustab töö tegemist ebastabiilsetes mobiilivĂ”rkudes ja sÀÀstab seadmete aku energiat.
E-kiri JMAP-is esitatakse JSON-struktuuri formaadis. See sisaldab kogu teavet sĂ”numist (Internet Message Format), mis vĂ”ib olla vajalik postirakendustele. Arendajate sĂ”nul peaks selline lĂ€henemine lihtsustama kliendi loomist, kuna vĂ”imalike probleemide (mis on seotud , pĂ€iste lugemise ja kodeerimisega) lahendamine jÀÀb serveri ĂŒlesandeks.
Kliendil on juurdepÀÀs serverile API kaudu. Selleks koostab ta autentitud POST-pĂ€ringu, mille omadused on kirjas JMAP seanssi objekti sees. PĂ€ringu formaat on application/json ja see koosneb ĂŒhekordsest JSON pĂ€ringu objektist. Server genereerib samuti ĂŒhe vastuse objekti.
V (punkt 3) autorid toovad jÀrgmise nÀite pÀringust:
{
"using": [ "urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail" ],
"methodCalls": [
[ "method1", {
"arg1": "arg1data",
"arg2": "arg2data"
}, "c1" ],
[ "method2", {
"arg1": "arg1data"
}, "c2" ],
[ "method3", {}, "c3" ]
]
}
Allpool on nÀide vastusest, mille server genereerib:
{
"methodResponses": [
[ "method1", {
"arg1": 3,
"arg2": "foo"
}, "c1" ],
[ "method2", {
"isBlah": true
}, "c2" ],
[ "anotherResponseFromMethod2", {
"data": 10,
"yetmoredata": "Hello"
}, "c2"],
[ "error", {
"type":"unknownMethod"
}, "c3" ]
],
"sessionState": "75128aab4b1b"
}
TĂ€ieliku JMAP spetsifikatsiooni koos rakendamise nĂ€idetega leiab projektist. Seal on autorid avaldanud ka spetsifikatsioonide kirjelduse ja â need on suunatud kalendrite ja kontaktide loenditega töötamisele. SeetĂ”ttu muu hulgas eraldati Contacts ja Calendars eraldi dokumentideks, et neid saaks tĂ€iendada ja standardiseerida sĂ”ltumatult "tuumast". Algkoodid JMAP jaoks on .

/ / PD
Perspektiivid
Hoolimata sellest, et standardi kallal ametlik töö pole veel lÔpetatud, rakendatakse seda juba tootmiskeskkondades. NÀiteks avatud postiserveri looja on ellu viinud oma JMAP versiooni. FastMaili arendajad töötasid vÀlja serverite raamistiku uue protokolli jaoks Perl'i abil, ja JMAP autorid tutvustasid .
VĂ”ib oodata, et tulevikus suureneb JMAP pĂ”hinevate projektide arv. NĂ€iteks on mĂ”ningane tĂ”enĂ€osus, et uuele protokollile ĂŒle minemist kaaluvad ka arendajad Open-Xchange'ist, kes loovad IMAP-serverit Linuxi sĂŒsteemidele. Nende IMAP-ist loobumist paluvad vĂ€ga , mis on kujunenud vĂ€lja ettevĂ”tte tööriistade ĂŒmber.
IETF ja FastMaili arendajad vĂ€idavad, et ĂŒha rohkem kasutajaid nĂ€evad vajadust uue avatud standardi jĂ€rele sĂ”numite vahetuseks. JMAP autorid loodavad, et tulevikus hakkab rohkem ettevĂ”tteid seda protokolli kasutusele vĂ”tma.
Meie tÀiendavad ressursid ja allikad:
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Allikas: habr.com
