Një faqe produkti thotë se ka një API, dhe mbledhja e integrimit ngec në pyetjen e dytë. Cili operacion, mbi cilin objekt, i thirrur nga kush, dhe çfarë quhet sukses? Përgjigjja e këtyre katërve përpara se të krahasoni produkte zakonisht eliminon gjysmën e kandidatëve. Ajo e kthen edhe krahasimin e mbetur në diçka që një test mund ta zgjidhë.

Zëvendësoni «ka një API» me një operacion

Një API është transport, jo aftësi. Një pikë fundore REST, një socket lokal dhe një mbështjellës i rreshtit të komandës mund të quhen të gjitha API, dhe nuk ofrojnë operacione ekuivalente.

Shkruajeni operacionin si fjali përpara se të shikoni dokumentacionin.

Nisja e një lidhjeje lokale është veprim nga ana e klientit me një përdorues përpara. Lëshimi i një profili pajisjeje është veprim përgatitjeje me një inventar pas tij. Çaktivizimi i qasjes së një përdoruesi është veprim administrativ me gjurmë auditimi. Këto të tre zakonisht jetojnë në komponentë të ndryshëm, në pronësi të ekipeve të ndryshme, me autoritet të ndryshëm.

Katër fusha që e bëjnë kontratën të testueshme

Plotësoni katër fusha për çdo operacion: objekti, veprimi, thirrësi dhe kushti i suksesit. Një kontratë me një fushë që mungon është një dëshirë.

Tabela është e gjithë fleta e punës:

FieldQuestionExample
ObjectWhat is being acted on?One enrolled device
ActionObserve, create, change, start, stop, or revoke?Revoke
CallerWhich identity calls it?Deployment service
SuccessWhat observable state proves it?Future sign-in denied

Kushti i suksesit është fusha që njerëzit e kapërcejnë, dhe pikërisht ajo vendos nëse integrimi funksionon. Një cilësim i ruajtur nuk është tunel aktiv, dhe një llogari e çaktivizuar nuk është sesion i përfunduar.

Nëse dy operacione kërkojnë thirrës të ndryshëm, janë dy integrime. Bashkimi i tyre në një llogari shërbimi zakonisht do të thotë dhënia e më shumë autoritetit sesa i nevojitet secilit.

Përputhni ndërfaqen me shtresën të cilës i përket vërtet

Ndërfaqja e administrimit e komunitetit të OpenVPN flet me një daemon përmes TCP ose një socket Unix. Komandat e saj përfshijnë vëzhgime të gjendjes dhe sinjale për daemon-in.

Kjo e bën atë një kanal kontrolli të daemon-it, jo një API abonimi të hostuar ose një shërbim regjistrimi përdoruesish. Leximi me kujdes i dokumentacionit të tij ju shpëton nga ndërtimi mbi një shtresë që nuk e zotëron objektin.

Ai dokumentacion thotë gjithashtu se protokolli nuk ka kriptim të vetin. Kush mund të arrijë socket-in mund të kontrollojë daemon-in, prandaj trajtojeni si kontroll të ndjeshëm, jo si një rrjedhë metrikash. Lidheni me loopback ose një socket Unix dhe vendoseni pas një rregullimi të kufizuar nëse një thirrës në distancë ka nevojë. Ekspozimi i tij në internet për lehtësi e kthen një kanal kontrolli në incident.

Specifikoni sjelljen pas thirrjes

Pranimi nuk është i njëjtë me përfundimin. Daemon-i mund të kthehet përpara se tuneli të ngrihet, prandaj prisni ngjarjen e dokumentuar të përfundimit ose dështimit dhe lidheni me kërkesën që dërguat.

Vendosni çfarë bën thirrësi nëse përgjigjja humbet. Përsëritja verbërisht e një krijimi ose rilidhjeje nuk është e njëjtë me kontrollimin nëse kërkesa e parë ka pasur tashmë efekt.

Heqja e qasjes është të paktën tre veprime të ndryshme: bllokimi i hyrjes së ardhshme, përfundimi i një sesioni aktiv dhe revokimi i kredencialeve. Kërkoni ato që politika kërkon vërtet, dhe thoni në kontratë cila është cila. Mos e etiketoni një përditësim të suksesshëm llogarie si revokim të plotë pa prova. Diferenca ka rëndësi gjatë një incidenti, kur ora ecën.

Kontrolloni kontratën me një pilot

Një pilot i vogël i miratuar duhet të mbulojë suksesin, refuzimin, ndërprerjen dhe ripërpjekjen, të ndjekur nga operacioni i aplikacionit që duhet lejuar ose refuzuar.

Për një ndërfaqe në nivel daemon-i, dy komanda ushtrojnë vëzhgimin dhe një sinjal:

echo state | nc -w 2 127.0.0.1 7505
echo signal SIGTERM | nc -w 2 127.0.0.1 7505

Jepni vetëm autoritetin që kërkon operacioni. Mbani sekretet jashtë regjistrave rutinë dhe regjistroni detaje private të mjaftueshme për të thënë cili objektiv u prek dhe si përfundoi.

Shkruani rrugën e rikuperimit për rastin kur vetë API-ja e kontrollit është jashtë. Zgjidhni ndërfaqen që zotëron objektin dhe ciklin e tij të jetës; pretendimet e automatizimit në një faqe produkti nuk janë zëvendësim.

Artikuj të ngjashëm