JavaRush /جاوا بلاگ /Random-UR /آپ کو بہار کے بارے میں کیا جاننے کی ضرورت ہے: تاریخ، کلید...

آپ کو بہار کے بارے میں کیا جاننے کی ضرورت ہے: تاریخ، کلیدی ماڈیولز، جاوا EE کے ساتھ موازنہ

گروپ میں شائع ہوا۔
ہیلو! اس وقت، جاوا کا علم رکھنے والے ڈویلپر کے لیے ترقی کی سب سے مقبول سمت ویب ڈویلپمنٹ ہے۔ بلاشبہ، اس خاصیت کے لیے مطالعہ کرنے کے لیے درکار ٹیکنالوجیز کی ایک فہرست موجود ہے۔ اہم میں سے ایک بہار ہے ۔ آپ کو بہار کے بارے میں کیا جاننے کی ضرورت ہے: تاریخ، کلیدی ماڈیولز، جاوا EE کے ساتھ موازنہ - 1آپ بحث کر سکتے ہیں کہ اس کے بجائے آپ Java EE سیکھ سکتے ہیں ۔ یہ یقیناً درست ہے، لیکن اب نئے پروجیکٹس کی اکثریت Spring استعمال کرتی ہے ، جس نے اسے جاوا ویب ڈویلپر کے لیے عملی طور پر ڈیفالٹ، لازمی ٹیکنالوجی بنا دیا ہے۔ اور اگر آپ بازار کی ضروریات کے مطابق رکھنا چاہتے ہیں تو آپ کو اس کا مطالعہ کرنا پڑے گا۔ آج میں Spring کے بارے میں بات کرنا چاہوں گا ، یعنی، اس کے بارے میں آپ کے وژن کو تھوڑا سا وسعت دینے کے لیے: اس کی تخلیق کی تاریخ، Java EE اسٹیک سے اہم اختلافات کے بارے میں بات کریں اور Spring stack کے کلیدی اجزاء کا مختصر جائزہ دیں ۔ آو شروع کریں! آپ کو بہار کے بارے میں کیا جاننے کی ضرورت ہے: تاریخ، کلیدی ماڈیولز، جاوا EE کے ساتھ موازنہ - 2

1. موسم بہار کیسے اور کب نمودار ہوا اور وقت کے ساتھ اس کا کیا ارتقا ہوا۔

