السلام عليكم و رحمة الله :
سأبدأ بإذن الله بمجموعة من الدروس الاختصاصية التي تتناول Oracle Forms 10g و سأبدها بعون الله بهذا الدرس الذي سيكون حول سيكون حول WebUtil و كيقية تثبيتها و التعامل معها و قد وضعته رغم زحمة الامتحانات بسبب رغبة عدد كبير من الأعضاء لمعرفة إمكانيات هذه الأداة و سأقسم الدرس إلى حوالي ثلاثة أجزاء لكي لا يمل القارئ ... و أرجو أن تكون الردود عبارة عن أسئلة فقط و ليس عبارات الشكر للإفادة ...
و سنبدأ بعونه تعالى :
ما هو 3Tier :
مع ظهور oracle forms 9i و ما بعد أطلت علينا أوراكل بنمط جديد أسمته 3tier أو السلسلة :
oracle Server (قاعدة البيانات ) ------ Application Server (الجهاز الذي نضع عليه برامجنا )---Cleint (المستخدم )
أي أن أيام developer 6i قد ولت إلى غير رجعة ... فحينها لم نكن نحتاج إلى ثلاثة مكونات و إنما كان يكفي تثبيت Oracle Server على الجهاز الرئيسي و Oracle Forms Run Time على جهاز client و انتهت المشكلة و اصبح لدينا برنامج يعمل بكفاءة عالية ... و لكن الأمور أختلفت الآن و السبب أن أوراكل أرادت تخفيف الضغط عن جهاز السيرفر الذي يحوي القاعدة و السبب أن جميع مستخدمي Oracle Forms و مستخدمي القاعدة بشكل أساسي (pl sql ---sql – Database Administration ( سينفذون أعمالهم على oracle Server و هذا ما يؤدي إلى ضغط كبير على المخدم و يؤدي في حالات كثير إلى عملية إختناق بسبب كثر ة الطلبات ... إضافة إلى ذلك أنه في الماضي كنا نضطر إلى تنصيب أوراكل client و Oracle Forms Runtime في كل جهاز عميل client و هذه مصيبة كبيرة لأنه لو أردات أوراكل للـ Oracle Forms أن يكون مستقبلاً من أقوى أدوات برامج الويب Internet Application لوجب على كل مستخدم تثبيت ما سبق على جهازه <_< .....
إذا من الأسباب السابقة توجهت أوراكل إلى ما يسمى oracle Application Server لكي يكون المنصة التي نقوم بعملية نشر deploy لبرامجنا .fmx و عندها لن نضطر إلى تثبيت أي شيء على جهاز العميل سوى مستعرض الانترنت الداعم لتطبيقات الجافا و تطبيق صغير يدعى jInitiator ( جافا انشياتور ) لا يتجاوز حجمه 7.00 ميغا بكل بساطة :unsure: !!!!!!!!!!!!!!
إذن لنوجز الكلام : لكي يكون لدينا تطبيق يعمل يجب علينا مايلي :
1- تثبيت أوراكل سيرفر ( القاعدة )
2- تثبيت Application Server
3- تثبيت مستعرض انترنت (مثل متصفح ويندوز العظيم IE ) بالإضافة لــ jInitiator >>>
أعلم الآن أن الرسائل سوف تهطل علي كالمطر و ردود الاستهجان و إلخ :angry: .... و السبب : أن الجميع سيقول : إنني أعمل حالياً على Oracle froms و تطبيقاتي تعمل بشكل ممتاز و لم أحتج لكل " الزعبلات" التي تحدثت عنها سابقاً :blink: ؟؟؟؟
و الرد : أن أوركل حتى لا تتعب المبرمج بعملية أنه كلما قام بتعديل على برنامجه يجب عليه تحميله على application server ثم تجربته (و هذه عملية متعبة ) قامت بكل بساطة بتضمين جزء من Application Server مع تنصيب Oracle Developer Suite أي انك و بدون أن تدري قد أصبح لديك Oracle Application Server (بالمعنى الموجز ) مثبت على جهازك .....
إذاً ما الحاجة إلى WebUtil :
بسبب البنية السابقة إذاً لم يعد المبرمج فعلياً يتعامل مع client و إنما أصبح تعامله مع Application Server أي لو كان لدينا تطبيق يقوم بالقراءة من ملف فإننا في 6i كنا نقرأ من جهاز الكلاينت أما في 10g فإننا نقرأ من جهاز Application Server !!!!!!!!!!
عندها توجهت أوراكل إلى تنبيه مبرمجي Forms إلى ضرورة استخدام JavaBean في تعاملهم مع client و بالتاي ستضطر إلى استخدام java أو مكونات component جاهزة لتنفيذ ما تريد .. و هذا ما أثار موجة غضب المبرمجين الذي لا يعلمون شيئاً عنjava و بدأ التذمر و اضحاً في منتديات أوراكل مما حدا oracle إلى إصدار أداة جديدة قامت بتسميتها بـ WebUtil .....
إذاً :
WebUtil هي أداة تسمح بعملية تنفيذ أوامر مباشرة على جهاز client دون أن يضطر المبرمج إلى كتابة حرف واحد من java ... تتألف من صفوف جافا و أغراض فورم و pl/sql Api ....
إن WebUtil لا تنصب تلقائياً مع أوراكل ديفيلوبر و إنا يجب تنصيبها منفصلة ... معلومات عن تحميلها و كيفية تنصيبها نجدها على الرابط التالي :
http://otn.oracle.com/products/forms/htdoc...til/webutil.htm
ما الذي تقدمه WebUtil :
1- قراءة و كتابة الملفات على جهاز client .. مع إمكانية استعراض الملفات من جهاز الكلاينت
2- نقل الملفات بين الكلاينت – Application Server ----- Database ..
3- قراءة متحولات الكلاينت (مثل قيم Registry ) ..
4- التوافقية مع برامج C أي تنفيذها على جهاز client ..
5- تنفيذ أوامر نظام على جهاز client ( طبعاً ليس عمليات format !!!!!! حتى لا يفكر أحد بالإختراق و الأذى) ...
6- التعامل مع مستعرض الانترنت كمثال إظهار رسائل على المستعرض ...
و إذا لم تجد حاجتك فعندها أنت مضطر لكتابة جافا ....
الجزء الثاني سيكون حول تثبيت WebUtil و شرح مكوناتها ..... بالتوفيق للجميع ..