أول مشروع لـ Spyrosoft: GeoPlace
يقع المقر الرئيسي لشركة GeoPlace في لندن، وتقوم الشركة بمعالجة بيانات الموقع الجغرافي وتقديمها. تمثلت مهمتنا الرئيسية في هذا المشروع في تطوير واجهة برمجة تطبيقات (API) ومشاركتها تكون مناسبة لإدارة البيانات المتعلقة بالشوارع والعناوين في المملكة المتحدة.
الوظائف الرئيسية و إضافي goals
تمحورت الوظائف الرئيسية للنظام حول تنزيل ملفات توطين معينة من مصادر متنوعة (بما في ذلك صناديق البريد الإلكتروني وFTP)، وتعديل هذه الملفات لتتوافق مع تنسيقات معينة ثم إرسالها إلى قواعد البيانات حيث يتم التحقق من صحتها. وكخطوة تالية، يمكن إتاحة البيانات لشركاء العميل من الأطراف الثالثة باستخدام نقاط النهاية (endpoints). وهذه هي الطريقة التي تُستخدم بها المعلومات حاليًا من قبل Ordnance Survey في المملكة المتحدة.
بالإضافة إلى هذا الهدف الرئيسي المتمثل في إنشاء واجهة برمجة تطبيقات يمكن الوصول إليها وموثوقة، كان مطلوبًا أيضًا من مختبرينا تدريب فريق المختبرين لدى العميل على منهجية Agile وإرشادهم عبر مجموعة من أفضل الممارسات فيما يتعلق بأنواع المشكلات التي يجب البحث عنها، وكيفية التطور كمتخصصين في ضمان الجودة، وكيفية إنشاء خطة لضمان الجودة.
أعدّ مختبرو Spyrosoft أيضًا إطار عمل للاختبار باستخدام أداة Cucumber Testing Tool المكتوبة بلغة Java، بالإضافة إلى تقارير اختبار تُنشأ تلقائيًا عند بدء مهمة جديدة في Jenkins، وهو خادم أتمتة مفتوح المصدر.
كان أحد أكبر التحديات في هذا المشروع فيما يتعلق بالاختبار هو حجم وتعقيد الإجراءات المخزنة في قواعد البيانات واستعلامات SQL المعقدة لاختبار البيانات. وبالنظر إلى هذه القيود، قرر مختبرونا استخدام أداة إضافية لإنشاء اختبارات وحدة لقاعدة البيانات للتحقق من صحة البيانات بشكل أكثر فعالية. وتكمن تفرد هذا الحل في حقيقة أن البيانات كانت تُستقبل من عدة مصادر في وقت واحد وكان لا بد من معالجتها بشكل غير متزامن.
اطّلع على خدماتنا الجغرافية المكانية!
اقرأ المزيدكيف تم إنشاء مشروع Aurora؟
احتاج فريق العمل في GeoPlace إلى طريقة أكثر فعالية لإدارة بيانات الموقع الجغرافي الخاصة به، فقرر الاستعانة بفريق تطوير خارجي قادر على إنشاء واجهة برمجة تطبيقات موثوقة للموردين الخارجيين، بما يتيح لهم قاعدة بيانات محدثة باستمرار للشوارع والعناوين. وكخطوة أولى، أعدّ مطورونا خطة للحل الكامل والنسخة الأولية القابلة للاستخدام (MVP)، ثم أضافوا إليها وظائف جديدة.
كان فريق GeoPlace مسؤولاً بالكامل عن التحقق من البيانات المضافة إلى قاعدة البيانات. كانوا أيضاً يعملون مع متخصصين ذوي خبرة في قواعد البيانات ويديرون منطق الأعمال للمنتج، الذي كان مرتبطاً مباشرة بقواعد البيانات. كان من المهم بشكل خاص لهذا المشروع توحيد مصادر بيانات متنوعة تم تسليمها أيضاً باستخدام تنسيقات مختلفة، بما في ذلك XML وCSV. قبل أن نبدأ في إعداد النظام، كان لا بد من إدارة هذه الملفات يدوياً من قبل فريق GeoPlace.
الحل
كان أحد أول التحسينات التي نفذها فريقنا هو إدخال منهجية العمل الرشيقة Agile وScrum إلى بقية فرق المشروع. ونتيجة لذلك، كان الفريق يلتقي خلال اجتماعات قصيرة يومية (اجتماعات Scrum اليومية) ومراجعات (استعراضات استرجاعية) بعد كل دورة تطويرية (sprint، وهي فترة مدتها أسبوعان يعمل خلالها جميع أعضاء الفريق على نسخة تكرارية جديدة من المنتج). ولتحقيق ذلك، تعاونّا بشكل وثيق جداً مع فريق GeoPlace حيث أظهرنا لهم كيفية عمل هذه المنهجية على أرض الواقع، وأجرينا تدريباً على Agile طوال الأشهر الأربعة الأولى من عملنا من مقرهم الرئيسي في لندن. كما كنا أول الإضافات الخارجية إلى فريق المشروع، ما يعني أن مطورينا كانوا جميعاً متوافقين مع ترتيب العمليات الجديدة وتعديل سير العمل بحيث يتلاءم مع هذا الإعداد الجديد.
شارك فريقنا أيضاً في تطوير المنتج، والتخطيط لميزات إضافية والتقنيات التي ستُستخدم في العملية. وقد تولى فريقنا التنفيذ، باستثناء قواعد البيانات. وكان هناك مهندسان معماريان للأنظمة مسؤولان عن المشروع – أحدهما من فريق GeoPlace والآخر من Spyrosoft.
كان لدى العميل بيئة النشر والبنية التحتية الخاصة به. عرض مهندسونا تقديم ClayOne Kafka لمراقبة الأداء ومعالجة الملفات الكبيرة. كما قمنا بتنفيذ إطار عمل Apache Camel – بهدف وحيد هو دمج النظام مع مصادر بيانات مختلفة. من جانبنا، كانت هناك أيضًا حلول مكتوبة بلغة Java تستقبل البيانات قبل تمريرها إلى قاعدة البيانات.
كان أحد متخصصي ضمان الجودة لدينا أيضًا يعقد جلسات تدريبية لمختبرين آخرين في المشروع تحدث فيها عن العمل وفق منهجية Agile، وكيف يمكن للمختبرين العمل باستخدام هذه المنهجية، وما الذي يجب الانتباه إليه، وكيفية إنشاء خطة اختبار، وما السمات التي ينبغي أن يتحلى بها المختبر المتميز. كما أعد إطار عمل للاختبار باستخدام أداة Cucumber Testing Tool، مكتوبًا بلغة Java، وتقرير اختبار يُنشأ تلقائيًا عند بدء مهمة جديدة في Jenkins، وهو خادم أتمتة مفتوح المصدر.
كان أحد أكبر التحديات في هذا المشروع هو حجم الإجراءات المخزنة في قاعدة البيانات واستعلامات SQL المتقدمة التي كانت تختبر هذه البيانات. وهنا أدخل مطورونا أداة لإنشاء اختبارات وحدة لقاعدة البيانات وللتحقق من البيانات بشكل أكثر فعالية.
تكمن تفرد الحل في مدى جودته في التعامل مع الملفات من مصادر مختلفة وقدرته على العمل بشكل غير متزامن. أما بالنسبة للاختبارات، فاختبار ملفات بحجم 2 جيجابايت بصيغة خاصة بمشاريع تحديد المواقع الجغرافية.
تعاون فريقنا بشكل وثيق وبنى الثقة وعلاقة عمل جيدة على الفور، لذا شعروا حقًا بأنهم جزء من GeoPlace.
الخطوات التالية
بفضل النظام المُطبَّق، تمكن فريق العمل في GeoPlace من الحد من عدد الساعات التي كانوا يقضونها في تنزيل البيانات يدوياً والتحقق منها وتحميلها إلى قاعدة البيانات. ولم يساعدهم ذلك على توفير الوقت والمال فحسب، بل منحهم أيضاً المساحة الكافية للتركيز على المهام الأساسية الأخرى. وأصبح بإمكانهم الآن تقديم المزيد من الخدمات المتعلقة بالبيانات لعملائهم النهائيين.
بدأنا التعاون في عام 2016 وكان Aurora أول مشروع على الإطلاق لـ Spyrosoft. وقد تم إطلاقه في يناير 2021.
كان الهدف الرئيسي هو تطوير واجهة برمجة تطبيقات موثوقة لإدارة بيانات الشوارع والعناوين في المملكة المتحدة. ويتيح الحل لـ GeoPlace تنزيل بيانات الموقع الجغرافي وتنسيقها والتحقق من صحتها ومشاركتها تلقائيًا مع شركاء خارجيين مثل Ordnance Survey.
قام فريقنا بتطبيق Apache Camel لتكامل الأنظمة وClayOne Kafka لمراقبة الأداء ومعالجة الملفات الكبيرة. وأُجريت الاختبارات باستخدام Cucumber (Java)، مع توليد تقارير آلية عبر Jenkins. وقد صُمم الحل لمعالجة البيانات بشكل غير متزامن من مصادر متعددة.
تضمنت التحديات الرئيسية للمشروع التعامل مع إجراءات قواعد البيانات الواسعة النطاق، واختبار استعلامات SQL المعقدة، وإدارة ملفات تحديد الموقع الجغرافي الكبيرة (2GB) من مصادر مختلفة. عالج فريقنا ذلك من خلال إنشاء اختبارات وحدة مخصصة لقواعد البيانات لضمان الدقة والأداء.
قلّل الـ API الجديد العمل اليدوي بشكل كبير وحسّن الكفاءة في معالجة البيانات والتحقق منها. ويمكن لـ GeoPlace الآن تقديم بيانات تحديد المواقع الجغرافية عالية الجودة ومحدّثة بسرعة أكبر، مما يوفّر الوقت والموارد مع توسيع نطاق عروض خدماتها للعملاء والشركاء.
arrow_circle_rightاتصل بنا
هل أنت مهتم بالتعاون معي؟ تواصل معي.
arrow_circle_right مقالاتنا