الجزء الأول ، والذي سيتعرف فيه القارئ على تاريخ موجز لظهور منتجات 2GIS الداخلية وتطور نظام تسليم البيانات من عدة برامج نصية إلى تطبيق كامل.اليوم سأحكي لك قصة بدأت منذ 9 سنوات في DublGIS.
أنا فقط حصلت على وظيفة هناك. اضطررت للتعامل مع الوحدة النمطية لتصدير البيانات من نظام داخلي كبير لمنتجاتنا الخارجية. وفي هذه المقالة ، أود أن أشاطركم كيف قمنا بتقسيم هذا المونليث إلى عدة أجزاء ، وكيف أنتج وحش واحد عشرات المنتجات ، وكيف تم دمج كل هذه المنتجات والمشاريع على مستوى البيانات فيما بينها.
يجب أن أقول أن هذا مجرد مقال مراجعة دون أي تفاصيل فنية. ستكون التقنية في الجزء الثاني ، حيث سنتحدث عن تصدير البيانات. في غضون ذلك ، القراءة الخفيفة فقط دون ماتان مع إشارة سطحية للتكنولوجيا.
دعنا نذهب. الأقصى 2010 ثم كان 2GIS لا يزال أنبوب DoubleGIS ، من المنتجات الخارجية كان هناك نسخة سطح المكتب والبدائية على الانترنت ونسخة لأجهزة المساعد الرقمي الشخصي. وتألفت الدواخل من نظام تسليم التحديث لمستخدمي إصدار الكمبيوتر لدينا وحش يسمى DGPP ، والذي يجمع بين أدوات لتحرير دليل المنظمات والخرائط ، CRM وتصدير البيانات إلى المنتجات النهائية. كانت قاعدة البيانات في فايربيرد. كان النظام لا مركزي. كل مدينة لها تركيبها وقاعدة بياناتها الخاصة. تم توفير التكامل البدائي من خلال ملف الصادرات / الواردات. وعلى هذا ، إلى حد كبير ، هذا كل شيء.

كان DGPP نفسه تطبيق C ++ مع مجموعة من البرامج النصية VBA. في البداية ، قام مكتب تابع لجهة خارجية بتطوير هذا النظام لصالح DublGIS ، وفقط مع مرور الوقت ، أخذت الشركة تطوير النظام تحت سقفها ، لتشكيل البحث والتطوير الخاص بها. أصبح تطوير DGPP أصعب وأصعب.
وكان هذا هو وقت التطور السريع لـ DublGIS. تم فتح مدن جديدة. تم إعداد النسخة المحمولة للهواتف الذكية. ظهرت ميزات جديدة. نموذج الإعلان كان النامية. بشكل عام ، كانت هناك حاجة إلى عدد كبير من التغييرات ، ويجب القيام بها بسرعة.
أول شيء بدأنا في تفكيك DGPP إلى قطع كان التصدير. لقد قمنا بسحبه إلى تطبيق منفصل ، وهو خدمة Windows مع كمامة على WPF. في موازاة ذلك ، كان العمل جاريا في CRM جديد. لتوفير الوقت في ذلك الوقت ، تم اختيار Microsoft Dynamics CRM ليكون النظام الأساسي الأساسي.

بالنسبة للتصدير ، كان عليك فقط معرفة كيفية استخراج البيانات من Firebird وسحب كل المنطق لإعداد البيانات من البرامج النصية VBA. بالإضافة إلى ذلك ، كانت هناك بعض الخوارزميات لبيانات النقل المنفذة على الإيجابيات. كان لا بد من إعادة كتابتها إلى الأدوات الحادة.
هنا يجدر الانتباه إلى نقطة واحدة. يستهلك DoubleGIS لسطح المكتب البيانات بتنسيق ثنائي خاص ، تم إعداده بواسطة مكتبة C ++ ملفوفة في كائن COM. ثم كان من المنطقي تمامًا استخدامه ، ما عليك سوى الاتصال كمرجع للمشروع. ليس الحل الأفضل ، لكنني سأتحدث عن هذا لاحقًا.
مع مرور الوقت ، أطلقنا نسخة للجوال و CRM جديد. تومض منتج خارجي جديد في الأفق - واجهة برمجة تطبيقات 2GIS العامة. ومن DGPP بدأوا بالفعل في عزل النظام الفرعي للعمل مع دليل المنظمات التي تحمل الاسم الرمزي InfoRussia.
في التصدير ، أصبح من الضروري قراءة بيانات الإعلان من نظامين: DGPP القديم و CRM الجديد. علاوة على ذلك ، تم تنفيذ CRM بشكل تدريجي ، أي أنه في بعض المدن ، لم يتبق سوى DGPP ، في حين عملت DGPP في مدن أخرى بشكل متزامن مع دليل وخريطة و CRM مع معلومات تجارية. بالإضافة إلى ذلك ، على المدى الطويل ، كان إصدار InfoRussia ، الذي حدث على مدار عدة أشهر ، ساطعًا.

أدخلت أنظمة جديدة التعقيد ليس فقط من خلال مظهرها. لقد غيروا مفهوم النشر. على عكس DGPP اللامركزية التي كانت موجودة في كل مدينة ، كانت هذه الأنظمة مركزية ، ولكل منها نظام إدارة قواعد البيانات الخاص به. بالإضافة إلى ذلك ، كانوا بحاجة لتبادل البيانات.
لحل هذه المشكلة ، قمنا بتطبيق ناقل خدمة Enterprise (ESB) الخاص بنا. في ذلك الوقت ، لم تكن هناك حلول ناضجة من الناحية العملية من شأنها ضمان الوفاء ببعض المتطلبات الوظيفية الهامة بالنسبة لنا: القدرة على إرسال XML وترتيب الرسائل وضمان التسليم. ثم استقرنا على SQL Server Broker ، والذي أعطى كل ما هو مطلوب من الصندوق. صحيح ، كان لديه سرعة تسليم متوسطة إلى حد ما ، ولكن في ذلك الوقت كانت سعيدة للغاية معنا.
كانت الخطوة الأخيرة هي إطلاق خدمة خرائط تسمى فيجي. لقد حمّل بياناته جزئيًا إلى الحافلة. هذا المعنية الدلائل والمصنفات. يمكن أخذ البيانات الجغرافية منه من خلال واجهة برمجة تطبيقات Rest ، والتي استخدمها أيضًا
عميل فيجي نفسه
، المكتوب في WPF .

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

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