الأربعاء، 19 أغسطس 2009

تحزيم البرامج Application Deployment and Installation 1

المحتويات

  • المحتويات
  • مقدمة
  • مدخل لعالم تحزيم البرمجيات في الفيجوال استوديو
    • التعريف
    • اهداف التحزيم
    • متي يتم استخدام تقنية التحزيم في برامجنا
    • الاشخاص المختصون بعملية التحزيم
  • انواع التحزيم
    • الطريقة الاولي : ClickOnce Deployment
      • التعريف
      • مميزات تلك الطريقة
      • عيوب تلك الطريقة
      • دواعي الاستخدام لتلك الطريقة
    • الطريقة الثانية: Windows Installer Deployment
      • التعريف
      • مميزات تلك الطريقة
      • عيبوب تلك الطريقة
      • دواعي الاستخدام لتلك الطريقة
  • خاتمة

مقدمة

اخواني الاعزاء بعد السلام والتحية ان شاء الله سوف نبدأ دورة جديدة لتحزيم البرامج من خلال Visaul Studio وسوف تكون تلك الدورة شاملة باذن الله جميع جوانب التحزيم ولكافة المستويات المبتدأين قبل المحترفين.

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

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

مدخل لعالم تحزيم البرمجيات في الفيجوال استوديو

التعريف

كلمة تحزيم تعني في عالم البرمجة جمع اكثر من ملف باي نوع في مكان وحيد.

بمعني : مثلا مشروعك فيه اكثر من ملف مع اكثر من قاعدة بيانات مع اكثر من ملف صورة او صوتيات او ملتي ميديا او غيره من انواع الملفات وانتا تريد ان تنقل تلك الملفات دفعة واحده لمكان معين سواء كان المكان جهاز اخر ( كجهاز العميل ) او شبكة نت محلية LAN او شبكة عالمية Internet ولكن من كثرة الملفات انتا تخشي ضياع احد الملفات مما يؤدي الي فشل النظام كاملا كاعتماد النظام علي مكتبة DLL مثلا وبدونها لن يعمل برنامجك فما الحل في ذلك

الحل :
يلجا الكثير من المطورين باستخدام تقنية التحزيم من اجل الحفاظ علي ملفات مشاريعهم التي اخذت الكثير من الوقت والجهد في تنفيذها من الضياع او اللعب فيها سواء بقصد او بدون قصد . حيث يقومون باستخدام هذا التحزيم في جمع ملفات مشروعهم في ملف واحد ياخذ الامتداد MSI.

اهداف التحزيم

  1. الحفاظ علي ملفات المشروع من العبث او الضياع
  2. سرعة نقل الملفات من مصادر انتاجها الي اماكن استخدامها وتداولها
  3. نشر البرامج التي تم برمجتها الي المستخدم لها
  4. التقليل من حجم الملفات الاصلي عن طريق ضغطها في عملية التحزيم ( اختيارية )
  5. امكانية الاستفادة من تقنية التحزيم في عمليات التحديثات الدورية للبرمجيات اي Upgrade Versions

متي يتم استخدام تقنية التحزيم في برامجنا

ليس لها وقت محدد ولكنها تتوقف حسب الرغبة او الهدف من استخدامها والتي سبق سردها كاهداف للتحزيم

الاشخاص المختصون بعملية التحزيم

  • مطوري البرمجيات
  • المبرمجين
  • محللي النظم والمعلومات
  • عند العمل في فريق عمل يعمل علي نطاق واسع وبعيد المدي كالفروع مثلا
  • كل شخص يريد حفظ ملفاته من الضياع او التلف

انواع التحزيم

للتحزيم انواع وكل نوع يستخدم في هدف معين ومن الممكن الجمع بينهم في مشروع واحد اذا تطلب الامر ذلك .

  1. تحزيم برمجيات تطبيقات الويندوز Windows Setup Project
  2. تحزيم برمجيات تطبيقات الويب Web Setup Project
  3. تحزيم برمجيات الوحدات والمكتبات DLL – MergeModule Project
  4. تحزيم اي نوع اخر من الملفات والمصادر CAB project
  5. تحزيم برمجيات البوكيت بي سي والاجهزة الكفية التي تعمل تحت انظمة WIndows CE – SmartDeviceCab

شكل 1 توضح نوع كل تحزيم في الدوت نت:

شكل 1 - شاشة إنشاء مشروع جديد - مشاريع التحزيم

شكل 1 - شاشة إنشاء مشروع جديد - مشاريع التحزيم

طرق التحزيم

التحزيم له طريقتين من خلال الدوت نت كما يلي :

  1. الطريق الاولي ( ClickOnce Deployment )
  2. الطريقة الثانية ( Windows Installer Deployment )

وفيما يلي سوف نتناول باختصار صورة كل من الطريقتين :

الطريقة الاولي : ClickOnce Deployment

التعريف

هي طريقة يتم فيها استخدام المعالج من اجل تحزيم ملفات المشروع وانتاج في النهاية ملف يحمل الامتداد MSI ويحتوي بين طياته علي جميع ملفات المشروع التي قمنا بدمجها بداخله .

مميزات تلك الطريقة

  1. سرعة في عملية تحزيم المشروع باقل مجهود يذكر واقل خبره مطلوبه
  2. امكانية تنصيب البرامج التي تمت تحزيمها من خلالها من علي CD Room
  3. امكانية الاستفادة من خواص التحديث الالي للبرامج المنشورة بها
  4. لا تحتاج الي خبرة كبيرة من اجل استخدامها حيث تتم عملية التحزيم في صورة معالج تحزيم وبعده خطوات سهلة

عيوب تلك الطريقة

  1. لا يعطي لك المرونة والقوة المطلوبة لتحزيم البرامج بشكل احترافي مثلما تزودك بها الطريقة الثانية للتحزيم
  2. تحتاج البرامج المحزمة من خلالها الي توافر كل من .NET Framework و Windows Installer علي الجهاز الا هيتم تسطيبها عليها ومن دونهما لن تعمل البرامج

دواعي الاستخدام لتلك الطريقة

  • في حالة الحاجة لنقل ملفات المشروع الي Web Server علي الانترنت يتم استخدام تلك الطريقة نظرا لسهولة وبساطة العملية وعدم حاجتها علي وجود عمليات تحقق من برامج ومتطلبات لبدأ عملية التسطيب
  • في حالة العمل مع فريق برمجي وتم تقسيم النظام الي مجموعات وكل عضو في الفريق ياخذ جزا لبرمجته وللك يستخدم هذا النوع من اجل تجميع جميع ملفات المشروع في مكان واحد دون جمعها يدويا
  • في حالة تجربة مشروع او برنامج علي جهاز اخر للتاكد من خلوه من العيوب او Bugs لذلك يتم استخدام تلك الطريقة في التحزيم ولكن انتبه يجب ان تحتوي الانظمة المراد تجربه البرنامج عليها علي NET Framework و Windows Installer حتي يعمل البرنامج .
  • في حالة برمجة برامج تعمل علي الشبكات ووجب الحاجة الي نقل ملفات المشروع الي مجلد علي سيرفر شبكة داخلية مثلا : عند عمل برنامج يعمل علي شبكة داخلية واردنا نقل البرنامج الي عنوان مجلد مشيرا علي تلك الشبكة وليكن كما يلي :

\\ServerName\sharedFolder

الطريقة الثانية: Windows Installer Deployment

التعريف

هي طريقة يتم فيها استخدام المعالج من اجل تحزيم ملفات المشروع وانتاج في النهاية ملف يحمل الامتداد MSI ويحتوي بين طياته علي جميع ملفات المشروع التي قمنا بدمجها بداخله كما تفعل الطريقة الاولي ولكن بصورة اقوي واكبر منها تكاد تشبه البرامج العالمية في التحزيم .

مميزات تلك الطريقة

  1. تشبه في استخامها البرامج العالمية في التحزيم كا InstallShield و Wise و SetupFactory و Installaware وغيرها
  2. تملك مرونة كبيرة عن الطريقة الاولي في التحزيم
  3. تعطيك تحكم اكبر في عمليات الاعداد لبرنامجك علي جهاز العميل او الطرف الاخر
  4. امكانية البحث في مسجلات النظام قبل تثبيت البرنامج
  5. امكانية تحديد نوافذ محدده تظهر للمستخدم اثناء عملية التثبيت للنظام
  6. امكانية عمل اختصارات للبرنامج علي سطح المكتب او في قائمة Start Programe
  7. امكانية تحديد امكانيات ومواصفات خاصة سواء للانظمة او قطع الهاردوير الازمة لاتمام عملية التثبيت للبرنامج كتحديد نظام تشغيل معين يقبل التثبيت من عدمه او كتحديد حجم معين متاح من الذاكرة في الجهاز المراد تثبيت البرنامج عليه كجعل برنامجنا لا يتم تثبيته الا علي الاجهزة التي تمتلك رامات اكبر من 512 كمثال مثلا وغيره من الشروط .
  8. يوجد العديد من المميزات التي تجعله الطريقة الاقوي في عملية التحزيم والذي لا يتسع الوقت للحديث عنها .

عيبوب تلك الطريق

  1. تحتاج الي وقت حسب نظرتك لعملية التحزيم الذي يحتاجها نظامك من اجل النشر والعمل علي اجهزة العملاء
  2. تحتاج الي خبرة ودراية كافية من اجل التحزيم بهذا النوع وفهم اليه التحزيم من اجل استخدامها

دواعي الاستخدام لتلك الطريقة

  • في حالة حاجتك لعمل نشر كامل لبرنامجك بصورة احترافية
  • في حالة رغبتك في استخدام شروط التحزيم وتحديد انظمة او معدات محدده لتثبيت برنامجك عليها
  • في حالة بيع النظام لمستخدمين ذو خبرة اقل في التعامل مع الكمبيوتر وخصوصا السوفت وير منها
  • في حالة اعتماد برامجك علي برامج اخري لا تعمل بدونها مثل MS SQL Server او MS Access او غيره

خاتمة

ختاما اتمنا اكون وفقت في تقديم بعض المعلومات عن هذا الموضوع

وان شاء الله سوف نتابع في الاجزاء القادمة من تلك الدورة ونتناول فيها طرق التحزيم بعون الله وقوته فتقبلوا خالص تحياتي