صندوق المؤلف


ناقش مشروعك

من نحن

نحن شريك Microsoft Gold مع وجودها في جميع أنحاء الولايات المتحدة والهند. نحن مزود خدمات تقنية معلومات ديناميكي ومهني يخدم المؤسسات والشركات الناشئة ، ويساعدها على مواجهة تحديات الاقتصاد العالمي. نحن نقدم خدمات في مجال استشارات إدارة علاقات العملاء وتنفيذها ، وتطوير التطبيقات ، وتطوير تطبيقات الهاتف المحمول ، وتطوير الويب ، والتطوير الخارجي.

api مقابل الخدمات المصغرة

Microservices vs API - تعرف على ما هو مناسب لعملك

By بوجا شارما / 7 فبراير 2022

7 فبراير 2022
Microservices vs API - تعرف على ما هو مناسب لعملك

هل انت مرتبك بين المصطلحات "Microservices"و"API"في المناقشات الفنية؟ إنه أكثر عمومية مما تعتقد. من المعقول الخلط بين المفاهيم ، لكن فهم الفرق بين الاثنين يساعد في معالجة مشاكل العمل الحالية ، وإيجاد حلول عملية ، وعقد اجتماعات أكثر إنتاجية بشكل عام.

ستزودك هذه المدونة بالمعرفة حول ماهية واجهات برمجة التطبيقات وما هي الخدمات المصغرة. بعد ذلك ، سترى كيف يعمل المصطلحان معًا وكيف يختلفان. 

عند تصميم تطبيق جوال ، عليك أن تقرر كيفية توصيله بباقي الخدمات. الخيارات النموذجية هي إنشاء Microservice أو استخدام API. كل واحد منهم له فوائده وعيوبه. ولكن ، كما نرى ، تعمل الخدمات المصغرة في بعض الأحيان بشكل أفضل في بعض الحالات ، وتعمل واجهات برمجة التطبيقات بشكل أفضل في حالات أخرى.

لذا ، أيهما تختار ، واجهة برمجة تطبيقات Microservices Vs؟ دعنا نرى: 

ما هو API؟

بادئ ذي بدء ، قبل بدء مناقشة Microservices vs API ، يجب أن تفهم المعنى الأساسي لكلا المصطلحين. API أو تقول واجهة برمجة التطبيقات له أنواع عديدة أو يأتي بأشكال عديدة.

عندما يقول أحدهم "API"، يمكنهم قول أي شيء من واجهات برمجة التطبيقات الخاصة إلى واجهات برمجة التطبيقات العامة ، أو واجهات برمجة تطبيقات SOAP إلى واجهات برمجة التطبيقات RESTful. الآن قد تدرك وتفهم لماذا يخلط الكثير من الناس في هذا؟

في الأساس ، تسمح واجهة برمجة التطبيقات لمكونين برمجيين بإرسال واستقبال الرسائل والبيانات بطريقة منظمة دون الحاجة إلى تدخل بشري أو إدخال يدوي للبيانات. عندما نتحدث عن تكامل البرامج ، فإننا غالبًا ما نستخدم واجهات برمجة التطبيقات لتمكين هذا البرنامج من التواصل.

لتسهيل فهم ذلك ، دعنا نتحدث عن واجهات برمجة التطبيقات الأكثر استخدامًا في سياق واجهات برمجة التطبيقات REST وكيف يتم استخدامها في بنى الخدمات المصغرة. عند الحديث عن واجهات برمجة تطبيقات نقل الحالة النموذجية (REST) ​​أو واجهات برمجة تطبيقات RESTful ، فإنها تشير إلى أنماط واجهة برمجة تطبيقات محددة.

REST API يوفر مسار رسائل عديم الحالة بين التطبيقات. تتطلب هذه البنية أن تكون جميع الرسائل التي يتم تمريرها بين التطبيقات قائمة بذاتها تمامًا.

خرائط جوجل API و تويتر API هي أمثلة لواجهات برمجة تطبيقات REST المتاحة للجمهور. فكرة أخرى هي أن واجهة برمجة التطبيقات هي وسيلة لتطبيقك للتواصل مع الخدمات الخارجية مثل خرائط جوجل وتويتر باستخدام مجموعة من الأوامر والأساليب المحددة جيدًا. يتيح لك ذلك إضافة ميزات محددة بسلاسة أنشأها المستخدمون الآخرون لتطبيقك أو برنامجك.

دعنا نشرح API باستخدام القياس. فكر في صانع المصباح. لست بحاجة إلى معرفة كيفية إنشاء منفذ أو كيفية توليد ونقل الكهرباء. إنهم يعلمون أنه ما عليك سوى صنع مصباح بسلك الطاقة الصحيح (وفقًا لمواصفات معايير الصناعة) وسيوفر المنفذ الطاقة اللازمة للمصباح ليعمل بشكل صحيح. إنه سلك الطاقة الذي يمكن أن يتفاعل معه المنفذ والمصباح.

API هو سلك الطاقة لتطبيقك. هذا هو الاتصال الذي يسمح لتطبيقك باستلام البيانات والرسائل التي يحتاجها ليعمل بشكل صحيح.

هنا مثال أكثر تحديدًا. لنفترض أنك تريد إنشاء تطبيق rideshare التالي الذي يتطلب استخدام بطاقة. لديك عدة خيارات: يمكنك أنت وبعض أفضل أصدقائك إنشاء شيء مشابه لخرائط Google من البداية وتغيير نفسك في كل مرة تحتاجها. يمكنك أيضًا استخدام API لخرائط Google. يلخص Google جميع التفاصيل اللازمة لتنفيذ الخدمة خلف واجهة برمجة التطبيقات ويوفر الوظائف التي يحتاجها التطبيق. يسمح الخيار الأخير لمطوري البرامج بالتركيز على إنشاء قيمة خاصة بالتطبيق بدلاً من إنشاء العجلة (أو الخريطة في هذه الحالة) من البداية.

الآن بعد أن أصبح لدينا فهم أعمق لماهية API ، ماذا عن الخدمات المصغرة؟

أيضا ، اقرأ: Laravel 8 - برنامج تعليمي لاستيراد Excel و CSV إلى قاعدة البيانات

ما هي الخدمات المصغرة؟

Microservices هي نمط معمارية يقسم التطبيق إلى خدمات أو مكونات أصغر مستقلة (عادة ما تستهدف وظائف الأعمال). تستخدم هذه الخدمات عادةً واجهات برمجة التطبيقات للتواصل مع بعضها البعض.

هذا هو ، يربط API كل خدمة ضمن بنية الخدمات المصغرة لتوفير خدمة أو تطبيق يعمل بكامل طاقته. في هذا السياق ، تختلف وظيفة API قليلاً.

افترض أن تطبيقًا جديدًا لمشاركة الرحلات يحتاج إلى توفير إمكانيات الخريطة والفوترة. يمكنك تنفيذ كل ميزة كخدمة مصغرة منفصلة وتضمين جميع قواعد العمل والمنطق والبيانات المطلوبة لكل خدمة بطريقة قائمة بذاتها نسبيًا.

هذا لا يجعل من السهل الحفاظ على خدماتك فحسب ، بل إنه يحسن أيضًا احتمال فشل تطبيقك. عندما تفشل خدمة واحدة ، لا ينخفض ​​بالضرورة التطبيق ككل.

أيضا ، اقرأ: React vs Angular - اختر إطار الواجهة الأمامية الصحيح

الاتصال بين الخدمات المصغرة وواجهات برمجة التطبيقات (REST)

الآن بعد أن عرفنا المزيد عن الخدمات المصغرة وكيف تختلف عن monoliths ، دعنا ننتقل إلى السؤال الأول. كيف تختلف الخدمات المصغرة عن واجهات برمجة التطبيقات؟

إذا كانت الطريقة التي تتواصل بها التطبيقات مع بعضها البعض هي REST API ، فإن بنية الخدمات المصغرة هي مكان المحادثة والممارسة الاجتماعية.

يحتوي كل مكون في بنية الخدمات المصغرة على واجهة برمجة تطبيقات خاصة به للتواصل مع المكونات الأخرى. يعتمد كل مكون من مكونات البنية على قدرات المكونات الأخرى لتزويد المستخدمين النهائيين بتجربة تطبيق متماسكة وإضافة قيمة إلى أعمالهم.

الخدمات المصغرة وواجهات برمجة التطبيقات ستواصل لعب دور رئيسي في تطوير البرامج وتكاملها حتى عام 2022 ، مما يؤدي إلى تحويل حلول برمجيات الأعمال. تحتاج الشركات التي تتطلع إلى الاستفادة من القدرات الرقمية خلال عملياتها التجارية إلى معرفة الفرق بين المفهومين.

ومع ذلك ، فإن بنية الخدمات المصغرة ليست حلاً سحريًا لمشاكل برامج المؤسسة. يتطلب الانتقال إلى الخدمات المصغرة تغييرات ثقافية كبيرة وتصميمًا واعيًا حتى تتمكن البرامج من الوصول إلى إمكاناتها الكاملة.

وفي الختام

تدور هذه المناقشات حول الخدمات المصغرة مقابل واجهة برمجة التطبيقات بشكل عام حول الأحاديث حول التغييرات الهائلة التي تحدث في عالم التكنولوجيا. بغض النظر عن الموقف ، سواء كان أي نوع من التطوير يحاول تحديد ما إذا كان دوره الجديد سيستخدم واجهات برمجة التطبيقات أم لا أو ما إذا كان اثنان من المطورين مهتمين فقط بالتعبير عن آرائهم حول هذا الموضوع ، فمن المهم أن تكون على دراية بالموضوع. يجب أن يعرف المطورون ما يحبونه وما يكرهونه وأين يتجهون بينما يواصلون حياتهم المهنية. مع وضع ذلك في الاعتبار ، نأمل أن يكون بحثنا في مكونات Microservices مقابل API مصدرًا مفيدًا لك.

[sc name = "تطوير تطبيقات الجوال"] [add_newsletter] [add_related_page_diff_contents blog_cat = "تطبيق ويب"]

هل أنت مرتبك بين المصطلحات "Microservices"و"API"في المناقشات الفنية؟ إنه أكثر عمومية مما تعتقد. من المعقول الخلط بين المفاهيم ، لكن فهم الفرق بين الاثنين يساعد في معالجة مشاكل العمل الحالية ، وإيجاد حلول عملية ، وعقد اجتماعات أكثر إنتاجية بشكل عام.

ستزودك هذه المدونة بالمعرفة حول ماهية واجهات برمجة التطبيقات وما هي الخدمات المصغرة. بعد ذلك ، سترى كيف يعمل المصطلحان معًا وكيف يختلفان. 

عند تصميم تطبيق جوال ، عليك أن تقرر كيفية توصيله بباقي الخدمات. الخيارات النموذجية هي إنشاء Microservice أو استخدام API. كل واحد منهم له فوائده وعيوبه. ولكن ، كما نرى ، تعمل الخدمات المصغرة في بعض الأحيان بشكل أفضل في بعض الحالات ، وتعمل واجهات برمجة التطبيقات بشكل أفضل في حالات أخرى.

لذا ، أيهما تختار ، واجهة برمجة تطبيقات Microservices Vs؟ دعنا نرى: 

ما هو API؟

بادئ ذي بدء ، قبل بدء مناقشة Microservices vs API ، يجب أن تفهم المعنى الأساسي لكلا المصطلحين. API أو تقول واجهة برمجة التطبيقات له أنواع عديدة أو يأتي بأشكال عديدة.

عندما يقول أحدهم "API"، يمكنهم قول أي شيء من واجهات برمجة التطبيقات الخاصة إلى واجهات برمجة التطبيقات العامة ، أو واجهات برمجة تطبيقات SOAP إلى واجهات برمجة التطبيقات RESTful. الآن قد تدرك وتفهم لماذا يخلط الكثير من الناس في هذا؟

في الأساس ، تسمح واجهة برمجة التطبيقات لمكونين برمجيين بإرسال واستقبال الرسائل والبيانات بطريقة منظمة دون الحاجة إلى تدخل بشري أو إدخال يدوي للبيانات. عندما نتحدث عن تكامل البرامج ، فإننا غالبًا ما نستخدم واجهات برمجة التطبيقات لتمكين هذا البرنامج من التواصل.

لتسهيل فهم ذلك ، دعنا نتحدث عن واجهات برمجة التطبيقات الأكثر استخدامًا في سياق واجهات برمجة التطبيقات REST وكيف يتم استخدامها في بنى الخدمات المصغرة. عند الحديث عن واجهات برمجة تطبيقات نقل الحالة النموذجية (REST) ​​أو واجهات برمجة تطبيقات RESTful ، فإنها تشير إلى أنماط واجهة برمجة تطبيقات محددة.

REST API يوفر مسار رسائل عديم الحالة بين التطبيقات. تتطلب هذه البنية أن تكون جميع الرسائل التي يتم تمريرها بين التطبيقات قائمة بذاتها تمامًا.

خرائط جوجل API و تويتر API هي أمثلة لواجهات برمجة تطبيقات REST المتاحة للجمهور. فكرة أخرى هي أن واجهة برمجة التطبيقات هي وسيلة لتطبيقك للتواصل مع الخدمات الخارجية مثل خرائط جوجل وتويتر باستخدام مجموعة من الأوامر والأساليب المحددة جيدًا. يتيح لك ذلك إضافة ميزات محددة بسلاسة أنشأها المستخدمون الآخرون لتطبيقك أو برنامجك.

دعنا نشرح API باستخدام القياس. فكر في صانع المصباح. لست بحاجة إلى معرفة كيفية إنشاء منفذ أو كيفية توليد ونقل الكهرباء. إنهم يعلمون أنه ما عليك سوى صنع مصباح بسلك الطاقة الصحيح (وفقًا لمواصفات معايير الصناعة) وسيوفر المنفذ الطاقة اللازمة للمصباح ليعمل بشكل صحيح. إنه سلك الطاقة الذي يمكن أن يتفاعل معه المنفذ والمصباح.

API هو سلك الطاقة لتطبيقك. هذا هو الاتصال الذي يسمح لتطبيقك باستلام البيانات والرسائل التي يحتاجها ليعمل بشكل صحيح.

هنا مثال أكثر تحديدًا. لنفترض أنك تريد إنشاء تطبيق rideshare التالي الذي يتطلب استخدام بطاقة. لديك عدة خيارات: يمكنك أنت وبعض أفضل أصدقائك إنشاء شيء مشابه لخرائط Google من البداية وتغيير نفسك في كل مرة تحتاجها. يمكنك أيضًا استخدام API لخرائط Google. يلخص Google جميع التفاصيل اللازمة لتنفيذ الخدمة خلف واجهة برمجة التطبيقات ويوفر الوظائف التي يحتاجها التطبيق. يسمح الخيار الأخير لمطوري البرامج بالتركيز على إنشاء قيمة خاصة بالتطبيق بدلاً من إنشاء العجلة (أو الخريطة في هذه الحالة) من البداية.

الآن بعد أن أصبح لدينا فهم أعمق لماهية API ، ماذا عن الخدمات المصغرة؟

أيضا ، اقرأ: Laravel 8 - برنامج تعليمي لاستيراد Excel و CSV إلى قاعدة البيانات

ما هي الخدمات المصغرة؟

Microservices هي نمط معمارية يقسم التطبيق إلى خدمات أو مكونات أصغر مستقلة (عادة ما تستهدف وظائف الأعمال). تستخدم هذه الخدمات عادةً واجهات برمجة التطبيقات للتواصل مع بعضها البعض.

هذا هو ، يربط API كل خدمة ضمن بنية الخدمات المصغرة لتوفير خدمة أو تطبيق يعمل بكامل طاقته. في هذا السياق ، تختلف وظيفة API قليلاً.

افترض أن تطبيقًا جديدًا لمشاركة الرحلات يحتاج إلى توفير إمكانيات الخريطة والفوترة. يمكنك تنفيذ كل ميزة كخدمة مصغرة منفصلة وتضمين جميع قواعد العمل والمنطق والبيانات المطلوبة لكل خدمة بطريقة قائمة بذاتها نسبيًا.

هذا لا يجعل من السهل الحفاظ على خدماتك فحسب ، بل إنه يحسن أيضًا احتمال فشل تطبيقك. عندما تفشل خدمة واحدة ، لا ينخفض ​​بالضرورة التطبيق ككل.

أيضا ، اقرأ: React vs Angular - اختر إطار الواجهة الأمامية الصحيح

الاتصال بين الخدمات المصغرة وواجهات برمجة التطبيقات (REST)

الآن بعد أن عرفنا المزيد عن الخدمات المصغرة وكيف تختلف عن monoliths ، دعنا ننتقل إلى السؤال الأول. كيف تختلف الخدمات المصغرة عن واجهات برمجة التطبيقات؟

إذا كانت الطريقة التي تتواصل بها التطبيقات مع بعضها البعض هي REST API ، فإن بنية الخدمات المصغرة هي مكان المحادثة والممارسة الاجتماعية.

يحتوي كل مكون في بنية الخدمات المصغرة على واجهة برمجة تطبيقات خاصة به للتواصل مع المكونات الأخرى. يعتمد كل مكون من مكونات البنية على قدرات المكونات الأخرى لتزويد المستخدمين النهائيين بتجربة تطبيق متماسكة وإضافة قيمة إلى أعمالهم.

الخدمات المصغرة وواجهات برمجة التطبيقات ستواصل لعب دور رئيسي في تطوير البرامج وتكاملها حتى عام 2022 ، مما يؤدي إلى تحويل حلول برمجيات الأعمال. تحتاج الشركات التي تتطلع إلى الاستفادة من القدرات الرقمية خلال عملياتها التجارية إلى معرفة الفرق بين المفهومين.

ومع ذلك ، فإن بنية الخدمات المصغرة ليست حلاً سحريًا لمشاكل برامج المؤسسة. يتطلب الانتقال إلى الخدمات المصغرة تغييرات ثقافية كبيرة وتصميمًا واعيًا حتى تتمكن البرامج من الوصول إلى إمكاناتها الكاملة.

وفي الختام

تدور هذه المناقشات حول الخدمات المصغرة مقابل واجهة برمجة التطبيقات بشكل عام حول الأحاديث حول التغييرات الهائلة التي تحدث في عالم التكنولوجيا. بغض النظر عن الموقف ، سواء كان أي نوع من التطوير يحاول تحديد ما إذا كان دوره الجديد سيستخدم واجهات برمجة التطبيقات أم لا أو ما إذا كان اثنان من المطورين مهتمين فقط بالتعبير عن آرائهم حول هذا الموضوع ، فمن المهم أن تكون على دراية بالموضوع. يجب أن يعرف المطورون ما يحبونه وما يكرهونه وأين يتجهون بينما يواصلون حياتهم المهنية. مع وضع ذلك في الاعتبار ، نأمل أن يكون بحثنا في مكونات Microservices مقابل API مصدرًا مفيدًا لك.

خدمات تطوير تطبيقات الجوال

هل تريد الاستفادة من تكنولوجيا الهاتف المحمول لعملك؟ Cynoteck هو مزود خدمات تطوير تطبيقات الجوال وقفة واحدة. نحن نقدم خدمات تطوير تطبيقات iOS و Android حتى تتمكن من الوصول إلى جمهورك المستهدف على أي جهاز.



ضيف
1 الرسالة
التقيمات المضمنة
عرض جميع التعليقات
إليسيت
إليسيت
سبتمبر 25، 2022 8: 40 صباحا

excelente ، uma linguagem bem objetiva.

1
0
أحب أفكارك ، يرجى التعليق.x
()
x