CodeGym /جاوا بلاگ /Random-UR /حصہ 6۔ سرولیٹ کنٹینرز
John Squirrels
سطح
San Francisco

حصہ 6۔ سرولیٹ کنٹینرز

گروپ میں شائع ہوا۔
یہ مواد "انٹروڈکشن ٹو انٹرپرائز ڈویلپمنٹ" سیریز کا حصہ ہے۔ پچھلے مضامین: حصہ 6۔ سرولیٹ کنٹینرز - 1پچھلے مضمون میں، ہم نے سرولیٹس سے واقفیت حاصل کی اور سیکھا کہ ویب ایپلیکیشنز بنانے کے لیے ان کا استعمال کیسے کیا جائے۔ اب وقت آگیا ہے کہ اس تفریح ​​کے ایک لازمی حصے کو قریب سے دیکھیں: سرولیٹ کنٹینرز۔

فہرست کا خانہ:

سرولیٹ کنٹینر کیا ہے؟

یہ ایک ایسا پروگرام ہے جو سرور پر چلتا ہے اور ہمارے بنائے ہوئے سرولیٹس کے ساتھ تعامل کرسکتا ہے۔ دوسرے لفظوں میں، اگر ہم اپنی ویب ایپلیکیشن کو سرور پر چلانا چاہتے ہیں، تو ہم پہلے ایک سرولیٹ کنٹینر لگاتے ہیں اور پھر اس میں سرولیٹ ڈالتے ہیں۔ ورک فلو آسان ہے: جب کلائنٹ سرور تک رسائی حاصل کرتا ہے، تو کنٹینر اس کی درخواست پر کارروائی کرتا ہے، اس بات کا تعین کرتا ہے کہ کون سا سرولیٹ اس پر کارروائی کرے، اور پھر درخواست کو پاس کرتا ہے۔ حصہ 6۔ سرولیٹ کنٹینرز - 2

سرولیٹ کنٹینرز کیسے استعمال ہوتے ہیں؟

روٹنگ کی درخواستوں کے علاوہ، ایک سرولیٹ کنٹینر دیگر افعال انجام دیتا ہے:
  1. یہ متحرک طور پر JSP فائلوں سے HTML صفحات تیار کرتا ہے۔
  2. یہ HTTPS پیغامات کو خفیہ/ڈیکرپٹ کرتا ہے۔
  3. یہ سرولیٹ انتظامیہ کے لیے محدود رسائی فراہم کرتا ہے۔
عام طور پر، یہ سب اچھا لگتا ہے. اب ہمیں صرف یہ جاننے کی ضرورت ہے کہ اس سب کو عملی جامہ کیسے پہنایا جائے۔ ٹھیک ہے، کسی چیز کو استعمال کرنے کا طریقہ سیکھنے کے لیے، صرف ڈوبکی لگائیں اور اسے استعمال کرنے کی کوشش کریں :) تو، آج ہم مشق کرنے جا رہے ہیں! سب سے مشہور سرولیٹ کنٹینر اپاچی ٹامکیٹ ہے ۔ یہ اوپن سورس ہے اور اسے مفت میں استعمال کیا جا سکتا ہے۔ اپنے آپریٹنگ سسٹم کے لیے Tomcat کو یہاں سے ڈاؤن لوڈ کریں اور ہم "ایکشن میں" کنٹینرز کے ساتھ کام کرنے کا پتہ لگائیں گے۔

Tomcat انسٹال اور شروع کرنا

  1. Tomcat انسٹال کرنے کے لیے، صرف ڈاؤن لوڈ کردہ آرکائیو کو مطلوبہ ڈائرکٹری میں ان زپ کریں۔

  2. براہ کرم نوٹ کریں کہ Tomcat کو شروع کرنے اور چلانے کے لیے جاوا ورژن 8 یا اس سے اوپر کی ضرورت ہے۔ تصدیق کریں کہ JAVA_HOME ماحولیاتی متغیر JDK کے موجودہ ورژن کا حوالہ دیتا ہے۔

  3. اگلا، آپ کو Tomcat تک صارف کی رسائی کو ترتیب دینے کی ضرورت ہے ۔ یہ tomcat-users.xml فائل میں کیا جاتا ہے، جو conf فولڈر میں واقع ہے۔

    Tomcat میں چار پیش سیٹ کردار ہیں:

    • manager-gui — گرافیکل انٹرفیس اور اسٹیٹس پیج تک رسائی
    • مینیجر اسکرپٹ - ٹیکسٹ انٹرفیس اور اسٹیٹس پیج تک رسائی
    • manager-jmx — JMX اور اسٹیٹس پیج تک رسائی
    • مینیجر اسٹیٹس - صرف اسٹیٹس پیج تک رسائی

    <tomcat-users> ٹیگ کے اندر، ہم ان کرداروں کو واضح طور پر بیان کرتے ہیں اور انہیں اپنے صارف کو تفویض کرتے ہیں:

    
    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
    <role rolename="manager-jmx"/>
    <role rolename="manager-status"/>
    <user username="user" password="password"
        roles="manager-gui, manager-script, manager-jmx, manager-status"/>

    اب سب کچھ شروع کرنے کے لئے تیار ہے!

  4. بن فولڈر میں startup.bat فائل چلائیں (Linux پر startup.sh)۔

  5. چند سیکنڈ کے بعد، اپنے براؤزر میں http://localhost:8080/ لنک کو کھولیں۔ آپ کو ایک گرافیکل ڈیش بورڈ نظر آئے گا:

    حصہ 6۔ سرولیٹ کنٹینرز - 3

    اگر آپ کو اس طرح کا مینو نظر آتا ہے تو Tomcat چل رہا ہے۔

  6. اگر یہ نہیں چل رہا ہے تو دستی طور پر JAVA_HOME اور CATALINA_HOME ماحولیاتی متغیرات کو چیک کریں:

    • JAVA_HOME - یہ Java 8+ کے موجودہ ورژن کا حوالہ دینا چاہیے۔
    • CATALINA_BASE - اسے Tomcat کا حوالہ دینا چاہیے یا غیر حاضر ہونا چاہیے (اسے Tomcat کے دوسرے ورژن کا حوالہ نہیں دینا چاہیے)۔

Tomcat میں ایک درخواست کی تعیناتی

ہم Tomcat کو لانچ کرنے میں کامیاب ہوگئے، لہذا اب وقت آگیا ہے کہ اس میں کچھ پروجیکٹ لگائیں۔ آئیے پچھلے مضمون سے سرولیٹ استعمال کرتے ہیں ۔ مین سرولیٹ:

import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet("/hello")
public class MainServlet extends HttpServlet {

   @Override
   protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
       HttpSession session = req.getSession();
       Integer visitCounter = (Integer) session.getAttribute("visitCounter");
       if (visitCounter == null) {
           visitCounter = 1;
       } else {
           visitCounter++;
       }
       session.setAttribute("visitCounter", visitCounter);
       String username = req.getParameter("username");
       resp.setContentType("text/html");
       PrintWriter printWriter = resp.getWriter();
       if (username == null) {
           printWriter.write("Hello, Anonymous" + "
"
); } else { printWriter.write("Hello, " + username + "
"
); } printWriter.write("Page was visited " + visitCounter + " times."); printWriter.close(); } }
IndexServlet:

import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/")
public class IndexServlet extends HttpServlet {

