تیم برنامه نویسی زینو کد

توسعه بک اند وب ؛ سرور، دیتابیس و API

آنچه در این مقاله میخوانید...

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

سرور چیست و چه نقشی دارد ؟

 

سرور (Server) در ساده ترین تعریف، یک کامپیوتر یا دستگاه است که درخواست ها را از سمت کاربران (فرانت اند) دریافت می کند، آنها را پردازش کرده و پاسخی مناسب ارائه می دهد.

نقش سرور

 

۱- مدیریت درخواست ها : تمام درخواست هایی که کاربران در وب سایت ارسال می کنند مثل لاگین یا نمایش یک محصول، ابتدا به سرور می رسد.

 

۲- اجرای منطق برنامه : سرور منطق برنامه را اجرا می کند، مثلا چک می کند که رمز عبور واردشده درست است یا نه .

 

۳- ارتباط با دیتابیس : اگر اطّلاعاتی مورد نیاز باشد، مثلا اطّلاعات کاربر یا لیست محصولات ، سرور این اطّلاعات را از دیتابیس می گیرد .

 

چگونه سرور با فرانت اند ارتباط می گیرد ؟

 

فرانت اند از طریق پروتکل http یا https درخواست هایی به سرور ارسال می کند. این درخواست ها می توانند به شکل GET POST ، PUT یا DELETE باشند و هرکدام برای یک وظیفه خاصّی طرّاحی شده اند.

دیتابیس چیست و چه نقشی دارد ؟

دیتابیس (Database)، جایی است که تمام اطّلاعات مربوط به وب سایت یا اپلیکیشن ذخیره می شود . این اطّلاعات می تواند شامل کاربران، محصولات، سفارشات یا هر نوع داده دیگری باشد .

انواع دیتابیس

 

۱- SQL ( Structured Query Language) : دیتابیس های ساختاریافته که اطّلاعات را در قالب جدول ذخیره می کنند؛ مانند MySQL ، PostgreSQL و SQLite.

2- NoSQL : دیتابیس های غیرساختاریافته که اطّلاعات را به شکل سند (Document) یا کلید-مقدار (key-value) ذخیره می کنند؛ مانند MongoDB و Firebase.

نقش دیتابیس

 

۱- ذخیره سازی اطّلاعات : اطّلاعات کاربران، محصولات، و تراکنش ها در دیتابیس ذخیره می شود.

۲- بازیابی اطّلاعات: هر زمان که فرانت اند اطّلاعاتی نیاز دارد، مثل لیست محصولات، سرور این داده ها را از دیتابیس بازیابی کرده و به فرانت اند می فرستد.

۳- مدیریّت داده ها: دیتابیس وظیفه مدیریّت حجم بالای داده ها را به عهده دارد.

مثال

 

وقتی در یک فروشگاه آنلاین، یک محصول را جستجو می کنید، دیتابیس اطّلاعات مربوط به آن محصول (شامل نام، قیمت و توضیحات) را به سرور ارسال می کند و سرور آن را به فرانت اند برمی گرداند.

API چیست و چه نقشی دارد ؟

API (Application Programming Interface)، رابطی است که به فرانت اند اجازه می دهد تا با بک اند ارتباط برقرار کند. آنها شبیه یک مترجم عمل می کنند و درخواست های فرانت اند را به زبان سرور تبدیل می کنند.

نقش API

 
۱- واسط بین فرانت اند و بک اند: فرانت اند بدون نیاز به دانستن جزئیّات بک اند، از طریق API، داده ها را دریافت یا ارسال می کند.
 
۲- استانداردسازی ارتباط: API ها ساختاری استاندارد برای ارتباط بین اجزا فراهم می کنند.
 
۳- امنیّت داده ها: API ها می توانند تنها اطّلاعات مجاز را در اختیار فرانت اند قرار دهند.

 

انواع API

RestAPI- 1: پرکاربرد ترین نوع API که از پروتکل http استفاده می کند.

GraphQL API- 2: قدرتمندتر و انعطاف پذیرتر که به جای ارسال درخواست های جداگانه، داده ها را به صورت دقیق تر و کامل تر، برمی گرداند.

مثال

 

فرض کنید یک اپلیکیشن هواشناسی دارید؛ فرانت اند میخواهد اطّلاعات دمای امروز را نمایش دهد. از طریق یک API ، فرانت اند درخواست اطّلاعات دما را می دهد و API داده های مربوط را از سرور به فرانت اند ارسال می کند.

تعامل بین سرور، دیتابیس و API

یک مثال ساده از جریان کاری بین این سه مؤلّفه:

۱- کاربر از طریق فرانت اند درخواست مشاهده یک محصول را ارسال می کند.

۲- این درخواست به سرور می رسد.

۳- سرور این درخواست را به دیتابیس ارسال کرده و اطّلاعات محصول را از دیتابیس می گیرد.

۴- سرور از طریق API، داده ها را به فرانت اند می فرستد.

۵- فرانت اند این داده ها را به شکل زیبایی به کاربر نمایش می دهد.

چرا این سه مؤلفه در کنار هم حیاتی هستند؟

 

سرور: مغز اصلی سیستم که تصمیم می گیرد.

دیتابیس: حافظه سیستم که تمام اطّلاعات را ذخیره می کند.

API : پلی بین فرانت اند و بک اند که ارتباط را ساده و استاندارد می کند.

طراحی سایت شما در کمترین زمان و بهترین قیمت!

زینو کد، انتخابی مطمئن تر از مطمئن!

نتیجه گیری

بک اند بدون دیتابیس، سرور و API قابل تصوّر نیست. این سه مؤلّفه در کنار هم باعث می شوند داده ها به درستی ذخیره، پردازش و به کاربر نمایش داده شوند. اگر می خواهید در دنیای بک اند حرفه ای شوید، درک عمیق این مفاهیم، اوّلین قدم برای یادگیری شماست.

چه امتیازی به این مقاله می دهید؟

محمد امین بهاءالدین پور

به دنبال چالش نه تنها در برنامه نویسی بلکه در همه زندگی‌ام هستم؛ عاشق کار با کیبورد و لپ تاپ و اهل گشت و گذار در دنیای دیجیتال؛ علاقه خاص به آموزش و تدریس از دوران نوجوانی!

پست های مشابه

پیمایش به بالا