السلام عليكم.
المنصات مثل زد وسلة وشوبيفاي هي منصات تم تصميمها على انها انظمة saas او البرمجيات كخدمة. معضم هذه المنصات استنبطت طريقة عملها وتصميمها من نظامي الووردبرس وماجينتو المفتوحي المصدر.
خصوصا منصة شوبيفافي تشعر وكانها نظتم ووردبريس تم تطويره اكثر واكثر.
ما هي لغات البرمجة التي يمكن الاعتماد عليها لتصميم مثل هذا الانظمة؟
يمكن الاعتماد على اي لغة اساسية. لكن في نظري وحسب خبؤتي اللغات المستخدمة للواجهة والمهام والادوات هي لغة البرمجة والاستعلام مثل php. Css. Javascript. Htm .sql.
أما لإنتاج التقارير فيتم استخدام node.js حاليا لأنها الاقوى.
أما بخصوص ادا الذكاءات الاصكناعية والربوتات والويب سكرابيرز فيتم استخدام بايثوم في الخلفية.
في البؤمجة لأنظمة ساس غالبا يتم استعظلا لغاة برمجة مباشرو وأولية مثل php او حتى جافا ولا يتم استعندمال المكتبات لأنه ممكن ان تشكل عاىق في التطوير والسرعة. بل في مثل هذه المشاريع تقوم الشركات بإنشاء مكتبات خاصة بها من الصفر. مثلا رغم ان node.js مكتبة قوية فهي قد صممتها ميتا لأنستقرام في البداية لحل مشاكلها والقيام ببعض المهام ومن ثم أصبحت هذه المكتبة متاخة للعموم. لكن الشركة التي صممتها صممتها فس الاساس لحل مشاكلها وإنزال رأيتها وليس لخل مشاكل العالم بأكمله.
أساسيات تصميم انظمة ساس saas.
انظمة ساس مثل زد او سلة في عدة جوانب اساسية لتكامل المنصة. هذه المنصات عبارة عن عدة برامج تعمل بكفاءة مع بعضها البعض.
تحتوي معضم هذه المنصات على الجوانب التالية ::
1.نظام انشاء الحاسبات وقاعدة بيانات الحسبات
2.باني الصفحات ومخصص القوالب
3.مسجل الدومينات ويكون مربوط بمزود خارجي عن طريق api.
4.نظام الدفع
5.نظام المنتجات والخدمات
6.نظام الكوبونات
7.نظام التحليلات والتتبع والتقارير
8.نظام الادونات والخطط
9.نظام اعدادات للنظام نفسه.
10.محرر نصوص مدمج
كل الاجزاء المذكورة اعلاه هي جزء من أي منصة للتجارة الالكتروني وكل حزء له قاعظة بيانةت منفصة وجميع ق اعد البيانات مرتبطة فيما بينها وكل قاعدة بيانات لها عدة حدوال مترابطة ايضا.
كيفية تنظيم الملفات في السيرفر
جيمع الانظمة ومنصات ساس الحالية هي انظمة ذكية وديناميكية، يعني ان كل شيئ موجود في قواعد البيانات.
الفكرة الاساسية التي وراء كل هذا التعقيد المذكور أعلاه هو ان كل جزء يتم تصميمه على حدة وقد يكون في سابدومين مختلف.
يحتوي نظام الملفات على كل من ::
1.index
هذه هي الصفحة التي سيظهم عليها المحتوى كيفما كان نوعه.
2.sys
هذا الجزء سيخلف اسمه من نظتم لأخر. هنا ستجد معضم الملفات الخاصة والواجهة والتصميم ودالخاصة بالنظام نفسه
3.ress
هنا ستجد جميع ما يلي.
-الصور واللوغ الخاصة بالنظام
-ملفات سي اس اس وجافا سكريبت وغيرها
-الخطوط
-الالوان
4.stores
هنا ستجد جميع الملفات الخاصة بإعدادات وتصمايم المتاجر.
وطبعا سنجد نلفات في المجلد الرئيسي خاصة بالهيدر والفوتر وغيرها.
ما مدى صعوبة بدأ مشروع كهذا ؟
مثل هذه المشاريع تحتاج فريق عمل متكامل قد يصل الى 30 شخص أو اكثر.
قد يحتوي هذا النظام على ازيد من مليون سطر من الكود. ومن بين امبر المشاكل التي ستعترض هذا النوقع من المشاريع هي مشامل الأمان والتنسيق بين الفرق.
اذا افترضنا أن هناك 30 شخص يعنل على تصميم هذا المشروع .. فيجب تقسيمه الى 5 فرق، وكل فريق يعنل على شق معين في المشروع ، وكل شخص يعمل على جزء صغير من المشروع.
حسب خبرتي في الميدان من المستحييل شخص واحد يمكنه أن يبدأ نظام كهاءا من نفسه ويكون شبيه لسلو او زد مثلا.
معضم هذه المشاريع اما بدأ بجزء واحد ثم توسعت مثل فيسبوك وهوبسبوت او اعتمدت على فريق عمل كبير جدا.
من بين العوائق التي تواجه هءه المشاريع هو التخطيط. قد تستغرق مرحلة التخطيط اكثر من سنة.
هل هناك حل أسهل يعتمد على ووردبريس او ماجينتو ؟
كما قلت سابقا، معضم هذه المنصات ان جربتها ستشعر وكأنها مستوحاة من الووردبريس.
لإنشاء نظام مشابه يمكن الاعتماد على الووردبريس 90٪
وجميع الاجزاء الاي ذكرناها يمكن إنشاء إضافات لها ، واي مشكل يمكنك حله بهذه الاضافات. طبعا ستخواج الى تعديل كود النظام الاساسي للوردبريس. وبعد اكلاق المشروع سيكون نظام اساسي اخر انتجته مستوحى ايضا من الوودبريس.