JBoss - Tomcat tekrar [kapalı]


138

Bu, Tomcat ve JBoss arasında hangi sunucunun daha iyi olduğu (ki bu :)) eski soru gibi görünecektir, ancak sorunumu çözmek için henüz yeterince iyi bir cevap bulamadım.

Tomcat'in sadece bir servlet motoru olduğunu ve JBoss'un kutudan çok daha fazla işlevsellik sunduğunu biliyorum, ancak anlayamadığım şey Tomcat'in bazı durumlarda neden jboss'tan daha iyi olduğunu. JBoss'un takılabilir bir mimariye sahip olduğu bir yerde okudum ve gerekirse bir tomcat sunucu uygulaması kabı yapmak için özellikleri JBoss'tan çıkarabilirsiniz. Bu durumda, şeyleri geri takmak için kapsam bırakmak için Tomcat kullanmak yerine bunu yapmak daha iyi olmaz.

Tomcat lehine bulduğum bir başka açıklama, hafif olması, daha az bellek gereksinimi anlamına gelmesi ya da daha hızlı yanıt verebilmesidir. Yine, bilmiyorum gerekir gereksinimi başına yük bileşenleri jboss olmaz yani sadece sunucu uygulamaları kullanıyorsanız, o zaman jboss özellikleri geri kalanını atlamak ve otomatik olarak hafif olmayacak.

Aslında, uygulamamın Java EE özellikleri yok, ancak Tomcat lehine 'hafif' argümanlar yukarıda belirtilen nedenlerden dolayı yeterince ikna edici gelmiyor.

Lütfen yardım et.

Edit: Nihayet tomcat kullanmaya karar vermiştik ve 6 aydan fazla bir süredir büyük bir kullanım kolaylığıyla kullanıyoruz. Farklı geliştiriciler için aynı sunucu makinesinde çok sayıda tomcat örneğini kolayca çalıştırabildiğimiz bazı pratik kullanım bulduğumuzda, aynı durum jboss ile çok zor olabilirdi.

Tomcat'in çalışmamız için sorunsuz olduğunu gördüm ve bu nedenle Java EE özelliklerinin çoğunu kullanmadığınızda doğru seçim olabilir. Not: Tomcat ile hala Spring ve Hibernate kullandığımızı lütfen unutmayın


1
Uhh JBoss, Tomcat ile entegre değil mi?
Navi

4
@Navi: Pek değil. Tomcat kod tabanının çatallı sürümünü içerir, ancak biraz farklıdır.
skaffman

1
Hiçbir j2ee özelliği olmayan basit bir web uygulaması, uyumlu bir sunucu uygulaması kapsayıcısında kolayca dağıtılabilir. Bu göz önüne alındığında, hangisini ön tarafta kullandığınız çok önemli değil. Konuşlandırmanın en basitiyle başlardım (Tomcat ve Jetty, geçmişte bana iyi hizmet ettiler).
Joel

3
FYI, 2011'in sonlarında Tomcat, bu eski soruyu cevaplamak için TomEE olarak JavaEE 6 sertifikasına sahipti .
David Blevins

1
yaklaşık 150 bin görüntüleme, 125 upvotes ve 0 downvotes kapalı bir ques? !! Bunların kurallar olduğunu biliyorum ama bu tür kuralların biraz değiştirilmesi gerektiğini söylemeliyim.
Muhammed Refaat

Yanıtlar:


132

