Մեկ MaxCode փոխարինելով տասնյակ բանալիքների՝ ինչպես PushMeld-ը ավելացնում է ծանոթագրություններ այնտեղ, որտեղ տոհմ չկար
Ինչպես MaxCode-ն փոխանցում է push և email ծանուցումների կառավարումը կայքերից, սերվերներից, սցենարներից և սարքերից դեպի PushMeld։
Նվազենք տիպիկ տնային հիչկապին, որը յուրաքանչյուր գիշեր ստեղծում է կարևոր ֆայլերի պահուստային պատճեն։ Նպատակը պահվում է համակարգի գրառամատյանում՝ որպես գործողություն հաջող ավարտված կամ չեղած սխալի մասին։
Հատուկ տեխնիկապես ամեն ինչ ճիշտ է։ Գնաապես անհարմարությունը առաջանում է առավոտյան՝ մարդը ստիպված է անձամբ բացել գրառամատյանը և ստուգել արդյունքը։ Ծանուցման ծրագիրը չունի մոբայլ հավելված, ստեղծագործողների կողմից ծանուցումներ ուղարկելը նախատեսված չէ, և միայն մեկ գործառույթի համար առանձին ենթակառույց կառուցելը չի տեղավորվում տրամաբանության մեջ։
Օգտվելով PushMeld-ից, կարող է ավելացվել պարզ հարցումը։ Այսպես, պահուստավորումը ավարտին մոտենալուց հետո հեռախոսը կստանա հաղորդագրություն՝ պատճենը ստեղծված է կամ գործողությունը սխալ է ավարտվել։ Տվյալ դեպքում այն կարելի է ստանալ նաև email-ի միջոցով։
Հիմնարկային գաղափարի հիմքը է MaxCode-ը՝ միավորական պաշտպանված կոդը, որով PushMeld-ը ստանում է անհրաժեշտ ամբողջ տեղեկատվությունը՝ ծանուցման շարունակական տրամադրության համար։
Երբ հանդիպեցի նախագծին, հենց MaxCode-ն էր նրա առավել հետաքրքիր մասը։ Push ծանուցումները և email-ները վաղուց նոր չէ։ Ինքնալը շատ ավելի կարևոր է այն, որ սկզբնական ծրագիրը կանգնում է ծանուցման առաքողության կառավարման խոչընդոտներից։ Այն միայն տեղեկացնում է PushMeld-ին պատահած իրադարձության մասին, իսկ մնացյալը արդեն կատարվում է դրա սահմաններից դուրս։
Նշենք առաջնային կոնտեկստը՝ PushMeld-ինն է համակարգը MELD®, իսկ DigiMeld UG-ն՝ ընկերությունը, որը զարգացնում է այն։
Երևում է միայն իրադարձությունը՝ միայնակ
Ընդհանուր ծանուցման ինտեգրացիան արագորեն բարդանում է տեխնիկական մանրամասնություններով։ Պետք է սահմանել նախագիծը, կարգավորել մատչելիությունը, պահել բանալիները, հաշվել սարքերի տոքենի, միացնել էլեկտրոնային փոստի ուղարկումը և հասկանալ տարբեր մոբայլ պլատֆորմների պահանջները։
PushMeld-ը բոլոր սա դեպի առանձին կառավարելի շրջաբերություն է տեղափոխում՝ դուրս մասնաշենքից։
Պրոգրամը միայն գիտի՝ հեռանալով նշում՝ գործողությունը հաջող ավարտված է կամ սխալ։ Այն փոխանցում է MaxCode-ը, հաղորդագրության գլուխը և տեքստը։
Ենթադրությունների կարիք չունի՝
քանի սարք է միացված նախագծին;
ինչ ֆոնն է այժմ ակտիվ;
հաղորդումը պիտի անցնի որ պրովայդերից;
էլ. փոստով ուղարկումն ակտիվ է;
հաճախորդն ստացել է նոր խելացի հեռախոս;
հին պլանշետը դադարել է աշխատել կամ անջատվել է;
ով է պետք ստացել կոնկրետ ծանուցումը։
Սրանցից այն կողմ արդեն դրված է PushMeld-ը։
Իմ կարծիքով, հենց այստեղ է նախագծի գլխավոր არქ lapտուրային գաղափարը՝ MaxCode-ը տանում է ներկայացվածության կառավարումը՝ ծրագրից, որտեղ տեղի է ունենում պատահած իրադարձությունը, այն համակարգին, որը զբաղվում է փոխանցմամբ։
Մեկ MaxCode՝ փոխարինելով բազմաբնույթ բանալիներին
Որպես կանոն, արտաքին ծառայությանը միանալիս անհրաժեշտ է աշխատել միանգամից մի շարք տարրերի հետ։ Ավելին՝ նախագծի նույնության համար օգտագործվում է տարբեր բանալիներ, հասանելիության կոդեր, գաղտնագրեր, սարքերի տոքեններ և կոնֆিগուրացների կարգավորումները։
MaxCode-ը միավորում է ամենինչ՝ ուղարկման համար անհրաժեշտ տվյալները, և պայմանավորում է՝ միակ պաշտպանված կոդում։
Հատուկ յուրաքանչյուր նախագծի համար ստեղծվում է իր MaxCode-ը։ Այն միավորում է նախագիծը նույնականացնող բանալին, ուղարկման իրավունքը և տվյալները, որոնք թույլ տալիս PushMeld-ին կիրառել արդիական կարգավորումները։
Ուղարկող համակարգը առանձին չի պահում՝
նախագծի նույնականացնող բանալին;
API բանալին և լրացուցիչ գաղտնագրերը;
գնահատված սարքերի տոքենները;
յուրաքանչյուր ստացողի պարամետրերը;
տարբեր push-providers-ների բանալիները;
տարաձայնային կարգավորումները push և email համար։
Առաջարկվում է մի MaxCode-ով ավելացնել ծրագրին, կայքին կամ սցենարին։ Առավելություն այնէ, որ ստացողից ստանալով այն՝ PushMeld ինքնաբերաբար կճշտի նախագիծը, կվերահարկի հարցումը, գտնի միացված սարքերը և ընտրի հասանելի եղանակները։
Ուստի, MaxCode-ը չի կարելի ընկալել պարզապես որպես լրացուցիչ բանալի։ Նպատակը՝ փոխարինել ամբողջ սովորական մանրամասն մետաղական հավաքածուն՝ տարբեր բանալիներ, տոքեններ և նույնականացնողներ՝ մեկ կոդով։
Այտեղից ծանուցում, որտեղ դա կանխատեսված չէ
MaxCode-ը կարելի է կիրառել ցանկացած համակարգում, որը կարող է ինքնուրույն HTTP հարցում կատարել կամ բացասական փոքր օգտակար սցենարով։
Օրինակ՝ PushMeld-ը կարող է հաղորդել, երբ՝
մատչելի է տան սերվերը;
հարուստավորումը ավարտվել կամ սխալներով տևել է;
ձեր սցենարը կատարում է երկարաժամկետ խնդիր;
3D-ն է վերջացրել տպագրությունը;
սենսորն արձանագրել է ողողություն;
դուռը բացվել է կամ ազդանշանային սարքը գործարկել է;
սայթը տեղեկություն է հայտնվել;
էժանության արժեկարգը փոխվել է;
սեփական սկրիպտը ավարտել է մեծ ֆայլի մշակումը;
փոքր առևտրային սպասարկանքն ստացել է նոր պատվեր։
Օրինակ, այս աղբյուրներից յուրաքանչյուրը կարող է չունենալ յուրային հավելված։ Ոմանք միայն կարող են զանգահարել նշված հասցե, մյուսները հնարավորություն ունեն իրականացնելու օգտվողական հրամաններ, երրորդները կարելի է լրացնել ավտոմատացման փոքր սցենարով։
Այս ամենն արդեն բավական է փոխանցել իրադարձությունը PushMeld-ին։
Աղբյուրը այդ ժամանակ չի փոխվում ինքնուրույն ծանուցման ծառայության՝ միայն արձանագրում է տեղի ունեցածը ու ուղարկում MaxCode-ի առատությունը։ Առանց մնացածը՝ ստացողներ, սարքեր, ուղիներ և տեխնիկական երթուղին՝ մնում է PushMeld-ի սահմաններում։
Միայն push-ն է, նաև email-ը
PushMeld անունը առաջին հերթին կապվում է հեռախոսային ծանուցումների հետ, սակայն նախագծի հնարավորությունները միայն այդ չեն։
Հնարավոր է՝ օգտագործել push-ը, email-ը կամ երկու տարբերակներն էլ՝ ըստ նախագծի կարգավորումների և հասանելիության։
Օրինակ՝ հաջող պահուստինգի մասին հաղորդագրությունից կարելի է միայն հեռախոսով ցույց տալ։ Կատարվում է նաև՝ խախտումից հետո ուղարկելով էլ․ փոստ։
Առաջին ծրագիրը երկու դեպքում էլ կատարվում է նույն հարցումը՝ MaxCode-ի միջոցով։ Օրիգինալ ծրագրին անհրաժեշտ չէ բացատրել էլեկտրոնային փոստի սերվերը կամ պահել իր կարգավորումները։
Որն ալիքով փոխանցել՝ որոշում է PushMeld-ը։ Եթե հետո օգտատերը ավելացնի email-ն՝ այն չի պահանջի նոր ռեպլիկ։
Այդ դեպքում էլ, email-ը կիրառվում է ոչ թե որպես զանգվածային հաղորդագրության միջոց, այլ որպես լրացուցիչ միակողմանի կապ՝ ծանուցելու համար, որը ստացվում է գործընկերային նախագծից։
Նախագիծ՝ իրադարձությունների աղբյուր
Նախագծերը թույլ են տալիս տարբերել ծանուցումները դրանց նշանակության համար։
Օրինակ՝ սովորական օգտագործողը կարող է ստեղծել, օրինակ՝
HomeServer— տան սերվերի վիճակը;Backups— պահուստային ֆայլերի արդյունքները;SmartHome— սենսորներ և տան ավտոմատացում;PriceMonitor— գնի փոփոխություններ;Website— կայքից նոր տվյալներ։
Յուրաքանչյուր նախագիծ ստանում է իր MaxCode-ը։ Դրա շնորհիվ, տանը ավտոմատացումն ու գների մոնիթորինգը չի խառնվում պահուստային ֆայլերի հետ։
Հայտադրմանն ակնթարթորեն հասկանալի է, թե այն ինչից է և որ խնդիրն է վերաբերում։
Այս բաժանումը հատկապես օգտակար է, երբ աղբյուրների քանակն ավելանում է։ Բանաձևը՝ մի ընդհանուր հոսքից մարդ ստանում է բազմաթիվ ինքնուրույն հեռուստատեսային ալիքներ, որոնց համար յուրաքանչյուրին կարելի է սահմանել իր ավանդական կարգավորումները։
Նոր հեռախոսը չի նյութական փոփոխություն ծրագրում
Ընդհանրապես push-տոկենը կապված է կոնկրիտ զարամ վրա տեղադրված հավելվածի հետ։
Եթե մարդ ունի երկու հեռախոս և պլանշետ, այդ արդեն մի քանի տոքեն է։ Հեռախոսը կամ պլանշետը օպերացիայի ներսում թարմացումներ, կամ փոխարինումներ են կատարել, և այդատ քարտը կարող է փոխվել կամ դադարել աշխատել։
MaxCode-ը գտնվում է այդ մակարդակի վերևում։ Այն վերաբերում է նախագծին, ոչ թե մի հեռախոսին։
Օգտատերերը ինքն է որոշում՝ որոնց սարքերն են կապված նախագծին և որոնք պետք է ստանան նրա հաղորդագրությունները։ Օրինակ՝ տան սերվերի ծանուցումները կարելի է ուղարկել անձնական հեռախոսին և պլանշետին, իսկ աշխատանքի կայքի իրադարձությունները՝ միայն պաշտոնական սմարթֆոնին։
Եթե մարդը ինչ-որ նոր հեռախոս է գնում կամ հին սարքը անջատում, սկզբնական սցենարը շարունակում է գործել նույն MaxCode-ով։ Ակտուալ ստացողների ցանկը փոխվում է PushMeld-ի սահմաններում։
Անցնելով նաև էլ․ փոստի հավելումին կամ այլ տարբերակների փոփոխությունը՝ ստացողների ցանկը մշտապես փոփոխվում է։
Այն պատճառով էլ, MaxCode-ը ոչ թե պարզապես կողքի բանալին է։ Նա ստեղծում է սահմանը իրադարձության և նրա հետագա ուղու միջեւ։ Այս սահմանը լրացնելուց հետո բոլոր փոփոխությունները՝ առանց ծրագրի վերապրեկտորացման, կանի։
Անվճար՝ սովորական խնդիրների համար
Տեղեկատվական ենթակառույցները հաճախ ներկայացվում են օֆշորային համակարգերով, սերվերի հրամաններով և մեծ տվյալների ծավալով։ Դրա պատճառով թվում է, որ PushMeld-ը նախատեսված է միայն պրոֆեսիոնալ ծրագրավորողների և ընկերությունների համար։
Իսկապես, կարելի է սկսել տասնյակ սովորական տնային խնդիրներից։
Ներկայացված ծրագիրը անվճար է։ MaxCode-ի հիմնական հնարավորությունները նույնպես անվճար են՝ հասանելի սահմանափակումներով։ Օգտագործողը կարող է ստեղծել նախագիծ, միացնել սարք և ստանալ ծանուցումներ իր սերվերից, կայքից, սցենարից կամ տնային ավտոմատացումից։
Սա ոչ մի ժամանակավոր ցուցադրական ռեժիմ չէ, որը դադարում է աշխատել ծանոթանալիս։ Յուրօրինակ սցենարների համար անվճար հնարավորություններից բավարար լինել կարող է։
Տեղական պլաններն անհրաժեշտ են այն ժամանակ, երբ աճում է հարցումների քանակը, ավելանում են լրացուցիչ ֆუნქցիաները կամ համակարգը լայն շրջանակում է գործարկվում։
Մեկ սկզբունք՝ համար մարդու և ընկերության համար
MaxCode-ի մեխանիկան չի փոխվում՝ ոչ խմբաքանակի մեծության հետ։
Մարդիկ ստանում են ծանուցում պահուստային պատճենի ավարտի մասին։ Փոքր գործարքատուն գիտի, որ 3D-խաղումային սարքը ավարտել է երկարատև տպում։ Համակարգային առցանց խանութը տեսնում է նոր պատվերը։ Տեխնիկական աշխատակիցը ստանում է ծանուցում սխալի մասին սերվերում։
Բոլոր տարբերակներով՝ փոփոխվող և բազմաթիվ նախագծերով, սկզբունքը մնում է նույնը։
Վերցնենք կազմակերպությանը, որտեղ կա երեք աղբյուր՝
Orders— նոր պատվերներ;Payments— վճարումներ և վերադարձներ;ServerStatus— տեխնիկական սխալներ։
Յուրաքանչյուրին ստեղծվում է առանձնահատուկ MaxCode և կարգավորվում իր սարքերը։ Պատվերներն ուղարկվում են՝ مالکին և մենեջերին, ֆինանսական իրադարձությունները՝ պատասխանատու աշխատակցին, իսկ տեխնիկական սխալները՝ սերվերի սպասարկող մասնագետներին։
Ստացվում է, որ ընկերության համակարգը գրեթե նույն ձևով փոխանցում է իրադարձության բովանդակությունն ու համապատասխան նախագծի MaxCode-ը։
Եթե աշխատակիցներն ու սարքերը փոխվեն, կամ պահպանման ուղիները փոխվեն,՝ սկզբնական համակարգերը չպետք է ռեագացնեն։ Տարածամատույցը մնա PushMeld-ի մեջտեղում։
APNs, FCM և HMS-ը մնում են ծրագրից դուրս
Push հիշեցումների փոխանցման համար տարբեր սարքերում կարող են կիրառվել APNs, FCM կամ HMS։ Անդրադարձ կան նշումների ներքին օրենսդրության ժամանակ։
Այս տարբերությունները սովորաբար հաշվի են առնում ուղարկող համակարգի տեխնիկայում։ PushMeld-ում դրանք մնում են MaxCode-ի սահմաններում։
Տան սերվերը, կայքը կամ սցենարը որոշում չէ, թե կոնկրետ հեռախոսի օգտագործողն ով է և իրարանցում՝ որ միջավայրի միջոցով է ուղարկում։ Նրանք միայն իրականացնում են մի հայեցակարգ՝ հարցում, իսկ PushMeld-ը ինքն է որոշում՝ ո՞ր ուղիներ պետք է որդեգրվեն։
MaxCode-ը չի փոխարինում Apple-ի, Google-ի կամ Huawei-ի ենթակառույցները։ Նա ստեղծում է միասնական մուտք դեպի դրանց։
Դրա շնորհիվ՝ սկզբնական համակարգը չի փոխվում օգտատերերի սարքերի հետ շփումից։ Այսօր հաղորդագրությունը կարող է ուղարկվել FCM арқылы, վաղը՝ APNs կամ մյուս հեռախոսի նոր տարբերակ։ Իսկ ծրագրում՝ որ այն իրենընով տեղաշարժողը՝ փոփոխություն չի կատարվում։
MaxCode-ը և սովորական API-բանալին՝ տարբեր բաներ են
Սովորական API-բանալին հիմնականում միայն թույլ է տալիս մուտք գործել ծառայությանը։ Հետո՝ համակարգը պետք է առանձին փոխանցի նախագծին, ստացողներին և ուղարկման կերպին։
MaxCode-ը միավորում է այս տեղեկությունն իր մեջ։
Այն թույլ է տալիս PushMeld-ին ճանաչել նախագիծը, ստուգել հարցումը և կիրառել ճշգրիտ կարգավորումները։ Արտասահման ծրագրումը փոխանցում է MaxCode-ը և իրադրությունը՝ չվերագրվելով մյուս ուղին։
Կարճ՝, API-բանալին բացում է ընդամենը կարողությունների դուռը, իսկ MaxCode-ը նաև լավացնում է կոնտեքստը՝ թե երբ և ինչպես գործարկել ֆունկցիան։
Ուղեկցող ծանուցում՝ լրացուցիչ հնարավորություն
Նվիրական PushMeld-ը պատահելից հետո մերժում եմ նրան, որ ընդամենը push-պատկամ չէ։
Այսպես է ավելի իսկապես ճիշտ ասել՝ այն միջոց է ավելացնելու ծանուցումները, որտեղ նախկինում չկային, և վերահսկելու նրանց՝ անկախ ծրագրից։
Ինքը՝ աղբյուրը, կարող է լինել տան սերվեր, սենսոր, հին ծրագիր, առևտրային կայք, սեփական սցենար կամ ներսի համակարգ։ Եթե ինքն իրեն կարող է իրականացնել HTTP հարցում՝ կամ փոքր մասնակի սցենարով, ապա այն կարող է փոխանցվել PushMeld-ին։
Արդյունքում, MaxCode-ը կդնում է սահմանը՝ իրադարձություն և դրա մուտք տեղավորելու միջև։ Մի կողմին՝ ծրագիրը, որը տեղեկացնում է, թե ինչ է տեղի ունեցել։ Մի կողմին՝ PushMeld-ը, որն իմանում է նախագիծը, սարքերը, ալիքները և տեխնիկական երթուղին։
Աստու համար առավել կարևոր հնարավորությունը՝ այն միայն զանգվածային բանալի չէ։ Կա մի սահման՝ իրադարձության և նրա հետագա ուղու միջեւ։ Այս սահմանը լրացրած հետո ամեն առկախվող փոփոխությունը՝ առանց ծրագրի վերաշարաշարքի, կարող է կատարվել։