‏إظهار الرسائل ذات التسميات tier. إظهار كافة الرسائل
‏إظهار الرسائل ذات التسميات tier. إظهار كافة الرسائل

الأربعاء، 22 سبتمبر 2010

المكتب المتنقل في تطبيقات متعددة الواجهات mobile / web / desktop




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


كيف يمكن ذلك
بناء تطبيقات متعددة الطبقات يجعل الأمر سهلا جدا, اذ ان نظام او تطبيق متعدد الطبقات مبني على 3 طبقات رئيسية :
1- طبقة العرض وهي تتلائم والجهاز المستعمل (مثلا واجهة عرض للموبايلات ك iphone وجهاز nokia E72, واخرى لBlackBerry) عادة الفروقات بين الاجهزة بسيطة ويمكن توحيد واجهة العرض), وواجهة عرض للويب في متصفحات مختلفة IE, Firefox, Chrom....)
2- BL : طبقة معالجة المعطيات, جمعها مع بعض, فحص صلاحيتها مثلا, التأكد من صحتها, ارسالها كتقارير الى جهات مختلفة, التواصل مع انظمة اخرى لتكوين واتمام معالجات اخرى... )
3- DAL (طبقة التعامل مع المعطيات, تخزينها واستخراجها من قاعدة البيانات) او الارتباط بانظمة الشركة الداخلية.


عادة ما تكون الطبقتين الخلفيتين ثابتتين من ناحية فعاليتها فلا يهمها كيف أدخلت البيانات وعن طريق اي واجهة (موبايل / ويب / desktop), هذا يمكن ملائمة طبقة العرض الأمامية (الأولى) مع اي جهاز قد يصدر لاحقا او تتجهز به الشركة.
ملائمة الواجهة لأجهزة الموبايل العصرية ليس مهمة مستحيلة فهي تعتمد متصفح أنترنت ويمكنها عرض HTML, وبالاضافة فان كثيرا منها تعتمد لغات برمجة مشهورة مثل J2ME.

اذا كانت الشركة مجهزة بأنظمة محوسبة لأدارة عمليانها الداخلية والتجارية فعليها ان تأخذ بعين الأعتبار أن تتجهز نظمها ايضا بالقدرة على الاتصال ببعضها البعض بأستخدام بروتوكولات اتصال أعتيادية مبنية على مبدأ الخدمات SOA. مثل هذه القدرة تجعل الأرتباط بالنظم ممكنا بصورة اسهل وعبر عدة واجهات عرض.
اذا فرضنا ان الDataBase1 هو واجهة نظام المحاسبة في الشركة (BILLING), وهو نظام يمكن التواصل معه وتفعيل خدماته عن طريق WebService, كأن يكون Webservice لدفع مستحقات PayCustomerBill, أو تسجيل مستحقات على الزبون مقابل خدمات تم استهلاكها ChargeCustomer, او فحص صلاحية بطاقة اعتماد الزبون CheckCustomerCreditCard.
تفعيل نظام ال Billing يصبح ممكنا من اي تطبيق يستخدم webservice.

ما عليك تقوم به في تطبيق يمكن من خلاله شراء منتوج عن طريق الانترنت هو :
1- بناء طبقة العرض والتي من خلالها يختار الزبون قائمة المنتجات ويقوم بأرسال تفاصيله من خلال شاشة الدفع.
هذه الطبقه مرنة ويمكنها ان تكون مبينة من عدة واجهات (واجهة web / mobile او حتى desktop), في النهاية تقوم طبقة العرض بتشغيل (BL.NewOrder(OrderDetails, CustomerDetails

2- بناء طبقة معالجة المعطيات BL, هذه الطبقة ثابتة وليست بحاجة الى تعديلات تذكر ليتم تشغيلها من طبقات العرض المختلفة فالمعالجة هي نفسها, فيها تركز كل مراحل معالجة العملية في التطبيق مثلا خدمة (BL.NewOrder(OrderDetails, CustomerDetails والتي فيها هذه المعالجات :
  • فحص تفاصيل الطلبية (وجود كميات ملائمة) من خلال نظام الERP
  • فحص تفاصيل الدفع وبطاقة الاعتماد من خلال نظام ال BILLING عبر تشغيل (DAL.CheckCustomerCreditCard(CustomerDetails
  • تسجيل تفاصيل الطلبية في نظام ERP
  • ارسال اشعار الى مندوبي خدمة الزبائن من خلال نظام CRM
  • وارسال بريد الكتروني الى الزبون يؤكد دخول الطلبية الى مرحلة التنفيذ وتفاصيلها مع تفاصيل الدفع.
  • تخزين تفاصيل العملية مع نتائجها في قاعدة بيانات محلية.
  • وو و و

3- طبقة ال DAL وهي طبقة ثابتة ليست بحاجة ال اي تعديل يذكر لأعطاء الخدمات لطبقة ال BL, وهي تقوم بالاتصال بالنظم الاخرى وقاعدة البيانات.
في طبقة الDAL يتم بناء الاتصال بالنظم الاخرى بشكل مرن يسمح بادخال عدة متغيرات وحسب الحاجة.
استكمالا للمثال اعلاه فيها خدمة DAL.CheckCustomerCreditCard والتي تقوم بالاتصال بنظام الBILLING لفحص تفاصيل الزبون من خلال تشغيل خدمات ا WebService فيه (Billing.CheckCustomerCreditCard(CustomerDetails


الأحد، 4 يوليو 2010

نظام انترنتي متعدد الطبقات





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

ما هي الطبقات ؟
هنالك عدة تعريفات للطبقات في هذا الخصوص, طبقات في البرنامج layers, وطبقات التوزيع الشبكي للخدم (servers tier) , ان الفصل بين مكونات التطبيق يمكًن من اضافة عناصر اخرى للحماية من الاخطار, وكذلك يضاعف من جاهزية الشركة لأضافة servers ان استدعت الحاجة لذلك.
الفصل الذي اتكلم عنه هنا هو الفصل الشبكي.

الطبقة الاولى (1):
هي الطبقة التي يكون فيها الخادم الذي يتصل به المستخدم مباشرة, عادة ما تدعى presintation (طبقة العرض)

الطبقة الثانية (2):
هي الطبقة التي تربط بين النظم الداخلية والخادم الامامي في طبقه 1. (middle tier), وتدعى في كثير من الأحيان البنية التحتية.

الشبكة الداخلية :
فيها تتواجد انظمة الشركة الاساسية (CRM, Billing, ERP, BI) واخرى.

الفاصل بين الطبقات :
ان وضع firewall يهدف لحماية الخادم والنظم من تعرضها للقرصنة بشكل اساسي. فيمكن التحكم عن طريقه بقناة اللاتصال والثغرات المفتوحة (firewall) بين الخادم وبين المسنخدم, وهو عبارة عن برنامج يمكن التحكم بمعاييره حسب الحاجه كأن يفتح port 80 فقط, لمنع الاتصال باي جهاز غير الخادم.
جهاز توزيع الضغط Load Balance والذي من وظيفته ان يستقبل الطلبات وان يوزعها على الخدم الخلفية وحسب معايير تضمن توزيع الضغط ليضمن تواصل الخدمة لكل المستخدمين, هناك عدة خوارزميات لتوزيع الضغط مثل :
1- The round-robin algorithm: واساسه ان كل خادم يتلقى الطلب القادم حسب الدور بشكل دوري فكل خادم يقدم
نفس عدد الخدمات.
2- Persistent IP : وهو توزيع الخدمة بين الخدم حسب IP المستخدم. فان ذلك يوزع الضغط بشكل عشوائي نوعا ما,
لكنه يضمن ان كل مستخدم يرجع في العمل امام نفس الخادم.

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

طرق الاتصال بين الطبقات :
هناك بروتوكولات كثيرة لربط الطبقات والإتصال بينها, من اسهلها واكثرها انتشارا webservice, rmi,com وأحدثها wcf.
طبعا هذه البروتوكولات تسهل من القدرة على توسعة التطبيقات واستغلال البنيه التحتية في عدة تطبيقات مستقبلية.

السبت، 19 يونيو 2010

كيف تحافظ على نظم الشركة من الهاكرز مع ادخال خدماتك عن طريق الانترنت

ان الشركات اليوم تعمل جاهدة على تحسين الخدمة للزبائن وفي ذات الوقت ان تزيد من ارباحها.
وتجد هذه الشركات الحلول في استعمال الانترنت للتواصل مع الزبائن بصورة اسرع ومقللة من الحاجة الى توظيف موظفين في هذا المجال.
ما يجب ان يؤخذ بعين الاعتبار هو المحافظة على نظم الشركة من التعرض للقرصنة من قبل الهاكرز, لذلك يجب التقيد بالضوابط المبدأية التالية :
  1. يجب ان تحمي حظيرة الانتاج باستعمال firewall ونظام Proxy الذين يقللان بدورهما من طلب خدمات من الخادم غير متطابقه مع تصميم الموقع واهدافه
  2. ان يتم الفصل بين الخادم للانترنت والنظم الداخلية باستعمال Firewall
  3. ان يقوم الاتصال بين خادم الانترنت والنظم الداخلية عن طريق بروتوكولات اتصال معروفة ك SOAP او RMI او ,Web Services ومن خلال وحدة اتصال مركزية حتى تتم مراقبتها بصورة افضل.
  4. ان تقوم البرامج من الطرفين بتحديد نوع البيانات التي تتوقع استقبالها (رقمية تاريخ احرف خاصة او لا وطول البيانات)
  5. استخدام وسائل امنية للتاكد من خلو البيانات المتداولة بين الطرفين من جمل قرصنة (SQL Injection) مثلا او Javascript , ومحتويات خطرة اخرى.
  6. تشفير الاتصال بشيفرات SSL المعروفة (Https) والتي تمنع من سرقة (او الاطلاع على محتوى الاتصال بين الطرفين).

طبعا هذا قليل من كثير وللمزيد ساعرض التركيب المثالي لاحقا ان شاء الله بالصور.

ChatGPT للأطفال : طريق آمنة وممتعة للتعلم والاستكشاف

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