یہ سب اکتوبر 2002 میں شروع ہوا ، جب راڈ جانسن نے "Expert One-One J2EE ڈیزائن اینڈ ڈویلپمنٹ" نامی کتاب لکھی: Wroxآپ کو بہار کے بارے میں کیا جاننے کی ضرورت ہے: تاریخ، کلیدی ماڈیولز، جاوا EE کے ساتھ موازنہ - 3 کی شائع کردہ اس کتاب میں ، مصنف نے اس وقت انٹرپرائز جاوا کی ترقی کی حالت بیان کی ہے اور متعدد کی نشاندہی کی ہے۔ جاوا EE اور اجزاء پر مبنی (انٹرپرائز جاوا بین)EJB کی خامیاں ۔ ایک ہی وقت میں، راڈ جانسن نے باقاعدہ جاوا کلاسز (POJO - سادہ پرانے جاوا آبجیکٹ) اور انحصار کے انجیکشن پر مبنی ایک آسان حل تجویز کیا۔ کتاب میں، وہ بتاتا ہے کہ آپ EJB کا استعمال کیے بغیر ایک اعلیٰ معیار کی، قابل توسیع آن لائن ریزرویشن ایپلیکیشن کیسے بنا سکتے ہیں۔ وہ. اس نے واضح طور پر یہ ظاہر کیا کہ کس طرح ایپلی کیشن ڈویلپمنٹ کی پیچیدگی کو دور کیا جائے اور سادہ JavaBeans کا استعمال ہر اس چیز کو حاصل کرنے کے لیے ممکن بنایا جو پہلے صرف EJBs کے استعمال سے ممکن تھا۔ تاہم، بہار کا دائرہ کار سرور کی طرف چلنے والے سافٹ ویئر کے اجزاء کی ترقی تک محدود نہیں ہے۔ جاوا کی کوئی بھی ایپلیکیشن سادگی، ٹیسٹیبلٹی، اور ڈھیلے جوڑے کے لحاظ سے فریم ورک کے فوائد سے فائدہ اٹھا سکتی ہے۔ اس کا J2EE ڈیولپمنٹ ڈیزائن فوری ہٹ ہو گیا۔ زیادہ تر ایپلیکیشن کوڈ، جو کتاب کے حصے کے طور پر آزادانہ طور پر فراہم کیا گیا تھا، دوبارہ قابل استعمال تھا، اور بہت سے ڈویلپرز نے جلد ہی اسے اپنے پروجیکٹس میں استعمال کرنا شروع کر دیا۔ Wrox کے پاس کتاب کے لیے سورس کوڈ اور پیچ کے ساتھ ایک ویب صفحہ تھا۔ انہوں نے کتاب کے لیے ایک آن لائن فورم بھی فراہم کیا۔ فروری 2003 میں، ڈویلپرز Jürgen Heller اور Jann Karoff نے Rod Johnson کو فریم ورک کے کوڈ کی بنیاد پر ایک اوپن سورس پروجیکٹ بنانے پر آمادہ کیا۔ اس لمحے سے، Rod، Jurgen اور Yann نے مکمل طور پر کچھ نیا بنانے کے لیے اپنا تعاون شروع کیا۔ درحقیقت، یہ یان کاروف ہی تھے جو نئے فریم ورک کے لیے "بہار" کا نام لے کر آئے تھے۔ یہاں کیا مطلب تھا کہ بہار بہار کی طرح ہے: روایتی J2EE کے "موسم سرما" کے بعد ایک نئی شروعات۔
  • جون 2003 میں، اسپرنگ 0.9 کو اپاچی 2.0 لائسنس کے تحت جاری کیا گیا۔
  • بہار 1.0 مارچ 2004 میں جاری کیا گیا تھا۔ دلچسپ بات یہ ہے کہ اسپرنگ 1.0 کی ریلیز سے پہلے ہی پچھلے ورژن 0.9 کو بہت پذیرائی ملی اور اسے بڑے پیمانے پر اپنایا گیا۔
  • اگست 2004 میں، Rod Johnson، Jürgen Heller، Keith Donald اور Colin Sampaleanu نے مشترکہ طور پر انٹرفیس21 کی بنیاد رکھی ، جو ایک بہار کی مشاورت، تربیت اور معاون کمپنی ہے۔
  • اکتوبر 2006: بہار 2.0 جاری کیا گیا، جو XML کنفیگریشن فائلوں کو آسان بناتا ہے۔
  • بہار 2.5، جو نومبر 2007 میں ریلیز ہوئی، نے تشریح کنفیگریشن متعارف کرایا۔
  • اسپرنگ 3.2، جو دسمبر 2012 میں جاری ہوا، نے جاوا کنفیگریشن متعارف کرایا، جاوا 7، ہائبرنیٹ 4، سرولیٹ 3.0 کو سپورٹ کیا، اور کم از کم جاوا 1.5 کی بھی ضرورت ہے۔
  • یان کاروف نے ٹیم کو جلد ہی چھوڑ دیا۔ راڈ جانسن نے 2012 میں موسم بہار کی ٹیم چھوڑ دی۔ Jürgen Heller اب بھی اسپرنگ ڈیولپمنٹ ٹیم کا ایک فعال رکن ہے۔
  • اسپرنگ 4.0، جو 2014 میں ریلیز ہوا، نے جاوا 8 کے لیے سپورٹ شامل کیا۔
  • اس کے علاوہ 2014 میں اسپرنگ بوٹ کو دنیا میں متعارف کرایا گیا۔
  • بہار 5.0 2017 میں جاری کیا گیا تھا۔ Spring Boot 2.x کی طرح، جو Spring 5 کو سپورٹ کرتا ہے۔
  • دراصل، اس طرح ہمارا پسندیدہ فریم ورک بن گیا جسے ہم اب جانتے ہیں۔

2. بہار بمقابلہ جاوا EE

آئیے ویب ڈویلپرز کے لیے دو کلیدی جاوا اسٹیکس کا ایک چھوٹا سا موازنہ کرتے ہیں: Spring اور Java EE۔ آپ کو بہار کے بارے میں کیا جاننے کی ضرورت ہے: تاریخ، کلیدی ماڈیولز، جاوا EE کے ساتھ موازنہ - 4
جاوا ای ای
فوائد خامیوں
  • جاوا EE میں لکھی گئی ایپلیکیشنز کو زیادہ قابل اعتماد، محفوظ اور قابل توسیع سمجھا جاتا ہے۔
  • Java EE ایک صنعت سے منظور شدہ API معیار ہے۔
  • بنیادی طور پر تشریحات اور CDI (سیاق و سباق اور انحصار انجیکشن) پر مبنی، بالکل بہار کی طرح
  • EJB کنٹینرز اور POJOs پر مبنی عمل درآمد
  • بڑی تعداد میں لین دین کے ساتھ پیچیدہ ایپلی کیشنز کو JEE کے ذریعے بہت اچھی طرح سے ہینڈل کیا جاتا ہے۔
  • توسیع پذیر یک سنگی ایپلی کیشن کے لیے استعمال میں کامیاب
  • Java EE کی اپنی OOP زبان ہے جس میں ایک مخصوص انداز اور نحو شامل ہے۔
  • ایپلیکیشن ڈویلپمنٹ کا ایک بہت پیچیدہ ماحول جسے ابتدائی افراد کے لیے سمجھنا مشکل ہے (اور بعض اوقات بوڑھے لوگوں کے لیے بھی)
  • منصوبے کی حتمی لاگت، بشمول ڈیزائن، تعیناتی اور ایپلیکیشن ڈیولپمنٹ، ممنوعہ ہو سکتی ہے۔
جاوا EE، جو Oracle کے ذریعے لائسنس یافتہ ہے، ان تنظیموں اور کمپنیوں کے لیے ڈیزائن کیا گیا ہے جنہیں بڑے پیمانے پر مارکیٹ ایپلی کیشنز کی تعمیر کے لیے وسیع پیمانے پر قابل اطلاق، قابل تقسیم ماحول کی ضرورت ہوتی ہے۔ بہار کی طرح، جاوا ای ای میں ڈیٹا بیس تک رسائی (JDBC، JPA)، ریموٹ انجینئرنگ انوکیشن (RMI)، معلومات (JMS)، ویب ایڈمنسٹریشن، XML پروسیسنگ کے لیے اضافی لائبریریاں شامل ہیں اور انٹرپرائز JavaBeans، portlets، Servlets، Java Server Pages، کے لیے معیاری APIs کی خصوصیت رکھتی ہے۔ وغیرہ۔ آپ کو بہار کے بارے میں کیا جاننے کی ضرورت ہے: تاریخ، کلیدی ماڈیولز، جاوا EE - 5 کے ساتھ موازنہJava EE کا بنیادی ہدف مختلف APIs کا استعمال کرتے ہوئے موجودہ ایپلی کیشنز بنانے کے حوالے سے ڈویلپرز کو درپیش اہم مسائل کو حل کرنا ہے۔ ایک ہی وقت میں، جاوا EE میں ترقی میں پیچیدگی کی ایک اعلی سطح ہے، جو نہ صرف ابتدائی افراد کے لیے بار کو ممنوعہ طور پر بلند کرتی ہے۔ اور تجربہ کار ماہرین کے لیے پہلے سے لکھی گئی فعالیت کو سمجھنا مشکل ہو سکتا ہے، اس لیے Java EE میں ترقی زیادہ وقت لیتی ہے اور اس کے مطابق، زیادہ مہنگا ہے۔ جاوا ای ای کے بارے میں مختصراً ہم یہ کہہ سکتے ہیں: پیچیدہ، لیکن لچکدار۔ ٹھیک ہے، اب بہار کے بارے میں تھوڑی بات کرتے ہیں . آپ کو بہار کے بارے میں کیا جاننے کی ضرورت ہے: تاریخ، کلیدی ماڈیولز، جاوا EE - 6 کے ساتھ موازنہ
بہار
فوائد خامیوں
  • آپ کو مؤثر طریقے سے آبجیکٹ کے تعاملات کو منظم کرنے کی اجازت دیتا ہے۔
  • جاوا ای ای سے زیادہ آسان
  • آئی او سی اور اے او پی کی بنیاد پر لاگو کیا جاتا ہے ، جو درخواستوں کے ڈھیلے جوڑے کو یقینی بناتا ہے۔
  • XML، گرووی یا تشریح کنفیگریشن پر مبنی کام کرتا ہے۔
  • آپ کو سادہ پرانی جاوا اشیاء استعمال کرنے کی اجازت دیتا ہے - POJOs، ڈویلپرز کو انٹرپرائز کنٹینر کی ضرورت نہیں ہے جیسے ایپلیکیشن سرور
  • جاوا ڈویلپرز کو اعلیٰ سطح کی ماڈیولریٹی فراہم کرتا ہے۔
  • جاوا EE لائبریریوں کے نفاذ فراہم کرتا ہے، لیکن اپنے طریقے سے، ان کے استعمال کو بہت آسان بناتا ہے۔
  • اوپن سورس لائسنس
  • اسپرنگ بوٹ ابتدائی ایپلیکیشن سیٹ اپ کو بہت آسان بناتا ہے۔
  • موسم بہار کی درخواست کوڈ عام طور پر جانچنا آسان ہے۔
  • موسم بہار کی نشوونما نسبتاً مشکل ہے کیونکہ اس میں واضح توجہ کا فقدان ہے۔
  • جاوا کے ایک نئے ڈویلپر کے لیے، اسپرنگ فریم ورک کو سیکھنا مشکل ہو سکتا ہے (لیکن جاوا EE سے اب بھی آسان)
  • موسم بہار جاوا EE سے سست ہے۔
