الانتقال إلى المحتوى

دروس حول Webutil و استخداماته


ambitious dream

Recommended Posts

السلام عليكم و رحمة الله :
سأبدأ بإذن الله بمجموعة من الدروس الاختصاصية التي تتناول 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 ميغا بكل بساطة !!!!!!!!!!!!!!
إذن لنوجز الكلام : لكي يكون لدينا تطبيق يعمل يجب علينا مايلي :
1- تثبيت أوراكل سيرفر ( القاعدة )
2- تثبيت Application Server
3- تثبيت مستعرض انترنت (مثل متصفح ويندوز العظيم IE ) بالإضافة لــ jInitiator >>>
أعلم الآن أن الرسائل سوف تهطل علي كالمطر و ردود الاستهجان و إلخ .... و السبب : أن الجميع سيقول : إنني أعمل حالياً على Oracle froms و تطبيقاتي تعمل بشكل ممتاز و لم أحتج لكل " الزعبلات" التي تحدثت عنها سابقاً ؟؟؟؟
و الرد : أن أوركل حتى لا تتعب المبرمج بعملية أنه كلما قام بتعديل على برنامجه يجب عليه تحميله على 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 لا تنصب تلقائياً مع أوراكل ديفيلوبر و إنا يجب تنصيبها منفصلة ...

ما الذي تقدمه WebUtil :
1- قراءة و كتابة الملفات على جهاز client .. مع إمكانية استعراض الملفات من جهاز الكلاينت
2- نقل الملفات بين الكلاينت – Application Server ----- Database ..
3- قراءة متحولات الكلاينت (مثل قيم Registry ) ..
4- التوافقية مع برامج C أي تنفيذها على جهاز client ..
5- تنفيذ أوامر نظام على جهاز client ( طبعاً ليس عمليات format !!!!!! حتى لا يفكر أحد بالإختراق و الأذى) ...
6- التعامل مع مستعرض الانترنت كمثال إظهار رسائل على المستعرض ...
و إذا لم تجد حاجتك فعندها أنت مضطر لكتابة جافا ....
الجزء الثاني سيكون حول تثبيت WebUtil و شرح مكوناتها ..... بالتوفيق للجميع ..

تم تعديل بواسطة Ahmad.Hasan
الموضوع منقول
رابط هذا التعليق
شارك

اتمنى ان يوفقك الله وياريت لو تطلعها لينا بنس هذه الطريقة فهي مناسبة للشرح
واثابك الله عليها الثواب الاعظم ووالديك

رابط هذا التعليق
شارك

اشكر كل من دخل الموضوع واسف على التاخير للاسباب الى تمر بها مصر حاليا ادعو الله من قلوبكم ان تمر هذه الازمه على خير

الجزء الثاني

تركيب Webutil :
تعد عملية التركيب من أصعب ما واجهت في عمليات التركيب في لغات البرمجة كاملة و ما فاجئني حقاً هو غموض manual الذي يأتي مع webutil و أخطائه العديدة ... و بعض جهد جهيد و عمل متواصل و سؤال هنا و هناك حتى فكت طلاسم التركيب و تم الأمر و فعلاً فإن استخدام هذه الأداة ينسيك كل ما عانيته في عملية التركيب لإنها تتيح لك مجالاً واسعاً للإستفادة من قوة Developer Suite 10g and 9i .....
و لنبدأ :
يمكنك تركيب webutil سواء على application server الذي ستقوم بعملية deploy لبرنامج عليك أو عملية التركيب على Developer من أجل التجربة و التركيب على الإثنين متماثل في الخطوات ..
أولاً : عليك تحميل webutil من هنا :
الرابط الخاص بي
او انك دخل على موقع اوركل الرسمي وتكتب في البحث webutil
ثانياً عليك تحميل ملف jacob :
الرابط الخاص بي

و سنرى عمله بعد قليل بإذن الله ...
بعد التحميل و فك الضغط ستجد ليدك مجلدين : webutil106 و Jacob ...
و لنبدأ هذه العملية الطويلة و المملة فعلاً :

1- انسخ مجلد webutil الموجود داخل webutil106 إلى المسار DeveloperHome\forms ..
2- انسخ الملف jacob.dll إلىالمسار السابق و الملف jabcob.jar داخل oraclehome\forms \java .. كلا الملفين تجدهما في الملف المضغوط jabcob ...
3- داخل المجلد webutil106\java ستجد الملف frmwebutil.jar انسخه إلى المجلد DeveloperHome\forms\java ..
4- داخل الملف Developer\j2ee\DevSuite\application-deployments\forms\forms90web قم بإضافة التالي :


@<virtual-directory virtual-path="/webutil" real-path="D:\oracle\product\10.1.0\Developer\forms\webutil" /> لا تنسى أن تستبدل المسار بالمسار الموجود لديك
5-داخل الملف Developer\ forms\ server\server\formsweb.cfg يوجد مايسمى [default] ( و هي القيم الإفتراضية التي تهم التطبيق و التي تحدثنا عنها في مشاركات سابقة ) قم بإضافة مايلي :
archive_jini=f90all_jinit.jar,frmwebutil.jar,jacob.jar
archive=f90all.jar

و قم بإضافة :

[webutil]
WebUtilLogging=off
WebUtilLoggingDetail=normal
WebUtilErrorMode=Alert
WebUtilDispatchMonitorInterval=5
WebUtilTrustInternal=true
WebUtilMaxTransferSize=16384
baseHTMLjinitiator=webutiljini.htm
baseHTMLjpi=webutiljpi.htm
baseHTML=webutilbase.htm
archive_jini=frmall_jinit.jar
WebUtilArchive=frmwebutil.jar,jacob.jar,f90all.jar
archive=frmwebutil.jar,f90all.jar
lookAndFeel=oracle


6- افتح الملف developer\forms\server\default.env
FORMS_PATH=D:\oracle\product\10.1.0\Developer\forms90;D:\oracle\product\10.1.0\Developer\forms\webutil
WEBUTIL_CONFIG=D:\oracle\product\10.1.0\Developer\forms\server\webutil.cfg

و ستجد في نفس الملف CLASSPATH قم بإضافة ما يلي إليه :

;D:\oracle\product\10.1.0\Developer\forms\java\jacob.jar;D:\oracle\product\10.1.0\Developer\jdk\jre\lib\rt.jar;D:\oracle\product\10.1.0\Developer\forms90\java\frmall.jar;D:\oracle\product\10.1.0\Developer\forms90\java\frmwebutil.jar;

استيدل سطر path بما يلي :

PATH=d:\oracle\product\10.1.0\Developer\jdk\bin;d:\oracle\product\10.1.0\Developer\jdk\jre\bin\classic;d:\oracle\product\10.1.0\Developer\jdk\jre\bin; d:\oracle\product\10.1.0\Developer\jdk\jre\bin\client;d:\oracle\product\10.1.0\Developer\jlib;d:\oracle\product\10.1.0\Developer\bin;d:\oracle\product\10.1.0\Developer\jre\1.4.2\bin\client;d:\oracle\product\10.1.0\Developer\jre\1.4.2\bin;
d:\oracle\product\10.1.0\Developer\bin;d:\oracle\product\10.1.0\Developer\jdk\jre\bin\client


ملا حظة هامة جداً : لا تنسى استبدال المسارات الموجودة بالمسار الذي لديك ...

7-افتح الملف devloper\forms\server\webutil.cfg و قم بإضافة ما يلي إلى نهاية الملف :

transfer.database.enabled=TRUE
transfer.appsrv.enabled=TRUE

8- ستجد الآن ملف sign_webutil.bat ( دفعي ) داخل مجلد webutil قم بتنفيذه بالشكل :
أ – من run في القائمة start اكتب cmd ثم Enter ..
ب- انتقل إلى المسار الذي يحوي الملف السابق ثم اكتب :

sign_webutil.bat DeveloperHome\forms\java\frmwebutil.jar
sign_webutil.bat DeveloperHome\forms\java\jacob.jar
لا تنسى استبدال المسار ..
و يستخدم الملف السابق من أجل تسجيل jacob و webutil.jar ..

9 - و أخيراً : آخر خطوة و هي إنشاء packages التي تساعد في عملية التعامل مع القاعدة من ناحية التحميل و التخزين داخل القاعدة ...إلخ ( سنتعرف عليه في الدروس اللاحقة بإذن الله ) ...
لديك خيارين لإنشاء الحزمة :
1- إما إنشاءها على مستخدم وحيد و بالتالي ستضطر إلى استعما حسابه في كل برنامج تقوم بتنفيذه ...
2- أو أن تنشأها على حساب جديد (لنسميه webutilowner ) ثم نقوم بمنح الصلاحيات لتنفيذ الحزم للجميع أي public ....
المهم قم بتنفيذ الخيار الذي تريد و بذلك بتنفيذ الملف create_webutil_db.sql الموجود داخل المجلد webutil106 ...
و بهذا اكتملت عملية التركيب كاملة أما التاكد من صحة التركيب و التمارين ففي الدرس القادم بإذنه تعالى ...

رابط هذا التعليق
شارك

  • بعد 2 أسابيع...
  • بعد 1 شهر...
  • بعد 2 أسابيع...
  • بعد 1 شهر...

اخي الكريم انا مش فاهم الخطوه بتاعت


@<virtual-directory virtual-path="/webutil" real-path="D:\oracle\product\10.1.0\Developer\forms\webutil" /> لا تنسى أن تستبدل المسار بالمسار الموجود لديك


علما باني استخدم 10 جي

رابط هذا التعليق
شارك

ياخواني
انا بيطلعلي الخطاء ده وانا شغال
oracle.forms.webutil.file.filefunctions bean not found webutil_file.file_se


وبحثت كتير مش لاقي حل خلاص انا تعبت جدا للو حد اشتغلت معاه يبقى يقولي

رابط هذا التعليق
شارك

  • بعد 7 شهور...
  • بعد 2 شهور...

فعلا دي من علامات الساعه لما حد ياخد موضوع واحد تاني وينسبه لنفسه من غير ما حتى ينسب الفضل لصاحب الموضوع او يقول في الاخر انه منقول
فعلا ضيعت الامانات
http://www.arabteam2...showtopic=97213
اهو ده اللينك اللي يثبت كلامي
حسبنا الله

تم تعديل بواسطة m_salem80
رابط هذا التعليق
شارك

  • بعد 9 سنة...

السالم عليكم شكرا على هده الدرروس القيمة لاكني في مشكل :

انتقلت من form6i و oracle9i الى 12c لاحضت شىء ان التكست قورم بالعربي بصبح ????  مع العلم ان في form6i تضهر جيدا لارجو المساعدة ان كان عندكم حل
..1252nls_lang :french 

رابط هذا التعليق
شارك

وعليكم السلام ورحمة الله وبركاته 

هذه المشكله لأنه لم تغير الرجستري إلى 

.AR8MSWIN1256

  هذه إحدى الحلول ..

او تاكد من الجهاز هل يدعم العربي من خلال لوحة التحكم>> المنطقة >> تحولها من الإتجليزي إ‘لى العربي ...

 

 

موفق,,,

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية