Java EE - اهو ڇا آهي؟
Java EE هڪ پليٽ فارم آهي جيڪو Java SE جي چوٽي تي ٺهيل آهي جيڪو هڪ API ۽ رن ٽائم ماحول فراهم ڪري ٿو ترقي ۽ هلائڻ لاءِ وڏي پيماني تي، ملٽي ٽائر، اسپيبلبل، قابل اعتماد، ۽ محفوظ نيٽ ورڪ ايپليڪيشنون. اهڙين ايپليڪيشنن کي انٽرپرائز ايپليڪيشنس سڏيو ويندو آهي ڇاڪاڻ ته اهي مسئلا حل ڪن ٿا وڏن ڪاروبار کي درپيش. بهرحال، اهو صرف وڏيون ڪارپوريشنون ۽ سرڪاري ادارا نه آهن جيڪي انهن قسمن جي ايپليڪيشنن مان فائدو حاصل ڪري سگهن ٿا ۽ جاوا EE مهيا ڪري ٿو. حل جيڪي جاوا اي اي پليٽ فارم پيش ڪري ٿو ڪارائتو آهن، ۽ ڪڏهن ڪڏهن صرف ضروري، انفرادي ڊولپرز ۽ ننڍن تنظيمن لاء.جاوا EE ترقي
جاوا اي اي جاوا ڪميونٽي پروسيس (JCP) ذريعي ترقي ڪئي وئي آهي، جيڪا 1998 ۾ ٺاهي وئي. اها دلچسپي پارٽين کي اجازت ڏئي ٿي ته جاوا ٻولي جي پليٽ فارم جي وضاحتن جي مستقبل جي ورزن کي ترتيب ڏيڻ ۾ حصو وٺن. ھن عمل جو بنياد آھي JSR (جاوا اسپيسيفڪيشن جي درخواست)، رسمي دستاويز بيان ڪري ٿو وضاحتون ۽ ٽيڪنالاجيون جيڪي تجويز ڪيل آھن جاوا پليٽ فارم ۾ شامل ڪيا وڃن. اهڙيون درخواستون ڪميونٽي جي ميمبرن پاران ڪيون ويون آهن - عام ڊولپرز ۽ ڪمپنيون. بعد ۾ شامل آهن Oracle، Red Hat، IBM، Apache ۽ ٻيا ڪيترائي. اهي. ماڻهو تجويز ڪن ٿا نيون خاصيتون ۽ شيون غور ڪرڻ لاءِ ته اهي جاوا ۾ شامل ڪرڻ چاهيندا. ۽ پوء اهي هڪ ووٽ رکون ٿا، جنهن جي بنياد تي فيصلو ڪيو ويو آهي ته ايندڙ ورزن ۾ ڇا شامل ڪيو وڃي. جاوا EE ورجن جي تاريخ هن طرح ڏسجي ٿي:- J2EE 1.2 (ڊسمبر 1999)
- J2EE 1.3 (سيپٽمبر 2001)
- J2EE 1.4 (نومبر 2003)
- Java EE 5 (مئي 2006)
- Java EE 6 (ڊسمبر 2009)
- جاوا EE 7 (مئي)
- جاوا EE 8 (آگسٽ 2017)
- جڪارتا EE 8 (سيپٽمبر 2019)
جاوا EE ايپليڪيشن آرڪيٽيڪچر
مختصر تعارف. ان کي سمجهڻ ۾ آساني پيدا ڪرڻ لاءِ، اچو ته جاوا EE ايپليڪيشنن جي ڍانچي ۽ ڪجهه اصطلاحن جي باري ۾ ڳالهايون جيڪي اسان اڳتي استعمال ڪنداسين. جاوا EE ايپليڪيشنن ۾ هڪ جوڙجڪ آهي جنهن ۾ ٻه اهم خاصيتون آهن:- پهريون، گھڻ-سطح. جاوا اي اي ايپليڪيشنون گھڻا ٽائر آهن، ۽ اسان ان بابت وڌيڪ تفصيل سان ڳالهائينداسين؛
- ٻيو، nesting. اتي ھڪڙو جاوا EE سرور (يا ايپليڪيشن سرور) آھي، ان جي اندر واقع جزو ڪنٽينرز سان. اهي ڪنٽينر گهر (بنگو!) اجزاء.
ايپليڪيشن جي سطح
ملٽي ٽائر ايپليڪيشنون ايپليڪيشنون آهن جيڪي فنڪشنل اصولن جي مطابق الڳ ٿيل ماڊلز (سطح، تہه) ۾ ورهايل آهن. عام طور تي (جنهن ۾ جاوا EE ترقي جي حوالي سان)، انٽرپرائز ايپليڪيشنن کي ٽن سطحن ۾ ورهايو ويو آهي:- ڪسٽمر؛
- سراسري سطح؛
- ڊيٽا جي رسائي جي سطح.
-
ڪلائنٽ پرت هڪ ايپليڪيشن آهي جيڪا جاوا EE سرور (وچولي پرت) کان ڊيٽا جي درخواست ڪري ٿي. سرور، موڙ ۾، ڪلائنٽ جي درخواست تي عمل ڪري ٿو ۽ ان کي جواب ڏئي ٿو. ڪلائنٽ ايپليڪيشن هڪ برائوزر ٿي سگهي ٿي، هڪ اسٽائل ايپليڪيشن (موبائيل يا ڊيسڪ ٽاپ)، يا گرافڪ انٽرفيس کان سواء ٻيون سرور ايپليڪيشنون.
-
وچولي سطح ورهايل آهي، موڙ ۾، ويب سطح ۽ ڪاروباري منطق جي سطح ۾.
-
ويب پرت ڪجهه حصن تي مشتمل آهي جيڪي گراهڪن ۽ ڪاروباري منطق جي پرت جي وچ ۾ رابطي کي مهيا ڪن ٿيون.
هيٺيون جاوا EE ٽيڪنالاجيون استعمال ڪيون ويون آهن ويب سطح تي:
- JavaServer Faces ٽيڪنالاجي (JSF)؛
- جاوا سرور صفحا (JSP)؛
- اظهار جي ٻولي (EL)؛
- سروليٽ؛
- جاوا EE (CDI) لاءِ حوالا ۽ انحصار.
-
ڪاروباري منطق پرت اجزاء تي مشتمل آهي جيڪي ايپليڪيشن جي سڀني ڪاروباري منطق کي لاڳو ڪن ٿا. ڪاروباري منطق اهو ڪوڊ آهي جيڪو ڪارڪردگي مهيا ڪري ٿو جيڪو ڪجهه مخصوص ڪاروباري علائقي جي ضرورتن کي ڍڪي ٿو (مالي صنعت، بينڪنگ، اي ڪامرس). هن سطح کي سڄي نظام جو بنيادي سمجهي سگهجي ٿو.
ٽيڪنالاجيون جيڪي هن سطح تي شامل آهن:
- انٽرپرائز JavaBeans (EJB)؛
- JAX-RS RESTful ويب خدمتون؛
- Java Persistence API ادارو؛
- جاوا ميسيج سروس.
-
-
ڊيٽا جي رسائي جي سطح. هي سطح ڪڏهن ڪڏهن انٽرنيشنل انفارميشن سسٽم (EIS) جي سطح کي سڏيو ويندو آهي. EIS مختلف ڊيٽابيس سرورز، ERP (انٽرپرائز ريسورس پلاننگ) انٽرپرائز ريسورس پلاننگ سسٽم ۽ ٻين ڊيٽا ذريعن تي مشتمل آهي. ڪاروباري منطق پرت ڊيٽا لاءِ هن پرت تائين رسائي ڪري ٿي.
هن سطح تي توهان ٽيڪنالاجيون ڳولي سگهو ٿا جهڙوڪ:
- Java Database Connectivity API (JDBC)؛
- Java Persistence API؛
- جاوا EE ڪنيڪٽر آرڪيٽيڪچر؛
- جاوا ٽرانزيڪشن API (JTA).
ايپليڪيشن سرور، ڪنٽينر، اجزاء
اچو ته وڪيپيڊيا مان جاوا EE جي تعريف تي هڪ نظر وجهون. Java EE جاوا ٻولي لاءِ وضاحتن ۽ لاڳاپيل دستاويزن جو هڪ سيٽ آهي، وچولي ۽ وڏي ادارن جي ڪمن لاءِ سرور پليٽ فارم جي فن تعمير کي بيان ڪري ٿو. بهتر سمجھڻ لاءِ ته ”خاص وضاحتن جو سيٽ“ ڇا مطلب آھي ھن حوالي سان، اچو ته جاوا انٽرفيس سان تشبيھ ٺاھيون. جاوا انٽرفيس خود ڪارڪردگي کان خالي آهي. اهو صرف ڪجهه معاهدي جي وضاحت ڪري ٿو جنهن جي مطابق ڪجهه ڪارڪردگي تي عمل ڪيو ويو آهي. پر ٻيا طبقا انٽرفيس کي لاڳو ڪن ٿا. ان کان علاوه، ھڪڙي انٽرفيس ۾ ڪيترائي عمل ٿي سگھن ٿا، جن مان ھر ھڪ ٻئي کان ڪجھ تفصيلن ۾ مختلف ٿي سگھي ٿو. وضاحت سان هر شيء بلڪل ساڳي آهي. ننگي جاوا EE صرف وضاحتن جو هڪ سيٽ آهي. اهي وضاحتون مختلف جاوا اي اي سرورز پاران لاڳو ڪيون ويون آهن. هڪ جاوا EE سرور هڪ سرور ايپليڪيشن آهي جيڪو Java EE پليٽ فارم APIs کي لاڳو ڪري ٿو ۽ معياري Java EE خدمتون مهيا ڪري ٿو. جاوا اي اي سرور ڪڏهن ڪڏهن ايپليڪيشن سرور کي سڏيندا آهن. سرور ڊيٽا ايپليڪيشن اجزاء تي مشتمل ٿي سگھي ٿو، جن مان هر هڪ پنهنجي سطح سان ملائي سطح جي ترتيب سان ملندو آهي. جاوا EE سرور مختلف خدمتون مهيا ڪري ٿو انهن حصن کي ڪنٽينر جي صورت ۾. ڪنٽينر انهن اجزاء جي وچ ۾ انٽرفيس آهن جيڪي اهي ميزباني ڪن ٿا ۽ گهٽ-سطح پليٽ فارم-آزاد ڪارڪردگي جيڪا جزو کي سپورٽ ڪري ٿي. ڪنٽينرز انهن حصن لاءِ مخصوص خدمتون مهيا ڪن ٿا جيڪي اهي ميزبان آهن. مثال طور، ڊولپمينٽ لائف سائيڪل مينيجمينٽ، انحصار انجيڪشن، اتفاق، وغيره. ڪنٽينر ٽيڪنيڪل پيچيدگي کي لڪائي ٿو ۽ پورائيبلٽي وڌائي ٿو. جاوا EE ۾ چار مختلف قسم جا ڪنٽينر آهن:-
ايپلٽ ڪنٽينرز اڪثر برائوزرن پاران لاڳو ڪيا ويا آهن. جڏهن ايپليٽ ٺاهي رهيا آهيو، توهان اپليڪيشن جي بصري پاسي تي ڌيان ڏئي سگهو ٿا، جڏهن ته ڪنٽينر هڪ محفوظ ماحول فراهم ڪري ٿو.
-
ايپليڪيشن ڪلائنٽ ڪنٽينر (ACC) ۾ جاوا ڪلاس، لائبريريون، ۽ ٻيون فائلون شامل هونديون آهن جيڪي خاصيتون لاڳو ڪرڻ لاءِ گهربل هونديون آهن جهڙوڪ انجيڪشن، سيڪيورٽي مئنيجمينٽ، ۽ جاوا SE ايپليڪيشنن ۾ نالو ڏيڻ جون خدمتون.
-
ويب ڪنٽينر ويب اجزاء جي انتظام ۽ عمل ڪرڻ لاءِ بنيادي خدمتون مهيا ڪري ٿو (servlets، EJB Lite اجزاء، JSP صفحا، فلٽر، ٻڌندڙ، JSF صفحا، ۽ ويب خدمتون). اهو سرويٽس کي فوري ڪرڻ، شروع ڪرڻ ۽ سڏڻ، ۽ HTTP ۽ HTTPS پروٽوڪول جي حمايت ڪرڻ جو ذميوار آهي. ھي ڪنٽينر استعمال ڪيو ويندو آھي ويب پيجز کي ڪلائنٽ برائوزرن جي خدمت ڪرڻ لاءِ.
-
EJB (Enterprise Java Bean) ڪنٽينر EJB ماڊل اجزاء جي انتظام ۽ عمل ڪرڻ جو ذميوار آهي جنهن ۾ ايپليڪيشن جي ڪاروباري منطق جي پرت شامل آهي. اهو نئون EJB بين ادارو ٺاهي ٿو، انهن جي زندگي جي چڪر کي منظم ڪري ٿو، ۽ خدمتون مهيا ڪري ٿو جهڙوڪ ٽرانزيڪشن، سيڪيورٽي، اتفاق، تقسيم، نالو ڏيڻ، يا غير مطابقت واري دعوت جي صلاحيت.
-
ايپلٽ گرافڪ يوزر انٽرفيس (GUI) ايپليڪيشنون آهن جيڪي برائوزر ۾ هلن ٿيون. اهي طاقتور يوزر انٽرفيس پيدا ڪرڻ لاءِ امير سوئنگ API جو فائدو وٺن ٿا.
-
ايپليڪيشنون پروگرام آهن جيڪي ڪلائنٽ جي پاسي تي هلن ٿيون. عام طور تي اهي گرافڪ يوزر انٽرفيس (GUI) آهن ۽ بيچ پروسيسنگ لاءِ استعمال ٿيندا آهن.
-
ويب ايپليڪيشنون (سروسليٽ ۽ انهن جا فلٽر، ويب ايونٽ ٻڌندڙن، JSP ۽ JSF صفحن تي مشتمل آهن) - ويب ڪنٽينر ۾ هلن ٿيون ۽ ويب ڪلائنٽ کان HTTP درخواستن جو جواب ڏيو. Servlets SOAP ۽ RESTful ويب سروس جي آخري پوائنٽن کي پڻ سپورٽ ڪن ٿا.
-
انٽرپرائز ايپليڪيشنون (انٽرپرائز جاوا بينز، جاوا ميسيج سروس، جاوا ٽرانزيڪشن API، اسينڪرونس ڪالز، ٽائيم سروسز سان ٺهيل) هڪ EJB ڪنٽينر ۾ هلن ٿيون. ڪنٽينر-منظم EJBs ٽرانزيڪشنل ڪاروباري منطق کي سنڀاليندا آهن. اهي RMI (يا SOAP ۽ RESTful ويب خدمتن لاءِ HTTP) ذريعي مقامي طور تي يا دور دراز تائين رسائي سگهجن ٿيون.
ٽيڪنالاجيون
تنهن ڪري، اسان فن تعمير کي ترتيب ڏنو آهي. مجموعي جوڙجڪ واضح هجڻ گهرجي. تعميراتي اجزاء کي بيان ڪرڻ جي عمل ۾، اسان ڪجهه جاوا EE ٽيڪنالاجيز جهڙوڪ EJB، JSP وغيره تي ڌيان ڏنو. اچو ته انهن تي هڪ ويجهي نظر رکون. هيٺ ڏنل جدول ڏيکاري ٿو ٽيڪنالاجيون جيڪي خاص طور تي ڪلائنٽ سطح تي استعمال ڪيون وينديون آهن:ٽيڪنالاجي | مقصد |
---|---|
سروليٽس | جاوا ڪلاس جيڪي متحرڪ طور تي ڪلائنٽ جي درخواستن تي عمل ڪن ٿا ۽ جواب پيدا ڪن ٿا (عام طور تي HTML صفحا). |
جاوا سرور جا منهن (JSF) | يوزر انٽرفيس سان ويب ايپليڪيشنون ٺاهڻ لاءِ فريم ورڪ. توھان کي اجازت ڏئي ٿو يوزر انٽرفيس جا حصا شامل ڪريو (مثال طور، فيلڊز ۽ بٽڻ) ھڪڙي صفحي تي، انھن اجزاء کي تبديل ڪرڻ ۽ تصديق ڪريو، ۽ ھن ڊيٽا کي سرور-سائڊ اسٽوريج ۾ ذخيرو ڪريو. |
جاوا سرور Facelets ٽيڪنالاجي کي منهن ڏئي ٿو | اهو JSF ايپليڪيشن جو هڪ ذيلي قسم آهي جيڪو JSP صفحن جي بدران XHTML صفحا استعمال ڪري ٿو |
جاوا سرور صفحا (JSP) | ٽيڪسٽ دستاويز جيڪي servlets ۾ مرتب ڪيا ويا آهن. توهان کي جامد صفحن ۾ متحرڪ مواد شامل ڪرڻ جي اجازت ڏئي ٿي (جهڙوڪ HTML صفحا) |
جاوا سرور صفحا معياري ٽيگ لائبريري (JSTL) | هڪ ٽيگ لائبريري جيڪا JSP صفحن جي حوالي سان بنيادي ڪارڪردگي کي شامل ڪري ٿي. |
اظهار جي ٻولي | معياري ٽيگ جو هڪ سيٽ جيڪو JSP ۽ Facelets صفحن ۾ استعمال ڪيو ويندو آهي جاوا EE اجزاء تائين رسائي حاصل ڪرڻ لاءِ. |
جاوا EE (CDI) لاءِ حوالا ۽ انحصار | جاوا اي اي ڪنٽينرز پاران مهيا ڪيل خدمتن جي ھڪڙي سيٽ جي نمائندگي ڪري ٿو اجزاء جي زندگي جي چڪر کي منظم ڪرڻ لاء، ۽ گڏوگڏ اجزاء کي ڪلائنٽ شين ۾ محفوظ طريقي سان انجکشن ڪرڻ. |
جاوا بينس اجزاء | شيون جيڪي ايپليڪيشن صفحن لاءِ عارضي ڊيٽا اسٽوريج طور ڪم ڪن ٿيون. |
ٽيڪنالاجي | مقصد |
---|---|
انٽرپرائز جاوا بينس (انٽرپرائز بين) اجزاء | EJBs منظم ٿيل بينون آھن جيڪي ھڪڙي ايپليڪيشن جي بنيادي ڪارڪردگي تي مشتمل آھن. |
JAX-RS RESTful ويب خدمتون | اهو ويب سروسز کي ترقي ڪرڻ لاءِ هڪ API آهي جيڪا REST آرڪيٽيڪچرل انداز سان مطابقت رکي ٿي. |
JAX-WS ويب سروس جي آخري پوائنٽ | SOAP ويب سروسز ٺاهڻ ۽ استعمال ڪرڻ لاءِ API. |
Java Persistence API (JPA) ادارا | هڪ API ڊيٽا اسٽورن ۾ ڊيٽا تائين رسائي ۽ ان ڊيٽا کي جاوا پروگرامنگ ٻولي جي شين ۾ تبديل ڪرڻ ۽ ان جي برعڪس. |
جاوا EE منظم ڪيل بينون | منظم ڪيل شيون جيڪي ايپليڪيشن جي ڪاروباري منطق کي مهيا ڪن ٿيون پر EJB جي ٽرانزيڪشن يا سيڪيورٽي خاصيتن جي ضرورت ناهي. |
جاوا ميسيج سروس | جاوا ميسيج سروس (JMS) API هڪ پيغام رسائيندڙ معيار آهي جيڪو Java EE ايپليڪيشن حصن کي پيغام ٺاهڻ، موڪلڻ، وصول ڪرڻ ۽ پڙهڻ جي اجازت ڏئي ٿو. هي اجزاء جي وچ ۾ تقسيم، قابل اعتماد ۽ هم وقت سازي رابطي کي يقيني بڻائي ٿو. |
ٽيڪنالاجي | مقصد |
---|---|
جاوا ڊيٽابيس ڪنيڪشن API (JDBC) | ڊيٽا اسٽورن مان ڊيٽا تائين رسائي ۽ حاصل ڪرڻ لاءِ گھٽ-سطح API. JDBC جو هڪ عام استعمال هڪ مخصوص ڊيٽابيس جي خلاف SQL سوالن کي لکي رهيو آهي. |
Java Persistence API | هڪ API ڊيٽا اسٽورن ۾ ڊيٽا تائين رسائي ۽ ان ڊيٽا کي جاوا پروگرامنگ ٻولي جي شين ۾ تبديل ڪرڻ ۽ ان جي برعڪس. JDBC جي مقابلي ۾ تمام اعلي سطحي API. جي ڊي بي سي جي سڀني پيچيدگين کي ڊولپر کان لڪايو هيٺ. |
جاوا EE ڪنيڪٽر آرڪيٽيڪچر | API ٻين ڪارپوريٽ وسيلن کي ڳنڍڻ لاء، جهڙوڪ:
|
جاوا ٽرانزيڪشن API (JTA) | ٽرانزيڪشن جي وضاحت ۽ انتظام ڪرڻ لاءِ هڪ API، بشمول ڪيترن ئي ڊيٽا اسٽورن ۾ ورهايل ٽرانزيڪشن ۽ ٽرانزيڪشن. |
GO TO FULL VERSION