بہار بڑے کاروباروں کے لیے اوپن سورس جاوا فریم ورک ہے۔ اسپرنگ فریم ورک کا مقصد J2EE آئیڈیاز کا آسان ترین ممکنہ نفاذ فراہم کرنا اور POJO پر مبنی پروگرامنگ ماڈل کی صلاحیتوں کو بڑھا کر بہترین پروگرامنگ طریقوں سے فائدہ اٹھانا ہے۔ وہ. Java EE ایک سرکاری معیار ہے، جبکہ بہار ایک فریم ورک ہے جو اس معیار کو اپنے طریقے سے نافذ کرتا ہے۔

موازنہ کے نتائج

میری سمجھ میں، Java EE اور Spring JDBC اور Hibernate کی طرح ہیں، جہاں JDBC ایک تیز تر ٹیکنالوجی ہے، لیکن ایک ہی وقت میں بہت سارے غیر ضروری کوڈ کے ساتھ۔ اور ہائبرنیٹ پہلے سے ہی JDBC کا استعمال کرتا ہے، لیکن ایک ہی وقت میں ترقی کو آسان اور نمایاں طور پر کم کرتا ہے (کچھ پابندیاں عائد کرنے کے باوجود)۔ یہ یقینی طور پر کہنا ناممکن ہے کہ ان میں سے کون بہتر ہے۔ یہ بھی کسی حد تک اس سوال کی یاد دلانے والا ہے: کون سا بہتر ہے - ArrayList یا LinkedList۔ سب کے بعد، جواب ایک ہی ہو گا - صورتحال پر منحصر ہے. ان میں سے ہر ایک کی اپنی خوبیاں اور کمزوریاں ہیں، اور آپ کو ان میں سے احتیاط سے انتخاب کرنے کی ضرورت ہے، اپنی صورت حال کا وزن کرتے ہوئے اور یہ سمجھنے کی ضرورت ہے کہ اب ان میں سے کون زیادہ فائدہ اٹھائے گا۔ آپ کو بہار کے بارے میں کیا جاننے کی ضرورت ہے: تاریخ، کلیدی ماڈیولز، جاوا EE کے ساتھ موازنہ - 7

3. بہار کے اجزاء

ٹھیک ہے، اب آئیے ان فریم ورک کے بارے میں تھوڑی بات کرتے ہیں جو بہار بناتے ہیں۔

بہار کا فریم ورک

یہ بنیادی ماڈیول ہے جو کسی بھی تعیناتی پلیٹ فارم پر جدید جاوا پر مبنی انٹرپرائز ایپلی کیشنز کے لیے ایک جامع پروگرامنگ اور کنفیگریشن ماڈل فراہم کرتا ہے۔ اس میں بہت سی بنیادی (بنیادی) بہار کی ٹیکنالوجیز شامل ہیں :
  • بنیادی - بنیادی فعالیت جو IoC (کنٹرول کا الٹا) اور DI (انحصار انجیکشن) کے تصورات کو نافذ کرتی ہے ۔
  • AOP - پہلو پر مبنی پروگرامنگ - پہلو پر مبنی پروگرامنگ جس کا مقصد آخر سے آخر تک منطق کو نافذ کرنا ہے۔
  • MVC اور WebFlux - ویب تعامل کے لیے فریم ورک؛
  • JDBC , ORM - ڈیٹا بیس کے ساتھ بات چیت کے لیے ٹیکنالوجیز؛
  • ٹیسٹ - بہار کنٹینر ڈیٹا کی شفاف، غیر پیچیدہ جانچ کے لیے فعالیت؛
  • SpEL - Spring Expression Language - Spring expression language;
  • وغیرہ

اسپرنگ بوٹ

ابتدائی ایپلیکیشن سیٹ اپ کو کم سے کم کرکے اور اسپرنگ ایپلی کیشن عناصر کو خودکار ترتیب دے کر بہار پر مبنی ایپلی کیشنز کی تخلیق کو آسان بناتا ہے۔ 5 منٹ میں اسپرنگ بوٹ شروع کرنے کی مثال

بہار کا ڈیٹا

ڈیٹا تک رسائی کی ٹیکنالوجیز، رشتہ دار اور غیر متعلقہ ڈیٹا بیس کے استعمال کو نمایاں طور پر آسان بناتا ہے (دوبارہ کوڈ کو ہٹاتا ہے اور ڈیٹا کے ساتھ تعامل کو آسان بناتا ہے)۔ اس مضمون میں اسپرنگ ڈیٹا کو جوڑنے کے بارے میں ایک اچھا ٹیوٹوریل ہے۔

بہار کا بادل

یہ مائیکرو سروسز فن تعمیر میں استعمال ہوتا ہے، ایک دوسرے کے ساتھ مائیکرو سروسز کے تعامل کو آسان بناتا ہے اور کلاؤڈ پلیٹ فارمز جیسے AWS ، Azure ، وغیرہ پر ایپلی کیشنز کی تعیناتی کو خودکار کرتا ہے۔ اسپرنگ کلاؤڈ پر ایک تفصیلی ٹیوٹوریل یہاں دیکھیں ، لیکن میں آپ کو خبردار کروں گا کہ یہ موضوع آسان نہیں ہے اور اس کا مقصد سینئر لیول کے قریب ماہرین کے لیے ہے۔

بہار کی حفاظت

ایپلیکیشن کے لیے ایک طاقتور اور حسب ضرورت تصدیق (تصدیق) اور رسائی کنٹرول (اجازت) کا آلہ فراہم کرتا ہے۔ آپ اس پوسٹ میں اسپرنگ سیکیورٹی کو اپنی ایپلیکیشن سے منسلک کرنے کی ایک سادہ مثال تلاش کر سکتے ہیں ۔ آپ کو بہار کے بارے میں کیا جاننے کی ضرورت ہے: تاریخ، کلیدی ماڈیول، جاوا EE - 8 کے ساتھ موازنہ

بہار گراف کیو ایل

یہ ماڈیول گراف کیو ایل جاوا پر بنی اسپرنگ ایپلی کیشنز کے لیے تعاون فراہم کرتا ہے۔ GraphQL APIs کے لیے ایک استفسار کی زبان ہے جو کلائنٹس کو ان کے مطلوبہ ڈیٹا کے ایک محدود سیٹ سے استفسار کرنے کی اجازت دیتی ہے، جس کے نتیجے میں ڈیٹا کو محدود تعداد میں سوالات میں جمع کیا جا سکتا ہے۔ اگر آپ JPA سے پہلے ہی واقف ہیں، تو ہو سکتا ہے کہ آپ پہلے ہی EntityGraph سے ملتے جلتے (یا ایک جیسے) تصور کے ساتھ آ چکے ہوں۔ آپ یہاں GraphQL کے بارے میں مزید پڑھ سکتے ہیں ۔

موسم بہار کا اجلاس

بہار کے فریم ورک کا یہ حصہ صارف کے سیشن کی معلومات کے انتظام کے لیے APIs اور نفاذات فراہم کرتا ہے (صارف کے سیشن کا ڈیٹا مستقل اسٹوریج جیسے Redis ، MongoDb ، HazelCast ، وغیرہ میں محفوظ کیا جاتا ہے)۔ اسپرنگ سیشن کو استعمال کرنے کی ایک مثال یہاں مل سکتی ہے ۔

