الأتمتة من أهم التحديات التي تواجه المؤسسات في سورية هذه الأيام، وقد بدأنا نشهد تطورا حقيقيا في ستوى الحلول البرمجية التي تصمم وتنفذ لمؤسسات القطاعين العام والخاص. تبدأ الأتمتة عادة بإنجاز دراسة حليل النظام للمؤسسة، تحليل النظام يؤدي إلى تصميم حل برمجي يفترض أنه يناسب المؤسسة، ثم يأتي دور تنفيذ لحل وتشغيله واستثماره. وهذه العملية تستغرق وقتا وجهدا طويلا، وتحتاج إلى دقة وخبرة لتجنب الوقوع في طبات تؤدي إلى فشل العملية برمتها.
في هذه المحاضرة سنتحدث عن مرحلة تصميم الحل البرمجي، وسنتعرض للأشكال الأساسية للحلول البرمجية من احية التصميم، وهي الحل الموزع والحل الشامل ثنائي المراحل وثلاثي المراحل. وعند حديثنا عن كل نمط، نوضح مجال اعتماده، وميزاته ومشاكله. وسنتحدث بشكل عام عن المفاهيم الأساسية لكل نمط من الحلول ولن ندخل في أية تفاصيل تقنية، ولكن في الجزء الأخير سنركز على الحل الشامل ثلاثي المراحل باعتباره أحدث الاتجاهات في تصميم الحلول البرمجية للمؤسسات، وسنتحدث عن التقنيات المستخدمة فيه.
2: الحل الموزع.
هذا هو الحل الشائع الاستخدام في قطرنا حاليا، وهو الحل الذي كان معتمدا حتى أوائل التسعينات في العالم. يعني الحل الموزع تطوير مجموعة من التطبيقات المستقلة، لكل منها مصدر بياناته الخاص، ويعمل كل منها مستقلا عن التطبيقات الأخرى. مثلا في مؤسسة تستخدم حلا موزعا، يمكن أن نجد برنامجا للذاتية وبرنامجا للمحاسبة، وبرامج أخرى. وتكون قاعدة بيانات برنامج الذاتية منفصلة عن قاعدة بيانات برنامج المحاسبة، وعن قواعد بيانات البرامج الأخرى.
تستخدم أنظمة قواعد البيانات المكتبية Desktop Database Management Systems لتخزين البيانات في الحلول الموزعة، وأكثر هذه الأنظمة استخداما هي Microsoft Access و Borland Paradox. وتتم برمجة هذه الحلول بلغة برمجة قريبة من قاعدة البيانات، مثل بيئة Access أو Visual Basic أو Delphi.
الوصول إلى قواعد البيانات يتم مباشرة عبر محرك قواعد البيانات المستخدم، مثلا تستخدم تطبيقات Access و Visual Basic محرك قواعد البيانات النفاث Microsoft Jet Database Engine للوصول إلى قواعد بيانات Access. وتستخدم تطبيقات دلفي محرك قواعد بيانات بورلاند Borland Database Engine للوصول إلى قواعد بيانات بارادوكس Paradox.
أحيانا يتم تصميم الحل الموزع بحيث يسمح بتبادل البيانات بين البرامج على شبكة محلية. ولكن التبادل يتم في أوقات محددة يوميا أو بناء على أمر المستثمر. وفي الحقيقة تلجأ أغلب المؤسسات التي تستخدم حلا موزعا إلى ترقية البرامج لتتمكن من تبادل البيانات بين بعضها البعض.
وأقوى أنماط الحل الموزع هي الحلول التي تستخدم تطبيقات مستقلة متعددة المستثمرين، هذه الحلول تعمل على شبكة محلية. وتسمح مثلا لمجموعة محاسبين بالعمل ضمن شبكة محلية على برنامج محاسبة مستقل عن البرامج الأخرى. ويمكن أن يستخدم بعض هذه البرامج قواعد بيانات علائقية، ولكن بيانات كل برنامج منفصلة عن بيانات بقية البرامج.
وبشكل عام يمكن تمثيل الحل الموزع بالمخطط النظري التالي:
2-1: متى يستخدم الحل الموزع:
يستخدم الحل الموزع لأتمتة أقسام المؤسسة التي لا تتفاعل مع بعضها البعض، أو التي لا تتبادل كمية كبيرة من البيانات يوميا. تعمل برامج الحل الموزع بكفاءة على حاسب واحد، وهي في الحقيقة تناسب مستثمرا لا يتعلق عمله بعمل غيره. كما يستخدم الحل الموزع في إدارات المؤسسات الكبيرة، مثلا في مجموعة اقتصادية تضم مجموعة شركات لكل منها إدارتها الخاصة ومجال عملها وطريقتها في إنجاز العمل. في هذه الحالة تعتمد الإدارة حلا خاصا بإدارة كل شركة فرعية، وتحصر تبادل البيانات في الحدود الدنيا الضرورية لعمل الإدارة المركزية. وفي هذه الحالة قد تعتمد الشركات الفرعية حلا شاملا أو حلا موزعا، لكن النمط العام لعمل الإدارة هو نمط موزع.
2-2: ميزات الحل الموزع:
استقلالية البرامج: لا يتعلق عمل أي برنامج بعمل أي برنامج آخر، وبمعنى آخر فأعطال أي برنامج لا توقف البرامج الأخرى.
تخفيف الضغط على الشبكة: حركة البيانات على الشبكة في الحدود الدنيا، ومحددة بأوقات محددة يتم فيها تبادل البيانات بين البرامج.
كلفة تطويره رخيصة، وتنفيذه لا يستغرق وقتا طويلا.
2-3: مشاكل الحل الموزع:
وفي نفس الوقت، يعاني الحل الموزع من مجموعة من المشاكل أهمها:
عدم الانسجام: في طريقة العمل وتصميم قواعد البيانات وواجهات المستثمر بين البرامج، لأن هذه البرامج العاملة ضمن حل موزع تنفذ غالبا من قبل مبرمجين مختلفين لكل منهم طريقته في العمل، وكل منهم مسؤول عن برنامج كامل أو أكثر.
كلفة الاعتماد العالية: إذ لا بد من شراء نسخة من مخدم قواعد البيانات لكل برنامج في الحل الموزع. وعندما يستخدم الحل الموزع متعدد المستثمرين، ستضطر المؤسسة التي تعتمده لتخصيص حاسب مستقل لكل شبكة محلية ليعمل مخدما. هذه الكلفة تقابل كلفة التطوير الرخيصة للحل.
كلفة صيانة عالية: لأن كل تطبيق وكل مخدم بحاجة إلى الصيانة في وقت ما، وخصوصا بسبب وجود قاعدة البيانات والتطبيقات على حواسب المستثمرين التي قد تستخدم في استثمار برامج أخرى. وبذلك تحتاج المؤسسة إلى توظيف مهندس صيانة، ومهندس قواعد بيانات، وتزداد كلفة الصيانة إذا كانت أقسام المؤسسة متباعدة جغرافيا.
موثوقية أقل: بما أن تبادل البيانات يتم في أوقات محددة وليس باستمرار، فإن الإدارة لا تثق بأن المعلومات المتوفرة لديها هي أحدث المعلومات، وتبقي احتمال أن معلومات أحدث قد أدخلت في الفروع ولم يتم تحديثها على برنامج الإدارة.
حجم تخزين أكبر: لأن بعض المعلومات مشترك بين البرامج، واستقلالية البرامج تفرض تبادل المعلومات بينها، أي تخزين نفس المعلومات مرة أخرى من أجل كل برنامج يحتاجها. ويزداد التخزين الزائد إذا أخذنا بعين الاعتبار كلفة النسخ الاحتياطي اليومي للبيانات.
كلفة ترقية وتطوير أكبر: بما أن عمل المؤسسات متشابك من الداخل، فإن تطوير أي برنامج يتطلب تعديل البرامج الأخرى لتتعامل مع التطوير، وهذا يستهلك وقتا وجهدا ويكلف أكثر.
3: الحل الشامل.
هذا الحل هو النمط المعتمد عالميا في الوقت الحالي من قبل المؤسسات الكبيرة، ويعتمد أحدث تقنيات الاتصالات والشبكات. يعني الحل الشامل تخزين البيانات في مكان واحد لكل المؤسسة، والسماح لكافة الأقسام أينما كانت بالوصول إلى هذه البيانات، حتى من خارج المدينة أو الدولة. يختلف نمط الحل الشامل عن نمط الحلول متعددة المستثمرين في أن الحل الشامل يضم مجموعة تطبيقات كل منها متعدد المستثمرين، وتستخدم نفس قاعدة البيانات. بينما الحل الموزع متعدد المستثمرين يعتمد مجموعة تطبيقات متعددة المستثمرين لكل منها قاعدة بياناته الخاصة. لذلك يمكن أن نجد في الحل الشامل أيضا برنامجا للمحاسبة وبرنامجا للذاتية وبرامج أخرى، وكل منها برنامج مستقل عن الآخر، لكن جميع البرامج تستخدم نفس قاعدة البيانات.
لا تكفي أنظمة قواعد البيانات المكتبية لتخديم الحلول الشاملة، ولذلك تستخدم أنظمة أخرى تسمى عادة أنظمة إدارة قواعد البيانات العلائقية Relational Database Management Systems أو RDBMS. ومن هذه الأنظمة نظام ORACLE ونظام SQL Server وغيرها. وتكتب التطبيقات التي تشغل هذه الحلول غالبا بلغات برمجة ترتبط بمخدم قواعد البيانات مثل Oracle Developer، أو بإحدى اللغات الشائعة مثل Visual Basic أو Visual C++ أو Delphi. تستطيع التطبيقات التخاطب مع مخدم قواعد البيانات مباشرة أو عبر أداة وسيطة، وأشهر الوصلات بين التطبيقات وقواعد البيانات هي وصلة قواعد البيانات المفتوحة ODBC.
3-1: متى يستخدم الحل الشامل:
عندما يتقاطع عمل أقسام المؤسسة مع بعضها، لا ينجح استخدام حل موزع. لنأخذ مثالا على إحدى المشاكل التي يمكن أن تنشأ.
في مؤسسة إنتاجية تستخدم حلا موزعا لإدارة مجموعة مستودعات للمواد الجاهزة، موزعة على مناطق متباعدة جغرافيا. لا يمكن لإدارة الإنتاج معرفة فكرة واضحة دائما عن المخزون في المستودعات، وقد تتخذ قرار تصنيع إحدى المواد بناء على طلب أحد المستودعات مع توفر كميات من المادة في مستودع آخر. السبب هو أن برنامج إدارة كل مستودع مستقل عن البرامج الأخرى، ويرحل بياناته إلى الإدارة المركزية في وقت محدد، بينما تستخدم إدارة الإنتاج برنامجا مستقلا يتلقى معلومات من الإدارة المركزية في أوقات محددة أيضا.
ولكن باستخدام حل شامل يستطيع أي مستودع معرفة الوضع الدقيق لرصيد أية مادة في أي مستودع، لأن قاعدة البيانات التي يستخدمها تحوي كل المعلومات المتعلقة به، وبالمستودعات الأخرى. هذا المثال ينطبق على العديد من المؤسسات، ويمكن صياغة أمثلة مشابهة تنطبق على الأعمال الإدارية والمحاسبية.
إذا، الحل الشامل هو الحل الأنسب لمؤسسة كبيرة تتقاطع الأعمال والاحتياجات بين تقسيماتها الإدارية. ولكن هذا لا يعني أن اعتماده هو القرار الأنسب دائما، فقد ذكرت سابقا حالة الإدارة المركزية لمجموعات شركات تعتمد حلا موزعا على مستوى الإدارة المركزية، وحلولا شاملة على مستوى الفروع.
3-2: ميزات الحل الشامل:
الأقوى عالميا: تعتمده أغلب المؤسسات العالمية، لأنه يضعها على بعد خطوات قليلة من دمج عملها مع الإنترنت، لتوفير نفقات الاتصالات والاستفادة من إمكانية الوصول إلى المعلومات من أي مكان في العالم.
كلفة اعتماد أصغرية: لأنه يعتمد على حاسب مخدم واحد، ونسخة واحدة من مخدم قواعد
في هذه المحاضرة سنتحدث عن مرحلة تصميم الحل البرمجي، وسنتعرض للأشكال الأساسية للحلول البرمجية من احية التصميم، وهي الحل الموزع والحل الشامل ثنائي المراحل وثلاثي المراحل. وعند حديثنا عن كل نمط، نوضح مجال اعتماده، وميزاته ومشاكله. وسنتحدث بشكل عام عن المفاهيم الأساسية لكل نمط من الحلول ولن ندخل في أية تفاصيل تقنية، ولكن في الجزء الأخير سنركز على الحل الشامل ثلاثي المراحل باعتباره أحدث الاتجاهات في تصميم الحلول البرمجية للمؤسسات، وسنتحدث عن التقنيات المستخدمة فيه.
2: الحل الموزع.
هذا هو الحل الشائع الاستخدام في قطرنا حاليا، وهو الحل الذي كان معتمدا حتى أوائل التسعينات في العالم. يعني الحل الموزع تطوير مجموعة من التطبيقات المستقلة، لكل منها مصدر بياناته الخاص، ويعمل كل منها مستقلا عن التطبيقات الأخرى. مثلا في مؤسسة تستخدم حلا موزعا، يمكن أن نجد برنامجا للذاتية وبرنامجا للمحاسبة، وبرامج أخرى. وتكون قاعدة بيانات برنامج الذاتية منفصلة عن قاعدة بيانات برنامج المحاسبة، وعن قواعد بيانات البرامج الأخرى.
تستخدم أنظمة قواعد البيانات المكتبية Desktop Database Management Systems لتخزين البيانات في الحلول الموزعة، وأكثر هذه الأنظمة استخداما هي Microsoft Access و Borland Paradox. وتتم برمجة هذه الحلول بلغة برمجة قريبة من قاعدة البيانات، مثل بيئة Access أو Visual Basic أو Delphi.
الوصول إلى قواعد البيانات يتم مباشرة عبر محرك قواعد البيانات المستخدم، مثلا تستخدم تطبيقات Access و Visual Basic محرك قواعد البيانات النفاث Microsoft Jet Database Engine للوصول إلى قواعد بيانات Access. وتستخدم تطبيقات دلفي محرك قواعد بيانات بورلاند Borland Database Engine للوصول إلى قواعد بيانات بارادوكس Paradox.
أحيانا يتم تصميم الحل الموزع بحيث يسمح بتبادل البيانات بين البرامج على شبكة محلية. ولكن التبادل يتم في أوقات محددة يوميا أو بناء على أمر المستثمر. وفي الحقيقة تلجأ أغلب المؤسسات التي تستخدم حلا موزعا إلى ترقية البرامج لتتمكن من تبادل البيانات بين بعضها البعض.
وأقوى أنماط الحل الموزع هي الحلول التي تستخدم تطبيقات مستقلة متعددة المستثمرين، هذه الحلول تعمل على شبكة محلية. وتسمح مثلا لمجموعة محاسبين بالعمل ضمن شبكة محلية على برنامج محاسبة مستقل عن البرامج الأخرى. ويمكن أن يستخدم بعض هذه البرامج قواعد بيانات علائقية، ولكن بيانات كل برنامج منفصلة عن بيانات بقية البرامج.
وبشكل عام يمكن تمثيل الحل الموزع بالمخطط النظري التالي:
2-1: متى يستخدم الحل الموزع:
يستخدم الحل الموزع لأتمتة أقسام المؤسسة التي لا تتفاعل مع بعضها البعض، أو التي لا تتبادل كمية كبيرة من البيانات يوميا. تعمل برامج الحل الموزع بكفاءة على حاسب واحد، وهي في الحقيقة تناسب مستثمرا لا يتعلق عمله بعمل غيره. كما يستخدم الحل الموزع في إدارات المؤسسات الكبيرة، مثلا في مجموعة اقتصادية تضم مجموعة شركات لكل منها إدارتها الخاصة ومجال عملها وطريقتها في إنجاز العمل. في هذه الحالة تعتمد الإدارة حلا خاصا بإدارة كل شركة فرعية، وتحصر تبادل البيانات في الحدود الدنيا الضرورية لعمل الإدارة المركزية. وفي هذه الحالة قد تعتمد الشركات الفرعية حلا شاملا أو حلا موزعا، لكن النمط العام لعمل الإدارة هو نمط موزع.
2-2: ميزات الحل الموزع:
استقلالية البرامج: لا يتعلق عمل أي برنامج بعمل أي برنامج آخر، وبمعنى آخر فأعطال أي برنامج لا توقف البرامج الأخرى.
تخفيف الضغط على الشبكة: حركة البيانات على الشبكة في الحدود الدنيا، ومحددة بأوقات محددة يتم فيها تبادل البيانات بين البرامج.
كلفة تطويره رخيصة، وتنفيذه لا يستغرق وقتا طويلا.
2-3: مشاكل الحل الموزع:
وفي نفس الوقت، يعاني الحل الموزع من مجموعة من المشاكل أهمها:
عدم الانسجام: في طريقة العمل وتصميم قواعد البيانات وواجهات المستثمر بين البرامج، لأن هذه البرامج العاملة ضمن حل موزع تنفذ غالبا من قبل مبرمجين مختلفين لكل منهم طريقته في العمل، وكل منهم مسؤول عن برنامج كامل أو أكثر.
كلفة الاعتماد العالية: إذ لا بد من شراء نسخة من مخدم قواعد البيانات لكل برنامج في الحل الموزع. وعندما يستخدم الحل الموزع متعدد المستثمرين، ستضطر المؤسسة التي تعتمده لتخصيص حاسب مستقل لكل شبكة محلية ليعمل مخدما. هذه الكلفة تقابل كلفة التطوير الرخيصة للحل.
كلفة صيانة عالية: لأن كل تطبيق وكل مخدم بحاجة إلى الصيانة في وقت ما، وخصوصا بسبب وجود قاعدة البيانات والتطبيقات على حواسب المستثمرين التي قد تستخدم في استثمار برامج أخرى. وبذلك تحتاج المؤسسة إلى توظيف مهندس صيانة، ومهندس قواعد بيانات، وتزداد كلفة الصيانة إذا كانت أقسام المؤسسة متباعدة جغرافيا.
موثوقية أقل: بما أن تبادل البيانات يتم في أوقات محددة وليس باستمرار، فإن الإدارة لا تثق بأن المعلومات المتوفرة لديها هي أحدث المعلومات، وتبقي احتمال أن معلومات أحدث قد أدخلت في الفروع ولم يتم تحديثها على برنامج الإدارة.
حجم تخزين أكبر: لأن بعض المعلومات مشترك بين البرامج، واستقلالية البرامج تفرض تبادل المعلومات بينها، أي تخزين نفس المعلومات مرة أخرى من أجل كل برنامج يحتاجها. ويزداد التخزين الزائد إذا أخذنا بعين الاعتبار كلفة النسخ الاحتياطي اليومي للبيانات.
كلفة ترقية وتطوير أكبر: بما أن عمل المؤسسات متشابك من الداخل، فإن تطوير أي برنامج يتطلب تعديل البرامج الأخرى لتتعامل مع التطوير، وهذا يستهلك وقتا وجهدا ويكلف أكثر.
3: الحل الشامل.
هذا الحل هو النمط المعتمد عالميا في الوقت الحالي من قبل المؤسسات الكبيرة، ويعتمد أحدث تقنيات الاتصالات والشبكات. يعني الحل الشامل تخزين البيانات في مكان واحد لكل المؤسسة، والسماح لكافة الأقسام أينما كانت بالوصول إلى هذه البيانات، حتى من خارج المدينة أو الدولة. يختلف نمط الحل الشامل عن نمط الحلول متعددة المستثمرين في أن الحل الشامل يضم مجموعة تطبيقات كل منها متعدد المستثمرين، وتستخدم نفس قاعدة البيانات. بينما الحل الموزع متعدد المستثمرين يعتمد مجموعة تطبيقات متعددة المستثمرين لكل منها قاعدة بياناته الخاصة. لذلك يمكن أن نجد في الحل الشامل أيضا برنامجا للمحاسبة وبرنامجا للذاتية وبرامج أخرى، وكل منها برنامج مستقل عن الآخر، لكن جميع البرامج تستخدم نفس قاعدة البيانات.
لا تكفي أنظمة قواعد البيانات المكتبية لتخديم الحلول الشاملة، ولذلك تستخدم أنظمة أخرى تسمى عادة أنظمة إدارة قواعد البيانات العلائقية Relational Database Management Systems أو RDBMS. ومن هذه الأنظمة نظام ORACLE ونظام SQL Server وغيرها. وتكتب التطبيقات التي تشغل هذه الحلول غالبا بلغات برمجة ترتبط بمخدم قواعد البيانات مثل Oracle Developer، أو بإحدى اللغات الشائعة مثل Visual Basic أو Visual C++ أو Delphi. تستطيع التطبيقات التخاطب مع مخدم قواعد البيانات مباشرة أو عبر أداة وسيطة، وأشهر الوصلات بين التطبيقات وقواعد البيانات هي وصلة قواعد البيانات المفتوحة ODBC.
3-1: متى يستخدم الحل الشامل:
عندما يتقاطع عمل أقسام المؤسسة مع بعضها، لا ينجح استخدام حل موزع. لنأخذ مثالا على إحدى المشاكل التي يمكن أن تنشأ.
في مؤسسة إنتاجية تستخدم حلا موزعا لإدارة مجموعة مستودعات للمواد الجاهزة، موزعة على مناطق متباعدة جغرافيا. لا يمكن لإدارة الإنتاج معرفة فكرة واضحة دائما عن المخزون في المستودعات، وقد تتخذ قرار تصنيع إحدى المواد بناء على طلب أحد المستودعات مع توفر كميات من المادة في مستودع آخر. السبب هو أن برنامج إدارة كل مستودع مستقل عن البرامج الأخرى، ويرحل بياناته إلى الإدارة المركزية في وقت محدد، بينما تستخدم إدارة الإنتاج برنامجا مستقلا يتلقى معلومات من الإدارة المركزية في أوقات محددة أيضا.
ولكن باستخدام حل شامل يستطيع أي مستودع معرفة الوضع الدقيق لرصيد أية مادة في أي مستودع، لأن قاعدة البيانات التي يستخدمها تحوي كل المعلومات المتعلقة به، وبالمستودعات الأخرى. هذا المثال ينطبق على العديد من المؤسسات، ويمكن صياغة أمثلة مشابهة تنطبق على الأعمال الإدارية والمحاسبية.
إذا، الحل الشامل هو الحل الأنسب لمؤسسة كبيرة تتقاطع الأعمال والاحتياجات بين تقسيماتها الإدارية. ولكن هذا لا يعني أن اعتماده هو القرار الأنسب دائما، فقد ذكرت سابقا حالة الإدارة المركزية لمجموعات شركات تعتمد حلا موزعا على مستوى الإدارة المركزية، وحلولا شاملة على مستوى الفروع.
3-2: ميزات الحل الشامل:
الأقوى عالميا: تعتمده أغلب المؤسسات العالمية، لأنه يضعها على بعد خطوات قليلة من دمج عملها مع الإنترنت، لتوفير نفقات الاتصالات والاستفادة من إمكانية الوصول إلى المعلومات من أي مكان في العالم.
كلفة اعتماد أصغرية: لأنه يعتمد على حاسب مخدم واحد، ونسخة واحدة من مخدم قواعد