Öncelikle gerçekler, ikisi de daha iyi değil . Daha önce de belirttiğiniz gibi Tomcat, Servlet özelliğini destekleyen bir sunucu uygulaması kapsayıcısı sağlar (Tomcat 7, Servlet 3.0'ı destekler). 'Komple' bir uygulama sunucusu olan JBoss AS, geçerli sürümünde Java EE 6'yı (Servlet 3.0 dahil) destekler.

Tomcat oldukça hafiftir ve Servlet API'sının ötesinde bazı Java EE özelliklerine ihtiyacınız olması durumunda, uygulamanızın bir parçası olarak gerekli kütüphaneleri sağlayarak Tomcat'i kolayca geliştirebilirsiniz. Örneğin, JPA özelliklerine ihtiyacınız varsa Hazırda Beklet veya OpenEJB'yi dahil edebilirsiniz ve JPA neredeyse kutudan çıkar çıkmaz çalışır .

Tomcat veya tam yığın Java EEuygulama sunucusu kullanılıp kullanılmayacağına nasıl karar verilir :

Projenize başlarken neye ihtiyaç duyduğuna dair bir fikriniz olmalıdır. Geniş bir kurumsal ortamdaysanız JBoss (veya başka bir Java EE sunucusu), aşağıdakiler için yerleşik destek sağladığı için doğru seçim olabilir:

  1. Eşzamansız entegrasyon için JMS mesajlaşma
  2. Web Hizmetleri motoru (JAX-WS ve / veya JAX-RS)
  3. JMX ve komut dosyası içeren bir yönetim arabirimi gibi yönetim özellikleri
  4. Gelişmiş güvenlik, örneğin 3. taraf dizinlerle kullanıma hazır entegrasyon
  5. "Yalnızca" yerine EAR dosyası WAR dosya desteği
  6. hatırlayamadığım diğer tüm "harika" Java EE özellikleri :-)

Bence Tomcat, web merkezli, kullanıcılara dönük uygulamalar söz konusu olduğunda çok uygun. Arka uç entegrasyonu devreye girerse, bir Java EE uygulama sunucusu (en azından) dikkate alınmalıdır. Son olarak, Tomcat için geliştirilen bir WAR'u JBoss'a geçirmek 1 günlük bir alıştırma olmalıdır.

İkinci olarak, ortamınızdaki kullanımı da dikkate almalısınız. Kuruluşunuzun 1000 JBoss örneğini zaten çalıştırması durumunda, somut gereksinimleriniz ne olursa olsun her zaman bununla devam edebilirsiniz (operasyon maliyeti veya beceri artışı gibi unsurları göz önünde bulundurun). Tabii ki, bunun tersi de geçerlidir.

benim 2 sentim


13

TOMEE'a bir göz atın

Tam bir Java EE uygulaması oluşturmak için ihtiyacınız olan tüm özelliklere sahiptir.


7

Kesinlikle TomEE'ye bakacağım, çünkü arkadaki fikir Tomcat'in tüm JavaEE 6 entegrasyonunu varsayılan olarak eksik getirmesini sağlamaktır. Bu bir tür çok iyi uzlaşma


6

Açıkçası; Hiçbir Java EE özelliği ile uygulamanızın neredeyse hiç bir appserver'a ihtiyacı yoktur ;-)

Diğerlerinin işaret ettiği gibi, Tomoss sadece bir web kapsayıcı iken JBoss'un (az ya da çok) tam bir Java EE yığını vardır. JBoss yalnızca bir web kapsayıcısı olarak da hizmet verecek şekilde yapılandırılabilir, daha sonra dahil edilen tomcat web kapsayıcısının etrafında ince bir sargı olacaktır. Bu şekilde, Tomcat'in etrafında ince bir sargı malzemesi olan neredeyse hafif bir JBoss'a sahip olabilirsiniz. Bu neredeyse hafif bir ağırlık olurdu.

JBoss'un sunduğu ekstralardan herhangi birine ihtiyacınız olmayacaksa, en rahatını seçin. Hangisi sizin için yapılandırılması ve bakımı en kolay yöntemdir?


1
web hizmetlerini ve jmx'i tomcat ile kullanmak ne kadar zor, lütfen bazı iyi referanslar / bağlantılar sağlayabilir misiniz
Ashish

2

Ayrıca bazı sunucular için bir örneğin yalnızca kalıcılık bağlamlarına açıklama eklemesi gerektiğini, ancak bazı sunucularda enjeksiyonun manuel olarak yapılması gerektiğini okudum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.