الأربعاء، 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


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

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