تطبيق إنترنت غني
نبذة تاريخية

التطبيقات الشبكية التقليدية تركز أعمالها حول هندسة الزبون/المخدم ( Client \ Server )
مع العميل نحيف (Thin Client ) و بهذا النظام تنفذ كل العمليات على المخدم، والزبون يُستخدم لإظهار النتائج بطريقة غالباً تكون HTML . أكبر سيئات هذا النظام أن كل تفاعل مع التطبيقات يجب أن يمر من خلال المخدم مما يتطلب إرسال المعطيات إلى المخدم واستجابة المخدم وإعادة الصفحة إلى الزبون من أجل الاستجابة .
من خلال RIA و تقنيات جهة المستخدم يمكن تنفيذ التعليمات على حاسب المستخدم والاستغناء عن دائرة المزامنة .
الصفة المشتركة للصفحات التي تستخدم RIA أنها تقدم طبقة وسيطة من الكود تدعى غالباً بمحرك المستخدم Client Engine بين المستخدم والمخدم .
يعمل هذا المحرك كامتداد للمستكشف وغالباً ما يأخذ المسؤولية في إظهار واجهات المستخدم للتطبيق والاتصال مع المخدم .
استخدم تعبير RIA لأول مرة من قبل شركة Macromedia عام 2000 ولكن هذا المفهوم تواجد سابقاً تحت أسماء عديدة وهي :
- Remote Scripting من شركة Microsoft عام 1998 .
- X Internet من شركة Forrester Research في عام 2000 .
- Rich Clients .
- Rich Web Application .
فوائد استخدام RIA :
باعتبار أن تطوير التطبيقات التي تعمل على المستكشف أكثر محدودية وبحاجة إلى عملية تفاعل وأصعب من تطوير التطبيقات العادية وبالتالي نجد :
'فوائد الـ Web Application بالمقارنة مع التطبيقات العادية :
التحديث والتطوير (الترقية ) لنُسخ ( Verions ) أحدث يمكن أن تحصل بشكل آلي .
وأن تكون مخفية للـ End User .
يمكن للمستخدم استخدام التطبيق من أي حاسب متصل مع الانترنيت .
توجد العديد من الأدوات التي تسمح باستخدام التطبيق بدون اتصال مثل :
Google Gears و Curl و تقنيات أخرى .
معظم تقنيات الـ RIA تسمح للمستخدم بالعمل بغض النظر عن نظام التشغيل الذي يستخدمه .
فوائد RIA بالمقارنة مع الـ ( Web Application ) :
أغنى (Richer ) : يمكن أن يقدم الـ RIA سلوك لـ واجهات المستخدمين والذي لا يمكن الحصول عليه من خلال HTML فقط والذي تعتمد عليه التطبيقات الشبكية .
هذا الغنى بالتوابع يمكن أن يتضمن كل شيء يمكن تحقيقه ( Implementing )في هذه التقنية واستخدامه في طرف المستخدم حتى ميزة Drag and Drop .
أكثر استجابة More Responsive :إن سلوك الواجهات الطبيعي أكثر استجابة من المستكشف القياسي الذي غالباً يكون بحاجة للتواصل مع المخدم .
التوازن بين المخدم والزبون حيث نستفيد من موارد الزبون .
تزامن الاتصال (Asynchronous Communication) :
إن محرك الزبون (client Engine ) يتفاعل مع المخدم بدون انتظار المستخدم، مما يسمح للمطورين باستخدام الـ RIA للتحكم بالنقل بين المخدم والزبون بدون الحاجة إلى انتظار الزبون .
-	فعالية الشبكة ( Network Efficiency ) يمكن تقليص انشغالية الشبكة بشكل كبير وذلك لأن محرك المستخدم أذكى من المستكشف القياسي ويمكنه تحديد المعطيات التي هو بحاجة إلى تبادلها مع المستخدم .
الممنوع والمسموح في التعامل مع RIA :
Sand Box :
لأن RIA يعمل ضمن صندوق الرمال فهو محدود الوصول إلى موارد النظام .
Enabled Scripting( تفعيل الـ Script ) :
إذا ألغى المستخدم إمكانية الـ Script في المستكشف فسيفشل حتماً الـ RIA في التنفيذ .
سرعة معالجة الزبون :
للوصول إلى قاعدة ذاتية platform لا تعتمد على أحد برامج الـ RIA ( تعتمد على Script) في طرف المستخدم مكتوب بـ لغة مفسرة مثل Java Script ، وذلك على حساب خسارة جزء من الأداء .
زمن تحميل الـ Script:
بالرغم من أن الـ Script ليس بحاجة إلى تنصيب إلا أن تطبيقات RIA بحاجة إلى إيصال المعلومات من المخدم إلى الزبون وذلك قد يستغرق وقت طويل .
خسارة رؤية محركات البحث :
يمكن لمحركات البحث أن تعجز عن الوصول إلى دليل محتويات النص في التطبيق .
الاعتماد على الاتصال مع الـ Internet :
لا يمكن لـ RIA وحده العمل دون اتصال فهو بحاجة لقاعدة خاصة مثل Adobe Air أو غيرها للعمل .
الاعتماد على عرض الحزمة :
يمكن أن لا يعمل الـ RIA بالطريقة المطلوبة في حال العمل ضمن حزمة ضيقة .
الوصولية :
هناك العديد من القضايا المتعلقة بالوصوليات في الـ RIA وأكثرها وضوحا حقيقة أن قارئي الشاشة يعانون من الصعوبات في اكتشاف التغيرات الديناميكية التي تحصل في محتويات HTML .
يُستخدم واي-أريا لحل هذه المشكلة وكذلك يقدم طريقة لإضافة دور خطير Critical Role.
بشكل عام الـ RIA لا يمكنها الانتشار بالطريقة التقليدية للتطبيقات العادية وتوجد بعض الاستثناءات .
فيما يتعلق بالأمان ( Security ) توجد عدة أطر عمل تزود المستخدم بالوصول إلى نظام التشغيل المحلي أكثر من التقنيات القديمة المبني عليها .
هذه الإضافة في أيدي المطورين تعطي تطبيقات RIA القدرة على إنشاء أو تفعيل نقاط ضعف شبكية تقليدية مثل :
Cross Site Scripting و التي تستخدم للهجوم على المستخدمين ومن المحتمل انتشار الفيروسات .