VII. درگاههای شبکه
سرویسهای نرمافزار را از طریق درگاههای شبکه ارائه کنید
برنامه های وب گاهی اوقات در داخل یک کانتینر وب سرور اجرا میشوند. به عنوان مثال، برنامه های PHP ممکن است به عنوان یک ماژول در داخل Apache HTTPD اجرا شوند، یا برنامههای جاوا ممکن است در داخل Tomcat اجرا شوند.
برنامهی کاربردی دوازدهسازه کاملاً مستقل است و برای ارائهی یک وبسرویس روی یک درگاه، نیازی به وجود وبسرور در زمان اجرا ندارد. برنامهی وب HTTP را به عنوان یک سرویس با اتصال به یک درگاه و گوش دادن به درخواست هایی که برای آن ارسال میشود، ارائه میکند.
در محیط توسعه، توسعهدهنده از یک URL سرویس مانند «http://localhost:5000/» استفاده میکند تا به سرویس ارائهشده توسط برنامهی خود دسترسی پیدا کند. در عملیات، یک لایهی مسیریابی، درخواستهای مسیریابی از نام میزبان عمومی قابل دسترس برای مشتریان بیرونی را به پردازههای وب متصل به درگاه برنامهی کاربردی مدیریت می کند.
این کار معمولاً با استفاده از اعلام وابستگیها برای افزودن یک کتابخانهی وبسرور به برنامهی کاربردی، مانند Tornado برای Python، کتابخانهی Thin برای Ruby یا Jetty برای جاوا و سایر زبانهای مبتنی بر JVM. این امر به طور کامل در فضای کاربر، یعنی در داخل کد برنامه اجرا میشود. قراردادی که برنامهی کاربردی با محیط اجرای برنامه یا سیستم عامل دارد، ارائهی یک درگاه شبکه برای دریافت درخواستها است.
HTTP تنها سرویسی نیست که می توان بر روی درگاه شبکه ارائه کرد. تقریباً هر نوع نرمافزار سرور را میتوان از طریق درگاه شبکه و انتظار برای درخواستهای دریافتی اجرا نمود. نمونهها عبارتند از ejabberd (ارتباط با پروتکل XMPP) و Redis (ارتباط با پروتکل Redis).
همچنین توجه داشته باشید که رویکرد اتصال درگاه به این معنی است که یک برنامه میتواند با ارائه URL به برنامهی دیگر به عنوان یک منبع ارائهدهنده در پیکربندی برای برنامهی دیگر به ارائهدهندهی سرویس تبدیل شود.