Saya mulai melihat ke Enterprise Java dan buku yang saya ikuti menyebutkan bahwa ia akan menggunakan JBoss. Netbeans dikirimkan bersama Glassfish. Saya telah menggunakan Tomcat di masa lalu.
Apa perbedaan antara ketiga program ini?
Saya mulai melihat ke Enterprise Java dan buku yang saya ikuti menyebutkan bahwa ia akan menggunakan JBoss. Netbeans dikirimkan bersama Glassfish. Saya telah menggunakan Tomcat di masa lalu.
Apa perbedaan antara ketiga program ini?
Jawaban:
Tomcat hanyalah wadah servlet, yaitu hanya mengimplementasikan servlet dan spesifikasi JSP. Glassfish dan JBoss adalah server Java EE lengkap (termasuk hal-hal seperti EJB, JMS, ...), dengan Glassfish menjadi implementasi referensi dari tumpukan Java EE 6 terbaru, tetapi JBoss pada 2010 belum sepenuhnya mendukungnya.
Tomcat hanyalah sebuah server HTTP dan wadah servlet Java. JBoss dan GlassFish adalah server aplikasi Java EE yang lengkap, termasuk wadah EJB dan semua fitur lain dari tumpukan itu. Di sisi lain, Tomcat memiliki jejak memori yang lebih ringan (~ 60-70 MB), sementara server Java EE tersebut berbobot ratusan MB. Tomcat sangat populer untuk aplikasi web sederhana, atau aplikasi yang menggunakan kerangka kerja seperti Spring yang tidak memerlukan server Java EE lengkap. Administrasi server Tomcat bisa dibilang lebih mudah, karena ada bagian bergerak yang lebih sedikit.
Namun, untuk aplikasi yang memerlukan Java EE stack penuh (atau setidaknya lebih banyak potongan yang dapat dengan mudah dibaut ke Tomcat) ... JBoss dan GlassFish adalah dua dari penawaran open source paling populer (yang ketiga adalah Apache Geronimo , di mana versi gratis IBM WebSphere dibangun). JBoss memiliki komunitas pengguna yang lebih besar dan lebih dalam, dan basis kode yang lebih matang. Namun, JBoss jauh tertinggal dari GlassFish dalam mengimplementasikan spesifikasi Java EE saat ini. Juga, bagi mereka yang lebih suka sistem admin berbasis GUI ... Konsol admin GlassFish sangat apik, sedangkan sebagian besar administrasi di JBoss dilakukan dengan command-line dan editor teks. GlassFish datang langsung dari Sun / Oracle, dengan semua keunggulan yang dapat ditawarkan. JBoss TIDAK di bawah kendali Sun / Oracle, dengan semua keunggulan yang dapat ditawarkan.
Anda harus menggunakan GlassFish untuk aplikasi Java EE enterprise . Beberapa hal yang perlu dipertimbangkan:
Sebuah web Server berarti: permintaan Penanganan HTTP (biasanya dari browser).
Sebuah Servlet kontainer (misalnya Tomcat ) berarti: Ia bisa menangani servlets & JSP.
Sebuah Application Server (misalnya GlassFish ) berarti: * Hal ini dapat mengatur aplikasi Java EE (biasanya baik servlet / JSP dan EJBs).
Tomcat - dijalankan oleh komunitas Apache - Open source dan memiliki dua rasa:
Tidak ada dukungan komersial yang tersedia (hanya dukungan komunitas)
JBoss - Dijalankan oleh RedHat Ini adalah dukungan penuh-tumpukan untuk JavaEE dan ini adalah wadah Java EE bersertifikat. Ini termasuk Tomcat sebagai wadah web secara internal. Ini juga memiliki dua rasa:
Glassfish - Dijalankan oleh Oracle Ini juga merupakan Java EE Container dengan sertifikat penuh. Ini memiliki wadah web sendiri (bukan Tomcat). Ini berasal dari Oracle sendiri, jadi semua spesifikasi baru akan diuji dan diimplementasikan dengan Glassfish terlebih dahulu. Jadi, selalu itu akan mendukung spek terbaru. Saya tidak mengetahui model dukungannya.
jboss dan glassfish termasuk wadah servlet (seperti tomcat), namun dua server aplikasi (jboss dan glassfish) juga menyediakan wadah kacang (dan beberapa hal lain juga saya bayangkan)
JBoss dan Glassfish pada dasarnya penuh Java EE Application Server sedangkan Tomcat hanya merupakan wadah Servlet. Perbedaan utama antara JBoss, Glassfish, tetapi juga WebSphere, WebLogic, dan lain-lain sehubungan dengan Tomcat tetapi juga Jetty, terletak pada fungsionalitas yang ditawarkan server aplikasi lengkap. Ketika Anda memiliki server aplikasi Java EE tumpukan penuh, Anda dapat mengambil manfaat dari semua implementasi vendor pilihan Anda, dan Anda dapat memanfaatkan EJB, JTA, CDI (JAVA EE 6+), JPA, JSF, JSP / Servlet tentu saja dan seterusnya. Dengan Tomcat di sisi lain, Anda hanya dapat memanfaatkan JSP / Servlet. Namun hari ini dengan Kerangka kerja canggih seperti Spring dan Guice, banyak keuntungan utama menggunakan server aplikasi tumpukan penuh dapat dikurangi, dan dengan asumsi salah satu kerangka kerja ini jantan dengan Spring Ecosystem,
Tampaknya agak mengecewakan untuk menggunakan Tomcat ketika Anda membaca jawaban ini. Namun apa yang paling gagal disebutkan adalah bahwa Anda bisa mendapatkan kasus penggunaan yang identik atau hampir identik dengan kucing jantan tetapi itu mengharuskan Anda untuk menambahkan perpustakaan yang dibutuhkan (melalui Maven atau apa pun termasuk sistem yang Anda gunakan).
Saya telah menjalankan tomcat dengan JPA, EJB dengan upaya konfigurasi yang sangat kecil.
JBoss dan Tomcat adalah server aplikasi Java servlet, tetapi JBoss jauh lebih banyak. Perbedaan mendasar antara keduanya adalah bahwa JBoss menyediakan tumpukan Java Enterprise Edition (Java EE) lengkap, termasuk Enterprise JavaBeans dan banyak teknologi lainnya yang berguna bagi pengembang yang bekerja pada aplikasi Java enterprise.
Tomcat jauh lebih terbatas. Salah satu cara untuk memikirkannya adalah bahwa JBoss adalah tumpukan Java EE yang mencakup wadah servlet dan server web, sedangkan Tomcat, sebagian besar, adalah wadah servlet dan server web.
Apache tomcat hanyalah wadah serverlet saja yang tidak mendukung aplikasi Enterprise Java (JEE). JBoss dan Glassfish mendukung aplikasi JEE tetapi Glassfish jauh lebih berat daripada server JBOSS: Referensi Slide