آشنایی با WebGIS ، بخش سوم : معماری WebGIS

آشنایی با WebGIS ، بخش سوم : معماری WebGIS
مهدی نوایی لواسانی – 2023-07-12

در بخش های قبلی در ابتدا به معرفی GIS و WebGIS پرداختیم و توضیح دادیم که GIS چیست و کمی به اصول پایه ای WebGIS پرداختیم . در ادامه مروری بر برخی ابزارها و کتابخانه های مورد استفاده برای WebGIS داشتیم .و به بررسی برخی از ابزارهای متن باز که در پروژه‌های WebGIS استفاده می‌شوند ، پرداختیم .

هدف این بخش آشنایی با معماری WebGIS و توضیح روند کار آن بدون کلمات اضافی و اصطلاحات فنی پیچیده است . در ابتدا لازم است توجه کنیم که هیچ معماری WebGIS پیش فرضی وجود ندارد ، در حقیقت روند کار به برنامه های مورد استفاده وابسته است ، با این حال ، همه این روندهای توسعه ، به یک معماری کاربر / سرور (client / server) سه لایه متکی هستند.

پیاده سازی WebGIS به مدل کاربر / سرور متکی است . کل عملیات به دو بخش سمت کاربر و سمت سرور تقسیم می شود . کاربر می تواند یک مرورگر وب یا یک نرم افزار دسکتاپ GIS باشد و سمت سرور شامل یک وب سرور (مانند Apache Tomcat ) ، سرور WebGIS ( مانند GeoServer یا MapServer ) و یک پایگاه داده (مانند PostGIS ) است . در تصویر زیر کل فرآیند نشان داده شده است .

معماری WebGIS
معماری WebGIS

معماری کاربر/ سرور چیست؟

با کنار گذاشتن تمام مسائل فنی ، اجازه دهید با استفاده از مثالی که فکر می کنم همه می توانیم با آن ارتباط برقرار کنیم ، این معماری را برای شما توضیح دهم . به عنوان مثال ، یک مشتری (client) برای سفارش دادن غذا به رستورانی مراجعه میکند . پیشخدمت (server) همیشه به سفارشات یا درخواست های مشتریان گوش می دهد . پس از دریافت درخواست مشتری ، پیشخدمت آن درخواست / سفارش را پردازش کرده ، با سرآشپز ( Database ) ارتباط برقرار میکند تا درخواست / سفارش مشتری را آماده کند و پاسخی را به مشتری برگرداند .

این مثال ساده ، بیانگر نحوه عملکرد یک WebGIS و حتی وب به صورت کلی است . ما یک پایگاه داده داریم که داده های مکانی ما را ذخیره می کند ، به عنوان مثال PostGIS ، که این پایگاه داده روی یک سرور نصب شده یا به آن متصل شده است ، مثلاً Apache Tomcat ، این وب سرور خود روی یک ماشین لینوکس ( یک کامپیوتر با سیستم عامل لینوکس ) نصب شده است و همیشه به درخواست ها گوش می دهد ، علاوه بر این روی این ماشین لینوکس ، یک سرور Web GIS نیز قرار دارد ، مانند GeoServer ، که برای رسیدگی به درخواست‌های سرویس های OGC همچون سرویس های WFS و WMS نصب شده است .

در نهایت درخواست‌های پردازش شده ، از طریق کتابخانه‌های سمت کاربری همچون Leaflet و یا OpenLayers به مرورگر کاربر ارسال تا به زیبایی در مرورگر کاربر نمایش داده شوند .

تصویری از یک خروجی با کمک کتابخانه OpenLayers
تصویری از یک خروجی با کمک کتابخانه OpenLayers

اگر هنوز در چگونگی رخداد فرایندهای فوق دارای ابهام هستید بیایید یک مثال دیگر را با هم بررسی کنیم . فرض کنید می خواهید پیتزا سفارش دهید . اولین کاری که احتمالاً انجام خواهید داد این است که تلفن همراه یا رایانه خود را برمی دارید ، مرورگر خود (client) را بازمی کنید و آدرس مورد نظر را تایپ می کنید (مثلا Geoinformatics.ir) . با این کار درخواستی را به سروری که فایل های وب سایت Geoinformatics.ir در آن ذخیره شده است ، ارسال میکنید .

کلمه “سرور” در اینجا در واقع اشاره به یک سیستم کامپیوتری میکند ، که احتمالاً در مکانی دور از شما قرار دارد ، گرچه میتوانیم حتی از سیستم خود به عنوان سرور نیز استفاده کنیم . سرور پاسخ را در قالب فایل‌های HTML ، CSS و جاوا اسکریپت به کلاینت (مرورگر شما) برمی‌گرداند ، زیرا اینها تنها زبان هایی است که مرورگر شما می‌فهمد ، از آنها استفاده کرده و نتیجه را با طرح ‌بندی‌های زیبایی که در وب‌ سایت می‌بینیم ، به ما نشان می‌دهد .

علاوه بر این ، هنگام پیمایش در یک وب سایت ، درخواست‌ها و عملیات پاسخ‌گویی زیادی در پس‌ زمینه انجام می‌شود . به عنوان مثال ، هنگامی که ما سفارشی را انجام می دهیم ، جزئیات و اطلاعات سفارش به سرور ارسال می شود تا سفارش پردازش و برای تحویل بسته بندی شود . مشابه این فرآیند در WebGIS اتفاق می افتد .

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

امیدوارم که این مقاله برای شما مفید واقع شده باشد . اگر احساس میکنید که مطالب این مقاله برای دوستانتان مفید است آن را از طریق دکمه های اشتراک گذاری با سایرین به اشتراک بگذارید . 

دیدگاه خود درباره مقاله فوق را در بخش نظرات این نوشته با ما به اشتراک بگذارید .

اشتراک گذاری :

نوشته مرتبط :
تفاوت Personal Geodatabase و File Geodatabase

تفاوت Personal Geodatabase و File Geodatabase

تفاوت Personal Geodatabase و File Geodatabase اگر کمی درباره مفاهیم File Geodatabase(*.gdb) یا Personal Geodatabase(*.mdb) و تفاوت Personal Geodatabase و File Geodatabase دچار سردرگمی شده اید ، و یا اینکه…
تفاوت Google Earth و Google Maps

تفاوت Google Earth و Google Maps

تفاوت Google Earth و Google Maps در چیست ؟ به سادگی نمیتوان گفت که که Google Earth  و Google Maps چه میزان بزرگ هستند . اما میدانیم که هر دوی…
آشنایی با قوانین توپولوژی در ArcGIS

آشنایی با قوانین توپولوژی در ArcGIS

قوانین توپولوژی روابط و محدودیت‌های فضایی بین عوارض جغرافیایی را تعریف و اعمال می کنند ، تا یکپارچگی و سازگاری داده‌ها در یک مجموعه داده مکانی تضمین شود. اصلاح اشتباهات…
تفاوت مدل های ارتفاعی DEM ، DSM ، DTM

تفاوت مدل های ارتفاعی DEM ، DSM ، DTM

وقتی صحبت از ارتفاع به میان می آید ، ما سه روش مختلف برای مدل سازی ارتفاعی داریم . که عبارتند از : بیایید تفاوت مدل های ارتفاعی DEM ،…

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *