Latest newsSlovenčina
Back to feedTechnológieNewsMeld Editorial

Один MaxCode вместо десятка ключей: как PushMeld добавляет уведомления туда, где их не было

Один MaxCode вместо десятка ключей: как PushMeld добавляет уведомления туда, где их не было

{"text": "{\n \"title\": \"Odin MaxCode namiesto veľkého množstva kľúčov: ako PushMeld pridáva upozornenia tam, kde ich predtým nebolo\",\n \"slug\": \"odin-maxcode-vmesto-desyatka-klyuchey-kak-pushmeld-dobavlyaet-uvedomleniya-tuda-gde-ih-ne-bylo\",\n \"excerpt\": \"Ako MaxCode prenáša správu push a email upozornení zo stránok, serverov, skriptov a zariadení do PushMeld.\",\n \"body_markdown\": \"

Pohľad na domácí počítač, ktorý každú noc vytvára zálohu dôležitých súborov. Výsledok sa zaznamenáva do systémového denníka: operácia bola úspešne dokončená alebo došlo k chybe.

Technicky všetko funguje. Nevýhoda nastáva ráno: človek si musí sám otvoriť denník a skontrolovať výsledok. Program nemá mobilnú aplikáciu, odosielanie upozornení nie je zabudované a vytváranie samostatnej infraštruktúry len pre jednu funkciu by bolo zbytočné.

S pomocou PushMeld možno do takého procesu pridať jednoduchú požiadavku. Po dokončení zálohy príde na telefón správa: záloha bola vytvorená alebo operácia skončila chybou. Podľa potreby je možné rovnaké upozornenie dostať aj e-mailom.

Jadrom tohto nápadu je MaxCode — jednotný zabezpečený kód, prostredníctvom ktorého PushMeld získava všetky informácie potrebné na doručenie upozornenia.

Keď som sa oboznámil s projektom, práve MaxCode sa mi zdalo najzaujímavejšou časťou. Push upozornenia a e-maily nie sú novinkou. Podstatnejšie je, že pôvodný program prestáva spravovať ich doručenie. Len informuje PushMeld o udalosti, všetko ďalšie už prebieha mimo neho.

Na začiatok uvediem kontext: PushMeld je súčasťou systému MELD®, a DigiMeld UG je spoločnosť, ktorá ho rozvíja.

Zdroj pozná iba o udalosti

Bežná integrácia upozornení rýchlo narastá o technické detaily. Je potrebné určiť projekt, nastaviť prístup, ukladať kľúče, brať do úvahy tokeny zariadení, pripojiť odosielanie poštou a zaoberať sa požiadavkami rôznych mobilných platforiem.

PushMeld prenáša všetky tieto veci zo základného systému do samostatného riadiaceho okruhu.

Zálohovací program pozná len jedno: operácia bola úspešne dokončená alebo skončila chybou. Odovzdáva MaxCode, nadpis a text správy.

Nemusí vedieť:

  • koľko zariadení je pripojených ku projektu;

  • ktorý telefón je momentálne aktívny;

  • cez akého providera má prejsť push;

  • či je aktivované doručovanie e-mailom;

  • či používateľ získal nový smartfón;

  • či bol vypnutý starý tablet;

  • kto má dostať konkrétne upozornenie.

Všetko je určené už vo vnútri PushMeld.

Na môj názor je práve tu hlavná architektonická myšlienka projektu: MaxCode prenáša správu o udalosti z programu, kde sa udalosť stala, do systému, ktorý zabezpečuje doručenie.

Jeden MaxCode namiesto množstva kľúčov

Zvyčajne pri pripojení vonkajšieho systému je potrebné pracovať s viacerými entitami. Či už je to identifikátor projektu, prístupový kľúč alebo ďalšie tajomstvá, tokeny zariadení či nastavenia konkrétnych poskytovateľov.

MaxCode spája všetko potrebné na odoslanie do jedného zabezpečeného kódu.

Pre každý projekt sa vytvorí vlastný MaxCode. Obsahuje identifikáciu projektu, právo na odosielanie a dáta umožňujúce PushMeld použiť aktuálnu konfiguráciu doručenia.

Odosielací systém nemusí samostatne uchovávať:

  • identifikátor projektu;

  • API kľúč a ďalší tajomstvo;

  • tokeny pripojených zariadení;

  • parametre každého príjemcu;

  • kľúče rôznych push poskytovateľov;

  • samostatné nastavenia pre push a e-mail.

Do programu, stránky alebo skriptu sa pridá jeden MaxCode. Po jeho získaní spolu s správou PushMeld sám určí projekt, overí požiadavku, nájde pripojené zariadenia a vyberie dostupné kanály.

MaxCode preto nemožno vnímať ako ďalší kľúč, pridaný k ostatným. Jeho účelom je nahradiť všetky doterajšie kľúče, tokeny a identifikátory jedným kódom.

Upozornenie z miesta, kde nie je určené

MaxCode možno použiť v akomkoľvek systéme, ktorý je schopný vykonať HTTP požiadavku samostatne alebo cez malý pomocný skript.

Napriklad PushMeld môže informovať, keď:

  • domáci server prestal odpovedať;

  • zálohovanie skončilo alebo skončilo chybou;

  • váš skript vykonal dlhú úlohu;
  • 3D tlačiareň dokončila tlač;
  • snímač zaznamenal pretlak;
  • sa otvorila dvere alebo spustená signalizácia;
  • na stránke sa objavila požadovaná informácia;

  • zmenila sa cena produktu;

  • ustúpilo miesto pre zápis;
  • starý program dokončil spracovanie veľkého súboru;

  • malý internetový obchod prijal novú objednávku.

Každý z týchto zdrojov možno nemá vlastnú aplikáciu. Niektoré zariadenia dokážu iba pristupovať na danú adresu, iné povoľujú spustiť vlastný príkaz, a tretie možno doplniť krátkym automatizačným skriptom.

To stačí na odovzdanie udalosti do PushMeld.

Zdroj pritom neprevádza na samostatný servis upozornení. Poule nahráva, že sa stalo, a odosiela správu s MaxCode. Všetko ostatné vrátane príjemcov, zariadení, kanálov a technickej trasy ostáva na strane PushMeld.

Nielen push, ale aj e-mail

Názov PushMeld je najviac spojený s upozorneniami na telefóne, avšak možnosti projektu tým nekončia.

Na doručenie možno použiť push, e-mail alebo oba kanály — v závislosti od nastavení projektu a dostupných možností.

Napríklad, správa o úspešnej zálohe je dostačná na telefóne. Dôležitú chybu možno doplniť aj e-mailom.

Pôvodný program v oboch prípadoch vykoná rovnakú požiadavku s MaxCode. Nie je potrebné samostatne nastavovať poštový server, ukladať jeho nastavenia či vytvárať ďalší nezávislý skript.

Rozhodnutie o kanáloch doručenia prijíma PushMeld. Ak neskôr používateľ pridá e-mail k existujúcemu projektu, zálohovací program nebude potrebovať upravovať.

Pri tom e-mail nepoužíva na masové rozoslanie, ale ako doplnkový spôsob oznamu o udalosti z pripojeného projektu.

Jeden projekt — jeden zdroj udalostí

Projekty umožňujú rozdeľovať upozornenia podľa ich účelu.

Bežný používateľ si môže vytvoriť napríklad:

  • HomeServer — stav domácho servera;

  • Backups — výsledky zálohovania;

  • SmartHome — senzory a domáce automatizácie;

  • PriceMonitor — zmeny cien;

  • Website — nové požiadavky z osobného webu.

Každý projekt dostáva vlastný MaxCode. Takto je možné zabezpečiť, že automatizácia domova nebude používať kód webu, a monitoring cien sa nebude miešať so zálohami.

V aplikácii je okamžite jasné, odkiaľ správa prišla a ku ktorej úlohe sa vzťahuje.

Takéto rozdelenie je obzvlášť užitočné, keď počet zdrojov narastá. Namiesto jedného spoločného toku používateľ dostáva niekoľko nezávislých kanálov, ku ktorým mu je možné nastaviť vlastné doručenie.

Nový telefón nevyžaduje zmenu programu

Bežný push token je viazaný na konkrétnu inštaláciu aplikácie na určenom zariadení.

Ak má človek dva telefóny a tablet, je ich už niekoľko. Po preinštalovaní aplikácie alebo výmene zariadenia sa token môže zmeniť alebo prestať fungovať.

MaxCode je nad touto úrovňou. Vzťahuje sa k projektu, nie k jednému telefónu.

Používateľ sám určuje, ktoré zariadenia sú viazané na projekt a majú dostávať jeho správy. Napríklad, upozornenia na domácy server môže dostávať na osobný telefón a tablet, udalosti pracovného webu len na pracovný smartfón.

Ak človek kúpi nový telefón alebo vypne staré zariadenie, pôvodný skript naďalej používa ten istý MaxCode. Aktuálny zoznam príjemcov sa mení vo vnútri PushMeld.

To isté platí pre pridanie e-mailu alebo zmeny iných parametrov doručenia.

Preto MaxCode nie je len spôsob, ako zjednodušiť počet kľúčov. Vytvára hranicu medzi udalosťou a jej ďalším smerovaním. Všetko, čo je za touto hranicou, možno meniť bez zásahu do zdrojového programu.

Zdarma pre bežné úlohy

Infrastruktúrne produkty sa často opisujú cez korporátne systémy, serverové príkazy a veľké objemy dát. Preto sa môže zdať, že PushMeld je určený len pre profesionálnych vývojárov a firmy.

V skutočnosti sa dá začať s bežným domácim príkladom.

Samo aplikácia je bezplatná. Hlavné funkcie MaxCode tiež fungujú bezplatne v rámci dostupných limitov. Človek si môže vytvoriť projekt, pripojiť zariadenie a dostávať upozornenia zo svojho servera, webu, skriptu alebo domácej automatizácie.

Nie je to dočasný demo režim, ktorý po zoznámení prestane fungovať. Pre bežné scenáre môžu stačiť bezplatné možnosti.

Ceny sú potrebné, keď sa zvýši počet požiadaviek, pribudnú ďalšie funkcie alebo systém začne využívať vo väčšom merítku.

Jeden princíp pre človeka aj firmu

Mechanika MaxCode sa nemení v závislosti od veľkosti úlohy.

Človek dostane správu o ukončení zálohy. Malá dielňa zistí, že 3D tlačiareň dokončila dlhé tlačenie. E-shop zbadá novú objednávku. Tím technickej podpory bude informovaný o chybe na serveri.

Prípadne sa menia objemy a počet projektov, ale princíp zostáva rovnaký.

Povedzme si o organizácii s tromi zdrojmi udalostí:

  • Orders — nové objednávky;

  • Payments — platby a vrátenia;

  • ServerStatus — technické chyby.

Pre každý je vytvorený osobitný MaxCode a nastavujú sa vlastné zariadenia. Objednávky môžu chodiť majiteľovi a manažérovi, finančné udalosti príslušnému pracovníkovi a technické chyby špecialistom na správu servera.

Systém firmy v každom prípade spracováva obdobne: odovzdáva obsah udalosti a príslušný MaxCode projektu.

Ak sa menia pracovníci, zariadenia alebo spôsoby doručenia, systém ich nemusí znova nastavovať. Riadenie zostáva v PushMeld.

APNs, FCM a HMS ostávajú mimo programu

Na doručenie push správ cez rôzne zariadenia sa môžu používať APNs, FCM alebo HMS. Každý poskytovateľ má vlastné pravidlá, tokeny a technické špecifikácie.

Tieto rozdiely je zvyčajne potrebné brať do úvahy pri vývoji odosielacieho systému. V prípade PushMeld ostávajú za hranicami MaxCode.

Domáci server, web alebo skript neurčuje, ktorý telefón používateľ má alebo akou infraštruktúrou má prejsť správa. Požiadavka je vykonaná raz, a PushMeld vyberie vhodnú trasu.

MaxCode nenahrádza infraštruktúru Apple, Google alebo Huawei. Vytvára pred ňou jednotný vstup.

Vďaka tomu sa pôvodnému systému nemusí meniť pri zmenách na strane zariadení používateľa. Dnes sa správa môže odoslať cez FCM, zajtra cez APNs, a neskôr pridajú ďalšie zariadenie alebo e-mail. Pre systém, v ktorom došlo k udalosti, sa nič nemení.

MaxCode a obyčajný API kľúč — nie je to isté

Bežný API kľúč najčastejšie len umožňuje prístup ku službe. Po overení kľúča systém stále musí samostatne informovať o projekte, príjemcoch a spôsobe doručenia.

MaxCode spája tento kontext do jedného kódu.

Umožňuje PushMeld rozpoznať projekt, overiť požiadavku a použiť aktuálne nastavenia. Vnútorný systém odovzdáva MaxCode a obsah udalosti, bez správy ďalšieho smeru.

Praktickým rozdielom je, že API kľúč odomyka funkciu, zatiaľ čo MaxCode zároveň určuje, v akom kontexte sa má funkcia vykonať.

Upozornenie ako rozšíriteľná vlastnosť

Po zoznámení s PushMeld by som ho nevolal iba aplikáciou pre push upozornenia.

Presnejšie je povedať, že ide o spôsob pridať upozornenia tam, kde ich predtým nebolo, a potom ich spravovať nezávisle od pôvodného programu.

Zdrojom môže byť domácí server, senzor, stará aplikácia, e-shop, vlastný skript alebo vnútorný systém firmy. Ak dokáže vykonať HTTP požiadavku sám alebo cez malý adaptér, udalosti je možné odoslať do PushMeld.

Ďalej MaxCode vytvára hranicu medzi udalosťou a jej doručením. Na jednej strane je program, ktorý oznamuje, že sa niečo stalo. Na druhej strane je PushMeld, ktorý určuje projekt, zariadenia, kanály a technickú trasu.

Najdôležitejšia vlastnosť MaxCode teda nespočíva len v náhrade množstva kľúčov jedným kódom. Presúva správu o udalostiach mimo základný systém.

Telefón možno vymeniť, e-mail pridať, staré zariadenie odpojiť a spôsob doručenia upraviť. Program naďalej ostáva na tom istom: oznamovať, že sa niečo stalo.

\n ,\n \"seo_title\": \"MaxCode namiesto množstva kľúčov: ako PushMeld spravuje upozornenia\",\n \"seo_description\": \"PushMeld využíva MaxCode na zjednodušenie doručovania upozornení na zariadenia a email, oddelením správy od pôvodných systémov a rozširovaním možností.\",\n \"og_title\": \"Odin MaxCode namiesto veľkého množstva kľúčov: ako PushMeld pridáva upozornenia tam, kde ich predtým nebolo\",\n \"og_description\": \"Ako PushMeld využíva MaxCode na efektívne spravovanie notifikácií, oddelenie od zdrojových systémov a rozšírenie možností doručenia. Prihláste sa a objavte novú úroveň správy upozornení.\"\n}"}