بہار انضمام

اس ماڈیول کو موسم بہار پر مبنی ایپلی کیشنز میں پیغام رسانی کو آسان بنانے اور اعلانیہ اڈاپٹرز کے ذریعے بیرونی نظاموں کے ساتھ انضمام کی حمایت کرنے کے لیے ڈیزائن کیا گیا ہے۔ یہ اڈیپٹرز ریموٹنگ، میسجنگ اور شیڈولنگ کے لیے اسپرنگ کے تعاون سے زیادہ تجرید کی سطح فراہم کرتے ہیں۔ تفصیلی مضمون ۔

بہار کا آرام

ٹولز کا ایک بھرپور سیٹ فراہم کرتا ہے جو REST API کی ترقی کو آسان بناتا ہے: روٹنگ کی درخواستوں کے لیے ٹولز، JSON/XML کو مطلوبہ اقسام کی اشیاء میں تبدیل کرنے کے لیے، وغیرہ۔ بہار میں آرام دہ خدمت کی ایک مثال اس مواد میں مل سکتی ہے ۔

اسپرنگ ویب فلو

Spring Web Flow Spring MVC پر مبنی ہے اور آپ کو ویب ایپلیکیشن کے "فلوز" کو نافذ کرنے کی اجازت دیتا ہے۔ اس طرح کے بہاؤ اقدامات کی ایک ترتیب کو سمیٹتے ہیں جو صارف کو کسی کاروباری کام کی تکمیل میں رہنمائی کرتے ہیں۔ وہ متعدد HTTP درخواستوں پر محیط ہیں، ریاستی ہیں، لین دین کے ڈیٹا کے ساتھ کام کرتے ہیں، دوبارہ قابل استعمال ہیں، اور فطرت میں متحرک اور پائیدار ہو سکتے ہیں۔ اسپرنگ ویب فلو کو جوڑنے کی ایک مثال انگریزی میں اس گائیڈ میں دیکھی جا سکتی ہے ۔

بہار ویب سروسز

یہ ماڈیول آپ کو XML پے لوڈز میں ہیرا پھیری کرنے کے بہت سے طریقوں میں سے ایک کا استعمال کرتے ہوئے لچکدار ویب سروسز بنانے کی اجازت دے کر معاہدہ پر مبنی SOAP خدمات کو تیار کرنا آسان بنانے کے لیے ڈیزائن کیا گیا ہے۔ SOAP - سادہ آبجیکٹ ایکسیس پروٹوکول - اشیاء تک رسائی کے لیے ایک سادہ پروٹوکول۔

موسم بہار HATEOAS

ماڈیول کچھ APIs فراہم کرتا ہے تاکہ REST کنٹرولرز بنانے میں آسانی ہو جو اسپرنگ اور خاص طور پر اسپرنگ MVC کے ساتھ کام کرتے وقت HATEOAS اصول کی پیروی کرتے ہیں۔ HATEOAS - ایپلیکیشن اسٹیٹ کے انجن کے طور پر Hypermedia - ایپلی کیشن اسٹیٹ کے انجن کے طور پر Hypermedia۔ آپ اس بہار لائبریری کا استعمال یہاں دیکھ سکتے ہیں ۔

بہار بیچ

یہ ماڈیول بیچ ڈیٹا پروسیسنگ کے لیے فعالیت فراہم کرتا ہے (جب ڈیٹا کو بڑے ٹکڑوں - بیچوں میں پروسیس کیا جاتا ہے)، کارپوریٹ سسٹمز کے روزانہ آپریشن کے لیے ضروری ہے۔ اسپرنگ بیچ دوبارہ قابل استعمال خصوصیات فراہم کرتا ہے جو ریکارڈ کی بڑی مقدار کو سنبھالنے کے لیے درکار ہیں، بشمول لاگنگ/ٹریسنگ، ٹرانزیکشن مینجمنٹ، جاب پروسیسنگ کے اعدادوشمار، جاب دوبارہ شروع کرنا، چھوڑنا، اور وسائل کا انتظام۔ آپ اس لنک پر اسپرنگ بیچ پر ایک دلچسپ جائزہ حاصل کر سکتے ہیں ۔

