Бүтээгдэхүүний хуудас API байгаа гэж мэдэгдэж, интеграцийн уулзалт хоёр дахь асуулт дээр гацдаг. Ямар үйлдэл, ямар объект дээр, хэн дуудаж байна, юуг амжилт гэж үзэх вэ? Бүтээгдэхүүн харьцуулахаас өмнө эдгээр дөрөвт хариулах нь ихэвчлэн нэр дэвшигчдийн талыг хасаж өгдөг. Энэ нь үлдсэн харьцуулалтыг тест шийдэж чадах зүйл болгоно.

API байна гэсэн мэдэгдлийг нэг үйлдлээр соль

API бол тээвэр, чадвар биш. REST төгсгөлийн цэг, локал сокет, командын мөрийн бүрхүүл бүгдийг API гэж нэрлэж болох ч тэд ижил үйлдэл санал болгодоггүй.

Баримт бичгийг нээхээс өмнө үйлдлийг өгүүлбэрээр бич.

Локал холболт эхлүүлэх нь урд нь хэрэглэгч байгаа клиент талын үйлдэл. Төхөөрөмжийн профайл гаргах нь ард нь бүртгэл байгаа олголтын үйлдэл. Хэрэглэгчийн хандалтыг унтраах нь аудитын ул мөртэй захиргааны үйлдэл. Эдгээр гурав ихэвчлэн өөр өөр бүрэлдэхүүн хэсэгт, өөр өөр багийн эзэмшилд, өөр эрх мэдэлтэй амьдардаг.

Гэрээг шалгах боломжтой болгох дөрвөн талбар

Үйлдэл бүрд дөрвөн талбарыг бөглө: объект, үйлдэл, дуудагч, амжилтын нөхцөл. Талбар дутуу гэрээ бол зүгээр л хүсэл.

Хүснэгт бол бүх ажлын хуудас:

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

Амжилтын нөхцөл бол хүмүүсийн алгасдаг талбар бөгөөд интеграци ажиллах эсэхийг ч мөн тэр шийднэ. Хадгалсан тохиргоо бол идэвхтэй туннель биш, идэвхгүй болгосон бүртгэл бол дууссан сесс биш.

Хэрэв хоёр үйлдэлд өөр өөр дуудагч хэрэгтэй бол тэдгээр нь хоёр интеграци. Тэднийг нэг үйлчилгээний бүртгэлд нэгтгэх нь ихэвчлэн аль ч нь хэрэгтэйгээс илүү эрх олгохыг илэрхийлнэ.

Интерфэйсийг бодит давхаргад нь тааруул

OpenVPN-ийн нийгэмлэгийн удирдлагын интерфэйс нь демонтой TCP эсвэл Unix сокетоор харилцдаг. Түүний командууд нь төлөв ажиглалт болон демон руу сигнал илгээхийг агуулна.

Энэ нь түүнийг демоны удирдлагын суваг болгодог, хостлосон захиалгын API эсвэл хэрэглэгч бүртгэлийн үйлчилгээ биш. Түүний баримт бичгийг анхааралтай унших нь объектыг эзэмшдэггүй давхаргын эсрэг бүтээхээс хамгаална.

Мөн энэ баримт бичиг протокол өөрийн шифрлэлтгүй гэж хэлдэг. Сокетод хүрч чадах хэн бүхэн демоныг удирдаж чадна, тиймээс түүнийг метрик урсгал биш, мэдрэмтгий удирдлага гэж үз. Үүнийг loopback эсвэл Unix сокетод холбож, алсын дуудагчид хэрэгтэй бол хязгаарлагдмал зохион байгуулалтын ард байрлуул. Тав тухын тулд интернэтэд нээх нь удирдлагын сувгийг осол болгоно.

Дуудсаны дараах зан үйлийг тодорхойл

Хүлээн авах нь дуусахтай ижил биш. Демон туннель босохоос өмнө буцаж ирж болно, тиймээс баримтжуулсан дуусах эсвэл бүтэлгүйтэх үйл явдлыг хүлээж, илгээсэн хүсэлттэй холбо.

Хариулт алга болбол дуудагч юу хийхийг шийд. Үүсгэх эсвэл дахин холбогдохыг сохроор давтах нь эхний хүсэлт аль хэдийн үйлчилсэн эсэхийг шалгахтай ижил биш.

Хандалтыг хасах нь дор хаяж гурван өөр үйлдэл: ирээдүйн нэвтрэлтийг хаах, идэвхтэй сессийг зогсоох, итгэмжлэлийг хүчингүй болгох. Бодлого үнэхээр шаарддагийг нь хүс, гэрээнд аль нь аль болохыг хэл. Нотолгоогүйгээр нэг амжилттай бүртгэлийн шинэчлэлийг бүрэн хүчингүй болгох гэж нэрлэж болохгүй. Ослын үед, цаг явж байхад энэ ялгаа чухал.

Гэрээг туршилтын төслөөр шалга

Багавтар зөвшөөрөгдсөн туршилтын төсөл амжилт, татгалзал, тасалдал, дахин оролдлогыг хамарч, дараа нь зөвшөөрөгдөх эсвэл хориглох ёстой аппликейшны үйлдлийг хамарна.

Демоны түвшний интерфэйсийн хувьд хоёр команд ажиглалт болон сигналыг дадлагажуулна:

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

Үйлдэлд шаардлагатай эрхийг л олго. Нууцуудыг өдөр тутмын логоос гадуур байлга, аль зорилт өртсөн, хэрхэн дууссан гэдгийг хэлэх хангалттай хувийн дэлгэрэнгүйг бүртгэ.

Удирдлагын API өөрөө унасан тохиолдлын сэргээх замыг бич. Объект болон түүний амьдралын мөчлөгийг эзэмшдэг интерфэйсийг сонго; бүтээгдэхүүний хуудасны автоматжуулалтын мэдэгдэл орлуулагч болохгүй.

Холбоотой нийтлэлүүд