تفاوت Swagger و OpenApi در سرویس های RESTful

تفاوت Swagger و OpenApi در سرویس های RESTful

با کسترش استفاده از سرویس ها و تولید نرم افزارهای بر پایه معماری های جدید و سرویس گرا، دنیای فناوری اطلاعات با توسعه روز افزون سرویس های تحت وب مواجه است، با ظهور سرویس های RESTful و سرعت قابل توجه آنها و همچنین قابلیت گسترش پذیری آن، اکثر توسعه دهندگان در حال مهاجرت به سرویس های RESTful هستند، از این رو نیاز توصیف سرویس های RESTful برپایه یک استاندارد بیش از پیش احساس می شود.

در ابتدا برای توصیف سرویس های RESTful استانداردی وجود نداشت و برای آنکه سرویس های RESTful در اختیار مصرف کننده قرار گیرد از مستندات فنی و مکتوب استفاده می شد، تولید Client ها نیز بصورت دستی و توسط برنامه نویسان صورت میگرفت و ابزاری برای تولید خودکار کدهای Client وجود نداشت. علت عدم وجود این ابزار ها عدم وجود زبانی قابل فهم برای سیستم های کامپیوتری بود. اما در سال های اخیر از سوی کمپانی های مختلف تلاش هایی برای ایجاد ابزار و استانداردی جهت رفع این مشکل شده است.

RAML, API Blueprint, OpenApi, SERIN  و برخی دیگر، زبان های توصیفی هستند که تابحال برای سرویس های RESTful توسط کمپانی های مختلف ارائه شده اند.

از ابتدای سال 2010 توسعه ابزار متن بازی با نام Swagger آغاز شد و در 25 مارس سال 2015 توسط کمپانی SmartBear از شرکت Reverb Technologies خریداری شد. در نوامبر سال 2015 کمپانی SmartBear که مالک Swagger بود اعلام کرد که حاضر است کمک کند تا سازمان جدیدی تحت حمایت بنیاد لینوکس ( Linux Foundation ) ایجاد شود، که نام آنرا Open API Initiative نهادند که در حال حاضر شرکت های بسیاری از جمله Microsoft، Google، IBM و ... در آن عضو هستند. در اول ژانویه 2016 Swagger Specification نام خود را به OpenApi Specification تغییر داد و در ریپازیتوری جدیدی در Github فعالیت خود را ادامه می دهد. 

در سال 2016 SmartBear جایزه API Award را در شاخه API Infrastructure دریافت کرد. نسخه   3 OpenApi Specification  در سال 2017 ارائه شد و درحال حاضر SmartBear به توسعه ابزار خود تحت نام تجاری Swagger جهت پشتیبانی از OpenApi Specification ادامه میدهد. 
کمپانی MuleSoft که تولید کننده RAML، که از دیگر زبانهای مطرح توصیف سرویس های REST است به OpenApi Specification پیوست و ابزاری متن باز جهت تبدیل RAML به OAS تولید و ارائه کرد.

برخی از ابزارهای رایگان تولید شده توسط Swagger :

همچنین ابزارهای متن باز بسیاری برای زبان های مختلف در اینجا وجود دارد.