   @Override
   protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
       resp.sendRedirect(req.getContextPath() + "/hello");
   }
}
تعینات کرنے سے پہلے، ہمیں اپنے سرولیٹس کو WAR فائل میں پیک کرنے کی ضرورت ہے۔ Maven کو عام طور پر ایسا کرنے کے لیے استعمال کیا جاتا ہے، لیکن WAR فائل بنانے کے لیے آپ کو ایک web.xml فائل کی ضرورت ہے جس میں تمام سرولیٹس کی میپنگ ہو۔ ہم نے servlets لکھنے کے لیے نئی @WebServlet تشریح کا استعمال کیا، اس لیے ہمارے پاس web.xml فائل نہیں ہے۔ خوش قسمتی سے، IDEA ہمارے پروجیکٹ کو WAR فائل میں لپیٹ کر ہمارے لیے گندا کام کر سکتا ہے۔ ایسا کرنے کے لیے، پروجیکٹ کا ڈھانچہ کھولیں (Ctrl+Shift+Alt+S) -> آرٹفیکٹس -> مطلوبہ WAR فائل منتخب کریں -> "انکلوڈ ان پروجیکٹ بلڈ" کے آگے چیک باکس منتخب کریں -> "ٹھیک ہے" پر کلک کریں۔ حصہ 6۔ سرولیٹ کنٹینرز - 4آئیے Ctrl+F9 کلید کے امتزاج کا استعمال کرتے ہوئے پروجیکٹ بناتے ہیں۔ اب ہماری WAR فائل ٹارگٹ ڈائرکٹری میں ہے حصہ 6۔ سرولیٹ کنٹینرز - 5اس فائل کا نام بدل کر کچھ آسان کیا جا سکتا ہے، جیسے کہ servlet.war، اور زیادہ آسان جگہ پر منتقل کیا جا سکتا ہے، جیسے C:\\my\\۔ ایک بار جب WAR فائل استعمال کے لیے تیار ہو جائے تو ہم اسے ایک کنٹینر میں ڈال دیں گے ۔ ایسا کرنے کے دو طریقے ہیں۔
  1. گرافیکل انٹرفیس کا استعمال کرتے ہوئے

    ایسا کرنے کے لیے، اس لنک پر عمل کریں: http://localhost:8080/manager/html ۔ Tomcat کو صارف کا نام اور پاس ورڈ طلب کرنا چاہئے۔

    اگر آپ اس وقت تک میرے ساتھ چل رہے ہیں، تو صارف کا نام "صارف" ہے، اور پاس ورڈ "password" ہے ۔

    کامیابی کے ساتھ سائن ان کرنے کے بعد، آپ کو Tomcat Web Application Manager نظر آئے گا۔ "ایپلی کیشنز" سیکشن میں پہلے سے ہی 5 ایپلی کیشنز ہیں - یہ Tomcat یوٹیلیٹیز ہیں، جو Tomcat کے ساتھ کام کرنا آسان بناتی ہیں۔ انہیں مستقبل میں حذف کیا جا سکتا ہے۔

    حصہ 6۔ سرولیٹ کنٹینرز - 6

    ذیل میں "تعینات" سیکشن ہے۔ یہاں آپ تعینات کرنے کے لیے WAR آرکائیو کو منتخب کر سکتے ہیں۔ آئیے راستے اور سیاق و سباق کو دستی طور پر درج کریں:

    حصہ 6۔ سرولیٹ کنٹینرز - 7

    "تعینات" پر کلک کریں اور ہم دیکھتے ہیں کہ ہماری درخواست "ایپلی کیشنز" سیکشن میں ظاہر ہوئی ہے:

    حصہ 6۔ سرولیٹ کنٹینرز - 8Tomcat کے گرافیکل انٹرفیس کا استعمال کرتے ہوئے، ہم سیشن کو روک سکتے ہیں، دوبارہ شروع کر سکتے ہیں اور اسے حذف کر سکتے ہیں، اور ساتھ ہی سیشن کی لمبائی بھی سیٹ کر سکتے ہیں۔ تعینات کرتے وقت، ہم نے /demo سیاق و سباق کی وضاحت کی، جس کا مطلب ہے کہ http://localhost:8080/demo کا استعمال کرتے ہوئے ہماری درخواست تک رسائی حاصل کی گئی ہے ۔ یہ دیکھو. سب کچھ کام کرنا چاہئے.

  2. فائل سسٹم کے ذریعے

    اس طرح ایپلی کیشن کو تعینات کرنے کے لیے، آپ کو وہ ڈائرکٹری کھولنے کی ضرورت ہے جہاں Tomcat کو ان زپ کیا گیا تھا۔ پھر "webapps" فولڈر میں جائیں۔ یہاں آپ کو وہ افادیتیں ملیں گی جن کا ہم پہلے ہی سامنا کر چکے ہیں:

    حصہ 6۔ سرولیٹ کنٹینرز - 9

    بس ہمیں اپنی servlet.war فائل کو یہاں منتقل کرنے کی ضرورت ہے۔

    ہم چند سیکنڈ انتظار کرتے ہیں اور پھر دیکھتے ہیں کہ ایک نیا "servlet" فولڈر ظاہر ہوا ہے۔ اس کا مطلب ہے کہ ہماری درخواست تعینات ہے۔ http://localhost:8080/manager/ پر ایپلیکیشن مینیجر انٹرفیس پر جائیں ۔ یہاں ہم دیکھتے ہیں کہ ہماری درخواست /servlet سیاق و سباق میں تعینات ہے:

    حصہ 6۔ سرولیٹ کنٹینرز - 10

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

    جیسا کہ آپ دیکھ سکتے ہیں، Tomcat میں ایپلی کیشنز کی تعیناتی اس سے کہیں زیادہ آسان ہے جتنا لگتا ہے۔ لیکن اس کے دیگر افعال بھی استعمال میں آسان ہیں۔ آؤ دیکھیں.

