Page 8 - الاصدار الخامس IT مجلة طموح
P. 8
التعليم
Server Sent Event-HTML5
مقدمة تعريفية
نعيش في وقتنا الحاضر في ظ ّل ثورة علم ّية ومعلومات ّية تجعل من عالم الويب الحديث عالم مليء بالتحديات .حيث تبرز الكثير من
المتطلبات ومن ضمنها ان يكون تحميل صفحات الويب سريعا ويجب ان يكون المحتوى مفيد ومشوق ومحدث تلقائيا.
من المعروفانه في عالم الويب تستخدم لغة الـ HTMLفي أنشاء هيكلية صفحات الويب ,وتستخدم الـ CSSلانشاء ثيم لهذه الصفحات
(حيث يشمل تحديد الخلفية ,نوع النص ,حجم النص والالوان ,غيرها).
أما لغة الـ ( )Java Scriptفهي المسؤولة عن جعل صفحات الويب تفاعلية (على سبيل المثال :وجود رسوم متحركة معقدة او أزرار قابلة
للنقر وقوائم منبثقة وغيرها من الامور المشابهة).
لدينا شيئان هما:
مثــال :لنفــرض انــه كل حزمــة مــن Data Pull . 2
البيانــات تحتــاج الــى 100msلكــي تنتقــل .١هيكلية الصفحة
بيــن ال serverوال . client هــي تقنيــة تقليديــة متوفــرة قبــل ال SSE .٢البيانات نفسها
حيـث تقـوم الصفحـة بعمـل طلـب بصـورة
-فــي حالــة الــ data pushســوف يحصــل متكـررة ( كل عـدد معيـن مـن الثوانـي) الـى
clientعلــى البيانــات بعــد 100msمــن serverفيمـا اذا كان هنالـك بيانـات جديـدة بصورةعامـة عندمـا تكـون البيانـات محدثـة
ام لا .ومثــال علــى ذلــك أســتخدام تقنيــات فالهيكليــة لاتحتــاج الــى تحيــث ومــن هنــا
حصــول serverعليهــا . ال AJAX HTTP Requestلعمــل طلــب علــى جائــت الرغبــة الــى التفكيــر بأســتخدام
-فـي حالـة الــ :data pullلنفـرض انـه client بيانـات جديـدة و ُتعـرف هـذه الطريقـة بأنهـا تقنيــات تعمــل علــى تحديــث محتــوى
يقــوم بعمــل طلــب الــى serverكل ,10s ( )Two-Way-Messagingحيــث يقــوم client الصفحـة باسـرع وقـت وبصـورة اتوماتيكيـة
فبالتال ـي ســوف يحص ـل علــى البيان ـات بعــد بعمــل ( )requestالــى serverفــي الخطــوة بـدون الحاجـة الـى عمـل ( )reloadللصفحـه
الاولـى ,ومـن ثـم يرسـل serverالاسـتجابة
( ,)10s + 100msأي بعــد (!)ms 10100 لــه فــي الخطــوة الثانيــة وعــادة الاســتجابة مــن قبــل المســتخدم.
وبهــذا يمكــن الاســتنتاج بــأن قيمــة ال تكــون أمــا ( )New Dataاو فارغــة (empty ســوف نتحــدث فــي هــذا المقــال عــن
latencyفـي حالـة الــ data pushتكـون أقـل )Responseفــي حالــة عــدم وجــود بيانــات أشــهر التقنيــات التــي تضمــن التأكــد مــن
• لايوجــد هــدر فــي أســتخدام المــوارد (CPU جديــدة .الصــورة التاليــة توضــح عمــل ال أن الاشــخاص الذيــن يســتخدمون الموقــع
.)cycle , Network Bandwidthبخــاف ال الالكترونــي علــى شــبكة الويــب يحصلــون
,data pullفلنفــرض فــي حالــة قيــام ال .data pull علــى محتــوى محــدث بصــورة تلقائيــة
clientبعمــل طلــب متكــرر للبيانــات وهـذه التقنيـات هـي علـى نوعيـنdata push :
(كل عــدد معيــن مــن الثوانــي) ,وفــي الواقــع او ماتعــرف بالــ ( )Server-sent-Eventو الــ
.data pull
ال serverلايملــك بيانــات جديــدة ,ســوف Data Push . 1
يـؤدي ذلـك الـى هـدر فـي أسـتخدام المـوارد
وعمــل مزيــد مــن الطلبــات بــدون جــدوى.
• ( )automatic reconnectionتقــوم الــ الــ data pushاو )Server sent Event) SSE
SSEباعــادة الاتصــال مــع serverفــي حالــة و ُتعــرف علــى انهــا احــد تقنيــات ال HTML5
والتــي تســمح لــل ( )serverبأرســال بيانــات
انقطاعــه . جديــدة ( )New Dataمباشــرة الــى (,)client
أمثلة عن تطبيقات الكترونية تستخدم الصورة Data pull :2 وال ـذي يقص ـد ب ـه هن ـا صفح ـة الوي ـب ,فف ـي
تقنية ال SSE هــذه التقنيــة يكــون أتجــاه نقــل البيانــات
Facebook / twitter updates .1 مميزات Data Push/SSE مــن serverالــى clientكمــا موضــح فــي
مــن الملاحــظ انــه نتيجــة تطبيــق ِكلتــا الصــورة التاليــة بــدون الحاجــة الــى انتظــار
Chat Application .2 التقنيتيــن تــؤدي فــي النهايــة الــى حصــول طلـب ( )requestمـن ( .)clientوعـادة يطلـق
Online Game . 3 عليهــا ()One-Way Messaging
News feed . 4
Sport results . 5
clientعلـى بيانـات جديـدة New Dataوبـدون
عمــل reloadللصفحــة.
.ولكــن الجديــر بالذكــر أن ال data push
تمتلــك بعــض المميــزات وهــي:
• ســرعة حصــول ال clientعلــى البيانــات
الجديــدة ,حيــث تكــون ال latencyقليلــة
جــدا.
الصورة Data push :1
زينب سالم علوان 8

