• 0
daziplqa

خطوه بخطوه إنشاء تطبيق EJB بإستخدام Eclipse

سؤال

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

إنشاء تطبيق EJB -(Enterprise Java Beans ) هو أمر لطالما أردت طرحه هنا في المنتدي ... و لعل الوقت حان لكي أفعل ذلك ....

أولا: أريد أن أتحدث سريعا عن ماهية تطبيق ال EJB ..

ال EJB يعتبر قلب ال Java Enterprise Edition.. و بعكس تطبيقات ال JSP/Servlet .. فإن تطبيقات ال EJB تحتاج إلى خادم يسمعى Application Server لكي تعمل داخله..

فكما نعلم أن ال Servlet/Jsp فقط تحتاج لخادم HTTP بالإضافه ل Servlet Container .. لكن ال EJB تحتاج ل HTTP Server بجانب EJB container .. و هو ما يطلق عليه Application Server ..

فال Application Server يستطيع تشغيل برامج ال EJB بالإضافه لبرامج ال Servlets/JSP .. و بالتالي فإن به وعائان أساسيين EJB Container و Servlet Container بالإضافه لأشياء أخري (مثل Messaging server ... إلخ )

و الأمثله على ال Application Servers كثيره .. منها ما هو مفتوح المصدر مجاني مثل JBoss و GlassFish و منها ما هو ملك للشركات مثل Oracle App Server و للإختصار نكتب (OAS) و أيضا ما هو ملك ل IBM و هو WebSphere ... و للإختصار نكتب WAS ...

ثانيا : الشكل النهائي لتطبيق ال EJB ...

كما يعمل معظمنا أن الشكل النهائى لتطبيق ال جافا ينتهي بالاحقه .jar .. و الشكل النهائي لتطبيق ال Servlet/JSP (أو JSF) ينتهي بالاحقه .war ... أما الشكل النهائي لتطبيق ال EJB ينتهى بالاحقه .jar أيضا..

لكن لاحظ أن تطبيق ال EJB غالبا يتم نشره داخل ال App Server على أنه Enterprise Application و يأخذ اللاحقه .ear ..

إذن تطبيق ال EJB يكون غالبا عباره عن ملف منتهى ب .ear و يكون بداخله ملف ال ejb و هو يكون منتهى ب .jar ..

لاحظ أيضا أن تطبيق ال Servlet/JSP يمكن نشره في صورة Enterprise App ينتهى ب .ear و يكون بداخله ملف ال .war ...

قد يسأل سائل .. إذن ما الفائده من وجود ملف .ear يكون بداخله ملف .war أو .jar ...

هناك عدة فوائد ... منها:

1- إذا كان لديك تطبيق كبير يتكون من عدة تطبيقات EJB بالإضافه لعدة تطبيقات WAR .. فبإمكانك حزمهم جميعا معا داخل ملف EAR واحد و القيام بنشره مره واحده على الخادم

2- في بعض الخوادم (Application Servers) تقدم مميزات إضافيه تحصل عليها بوضع بعض الملفات داخل ال EAR .. و بمجرد نشر التطبيق على الخادم .. يقوم الخادم بعمل شئ معين بناء على هذه الملفات الموجوده..

ثالثا ... الجزء العملى ....

سوف نقوم بإنشاء تطبيق Enterprise Application بداخله تطبيق EJB و نقوم بنشره على Oracle Application Server (لا تختلف الخطوات كثيرا إذا أردنا نشره على أي خادم أخر) و من ثم سوف نقوم بكتابة عميل يقوم بإستدعائه..

أولا قم بتحميل Eclipse .. ثم قم بتحميل Jdeveloper ..

سوف نستخدم ال oc4j (و هو نسخه خفيفه من oracle app server ) الذي بداخل jdeveloper ..

أولا حمل ال jdeveloper من موقع أوراكل ... يجب أن تكون نسخه 10.1.3.x ..لأنها هي التي تحقق EJB3 (أنا حاليا أستخدم jdevj2eebase10132)

الملف المحمل سوف يحمل الإسم jdevj2eebase10132.zip ( تستطيع أن تحمل Jdev version 11 لكني لم أجربه بعم)

قم بفك الملف إلى أي مجلد تريده ..

قم بفتح Eclipse ... و من Servers إختار New> Server ..

ثم إختار Oracle ثم Oracle OC4J Standalone Server 10.1.3.n .. كما بالشكل التالي:

post-70497-080065800 1301068152_thumb.pn

إضغط الزر Next .. ثم قم بعمل Browse للمسار الذي وضعت به ال Jdev ثم إختر المجلد j2ee ثم المجلد home ثم إضغط على ok .. كما بالشكل التالي:

post-70497-002470100 1301068268_thumb.pn

إضغط Next ثم Next ثم Finish..

هناك نقطه هامه يجب ملاحظتها ... ال oc4j يأتي بمستخدم غير مفعل .. يجب علينا تفعيله أولا قبل بدء الخادم..

قم بتحرير الملف:

jdevj2eebase10132/j2ee/home/config/system-jazn-data.xml 

ستجد في أول الملف هذه الأسطر:

			<user deactivated="true">
<name>oc4jadmin</name>
<display-name>OC4J Administrator</display-name>
<guid>EB5375602AD911E08F414FF4AB83D954</guid>
<description>OC4J Administrator</description>
<credentials>{903}74I5jSo1O543z7HPDrz+wJO78gtkQ+IK</credentials>
</user>

قم بتغير <user deactivated="true"> ل <user deactivated="false">

الآن إحفظ الملف و إغلقه ثم إذهب إلى Eclipse و قم بعمل start للخادم ..

لاحظ ظهور هذه الرساله في ال Console ..

11/03/25 17:56:40 Oracle Containers for J2EE 10g (10.1.3.1.1)  initialized

و هي تعنى أن الخادم تم تشغيله بنجاح..

الأن دعنا نقوم بإنشاء تطبيق Enterprise Application و من داخله سوف ننشأ تطبيق EJB ... (كما تحدثنا بالأعلى)

من File ... إختر New ثم Other (او إضغط CTRL+N )..

إختر Enterprise Application Project .. و إضغط على التالى:

قم بإدخال إسم المشروع وليكن HelloWorldEAR

تأكد أن ال target run time هى خادم أوراكل (oc4j) الذي قمنا بإنشاءه.. أيضا تأكد أن ال EAR version هي 5 كما بالصوره ..

post-70497-092978800 1301068892_thumb.pn

ثم إضعط على Next

إضغط على الذر New Module ... قم بإلغاء علامات الصح من جانب الجميع إلا EJB Module كما بالشكل التالي:

post-70497-068171000 1301069071_thumb.pn

إضغط على Finish ... سيقوم بغلق هذا الحوار و إرجاعك للمربع الحواري السابق .. تأكد من وضع علامة صح أمام Generate application.xml deployment descriptor

ثم أضغط على Finish ..

لاحظ أن Eclipse قام بإنشاء مشروعين .. مشروع بإسم HelloWorldEAR و مشروع بإسم HelloWorldEAREJB ( طبعا يمكنك إستخدام الأسماء التي تناسبك)

// TODO

تم تعديل بواسطه هويدي
3

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

0 إجابة على هذا السؤال .

لاتوجد إجابات على هذا السؤال حتى الآن .

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .