تطبيقات إنترنت
هو عبارة عن تطبيق شبكي يملك مميزات و قدرات كما هو عند تطبيقات المستخدم Desktop Applications . عادةً يشكل RIA تطبيقات زبائن بطبقات خدمة منفصلة على الـ Back-End .
- RIA ليس بحاجة إلى تنصيب برنامج حيث يعمل في المستكشف .
- يعمل RIA محليا في بيئة آمنة تسمى صندوق الرمال .
التطبيقات الشبكية التقليدية تركز أعمالها حول هندسة الزبون/المخدم ( 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 ) :
هذا الغنى بالتوابع يمكن أن يتضمن كل شيء يمكن تحقيقه ( 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 . يُستخدم WAI-ARIA لحل هذه المشكلة وكذلك يقدم طريقة لإضافة دور خطير Critical Role.
- بشكل عام الـ RIA لا يمكنها الانتشار بالطريقة التقليدية للتطبيقات العادية وتوجد بعض الاستثناءات .
- فيما يتعلق بالأمان ( Security ) توجد عدة أطر عمل تزود المستخدم بالوصول إلى نظام التشغيل المحلي أكثر من التقنيات القديمة المبني عليها .
هذه الإضافة في أيدي المطورين تعطي تطبيقات RIA القدرة على إنشاء أو تفعيل نقاط ضعف شبكية تقليدية مثل : Cross Site Scripting و التي تستخدم للهجوم على المستخدمين و من المحتمل انتشار الفيروسات .
المصادر References : www.wikipedia.org www.flexcity.com