آشنایی با WebGIS ، بخش سوم : معماری WebGIS
مهدی نوایی لواسانی – 2023-07-12در بخش های قبلی در ابتدا به معرفی GIS و WebGIS پرداختیم و توضیح دادیم که GIS چیست و کمی به اصول پایه ای WebGIS پرداختیم . در ادامه مروری بر برخی ابزارها و کتابخانه های مورد استفاده برای WebGIS داشتیم .و به بررسی برخی از ابزارهای متن باز که در پروژههای WebGIS استفاده میشوند ، پرداختیم .
هدف این بخش آشنایی با معماری WebGIS و توضیح روند کار آن بدون کلمات اضافی و اصطلاحات فنی پیچیده است . در ابتدا لازم است توجه کنیم که هیچ معماری WebGIS پیش فرضی وجود ندارد ، در حقیقت روند کار به برنامه های مورد استفاده وابسته است ، با این حال ، همه این روندهای توسعه ، به یک معماری کاربر / سرور (client / server) سه لایه متکی هستند.
پیاده سازی WebGIS به مدل کاربر / سرور متکی است . کل عملیات به دو بخش سمت کاربر و سمت سرور تقسیم می شود . کاربر می تواند یک مرورگر وب یا یک نرم افزار دسکتاپ GIS باشد و سمت سرور شامل یک وب سرور (مانند Apache Tomcat ) ، سرور WebGIS ( مانند GeoServer یا MapServer ) و یک پایگاه داده (مانند PostGIS ) است . در تصویر زیر کل فرآیند نشان داده شده است .
معماری کاربر/ سرور چیست؟
با کنار گذاشتن تمام مسائل فنی ، اجازه دهید با استفاده از مثالی که فکر می کنم همه می توانیم با آن ارتباط برقرار کنیم ، این معماری را برای شما توضیح دهم . به عنوان مثال ، یک مشتری (client) برای سفارش دادن غذا به رستورانی مراجعه میکند . پیشخدمت (server) همیشه به سفارشات یا درخواست های مشتریان گوش می دهد . پس از دریافت درخواست مشتری ، پیشخدمت آن درخواست / سفارش را پردازش کرده ، با سرآشپز ( Database ) ارتباط برقرار میکند تا درخواست / سفارش مشتری را آماده کند و پاسخی را به مشتری برگرداند .
این مثال ساده ، بیانگر نحوه عملکرد یک WebGIS و حتی وب به صورت کلی است . ما یک پایگاه داده داریم که داده های مکانی ما را ذخیره می کند ، به عنوان مثال PostGIS ، که این پایگاه داده روی یک سرور نصب شده یا به آن متصل شده است ، مثلاً Apache Tomcat ، این وب سرور خود روی یک ماشین لینوکس ( یک کامپیوتر با سیستم عامل لینوکس ) نصب شده است و همیشه به درخواست ها گوش می دهد ، علاوه بر این روی این ماشین لینوکس ، یک سرور Web GIS نیز قرار دارد ، مانند GeoServer ، که برای رسیدگی به درخواستهای سرویس های OGC همچون سرویس های WFS و WMS نصب شده است .
در نهایت درخواستهای پردازش شده ، از طریق کتابخانههای سمت کاربری همچون Leaflet و یا OpenLayers به مرورگر کاربر ارسال تا به زیبایی در مرورگر کاربر نمایش داده شوند .
اگر هنوز در چگونگی رخداد فرایندهای فوق دارای ابهام هستید بیایید یک مثال دیگر را با هم بررسی کنیم . فرض کنید می خواهید پیتزا سفارش دهید . اولین کاری که احتمالاً انجام خواهید داد این است که تلفن همراه یا رایانه خود را برمی دارید ، مرورگر خود (client) را بازمی کنید و آدرس مورد نظر را تایپ می کنید (مثلا Geoinformatics.ir) . با این کار درخواستی را به سروری که فایل های وب سایت Geoinformatics.ir در آن ذخیره شده است ، ارسال میکنید .
کلمه “سرور” در اینجا در واقع اشاره به یک سیستم کامپیوتری میکند ، که احتمالاً در مکانی دور از شما قرار دارد ، گرچه میتوانیم حتی از سیستم خود به عنوان سرور نیز استفاده کنیم . سرور پاسخ را در قالب فایلهای HTML ، CSS و جاوا اسکریپت به کلاینت (مرورگر شما) برمیگرداند ، زیرا اینها تنها زبان هایی است که مرورگر شما میفهمد ، از آنها استفاده کرده و نتیجه را با طرح بندیهای زیبایی که در وب سایت میبینیم ، به ما نشان میدهد .
علاوه بر این ، هنگام پیمایش در یک وب سایت ، درخواستها و عملیات پاسخگویی زیادی در پس زمینه انجام میشود . به عنوان مثال ، هنگامی که ما سفارشی را انجام می دهیم ، جزئیات و اطلاعات سفارش به سرور ارسال می شود تا سفارش پردازش و برای تحویل بسته بندی شود . مشابه این فرآیند در WebGIS اتفاق می افتد .
کاربر با ماوس بر روی نقاط مختلف نقشه حرکت می کند ، مرورگر یا نرم افزار GIS درخواستی را به سرور ارسال می کند ، سرور آن درخواست را دریافت و پردازش می کند و پاسخی را برای نمایش به مشتری برمی گرداند . گاهی اوقات اگر درخواستی بصورت مکرر تکرار گردد ، برای کاهش زمان پاسخ گویی و تجربه کاربری بهتر ، پاسخ در حافظه پنهان ذخیره می شود .
امیدوارم که این مقاله برای شما مفید واقع شده باشد . اگر احساس میکنید که مطالب این مقاله برای دوستانتان مفید است آن را از طریق دکمه های اشتراک گذاری با سایرین به اشتراک بگذارید .
دیدگاهتان را بنویسید