بہار AMQP

ماڈیول AMQP پر مبنی پیغام رسانی کے حل کی ترقی پر بہار کے بنیادی تصورات کا اطلاق کرتا ہے۔ یہ پیغامات بھیجنے اور وصول کرنے کے لیے ایک اعلیٰ سطحی تجرید کے طور پر ایک ٹیمپلیٹ فراہم کرتا ہے۔ یہ سننے والے کنٹینر کے ساتھ پیغام سے چلنے والے POJOs کے لیے بھی مدد فراہم کرتا ہے۔ AMQP - Advanced Message Quueing Protocol - Advanced Message Quueing Protocol۔ پروجیکٹ کے دو حصے ہیں: spring-amqp بنیادی تجرید ہے، اور spring-rabbit RabbitMQ کے لیے عمل درآمد ہے ۔ بہار کا استعمال کرتے ہوئے RabbitMQ کنکشن کے ساتھ مثال آپ کو بہار کے بارے میں کیا جاننے کی ضرورت ہے: تاریخ، کلیدی ماڈیولز، جاوا EE - 9 کے ساتھ موازنہ

اپاچی کافکا کے لیے بہار

یہ پروجیکٹ کافکا پر مبنی پیغام رسانی کے حل کی ترقی پر بہار کے بنیادی تصورات کا اطلاق کرتا ہے ۔ ایک ٹیمپلیٹ پیغامات بھیجنے کے لیے ایک اعلیٰ سطحی تجرید کے طور پر فراہم کیا جاتا ہے۔ یہ ضروری تشریحات اور سننے والے کنٹینر کے ساتھ پیغام سے چلنے والے POJOs کے لیے بھی مدد فراہم کرتا ہے۔ یہاں Spring AMQP کے ساتھ واضح مماثلت ہے، لیکن یہ ماڈیول خاص طور پر کافکا کے لیے موزوں ہے۔ بہار کافکا کو جوڑنے کی ایک مثال یہاں دیکھی جا سکتی ہے ۔

اسپرنگ کریڈ ہب

کلاؤڈ فاؤنڈری پلیٹ فارم پر چلنے والے CredHub سرور سے اسناد کو ذخیرہ کرنے، بازیافت کرنے اور حذف کرنے کے لیے کلائنٹ سائیڈ سپورٹ فراہم کرتا ہے ۔ CredHub - مختلف قسم کے اسناد کو محفوظ طریقے سے ذخیرہ کرنے، تخلیق کرنے، بازیافت کرنے اور حذف کرنے کے لیے ایک API فراہم کرتا ہے۔ Spring CredHub CredHub API کے لیے جاوا بائنڈنگ فراہم کرتا ہے، جس سے اسپرنگ ایپلی کیشنز کو CredHub کے ساتھ ضم کرنا آسان ہو جاتا ہے۔

موسم بہار FLO

یہ ایک JavaScript لائبریری ہے جو پائپ لائنوں کے لیے ایک سادہ HTML5 ایمبیڈ ایبل بصری ڈیزائنر اور اسٹریمنگ اور بیچ ڈیٹا کی نگرانی کے لیے سادہ گراف پیش کرتی ہے۔ اس ٹیکنالوجی کا ایک ڈیمو لنک پر ویڈیو میں ہے ۔

بہار ایل ڈی اے پی

یہ لائبریری LDAP آپریشنز کو آسان بناتی ہے اور اسپرنگ JdbcTemplate پر مبنی ہے۔ فریم ورک سیاق و سباق کو تلاش کرنے اور بند کرنے، نتائج دیکھنے، انکوڈنگ/ڈی کوڈنگ ویلیوز، فلٹرز اور بہت کچھ کی اجازت دیتا ہے (اسپرنگ Jdbc جیسے اصولوں پر بنایا گیا) Spring LDAP کے نفاذ کی ایک مثال یہاں دیکھی جا سکتی ہے ۔

بہار رو

یہ ماڈیول ایک RAD ٹول فراہم کرتا ہے جو آپ کی بہار پر مبنی ایپلیکیشن بنا اور اس کا نظم کر سکتا ہے۔ اس کا مقصد جاوا ڈویلپرز کی پیداواری صلاحیت کو بہتر بنانا ہے۔ یہ آپ کی درخواست کی کاروباری منطق نہیں لکھ سکتا، لیکن یہ کنفیگریشن اور بنیادی ڈھانچے کے سامان کو سنبھال سکتا ہے۔

