Один MaxCode вместо десятка ключей: как PushMeld добавляет уведомления туда, где их не было
Один MaxCode вместо десятка ключей: как PushMeld добавляет уведомления туда, где их не было
Představme si domácí počítač, který každou noc vytváří zálohu důležitých souborů. Výsledek je zaznamenán v systémovém deníku: operace byla úspěšná nebo došlo k chybě.
Technicky vše funguje. Nepříjemnost nastává ráno: člověk musí ručně otevřít deník a zkontrolovat výsledek. Program nemá mobilní aplikaci, oznámení od vývojářů nejsou předpovídána a nikdo nezřizuje samostatnou infrastrukturu jen kvůli jedné funkci.
Pomocí PushMeld lze takový proces doplnit jednoduchou žádostí. Po dokončení zálohy přijde na telefon zpráva: záloha byla vytvořena nebo operace skončila chybou. V případě potřeby lze stejné upozornění dostat také e-mailem.
Základem této myšlenky je MaxCode — jednotný zabezpečený kód, přes který PushMeld získává veškeré informace potřebné pro následné doručení upozornění.
Když jsem se s projektem poprvé seznámil, právě MaxCode se mi zdál být jeho nejzajímavější částí. Push-notifikace a e-mail již dávno nejsou novinkou. Mnohem důležitější je to, že původní program přestává řídit jejich doručení. Jen oznamuje PushMeld o události, a vše další probíhá již mimo něj.
Nejprve uvedu kontext: PushMeld patří do systému MELD® a DigiMeld UG je společnost, která jej rozvíjí.
Zdroj zná pouze událost
Obvyklá integrace upozornění se rychle rozrostla do technických detailů. Je třeba definovat projekt, nastavit přístupy, uchovávat klíče, brát v úvahu tokeny zařízení, zapojit poštovní odesílání a řešit požadavky různých mobilních platforem.
PushMeld všechny tyto činnosti přesouvá z původního systému do samostatného řízeného okruhu.
Zálohovací program ví pouze jedno: operace skončila úspěšně nebo skončila chybou. Přenáší MaxCode, nadpis a text zprávy.
Nemusí znát například:
kolik zařízení je připojeno k projektu;
který telefon je momentálně aktivní;
přes jakého poskytovatele má proběhnout push;
jestli je zapnutá doručení přes e-mail;
má uživatel nový smartphone;
byl odpojen starý tablet;
kdo má dostat konkrétní upozornění.
Vše je již určeno uvnitř PushMeld.
Podle mého názoru je právě zde hlavní architektonická myšlenka projektu: MaxCode přesouvá správu upozornění z programu, kde došlo ke konfiguraci, do systému, který se o jejich doručení postará.
Ovládání jednoho MaxCode místo množství klíčů
Při připojení externí služby je obvykle potřeba pracovat s několika entitami. Odděleně používáme identifikátor projektu, klíč přístupu, případně další tajné údaje, tokeny zařízení a konfigurace konkrétních providerů.
MaxCode spojuje vše potřebné pro odeslání do jednoho zabezpečeného kódu.
Pro každý projekt se vytváří vlastní MaxCode. Spojuje identifikaci projektu, právo na odeslání a data, která umožňují PushMeld aplikovat aktuální konfiguraci doručení.
Odesílací systém nemusí zvlášť uchovávat:
identifikátor projektu;
API klíč a další tajné údaje;
tokeny připojených zařízení;
parametry jednotlivých příjemců;
klíče různých push providerů;
samostatná nastavení pro push a email.
Do programu, webu nebo skriptu se přidá jeden MaxCode. Po jeho přijetí spolu s oznámením PushMeld automaticky určí projekt, ověří žádost, najde připojená zařízení a zvolí dostupné kanály.
MaxCode proto nelze vnímat jako další klíč, přidaný k ostatním. Jeho účel je nahradit celý soubor různých klíčů, tokenů a identifikátorů jedním kódem.
Upozornění odjinud, kde není předvídáno
MaxCode lze použít v jakémkoli systému, který je schopen sám nebo přes malý pomocný skript provést HTTP požadavek.
Například PushMeld může upozornit, když:
domácí server přestal odpovídat;
zálohování skončilo nebo skončilo chybou;
- vlastní skript dokončil dlouhý úkol;
3D tiskárna dokončila tisk;
sensor zaznamenal únik;
dveře se otevřely nebo spustila alarmová signalizace;
na webu se objevila požadovaná informace;
změnila se cena zboží;
uvolnilo se místo pro zápis;
starší program dokončil zpracování velkého souboru;
malý internetový obchod dostal novou objednávku.
Od všech těchto zdrojů může chybět vlastní aplikace. Některá zařízení umí pouze přistupovat k zadané adrese, jiná umožňují spouštět uživatelský příkaz, třetí lze doplnit jednoduchým scénářem automatizace.
Toto stačí k tomu, aby se událost předala do PushMeld.
Zdroj se při tom nestává samostatnou službou upozornění. Jen zaznamenává, co se stalo, a posílá zprávu s MaxCode. Vše ostatní — příjemci, zařízení, kanály a technická trasa — zůstává na straně PushMeld.
Nejen push, ale i e-mail
Název PushMeld je primárně spojen s upozorněními na telefonu, ale možnosti projektu tím nekončí.
Pro doručení lze použít push, e-mail nebo oba kanály — v závislosti na nastavení projektu a dostupných možnostech.
Například oznámení o úspěšném zálohování stačí zobrazit na telefonu. Vážnou chybu lze navíc odeslat e-mailem.
Původní program v obou případech vykoná stejný požadavek s MaxCode. Nemusí zvlášť připojovat SMTP server, ukládat jeho konfiguraci a vytvářet další samostatný scénář.
Rozhodnutí o kanálech doručení se přijímá uvnitř PushMeld. Pokud později uživatel přidá e-mail k již existujícímu projektu, není třeba měnit zálohovací skript.
Přitom e-mail je použit zde nejen jako hromadná distribuce, ale i jako doplňkový způsob informovat o události přicházející z připojeného projektu.
Jeden projekt — jeden zdroj událostí
Projekty umožňují rozdělit upozornění podle jejich účelu.
Obyčejný uživatel může například založit:
HomeServer— stav domácího serveru;Backups— výsledky zálohování;SmartHome— senzory a domácí automatizace;PriceMonitor— změny cen;Website— nové požadavky z osobního webu.
Každý projekt dostává vlastní MaxCode. Díky tomu domácí automatizace nepoužívá kód webu a monitorování cen se neshodí s zálohami.
V přiložené aplikaci je ihned jasné, odkud zpráva přišla a ke které úloze se vztahuje.
Takové rozdělení je zvláště užitečné, když počet zdrojů roste. Místo jednoho společného toku má člověk několik nezávislých kanálů, pro každý z nichž lze nastavit vlastní doručovací konfiguraci.
Nový telefon nevyžaduje změnu programu
Obvykle je push token spojen s konkrétní instalací aplikace na určitém zařízení.
Pokud má člověk dva telefony a tablet, už je to více tokenů. Po přeinstalaci aplikace nebo výměně zařízení se může odlišit nebo přestat fungovat samostatný token.
MaxCode je ale výše tohoto úrovně. vztahuje se k projektu, nikoliv k jednotlivému telefonu.
Uživatel si sám určuje, která zařízení jsou s projektem propojena a měla by přijímat jeho zprávy. Například upozornění domácího serveru lze směrovat na osobní telefon a tablet, zatímco události práce na služební smartphone.
Pokud si člověk koupí nový telefon nebo odpojí staré zařízení, původní skript stále používá stejný MaxCode. Aktuální seznam příjemců se mění uvnitř PushMeld.
Stejně tak při přidání e-mailu nebo úpravě jiných doručovacích parametrů.
Proto MaxCode není jen způsob, jak zkrátit počet klíčů. Vytváří hranici mezi událostí a jejím směrem. Všechno za touto hranicí lze měnit bez zásahu do zdrojového programu.
Zdarma pro běžné úlohy
Infrastrukturní produkty jsou často popsány prostřednictvím firemních systémů, serverových příkazů a velkých datových objemů. Z toho může vzniknout dojem, že PushMeld je určen výhradně profesionálním vývojářům a firmám.
V praxi však začít lze s běžným domácím úkolem.
Samo aplikace je zdarma. Hlavní funkce MaxCode fungují bezplatně v rámci dostupných limitů. Člověk si může vytvořit projekt, připojit zařízení a přijímat upozornění ze svého serveru, webu, skriptu nebo domácí automatizace.
Nejedná se o dočasný demonstrační režim, který přestává fungovat po seznámení s produktem. Pro každodenní scénáře mohou být bezplatné možnosti dostačující.
Ceníkové plány jsou vhodné, když se zvyšuje počet požadavků, je potřeba rozšířená funkčnost nebo systém začne být používán ve větším měřítku.
Jeden princip pro člověka i firmu
Mechanika MaxCode se nemění v závislosti na velikosti úlohy.
Člověk dostává zprávu o dokončení zálohy. Malá dílna zjistí, že 3D tiskárna dokončila dlouhou tiskovou operaci. E-shop obdrží novou objednávku. Týmu technické podpory je zaslána upozornění na chybu na serveru.
Rozsahy a počet projektů se liší, ale princip je stále stejný.
Představme si organizaci se třemi zdroji událostí:
Orders— nové objednávky;Payments— platby a vrácení;ServerStatus— technické chyby.
Pro každý je vytvořen samostatný MaxCode a nastavena vlastní zařízení. Objednávky jsou směrovány na majitele a manažera, finanční události na odpovědného pracovníka, a technické chyby na technickou podporu serveru.
Systém společnosti v každém případě dělá prakticky totéž: přenáší obsah události a odpovídající MaxCode.
Při změně zaměstnanců, zařízení nebo doručovacích metod není třeba upravovat původní systémy. Řízení zůstává uvnitř PushMeld.
APNs, FCM a HMS zůstávají mimo činnost programu
Pro doručení push na různých zařízeních mohou být využívány APNs, FCM nebo HMS. Každý provider má své vlastní pravidla, tokeny a technické zvláštnosti.
Obvykle je potřeba tyto rozdíly vzít v úvahu při vývoji odesílacího systému. U PushMeld jsou však tyto rozdíly skryty za MaxCode.
Domácí server, web nebo skript neurčuje, který telefon příjemce používá a přes jakou infrastrukturu má zpráva projít. Provádí jedno volání, a PushMeld si sám vybere nutnou trasu.
MaxCode nenahrazuje infrastrukturu Apple, Google nebo Huawei. Vytváří jednotný vstup před ní.
To znamená, že původní systém nemusí měnit v souvislosti s přesunem zařízení uživatele. Dnes se zpráva může posílat přes FCM, zítra přes APNs, a později může být do projektu přidán další telefon nebo e-mail. Pro program, ve kterém došlo ke zprávě, se nic nezmění.
MaxCode a obyčejný API klíč — není totéž
Běžný API klíč často povoluje pouze přístup ke službě. Po jeho ověření musí systém zvlášť sdělit projekt, příjemce a způsob doručení.
MaxCode spojuje tento kontext do jednoho kódu.
Umožňuje PushMeld rozpoznat projekt, ověřit žádost a použít její aktuální nastavení. Vnější program předá MaxCode a obsah události, aniž by řídil další trasu.
Praktické rozlišení lze shrnout: API klíč otevírá přístup k funkci, zatímco MaxCode určuje, v jakém kontextu má být funkce provedena.
Upozornění jako doplňková možnost
Po seznámení s PushMeld bych ho nepokládal pouze za aplikaci pro push upozornění.
Správnější je říct, že jde o způsob, jak přidat upozornění tam, kde dříve nebyla, a následně je řídit nezávisle na původním programu.
Zdroj může být domácí server, senzor, stará aplikace, internetový obchod, vlastní skript nebo interní systém společnosti. Pokud je schopen sám nebo přes malý adaptér provést HTTP požadavek, lze událost předat do PushMeld.
MaxCode pak vytvoří hranici mezi událostí a její doručením. Na jedné straně je program o tom, co se stalo, a na druhé PushMeld, které určí projekt, zařízení, kanály a technickou trasu.
Proto je nejdůležitější vlastností MaxCode nejen nahradit množství klíčů jediným kódem. Přenáší správu upozornění za hranice původního systému.
Telefon lze vyměnit, e-mail doplnit, staré zařízení odpojit a doručovací trasu změnit. Program bude dále provádět pouze to jediné: oznamovat o události.
\n ,\n \"seo_title\": \"MaxCode místo množství klíčů: jak PushMeld spravuje upozornění\",\n \"seo_description\": \"PushMeld používá MaxCode pro zjednodušení doručování upozornění na zařízení a e-maily, odděluje řízení od původních systémů a rozšiřuje možnosti.\",\n \"og_title\": \"Odin MaxCode místo desítek klíčů: jak PushMeld přidává upozornění tam, kde předtím nebyla\",\n \"og_description\": \"PushMeld používá MaxCode pro zjednodušení doručování upozornění na zařízení a e-maily, odděluje řízení od původních systémů a rozšiřuje možnosti.\"\n}"}