/
/
Provider و Public API دو مفهوم متفاوت در معماری GraphBPMS هستند. Provider برای دسترسی داخلی به منابع داده و اجرای منطق دریافت اطلاعات استفاده میشود، در حالی که Public API برای ارائه یک قرارداد مشخص به مصرفکنندگان بیرونی یا سایر بخشهای مستقل سیستم طراحی میشود.
Provider یک لایه دسترسی به داده است و معمولاً در داخل اکوسیستم GraphBPMS مورد استفاده قرار میگیرد. Public API یک لایه انتشار سرویس است که با هدف ارائه قابلیتهای مشخص و کنترلشده به مصرفکننده طراحی میشود.
Provider نباید بهعنوان جایگزین Public API معرفی شود. Provider مسئول دسترسی به داده است، در حالی که API مسئول ارائه یک Contract پایدار برای مصرفکننده است.
| موضوع | Provider | Public API |
|---|---|---|
| هدف | دسترسی به منبع داده و اجرای منطق دریافت اطلاعات | ارائه قابلیت به مصرفکننده از طریق یک قرارداد مشخص |
| مخاطب | بخشهای داخلی GraphBPMS | سیستمها، سرویسها یا مصرفکنندگان بیرونی |
| تمرکز | منبع داده، Query، Service و Result | Contract، امنیت، Versioning و دسترسی |
| تغییرات | میتواند با تغییر منبع داده تغییر کند | باید تا حد امکان Contract پایدار داشته باشد |
Provider معمولاً در لایه دسترسی به داده قرار میگیرد و مسئول ارتباط با منابع مختلف مانند Database یا Web Service است.
Public API زمانی استفاده میشود که نیاز باشد یک قابلیت به شکل استاندارد، کنترلشده و قابل استفاده توسط مصرفکنندگان دیگر ارائه شود.
برای انتشار قابلیتهای قابل استفاده توسط سیستمهای دیگر، بهتر است یک Contract مشخص API طراحی شود و جزئیات داخلی Provider در معرض مصرفکننده قرار نگیرد.
قرار دادن مستقیم جزئیات داخلی Provider بهعنوان API عمومی میتواند باعث وابستگی شدید مصرفکننده به پیادهسازی داخلی شود.