بہار شیل

لائبریری اسپرنگ شیل جار پر بھروسہ کرکے اور آپ کے اپنے کمانڈز (جو اسپرنگ بینز میں طریقوں کے طور پر آتے ہیں) شامل کرکے ایک مکمل خصوصیات والے شیل (جسے کمانڈ لائن بھی کہا جاتا ہے) ایپلیکیشن بنانا آسان بناتی ہے۔ کمانڈ لائن ایپلیکیشن بنانا مفید ہو سکتا ہے، مثال کے طور پر، اپنے پروجیکٹ کے REST API کے ساتھ تعامل کرنے یا مقامی فائل کے مواد کے ساتھ کام کرنے کے لیے۔ یہاں اور یہاں مزید پڑھیں ۔

بہار کی سٹیٹ مشین

یہ ماڈیول ایپلیکیشن ڈویلپرز کو اسپرنگ ایپلی کیشنز کے ساتھ ریاستی مشین کے تصورات کو استعمال کرنے کی اجازت دیتا ہے۔ اس فعالیت کو استعمال کرنے کی ایک تفصیلی مثال یہاں اور یہاں مل سکتی ہے ۔

بہار والٹ

Spring Vault رازوں تک رسائی، ذخیرہ کرنے اور منسوخ کرنے کے لیے موسم بہار کے مانوس تجریدات اور کلائنٹ سائیڈ سپورٹ فراہم کرتا ہے۔ یہ Vault کے ساتھ تعامل کے لیے نچلی سطح اور اعلیٰ سطحی دونوں تجریدات پیش کرتا ہے ، صارف کو بنیادی ڈھانچے کے خدشات سے آزاد کرتا ہے۔ بہار والٹ کے نفاذ کی مثال آپ کو بہار کے بارے میں کیا جاننے کی ضرورت ہے: تاریخ، کلیدی ماڈیول، جاوا EE - 10 کے ساتھ موازنہ"کیا مجھے یہ سب سیکھنے کی ضرورت ہے؟" - آپ حیرت سے پوچھتے ہیں. ڈرو مت! یہ غلط ہے! زیادہ واضح طور پر، بالکل اس طرح نہیں. یہ بہار میں دستیاب ٹیکنالوجیز کی مکمل فہرست تھی۔ ٹکنالوجیوں کی فہرست جو ایک مبتدی کو جاننے کی ضرورت ہے وہ بہت زیادہ معمولی ہے:
  • بہار کور
  • اسپرنگ بوٹ
  • اسپرنگ ویب (MVC اور REST)
  • بہار کا ڈیٹا (اسپرنگ او آر ایم، اسپرنگ جے ڈی بی سی، اسپرنگ جے پی اے)
  • بہار ٹیسٹ
اس کے علاوہ دیگر ٹیکنالوجیز بھی ہیں جو اکثر پراجیکٹس پر پائی جاتی ہیں، لیکن ان کی پیچیدگی کی وجہ سے، وہ عام طور پر سبز نویسوں کے بجائے زیادہ تجربہ کار ڈویلپرز سے نمٹتے ہیں۔ تاہم، یہ ابتدائی افراد کے لیے بھی مفید ہے کہ کم از کم اس کی عمومی سمجھ حاصل کریں:
  • بہار کی حفاظت
  • بہار اے او پی
  • بہار کا بادل
دوسری ٹیکنالوجیز بہت کم استعمال ہوتی ہیں، اس لیے آپ کو کسی خاص پروجیکٹ پر کام کرنے کے لیے صرف ان کا سنجیدگی سے مطالعہ کرنے کی ضرورت ہے۔ ویسے، آپ کو ایک مکمل چیک لسٹ مل سکتی ہے کہ جاوا ڈویلپر کو میرے دوسرے مضمون میں کیا معلوم ہونا چاہیے۔ آج کے لیے بس اتنا ہی ہے، جلد ہی ملتے ہیں! آپ کو بہار کے بارے میں کیا جاننے کی ضرورت ہے: تاریخ، کلیدی ماڈیولز، جاوا EE - 11 کے ساتھ موازنہ
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION