/
/
در این بخش قابلیتهای تکمیلی Service Bus شامل مستند خودکار، ساختار URL، مدیریت خطاهای HTTP، مثال کامل انتشار Provider، تست Service Bus و تفاوت معماری بین Provider و Service Bus بررسی میشود.
هر Service Bus میتواند دارای مستندات مربوط به قرارداد API باشد تا مصرفکننده بتواند اطلاعات مورد نیاز برای فراخوانی سرویس را مشاهده کند.
مستندات سرویس باید شامل اطلاعاتی مانند Endpoint، Method، پارامترهای ورودی، نوع Response و نحوه Authentication باشد.
مستند خودکار Service Bus باید مطابق Contract واقعی سرویس باشد و تغییرات API باید همراه با بهروزرسانی مستندات بررسی شود.
هر Service Bus برای فراخوانی API دارای یک Endpoint مشخص است. این Endpoint مسیر دسترسی مصرفکننده به سرویس را مشخص میکند.
API Endpoint
↓
Service Bus
↓
Provider Executionدر صورت نیاز، پارامترهای مورد نیاز سرویس میتوانند مطابق Contract تعریفشده در URL یا سایر بخشهای Request قرار گیرند.
در زمان فراخوانی Service Bus ممکن است خطاهایی در ارتباط، اعتبارسنجی درخواست یا اجرای Provider رخ دهد. این خطاها باید به شکل قابل فهم برای مصرفکننده مدیریت شوند.
| دسته خطا | توضیح |
|---|---|
| خطای درخواست | مشکل در ورودی یا Contract درخواست |
| خطای دسترسی | عدم مجوز یا مشکل Authentication |
| خطای Provider | مشکل در اجرای Provider مرتبط |
در این سناریو یک Provider موجود از طریق Service Bus منتشر میشود و مصرفکننده از طریق API آن را فراخوانی میکند.
Provider: GetCustomerInfo Service Bus: GetCustomerAPI Method: GET Response: JSON
قبل از انتشار Service Bus در محیط Production، Endpoint و رفتار API باید تست شود.
Provider و Service Bus مکمل یکدیگر هستند اما مسئولیتهای متفاوتی دارند.
| موضوع | Provider | Service Bus |
|---|---|---|
| مسئولیت | اجرای منطق داده | انتشار API |
| مخاطب | اجزای داخلی سیستم | مصرفکننده API |
| تمرکز | Data Source و Result | Endpoint و Contract |
تغییرات داخلی Provider نباید باعث تغییر غیرضروری در قرارداد Service Bus شود. Contract API باید تا حد امکان پایدار نگه داشته شود.
URL، Token، Credential و اطلاعات حساس محیط واقعی نباید در مستندات عمومی یا مثالهای آموزشی قرار گیرند.