Enterprise Java'ya bakmaya başladım ve takip ettiğim kitap JBoss kullanacağından bahsediyor. Netbeans Glassfish ile gemi. Tomcat'i geçmişte kullandım.
Bu üç program arasındaki farklar nelerdir?
Enterprise Java'ya bakmaya başladım ve takip ettiğim kitap JBoss kullanacağından bahsediyor. Netbeans Glassfish ile gemi. Tomcat'i geçmişte kullandım.
Bu üç program arasındaki farklar nelerdir?
Yanıtlar:
Tomcat sadece bir sunucu uygulaması konteyneridir, yani yalnızca sunucu uygulamalarını ve JSP özelliklerini uygular. Glassfish ve JBoss tam Java EE sunucularıdır (EJB, JMS, ... gibi şeyler dahil), Glassfish en son Java EE 6 yığınının referans uygulamasıdır, ancak 2010'daki JBoss henüz tam olarak desteklemiyordu.
Tomcat yalnızca bir HTTP sunucusu ve Java sunucu uygulaması kapsayıcısıdır. JBoss ve GlassFish, bir EJB kapsayıcısı ve bu yığının diğer tüm özellikleri de dahil olmak üzere tam gelişmiş Java EE uygulama sunucularıdır. Öte yandan, Tomcat'in daha hafif bir bellek alanı (~ 60-70 MB) varken, bu Java EE sunucuları yüzlerce megabayt ağırlığındadır. Tomcat, basit web uygulamaları veya Spring gibi tam bir Java EE sunucusu gerektirmeyen çerçeveler kullanan uygulamalar için çok popülerdir. Bir Tomcat sunucusunun yönetimi, daha az hareketli parça bulunduğundan tartışmasız daha kolaydır.
Bununla birlikte, tam bir Java EE yığını gerektiren uygulamalar (veya Tomcat'e kolayca vidalanabilen en az daha fazla parça) ... JBoss ve GlassFish en popüler açık kaynak tekliflerinden ikisi (üçüncüsü Apache Geronimo IBM WebSphere'in ücretsiz sürümünün oluşturulduğu). JBoss, daha geniş ve daha derin bir kullanıcı topluluğuna ve daha olgun bir kod tabanına sahiptir. Bununla birlikte, JBoss, mevcut Java EE özelliklerinin uygulanmasında GlassFish'in gerisinde kalmaktadır. Ayrıca, GUI tabanlı bir yönetici sistemini tercih edenler için ... GlassFish'in yönetici konsolu son derece kaygan, JBoss'taki çoğu yönetim bir komut satırı ve metin editörü ile yapılır. GlassFish, sunabileceği tüm avantajlarla birlikte doğrudan Sun / Oracle'dan gelir. JBoss, sunabileceği tüm avantajlarla birlikte Sun / Oracle'ın kontrolü altında DEĞİLDİR.
Java EE kurumsal uygulamaları için GlassFish kullanmalısınız . Dikkate alınması gereken bazı noktalar:
Bir web sunucusu aracı: (genellikle tarayıcılarından) Taşıma HTTP isteği.
Bir Servlet Kabı (örn. Tomcat ) şu anlama gelir: Sunucu uygulamaları ve JSP'yi işleyebilir.
Bir Uygulama Sunucusu (örn GlassFish ) araçları: Bu Java EE uygulamaları (genellikle servlet / JSP ve EJB'ler ikisi) yönetebilir *.
Tomcat - Apache topluluğu tarafından yönetilir - Açık kaynak kodlu ve iki çeşidi vardır:
Ticari destek yok (yalnızca topluluk desteği)
JBoss - Run by RedHat JavaEE için tam yığın desteğidir ve sertifikalı bir Java EE kapsayıcısıdır. Buna dahili olarak web kapsayıcısı olarak Tomcat dahildir. Bunun da iki çeşidi vardır:
Glassfish - Oracle tarafından çalıştırın Bu aynı zamanda tam bir yığın sertifikalı Java EE Kapsayıcısıdır. Bunun kendi web kapsayıcısı vardır (Tomcat değil). Bu Oracle'ın kendisinden geliyor, bu yüzden tüm yeni özellikler önce Glassfish ile test edilecek ve uygulanacak. Yani, her zaman en son özellikleri destekleyecektir. Destek modellerinin farkında değilim.
jboss ve glassfish bir sunucu kabı (tomcat gibi) içerir, ancak iki uygulama sunucusu (jboss ve glassfish) ayrıca bir fasulye kabı sağlar (ve hayal ettiğim birkaç şey daha)
JBoss ve Glassfish temel olarak Java EE Uygulama Sunucusudur, Tomcat ise sadece bir Servlet konteynırdır. JBoss, Glassfish ve aynı zamanda WebSphere, WebLogic ve Tomcat ile aynı zamanda Jetty arasındaki temel fark, tam bir uygulama sunucusunun sunduğu işlevsellikte oldu. Tam bir yığın Java EE uygulama sunucunuz olduğunda, seçtiğiniz satıcının tüm uygulamasından yararlanabilirsiniz ve elbette EJB, JTA, CDI (JAVA EE 6+), JPA, JSF, JSP / Servlet'ten yararlanabilirsiniz. ve bunun gibi. Diğer yandan Tomcat ile yalnızca JSP / Servlet'ten yararlanabilirsiniz. Ancak, Spring ve Guice gibi gelişmiş Framework ile, tam bir yığın uygulama sunucusu kullanmanın ana avantajının birçoğu hafifletilebilir ve bu çerçeveden birinin Spring Ecosystem ile erkeksi olduğu varsayıldığında,
Bu cevapları okurken Tomcat'i kullanmak biraz cesaret kırıcı görünüyor. Bununla birlikte, en çok bahsedilemeyen şey, tomcat ile aynı veya neredeyse aynı kullanım durumlarına ulaşabilmenizdir, ancak bu gerekli kütüphaneleri eklemenizi gerektirir (Maven veya kullandığınız herhangi bir sistemi içerir).
JPA ile tomcat, çok küçük yapılandırma çabalarıyla EJB'lerle çalışıyorum.
Hem JBoss hem de Tomcat, Java sunucu uygulaması uygulama sunucularıdır, ancak JBoss çok daha fazlasıdır. İkisi arasındaki önemli fark, JBoss'un Enterprise JavaBeans ve kurumsal Java uygulamalarında çalışan geliştiriciler için yararlı olan diğer birçok teknoloji de dahil olmak üzere tam bir Java Enterprise Edition (Java EE) yığını sağlamasıdır.
Tomcat çok daha sınırlıdır. Bunu düşünmenin bir yolu JBoss'un sunucu uygulaması kapsayıcısı ve web sunucusu içeren bir Java EE yığını olması, Tomcat ise çoğunlukla sunucu uygulaması kapsayıcısı ve web sunucusu olmasıdır.
Apache tomcat, Enterprise Java uygulaması (JEE) için desteklemediği tek bir sunucu uygulamasıdır. JBoss ve Glassfish, JEE uygulamasını destekliyor, ancak Glassfish JBOSS sunucusundan çok ağır: Reference Slide