HTTP کے بجائے HTTPS استعمال کرنا

اگر آپ کو یاد ہے تو ہم نے ایک علیحدہ مضمون میں HTTP اور HTTPS کے درمیان فرق کو دیکھا ۔ HTTPS وہی پروٹوکول ہے جیسا کہ HTTP، لیکن یہ منتقل کیے جانے والے ڈیٹا کو خفیہ کرتا ہے۔ کلائنٹ کی طرف، براؤزر خفیہ کاری کے لیے ذمہ دار ہے، لیکن ہمیں سرور کی طرف سے خفیہ کاری فراہم کرنی چاہیے۔ چونکہ Tomcat HTTP درخواستوں کو قبول کرتا ہے اور اسے روٹ کرتا ہے، اس لیے اس کو خفیہ کاری سونپنا سمجھ میں آتا ہے۔ ایسا کرنے کے لیے، ہمیں:
  1. خود دستخط شدہ سرٹیفکیٹ بنائیں
  2. اضافی سرور کی ترتیبات بنائیں
آئیے ایسا کرنے کی مشق کریں۔

سرٹیفکیٹ تیار کرنا

ورژن سے قطع نظر، JDK میں بڑی تعداد میں یوٹیلیٹیز شامل ہیں۔ ان میں سے ایک کی ٹول ہے ۔ یہ انکرپشن کیز بنانے اور ان کے ساتھ کام کرنے کا ایک ٹول ہے۔ اسے استعمال کرنے کے لیے، کمانڈ لائن پر، C:\\Program Files\\Java\\jdk1.8.0_181\\bin ڈائریکٹری پر جائیں اور کمانڈ keytool -genkey -alias tomcat -keyalg RSA کو چلائیں ۔
  • keytool — اس یوٹیلیٹی کا نام جسے ہم کمانڈ لائن آپشنز کے ساتھ چلا رہے ہیں۔
  • -جینکی — اشارہ کریں کہ ہم ایک نئی کلید بنانا چاہتے ہیں۔
  • -alias tomcat — ایک کلیدی عرف بنائیں
  • -keyalg RSA — RSA کو کلیدی جنریشن الگورتھم کے طور پر منتخب کریں۔
کمانڈ پر عمل کرنے کے بعد، یوٹیلیٹی ہمارے ساتھ مکالمہ شروع کرتی ہے: حصہ 6۔ سرولیٹ کنٹینرز - 11ضروری معلومات درج کریں۔ اب ہم نے اپنی ہوم ڈائرکٹری میں ایک کی اسٹور بنایا ہے (ونڈوز کے لیے یہ C:\\Users\\{username}\\.keystore ہے) اور اس میں ایک ٹومکیٹ کی ہے۔ ہم نے ایک سادہ سرٹیفکیٹ تیار کیا ہے جس کے بارے میں زیادہ تر براؤزر شکایت کریں گے۔ ایسا سرٹیفکیٹ تجارتی ایپلی کیشنز کے لیے موزوں نہیں ہے: اسے صرف ٹیسٹ کے مقاصد کے لیے استعمال کیا جا سکتا ہے۔ پروڈکشن سرور پر، آپ کو سرٹیفیکیشن اتھارٹی سے سرٹیفکیٹ استعمال کرنے کی ضرورت ہے (مثال کے طور پر، https://letsencrypt.org/

سرور کی تشکیل

اب جب کہ سرٹیفکیٹ تیار ہے، ہمیں سرور کی ترتیبات، یعنی SSL کنیکٹر کو ایڈجسٹ کرنے کی ضرورت ہے۔ یہ سرور.xml فائل میں کیا جاتا ہے، جو apache-tomcat-9.0.30/conf/ میں واقع ہے ۔ اس میں، ہمیں اس طرح کے بلاکس ملتے ہیں:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true">
        <SSLHostConfig>
            <Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
                         type="RSA" />
        </SSLHostConfig>
 </Connector>
اور ہم اپنی ترتیب ان کے آگے رکھتے ہیں:

    <Connector
           protocol="org.apache.coyote.http11.Http11NioProtocol"
           port="8443" maxThreads="200"
           scheme="https" secure="true" SSLEnabled="true"
           keystoreFile="C:\Users\user\.keystore" keystorePass="mypass"
           clientAuth="false" sslProtocol="TLS"/>
ہم keystoreFile اور keystorePass پیرامیٹرز کو تازہ ترین اقدار تفویض کرتے ہیں، فائل کو محفوظ کرتے ہیں، اور پھر shutdown.bat اور startup.bat فائلوں کا استعمال کرتے ہوئے Tomcat کو دوبارہ شروع کرتے ہیں۔ اب سرور HTTPS درخواستوں پر کارروائی کے لیے تیار ہے۔ پتہ تھوڑا سا تبدیل ہوا ہے: https://localhost:8443/demo/hello ۔ جب آپ لنک پر کلک کریں گے تو آپ کو سرٹیفکیٹ کے قابل اعتماد ہونے کے بارے میں ایک انتباہ موصول ہوگا، جو کہ حیرت کی بات نہیں ہے۔ جیسا کہ ہم نے تھوڑا پہلے کہا، آپ کو ایک عام سرٹیفکیٹ حاصل کرنے کے لیے سرٹیفیکیشن اتھارٹیز میں سے کسی ایک کی خدمات استعمال کرنے کی ضرورت ہے۔ لیکن ابھی کے لیے، ہم نے اپنا مقصد حاصل کر لیا ہے: ایپلیکیشن HTTPS پروٹوکول کا استعمال کرتے ہوئے چلتی ہے، اور یہ اہم ہے!

متحرک طور پر HTML صفحات تیار کرنا

اب ہم ایک اور خصوصیت پر غور کرتے ہوئے سرولیٹ کنٹینرز کا جائزہ جاری رکھیں گے: HTML صفحات کی متحرک نسل۔ ایک بہترین دنیا کا تصور کریں جہاں، جامد HTML کوڈ کو بور کرنے کے بجائے، آپ متغیرات، لوپس، اری اور دیگر زبان کی تعمیرات کا استعمال کرتے ہوئے جاوا کوڈ لکھ سکتے ہیں۔ کیا آپ اس کا تصور کر سکتے تھے؟ اچھی خبر یہ ہے کہ کچھ ایسا ہی موجود ہے۔ بری خبر یہ ہے کہ یہ مکمل طور پر اس فنتاسی کو حاصل نہیں کرتا ہے۔ اگر آپ نے اندازہ نہیں لگایا ہے تو ہم جاوا سرور پیجز (JSP) کے بارے میں بات کر رہے ہیں۔ مختصراً، یہ ٹیکنالوجی ہے جو آپ کو جاوا کوڈ کے ٹکڑے ایک HTML صفحہ میں داخل کرنے دیتی ہے۔ درست، یہ جاوا کوڈ کلائنٹ کو بھیجے جانے سے پہلے ہی HTML میں تبدیل ہو جاتا ہے، لیکن وہ HTML مختلف عوامل کو مدنظر رکھتے ہوئے متحرک طور پر تیار کیا جائے گا۔ مثال کے طور پر، آپ مشروط بیانات استعمال کر سکتے ہیں اور کچھ شرط کے لحاظ سے مختلف مواد واپس کر سکتے ہیں۔ مثال JSP صفحہ:

<%@ page language="java"" %>
<html>
<head>
<title>JSP</title>
</head>

<body>
<%
String firstName="name";
String secondName="surname";
    
    if (firstName.equals("name")){
      out.print("Hello: "+firstName+"<br>");
    }

    if (firstName.equals("name") && secondName.equals("surname"))
    {
      out.print("Hello, my dear friend! <br>");
    }
    else
    {
      out.print("I don't know you. Go away! <br>");
    }
%>
</body>
</html>
آپ یہاں JSP کے بارے میں مزید پڑھ سکتے ہیں ۔ دن کے اختتام پر، یہ مضمون JSP کے بارے میں نہیں ہے — ہم یہاں سرولیٹ کنٹینرز کے بارے میں بات کرنے کے لیے ہیں! تو ہم نے جے ایس پی کا ذکر کیوں کیا؟ یہ آسان ہے: ایک سرولیٹ کنٹینر وہ ہے جو جاوا کوڈ کو JSP سے HTML میں تبدیل کرتا ہے۔ جب کوئی سرولیٹ جواب کے طور پر JSP مواد واپس کرنے جا رہا ہے، تو کنٹینر نوٹ لیتا ہے اور کلائنٹ کو ایسا مواد بھیجنے سے پہلے اسے براؤزر کے موافق HTML صفحہ میں تبدیل کرتا ہے۔ آج، JSP ٹیکنالوجی کے بہت سے مشابہت ہیں — Thymeleaf، FreeMarket، Mustache، اور دیگر۔ وہ سب ایک ہی انداز میں کام کرتے ہیں۔ آپ کے کام کے لیے ان میں سے کس کا انتخاب کرنا ذائقہ کا معاملہ ہے۔ یہ سرولیٹ کنٹینر کو منتخب کرنے پر بھی لاگو ہوتا ہے۔ ان مثالوں میں، ہم نے Tomcat، سب سے عام کنٹینر استعمال کیا، لیکن کچھ پروجیکٹ دوسرے کنٹینرز استعمال کرتے ہیں۔ سب سے زیادہ مقبول لوگوں کا مختصراً جائزہ لینا اور اس پر غور کرنا کہ وہ ٹامکیٹ سے کیسے مختلف ہیں۔

ٹامکیٹ کے متبادل

  1. GlassFish ایک اوپن سورس کنٹینر ہے جس کی ترقی کو اوریکل سے تعاون حاصل ہے۔

    Tomcat کے برعکس، یہ ایک مکمل ویب سرور ہے، جو کہ servlets کے علاوہ JavaEE فریم ورک کے دیگر اجزاء کے ساتھ کام کر سکتا ہے۔ اس نے کہا، یہ بہت زیادہ RAM استعمال کرتا ہے۔ سرور کو ٹھیک کرنے کے دوران زیادہ لچک ہوتی ہے، جو اس کے استعمال کو پیچیدہ بناتا ہے۔ اسے JavaEE فریم ورک پر ایپلیکیشنز تیار کرتے وقت استعمال کیا جانا چاہیے۔

  2. وائلڈ فلائی کو پہلے JBoss کے نام سے جانا جاتا تھا ۔ یہ اوپن سورس بھی ہے۔ اسے ریڈ ہیٹ نے تیار کیا ہے۔ کمپنی کی ایک اور پروڈکٹس — JBoss Enterprise Application Platform کے ساتھ الجھن سے بچنے کے لیے نام تبدیل کیا گیا تھا۔

    GlassFish کی طرح، WildFly ایک مکمل ویب سرور ہے۔ اتفاق سے، ہڈ کے نیچے، وائلڈ فلائی ٹامکیٹ کو بطور سرولیٹ کنٹینر استعمال کرتی ہے۔ GlassFish کے برعکس، WildFly زیادہ ہلکا پھلکا اور ترتیب دینے میں آسان ہے۔

  3. جیٹی ، پچھلے لوگوں کی طرح، اوپن سورس ہے۔ اسے Eclipse نے تیار کیا ہے۔

    Tomcat کی طرح، یہ ایک سادہ سرولیٹ کنٹینر ہے، جاوا ای ای فریم ورک کے تمام اجزاء کی حمایت کے بغیر۔ ساتھ ہی یہ زیادہ ہلکا پھلکا ہے اور موبائل فون پر بھی چلایا جا سکتا ہے۔ یہ تیزی سے شروع اور رک جاتا ہے اور اچھی طرح سے پیمانہ ہوتا ہے۔ Tomcat کے برعکس، اس کی ایک چھوٹی کمیونٹی اور علم کی بنیاد ہے۔

  4. WebLogic لائسنس یافتہ سافٹ ویئر ہے جسے استعمال کرنے سے پہلے خریدنا ضروری ہے۔ اس کا تعلق اوریکل سے ہے۔

    اس میں Tomcat کے مقابلے میں قدرے وسیع فعالیت ہے۔ یہ FTP پروٹوکول کے ساتھ کام کر سکتا ہے۔ لیکن ایپلی کیشنز کو تیار کرنے اور جانچتے وقت یہ اتنا لچکدار نہیں ہوتا ہے۔

  5. WebSphere (ویب اسپیئر ایپلیکیشن سرور، عین مطابق) ادا شدہ سافٹ ویئر ہے۔ اسے IBM نے تیار کیا ہے۔ وائلڈ فلائی اور گلاس فش کی طرح یہ ایک مکمل ایپلیکیشن سرور ہے۔ لیکن اس میں ایک دوستانہ کنفیگریشن انٹرفیس ہے، نیز آپریشن میں اعلی وشوسنییتا۔

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

صحیح سرولیٹ کنٹینر یا ایپلیکیشن سرور کا انتخاب خاص پروجیکٹ پر منحصر ہے۔ ایسے منصوبے ہیں جہاں ایک واضح انڈر ڈاگ بھی ایک بہترین انتخاب ثابت ہو سکتا ہے، لیکن سب سے پہلے ایک سرولیٹ کنٹینر کا گہرائی سے مطالعہ کرنا بہتر ہے۔ Tomcat شاید اس مطالعہ کے لئے بہترین امیدوار ہے. اور ہم نے پہلے ہی اس کا مطالعہ کرنے کے لیے پہلے قدم اٹھا لیے ہیں، لیکن یہاں سے یہ آپ پر منحصر ہے! "انٹرپرائز ڈویلپمنٹ کا تعارف" سیریز کے آخری مضامین میں، ہم MVC پیٹرن کو جانیں گے۔ حصہ 7۔ MVC (ماڈل-ویو-کنٹرولر) پیٹرن کا تعارف
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION