التخطيط المعماري للنظام
التخطيط المعماري للنظام يعد من أوجه الاهتمام في تصميم الأنظمة الكبيرة، حيث تعد أساس وظائف النظام وطريقة بنائها، يتم اتخاذ القرارات بناء على هذه المرحلة، حيث تعتبر المنظور العلوي للنظام، وبالتالي يمكن اختيار المكونات الأساسية بطريقة صحيحة ومرتبة، كما تتضمن أيضا تصميم هيكلية الواجهات الأمامية، وجميع هياكل النظام الأخرى.
مكونات التخطيط المعماري للنظام
لتصميم هيكلية النظام بشكل جيد، لابد من اعتبار المكونات الرئيسية، حيث تعتبر الأساس في اتخاذ القرارات بناء على متطلبات العميل والقيود المفروضة، كما لابد من اعتبار وقت صيانة وتطوير النظام، والتأكد أن معماريته قابلة للتوسعة، ومرنة بالقدر الكافي للتكيف على المتطلبات المتغيرة وتطورات السوق الجديدة.
منصة الأجهزة Hardware Platform
تتضمن منصة الأجهزة جميع المكونات المادية التي يحتاجها النظام لكي يعمل بشكل صحيح، وتتضمن الخوادم (Servers)، وأجهزة التخزين (Storage Devices)، والبنية التحتيتة للشبكة (Network Infrastructure)، ولابد من اختيار هذه المكونات المادية بناء على متطلبات العميل والتي تحتوي على بعض المتطلبات الوظيفية، مثل: كمية التخزين المطلوبة ابتداءا، وكمية الطاقة المطلوبة للتشغيل، وكل المتطلبات التقنية الاخرى.
منصة البرمجيات Software Platform
من أهم مكونات التخطيط المعماري للنظام حيث تحتوي على نظام التشغيل (Operating System)، وخوادم البرنامج (Application Servers)، وباقي المكونات البرمجية الأخرى التي تساهم في تشغيل الأجزاء المادية، كما يتم اختيار لغات البرمجية وإطار العمل المطلوب بناء على معايير محددة، وتختلف أنواع التطبيقات واللغات المستخدمة بناء على متطلبات العملاء.
واجهات النظام System Interfaces
تتكون الواجهات الأمامية في التخطيط المعماري للنظام من واجات برمجة التطبيقات (APIs)، وواجهات المستخدم (User Interfaces) التي تساهم في تجربة فريدة من نوعها للمستخدم والتفاعل مع وظائف البرنامج، ويتم تصميم هذه الواجهات بناء على معايير تجربة المستخدم، والتأقلم على التغييرات المستمرة، وتنفيذ طلبات المستخدمين بكفاءة عالية.
هيكلية النظام System Structure
هذا الجزء يحتوي على التنظيم الكامل لهيكل النظام ومعماريته، بداية من العلاقات بين المكونات وبعضها، وصولا إلى
طريقة تفاعل كل جزء مع الآخر، ولابد من تصميم هيكل النظام بشكل وحدات وقابل للتوسع، للسماح للمزيات والمكونات الجديدة بالتأقلم مع النظام وسهولة تكامليتها مع المكونات الأخرى.
الأمان Security
التخطيط المعماري للنظام بشكل جيد وبالطرق الصحيحة يشمل تواجد الأمان ضمن المكونات الأساسية، حيث يعد من
أهم الأوجه في معمارية النظام، ولابد من تصميمه بشكل يساعد في حماية النظام ضد الهجمات الأمنية والغير أخلاقية، وطرق الوصول الغير مصرح بها.
أنواع التخطيط المعماري للنظام
يوجد عدة أنواع لمعماية النظام، وكل منها يستخدم في مجالات محددة ومشاكل مختلفة، ومن ضمن هذه الأنواع:
التخطيط المعماري المتجانس Monolithic Architecture
في هذا النوع يتم بناء البرنامج ككتلة واحدة، حيث يتم جمع المكونات مع بعضها وترابطها ونشرها بشكل واحد، ويعتبر التخطيط المعماري المتجانس من أسهل الأنواع المستخدمة وخاصة في البرامج الصغيرة، ولكن قد يصبح من الصعب
التعديل عليه في حالة زيادة عدد المستخدمين للبرنامج.
معمارية العميل والخادم Client-Server Architecture
من أفضل أنواع التخطيط المعماري للنظام وتتمحور حول تقسيم النظام إلى جزئين: العملاء والخوادم، فيعتبر العميل
هو المستخدم النهائي للجهاز الذي يطلب الخدمات من الخادم الذي بدوره يقوم بتوفير الموارد وتنفيذ المهام المحددة
بناء على طلبات العميل، ومن مميزات هذا النوع أنه يوفر: توزيع العمليات، وقابلية التوسع.
التخطيط المعماري الخدمي التوجه Service-Oriented Architecture (SOA)
يهتم هذا النوع بتصميم الأنظمة الكبيرة كمجموعة من الخدمات المتباعدة بشكل كبير وقابلة للتشغيل البيني، وفيها
تقوم كل خدمة بتنفيذ الوظيفة العملية الخاصة بها ويمكن تطويرها، ونشرها بشكل مستقل عن باقي الخدمات، ويوفر
هذا النوع بعض المميزات، مثل: إعادة الاستخدام، والمرونة، والتوافقية بين مكونات النظام وبعضها.
التخطيط المعماري للخدمات المصغرة Microservices Architecture
من أعم أنواع التخطيط المعماري للنظام، ويعتبر امتدادا للتخطيط المعماري الخدمي التوجه (SOA)، حيث يتم تقسيم
النظام إلى مكونات صغيرة، أو خدمات مستقلة بذاتها، وكل خدمة لها وظيفة خاصة بها، وطريقة للتواصل مع الخدمات
الأخرى باستخدام بروتوكولات خفيفة، مثل: HTTP, REST، وتم تصميم هذا النوع لتوفير القابلية للتوسعة والأداء
المنفردة، وسهولة النشر، وعزل الأخطاء الموجودة في الخدمات الأخرى.
التخطيط المعماري الحدثي التوجه Event-Driven Architecture (EDA)
من أنماط التصميم المعماري للنظام، ويركز هذا النمط على الأحداث التي تحدث داخل النظام، والعمل على إنتاج
تلك الأحداث، واكتشافها واستهلاكها بشكل مناسب، وتعتبر الأحداث هي الأشياء التي تثير الأفعال داخل النظام، ويروج
هذا النمط للإقتران المتسع وقابلية التوسع، من خلال فك الترابط بين المكونات خلال التواصل المبني على الأحداث.
التخطيط المعماري الطبقي Layered Architecture
يقوم على تنظيم النظام في شكل طبقات، حيث تعرض كل طبقة مستوى مختلف من التجريد أو العمليات الوظيفية،
وتتضمن 3 طبقات أساسية: طبقة العرض (Presentation Layer)، وطبقة منطق الأعمال (Business Logic Layer)،
وطبقة الوصول إلى البيانات (Data Access Layer)، ويروج هذا النوع لقابلية الصيانة، والتصميم القائم على الوحدات، وفصل المخاوف.
مثال على التخطيط المعماري للنظام
دعونا نوضح هذه الأمور عن طريق مثال لبناء متجر بيع بالتجزئة على الإنترنت ()، وفي هذا المثال سوف نوضح كيفية
تصميم معمارية الموقع بداية من الواجهات الأمامية، وانتهاءا بتحليل أداء النظام وطريقة عمله بشكل فعال.
الواجهة الأمامية Front End
واجهة المستخدم الخاصة بالموقع، ويتضمن هذا الجزء تصميم شكل الموقع الخارجي، وطريقة تفاعل المستخدم مع
الموقع للشراء، ويتمحور الاهتمام حول كيفية عرض المنتجات بشكل مناسب للمستخدم، وبناء على معايير تجربة المستخدم، وعرض الفئات الخاصة بكل منتج، والمعلومات الأخرى التي يمكن للمستخدم الاستفادة منها، كما
يشارك مطورو ومصممو الويب في هذا الجزء لتنفيذ العمل بشكل صحيح.
الواجهة الخلفية Back End
الجانب الخدمي للموقع، حيث يحتوي على قاعدة البيانات الخاصة بالمتجر، والمنطق الخاص بالعمليات والوظائف الأساسية، وواجهات برمجة التطبيقات، وهذا الجزء مسؤول عن جميع عمليات تخزين وإخراج البيانات، ومعالجة طلبات العملاء، وتوفير بيانات صحيحة غير مكررة.
قاعدة البيانات Database
الجزء الذي يساهم في إدارة وتخزين البيانات الخاصة بالموقع، وتختلف أنواع البيانات من موقع لآخر، وفي هذا المثال
يمكن تخزين بيانات، مثل: معلومات العميل أو المستخدم، معلومات حول المنتجات المعروضة للبيع، ومعلومات حول الطلبات، ومعلومات حول كل فئة من الفئات.
واجهة برمجة التطبيقات API
تعتبر الجزء الذي يسمح للموقع بالتواصل مع الأنظمة والبرامج الأخرى، مثل أنظمة الدفع الإلكتروني، وأنظمة الشحن،
وأنظمة التخزين والجرد.
الأمان Security
يساهم في التأكد أنه يتم حماية الموقع من هجمات الأمنية المختلفة، وعمليات الوصول الغير مصرح بها، وتتضمن عدة مقاييس لقياس مدى أمان الموقع، مثل: تشفير SSL، وجدران الحماية، ومصادقة المستخدم.
الرصد والتحليل Monitoring and Analytics
من أهم عمليات التخطيط المعماري للنظام، حيث تساهم في قياس أداء الموقع، وتتبع سلوك المستخدمين في الموقع، وتوفير بيانات صحيحة لعمل التحليلات والتقارير المختلفة.
من المهم معرفة أن أنواع التخطيط المعماري للنظام ومكوناته هي شئ عام، ويمكن أن تتغير بناء على الشركة وبناء
على متطلبات العملاء، ولكل نوع المميزات والعيوب الخاصة به، لذلك من المهم دراسة متطلبات العميل والقيود الخاصة
ببناء النظام لتوفير نظام مناسب للاستخدام.