مرسال6: أفرعك البعيد في راحة يدك
القاهرة : 2005-12-29
المحرر : سيد حربي
الضيف : أمير حسين [مدير التطوير بالشركة و مدير فرع القاهرة.]
المحرر: المهندس أمير حسين مدير التطوير بشركة أجيال. مرحباً بك في لقاء جديد مع قراء موقعنا..
أمير: أهلا وسهلا بك و بجميع قرائنا المحترمين..

أمير حسين
المحرر: نلتقي بك اليوم للحديث عن إطلاق مرسال6 ، و الذي يعتبر حدثاً هاما لمستخدمي أسواق6 المنتشرون بالمنطقة العربية ، و لهذا نود إلقاء الضوء على أهم مميزاته و ما يحمله من جديد..
أمير: انا على أتم الاستعداد..
المحرر: نبدأ إذاً بتعريف بسيط بمرسال6 و وظيفته؟
أمير: مرسال6 هو أداة متطورة خاصة بأسواق6 تتركز وظيفتها في تحديث و تبادل المعلومات بين قواعد بيانات أفرع الشركة الواحدة.
المحرر: و هل يختلف مرسال6 في ذلك عن أدوات التحديث التي توفرها قواعد البيانات مثل SQL REPLICATION TOOLS و غيرها؟
أمير: بالطبع .. بل و يتميز عنها أيضاً ، فعندما تقوم شركة تطور خادم قاعدة بيانات مثل مايكروسوفت أو أوراكل بتطوير أداة تحديث بيانات Replication Tool فإنها يجب أن تأخذ في الاعتبار كافة الخصائص و المميزات التي يدعما خادم قاعدة البيانات ذاته ، و بالتالي تكون هذه الشركات مضطرة إلى تطوير أدوات تحديث تتسم بالعمومية أو الشمولية Generic Solutions ، و هذه الحلول بطبيعتها ليست مصممة و مطورة خصيصاً لقاعدة بيانات معينة أو تطبيق بعينه ، و إنما مصممة لتعمل على جميع انواع قواعد البيانات.
على الجانب الآخر ، فعندما تقوم أجيال بتطوير أداة تحديث بيانات ، فإنها تطورها خصيصاً لأسواق6 ، و بالتالي تكون تلك الأداة محدودة فقط بالوظائف و الخصائص الموجودة بأسواق6 ، و التي نرغب في دعمها بالنظام ، بل إننا قد نجري ما نراه ضرورياً من تعديلات على أسواق6 نفسه ، ليعمل بأقصى درجات التناغم و التوافق و الكفاءة مع تلك الأداة ، و بالتالي تكون حلول التحديث التي نوفرها – مرسال6 – أكثر كفاءة و فعالية و أكثر ملائمة لأسواق6 ، و لا تحتوي على أي وظائف إضافية لا نحتاجها ولا نستخدمها أبداً.
و لأن مرسال6 قد تم تطويره خصيصاً من أجل أسواق6 ، فهو يعمل بالأساس لخدمة قواعد بيانات أسواق6 فقط ، و بالتالي فإن كفائته في دعم هذه القواعد أعلى كثيرا من كفاءة حلول نقل البيانات العامة الأخرى مثل Microsoft Replication Tool و غيرها ، و لقد أظهرت اختباراتنا أن مرسال6 يستطيع نقل و معالجة بيانات أسواق6 بسرعة تصل إلى حوالي أربعة أضعاف سرعة الحلول القياسية الأخرى.
و لا يفوتني هنا أن أنبه إلى أن جميع وظائف إدارة و صيانة مرسال6 ، قد تم دمجها بداخل أسواق6 نفسه ، و بالتالي فإنه يمكن بواسطة أسواق6 مطالعة أنشطة مرسال6 المختلفة و التحكم بها.
المحرر: ما الفارق بين مرسال6 و أدوات الاتصال الأخرى مثل أدوات الاستخدام عن بعد مثل CITRIX أو TERMINAL SERVICES و غيرها ، و أيها أنسب للشركات؟
أمير: الواقع أنه توجد فروق عديدة بين مرسال6 و تلك الأدوات ، إلا أن مدى أفضلية مرسال6 أو أي من تلك الأدوات يتوقف بالمقام الأول على طبيعة و ظروف و بنية المنشأة التجارية و طريقة اتصالها بأفرعها..الخ. و لتوضيح ذلك سأذكر لك بعض النقاط التي يختلف فيها مرسال عن تلك البرامج.
من هو أمير حسين؟
اشترك في تأسيس قسم تطوير البرمجيات بأجيال عام 1990 ثم عمل مديراً لفرع الكويت منذ 1996 و حتى عام 2000 قبل أن يترقى لمنصبه الحالي كمدير للتطوير ، كما يشغل أيضاً منصب مدير فرع القاهرة.
إضافة لذلك فهو أحد أعضاء مجلس ادارة شركة أجيال لنظم المعلومات منذ 1998.
فمثلاً عند تطبيق أسواق6 ببيئة تعتمد أدوات الاستخدام عن بعد يكون لدى الشركة قاعدة بيانات واحدة – عادة بالمركز الرئيسي – بينما يكفي كل مستخدم الاتصال بتلك القاعدة عن طريق أحد برامج الاتصال عن بعد Terminal Services Client ، ليقوم بعمله بصورة عادية و كأنه يعمل على نفس الجهاز الذي يحتوي قاعدة البيانات. هذا الفارق يعني أن أدوات الاستخدام عن بعد تتطلب اتصال شبكي مباشر و دائم و أن أي تعطل بهذا الاتصال سيؤدي إلى تعطل جميع المستخدمين و فصلهم عن أسواق6 ، أما مرسال6 فلا يحتاج تحقيق الاتصال إلا عند إرسال بيانات أو أوامر التحديث فقط ، و ذلك لأن كل فرع له قاعدة بياناته الخاصة و لن يتعطل بفقدان الاتصال بالمركز الرئيسي.
الجدير بالذكر أيضاً أن برامج الاستخدام عن بعد لا توفر نفس قدر المرونة و الفعالية و السرعة التي يوفرها الاستخدام المباشر ، بمعنى أن مستخدموا أسواق6 سيشعرون بفعالية أقل بالتعامل مع نوافذ أسواق6 إذا ما كانوا يستخدمونه عن طريق أحد تلك البرامج ، و ذلك نظراً لما تحتاجه تلك البرامج من قدرة استيعاب كبيرة لشبكات الاتصال Large Bandwidth ، بالقياس لمرسال6.
على الجانب الآخر تمتاز أدوات الاتصال عن بعد بسهولة تطبيقها و تهيئة بيئة تشغيلها و صيانتها ، كما تؤدي – عند تطبيق أسواق6 بواسطتها – إلى عدم الحاجة إلى إجراء تحديثات بين الأفرع ، لأن هذه الأفرع تكون كلها مشتركة في قاعدة بيانات واحدة ، و ليس قواعد بيانات منفصلة كما هو الحال عند استخدام مرسال6..
المحرر: هذا بالفعل لا يحسم الخيار بين مرسال6 و تلك النوعية من الأدوات..
أمير: فعلاً .. و هذا كما أسلفت يعتمد بالمقام الأول على طبيعة سير العمل و طريقة ربط أفرع المؤسسة ، فمثلاً من غير المناسب تطبيق الاستخدام عن بعد بواسطة الهاتف لأنه لا يوفر سرعة مناسبة ، بينما يمكن تطبيق مرسال6 باستخدام اتصال هاتفي ليعطي نتائج رائعة ، لهذا فإن خبراء الدعم الفني لأسواق6 و مرسال6 يقومون دائماً بدراسة الظروف و البنية الشبكية لأفرع المؤسسة ، قبل أن يقترحوا الوسيلة الأنسب لهذه المؤسسة.
المحرر: م/ أمير .. نحن نعلم أن مرسال5 كان يقوم سابقا بنقل فروق البيانات بين قواعد بيانات الأفرع المختلفة. فما هو الأسلوب الذي يتبعه مرسال6 حالياً ، و ما هي أهم مقوماته؟
أمير: إن أسواق6 يعتمد خادم قواعد بيانات SQL SERVER كما تعلم ، و هو ما يمكننا بواسطته إنشاء و تصفح و صيانة قواعد البيانات عن طريق مجموعة من الأوامر و الخطوات الخاصة. هذه الخطوات و الأوامر يمكن بواسطتها مطالعة أو تعديل البيانات الموجودة بقاعدة البيانات ، فمثلاً يقوم أسواق6 بتنفيذ أمر تحديث UPDATE STATEMENT عندما يقوم المستخدم بتعديل سجل موجود بالفعل ، و يقوم أسواق6 بتنفيذ أمر آخر هو أمر إدراج INSERT STATEMENT و ذلك عندما يقوم المستخدم بإدخال سجل جديد بأحد ملفات قاعدة البيانات ، و هكذا.
أسواق6 يقوم بتخزين كل أمر من أوامر تعديل قواعد البيانات مما يصاحب أنشطة المستخدمين بالفرع ، و هذا يعني أن أسواق6 يحتفظ بسجل تفصيلي للأوامر التي أدت إلى تعديل قاعدة البيانات مرتبة ترتيباً زمنيا و منطقيا. مرسال6 يعتمد على هذا السجل حيث يقوم بأرسال تلك الخطوات و الأوامر إلى بقية الأفرع ، ثم يتم بعد ذلك إعادة تنفيذ تلك الخطوات بهذه الأفرع لنحصل بعد ذلك على نفس التأثير المصاحب لتلك الخطوات بكل فرع.
المحرر: و هل يؤثر هذا الأسلوب على سرعة نقل المعلومات بين الأفرع؟
أمير: عند تنفيذ إجراءات مرسال6 على فترات متقاربة – مرتين في الساعة مثلاً – فإن كفاءة مرسال6 ستكون أفضل كثيراً من مرسال5 ، و لكن إذا لم تتم تلك الإجراءات لفترات طويلة – بالأيام مثلاً – فقد يستغرق مرسال6 وقتاً أطول من الوقت الذي ينتظر أن يستغرقه مرسال5 بعمليات التحديث ، يرجع ذلك إلى أن عمليات التحديث بمرسال5 و سابقيه هي عمليات تحديث فروقية ، حيث يتم الاحتفاظ بالحالة النهائية للسجلات التي تم تعديلها بقاعدة البيانات ، أما عمليات التحديث بمرسال6 ، فهي عمليات تراكمية بطبعها ، حيث يتم الاحتفاظ بتفاصيل الخطوات التي أدت إلى تعديل قاعدة البيانات ، و بالتالي يكون حجم المعلومات المنتقلة أكبر نسبياً في مرسال6 عنه في مرسال5 ، إلا أن مرسال6 بسرعته الفائقة في نقل البيانات و عند ضبطه ليعمل على فترات متقاربة – دقائق مثلاً – فإنه سيوفر درجة توافق تقترب من ال 100% بين قواعد بيانات أفرع الشركة الواحدة. لاحظ أن مرسال6 يعمل بالكامل في الخلفية ولا يستلزم في أي من إجراءاته خروج المستخدمين من قاعدة البيانات ، و بالتالي فإنه يمكن تركه ليعمل على فترات متقاربه ، دونما ادني تعطيل أو تأثير على سير و تدفق العمل و دون الحاجة إلى تدخل العنصر البشري على الإطلاق.
المحرر: هل الأسلوب الجديد الذي يتبعه مرسال6 في نقل المعلومات بين الأفرع لا يفرق بين قواعد بيانات الأفرع و المركز الرئيسي ، و بالتالي يلغي مبدأ وجود قاعدة بيانات رئيسية بالفرع الرئيسي و قواعد بيانات تابعة بالأفرع الأخرى؟
أمير: مطلقاً ؛ بل يمكنك القول بأن مرسال يعتمد بالأساس على هذا المبدأ ، و ذلك لأن معلومات التحديث تنتقل بالأساس عن طريق اتصال قواعد البيانات التابعة SECONDARY DATABASES بقاعدة البيانات الرئيسية PRIMARY DATABASE الموجودة عادة بالمركز الرئيسي للمنشأة ، ثم يتم عند ذلك تبادل معلومات التحديث.
المحرر: و ماذا عن المعلومات أو الإجراءات التي لم يكن مسموحاً بها بمرسال5 ، مثل نقل الصور أو التقارير الجديدة أو المعدلة أو القدرة على التعديل أو الحذف من الملفات الرئيسية أو عدم السماح بتعديل المستندات التي تم إرسالها بالفعل إلى قاعدة البيانات الرئيسية PRIMARY DATABASE؟
أمير: الواقع أن مرسال6 شهد تطويراً كبيراً بهذه النقاط بالذات ؛ فلم تعد هناك أي قيود على العمليات التي ذكرتها ، بل و أصبح بالإمكان أيضاً أن يقوم مستخدمو الأفرع بترحيل السندات بصورة طبيعية ، بالإضافة إلى أن مرسال6 يقوم أيضاً بنقل التعديلات الخاصة بالتقارير و الصور و هو ما لم يكن متاحاً من قبل في الإصدارات السابقة. باختصار لم تعد هناك أي قيود على عمل مستخدمي الأفرع الآن باستثناء بعض الأجراءات المنطقية مثل إجراءات أنها السنة المالية أو قبول المعلومات الافتتاحية أو إضافة مخزن أو فرع أو إنشاء قاعدة بيانات سنة جديدة أو إلغاء الترحيل و إضافة و تعديل العملات و دفاتر المستندات ، و هي إجراءات لا تتكرر بشكل متقارب و من المنطقي أن تقتصر إمكانية تنفيذها على قاعدة البيانات الرئيسية.
الجدير بالذكر أيضاً أن مرسال6 لا يتوقف و لا يتراجع عند حدوث خطأ باستقبال أو تنفيذ أوامر التحديث ، كما كان الحال في مرسال5 ، و إنما يستمر بتنفيذ باقي الأوامر السليمة ، مع التنبيه بوجوب إصلاح الخطأ في أي وقت لاحق ، و هذه الميزة هامة جداً لما توفره من فعالية و مرونة بعمليات التحديث.
المحرر: هذا ينقلنا إلى السؤال العكسي ، و هو ما الذي نفقده من قدرات مرسال5 عن ترقيتنا لمرسال6؟
أمير: لا نفقد أي إمكانات تذكر على الإطلاق باستثناء اختفاء أسلوب التحديث أو نقل البيانات بواسطة الأقراص المرنة. هذه الخاصية لم يتم تطويرها بعد بمرسال6 ، و نطمح إلى إضافتها مستقبلاً ، إلا أن القدرة الفائقة لمرسال6 على التواصل و التحديث بسرعة كبيرة ، سوف تغني المستخدمين إلى حد بعيد عن الحاجة إلى تلك الخاصية.
المحرر: ما هي التجهيزات الواجب توفرها لتحقيق الاتصال بين قواعد بيانات الأفرع و قاعدة البيانات الرئيسية؟
أمير: مرسال6 يتميز بالمرونة الشديدة في طريقة الاتصال بالأفرع ، حيث يعتمد بالأساس على إمكانات الاتصال التي تتيحها خوادم قواعد البيانات الشهيرة مثل SQL SERVER ، و التي تعتمد بالأساس على توفر اسم اتصال شبكي MACHINE NAME أو عنوان اتصال IP ADDRESS ؛ و بالتالي فإن أي وسيلة اتصال شبكية سوف تفي بالغرض و تحقق اتصال مناسب لعمل مرسال ، مثال الاتصال الهاتفي DIALUP CONNECTION أو الشبكات المحلية LAN أو الشبكات المتباعدة WAN أو VPN.
هذا يعني أن المستخدم يمكنه تطبيق استخدام مرسال في أي بيئة اتصال شبكي أو هاتفي دون الاضطرار إلى توفير بنية تحتية باهظة التكاليف أو تتطلب الكثير من الوقت.
المحرر: ماهي المميزات الجديدة التي يوفرها مرسال6 للمستخدمين من حيث التحكم و الفعالية و سهولة الاستخدام؟
أمير: مرسال6 مصمم بالأساس ليعمل منفرداً و بصورة آلية دون أدني تدخل من العناصر البشرية – إلا في أضيق الحدود أو إذا رغب المستخدم نفسه في ذلك – فلقد تم تطوير مرسال6 ليعمل دائماً في الخلفية ، و دون إزعاج المستخدم بتفاصيل ما يجريه من عمليات روتينية بطبعها.
كما أن مرسال6 يقوم تلقائياً بتحقيق الاتصال بقاعدة البيانات الرئيسية على فترات ثابتة FIXED PERIODS يمكن للمستخدم تحديدها بنفسه حسب نوع و كفاءة وسيلة الاتصال التي يستخدما لربط أفرعه ؛ فمثلاً إذا كان الفرع يستخدم الاتصال الهاتفي DIALUP CONNECTION و هو اتصال محدود السرعة كما نعلم فيمكننا تحديد فترة الاتصال أو التحديث لمرسال6 لمرة أو مرتين في الساعة خلال الدوام ، أما إذا كان الاتصال عن طريق شبكة محلية LAN أو اتصال عن خط رقمي مباشر DSL ، فيمكننا تحديد فترات اتصال أو تحديث متقاربة جداً – بالدقائق مثلاً ، و بالتالي يصل المستخدمون إلى ما يطلق عليه التوافق الآني شبه التام Near Online Status.
و تحضرني هنا مقارنة بسيطة سوف تساعد مستخدمي مرسال5 في التعرف على مدى ما يتضمنه مرسال6 من تسهيلات و مرونة بالعمل و الفارق الضخم بينه و بين مرسال5 من حيث مبدأ العمل ؛ فمرسال5 كان بالأساس قد صمم ليعمل يدويا ، حيث يتم تحديد بعض الخيارات الأساسية مثل مواصفات الاتصال و مجلدات استقبال و ارسال الملفات..الخ ، ثم يتم بعد ذلك إنشاء ملفات التحديث و إرسالها لمجلدات الإرسال أو طبعها على أقراص مرنة لإرسالها بعد ذلك للقاعدة الرئيسية ، توطئة لاستقبالها و تضمينها بالقاعدة الرئيسية ، يجب ألا ننسى بالطبع أن مرسال5 كان يمكننا تشغيله تلقائياً أيضاً..
المحرر: الحقيقة أنني كنت سأطرح هذه المداخلة حالاً ، لأنني قد تعاملت شخصياً مع مرسال5 و رأيت كيف يمكن ضبطه ليعمل تلقائياً ، و لهذا أردت استوضاح الفارق بين العمل التلقائي لكل من الإصدارتين.
أمير: هذا الفارق جدير بالملاحظة بالفعل ، و ذلك لأن مرسال5 بطبيعة تصميمه يعمل يدويا ، و كان يتم الاستعانة بأي من برامج تنظيم الأنشطة مثل WINDOWS SCHEDULER ، ليقوم هذا البرنامج بإطلاق مرسال5 في مواعيد محددة لإرسال أو استقبال ملفات التحديث. و هذا يعني أن مرسال5 قد يعمل تلقائياً بالفعل ، و لكن يتم إغلاقه بعد الانتهاء من تنفيذ مهمته فوراً ، على أن يتم إعادة إطلاقه مرة أخرى – لتنفيذ المهمة التالية. لاحظ أيضاً أن مرسال5 كان يستلزم طور عمل أحادي و بالتالي كان يجب ضبطه ليعمل تلقائياً في الأوقات التي نضمن عدم وجود مستخدمين لقاعدة البيانات خلالها..
المحرر: هذه نقطة هامة بالفعل ، و أعتقد انه لديك جديداً فيما يتعلق بها..
أمير: بالطبع فلقد شهد مرسال6 اختفاء تلك الخاصية تماما ، بحيث يقوم مرسال بعمله تلقائياً بأي وقت يحدده المستخدم ، سواء كان هناك مستخدمين حاليين بقاعدة البيانات أم لا.
نعود مرة أخرى للمقارنة التي حدثتك عنها ، و نذكر على الجانب الآخر أن مرسال6 لا يحتاج إلى أي برامج إضافية ليتمكن من العمل بصورة تلقائية ، بل لا يتم تشغيله و إغلاقه عند تنفيذ كل مهمة تحديث ، و إنما يعمل دائماً في الخلفية و يكون في حالة انتظار أو خمول ، حتى تنقضي الفترة المحددة لعملية التحديث فيبدأ في تنفيذ إجراءات التحديث و تبادل المعلومات مع القاعدة الرئيسية تلقائياً.
المحرر: ما مدى التقارب أو التطابق بين قواعد بيانات الأفرع الذي يوفره مرسال6؟
أمير: إن درجة التقارب و التطابق بين قواعد بيانات الأفرع تتوقف على عدة عوامل منها ، حمل العمل أو بمعنى أدق مقدار النشاط بقاعدة البيانات الخاصة بالفرع ، و الفترات الفاصلة بين عمليات التحديث التي يقوم بها مرسال6 ، لاحظ أن مرسال6 يمكنه إجراء عمليات تحديث متقاربة تصل إلى دقيقة واحدة بين كل عمليتين ، و هذا يعني أن المستخدم يمكنه افتراض وجود تطابق يصل إلى قرابة ال 100% في هذه الحالة.
المحرر: هل هناك مميزات جديدة ينتظر إضافتها للإصدارات المستقبلية لمرسال6؟
أمير: نعم بالطبع .. هناك مثلاً إمكانية إجراء عمليات التحديث بواسطة الأقراص المرنة. و دعم قواعد بيانات أوراكل ORACLE DATABASE SERVERS ، و توفير أسلوب للتحكم بالبيانات المنتقلة بين الفروع بحيث يحتوي كل فرع على بياناته فقط بينما يحتوي المركز الرئيسيى على بيانات جميع الأفرع ، و هي جميعاً نقاط نضعها في حساباتنا و تخضع للدراسة الجادة لتقييمها و وضع الخطط المناسبة لتنفيذها في المستقبل القريب بإذن الله.
المحرر: أشكرك يا م/ أمير على هذا الحوار القيم و إلى اللقاء في حوارات أخرى بإذن الله..
أمير: لا شكر على واجب ، و مرحباً بقراء الموقع و أسرة التحرير في أي وقت.
مزيد من المواضيع..