문제

내가/학습 더 많은 봄에 대한 요즘,그리고 어떻게 사용하는 것이고 봄에 다른 오픈 소스와 같은 도구 Tomcat 및 Hibernate.나는지 여부를 평가 Spring MVC 될 수 있다는 가능한 대체 기술에 대한 프로젝트 작업에 사용하는 WebLogic 의 많은 사용자 지정연 Java EE 코드입니다.는 것입니다,나는 항상 의심의 솔루션을 통해 설계 그리고 방법이 더 복잡한 보다 그것은 필요가 있습니다.놀랍게도,그것은 2009 년,그리고 아직,우리는 우리 자신의 트랜잭션 처리 및 스레드 풀링 클래스입니다.그리고 그것처럼 우리는 Amazon,eBay,또는 Google 는 경우,당신은 알고 무엇을 의미합니다.따라서,저는 조사하고"더 간단한 더 나은"옵션을 선택합니다.

그래서 여기에 제 질문:을 듣고 싶어에 대한 의견을 어떻게 당신이 결정하는 만발한 Java EE 응용 프로그램 서버가 필요하지 않습니다.당신은 어떻게"measure"크기로드//에 대한 수요 Java EE 응용 프로그램?동시 사용자 수?일일 총거래?얼마나 중요한지 않을 얻을하기 전에 던져 당신이 당신의 손에서 항복하는 말,"OK,Tomcat 그냥 절단되지 않,우리가 필요 JBoss/WebLogic/WebSphere"?

도움이 되었습니까?

해결책

본격적인 Java EE 서버를 사용하기로 한 결정은 사용자 또는 거래 수를 기반으로해야한다고 생각하지 않습니다. 오히려 기능이 필요한지 여부를 기반으로해야합니다.

현재의 프로젝트에서 우리는 실제로 Jboss에서 Vanilla Tomcat으로 이사합니다. 어쨌든 우리는 기본 서블릿을 넘어 Java EE 기능을 사용하고 있지 않다는 것을 깨달았 기 때문입니다. 그러나 우리는 봄을 사용하고 있습니다. Spring의 기본 객체 관리, 트랜잭션 처리 및 JDBC 기능 사이에서 EJB에 대한 강력한 요구가 없습니다. 우리는 현재 Spring의 MVC 대신 Struts 2를 사용하지만 그에 대해 큰 소식을 들었습니다. 어쨌든 Spring은 여러 Java 웹 프레임 워크와 잘 통합됩니다.

다른 팁

Spring은 JMS 및 JTA와 같은 Javaee 사양의 특정 고급 부분을 대체하려고 시도하지 않습니다. 대신, 그것들을 기반으로하여 "스프링 웨이"와 일치하고 일반적으로 사용하기 쉽게 만듭니다.

응용 프로그램에 JMS 및 JTA와 같은 힘이 필요한 경우 스프링을 통해 쉽게 사용할 수 있습니다. 그것에 문제가되지 않습니다.

Google은 많은 코드를 오픈합니다. 이미 작성된 코드를 구현하는 대신 저수준을 직접 작성하는 경우 문제를 지나치게 생각하는 경우가 많습니다.

실제 질문으로 돌아가서 Walmart.com, etrade.com, 날씨 채널 및 꽤 많은 다른 Tomcat 만 사용하십시오. IBM의 마케팅 및 영업 담당자는 아마도 다르게 믿을 수 있지만 Tomcat에는 상한이 없습니다.

EJB를 제외하고는 Tomcat이 누락 된 것이 확실하지 않으며 EJB의 팬이 아닙니다.

무엇을 톰캣을 제공하지 않습에서 떨어져 더 이국적인 요소의 Java EE 이션 콩(aka Ejb).세션 콩할 수 있을 격리시키는 처리 효율적으로 합니다.그래서 당신이 할 수 있는 한자를 위해 프런트 엔드,다른 세션에 대한 콩(비즈니스 논리)와 다른 데이터베이스에 대한.

당신이 원하는 것이 이렇게하려면 최소 2 가지 이유:

  1. Performance;당신은 하나 찾기 상자 처리 모든 것을 로드하자 너무 많.분리 다른 층에 다른 상자할 수 있는 규모다.세션 콩은 또한 로드 밸런스에서는 더 세밀한 수준이다.Tomcat 및 기타 웹 서비스의 ilk 있지 않는 클러스터링합니다.
  2. 유;이제는 당신이 당신의 비즈니스 논리로 자신의 환경을 개발할 수 있다 다른 프런트 엔드 사용되는 동일한 레이어,하지만,두꺼운 클라이언트 프론트 엔드에 대한 예입니다.또 어쩌면 다른 컨텍스트를 이용하는 세션이다.

하지만 내가 아는 사용하는 경우 웹 서비스로 통신하는 중간 계층,그것은 또한 수에 tomcat!

완전히 날려 버린 Java EE 서버를 사용하는 유일한 이유는 분산 XA 트랜잭션이 필요한 경우 XA 트랜잭션이 필요하지 않은 경우 Spring + JPA + Tomcat + Bean 검증 + JSTL + el + JSP + Java 메일을 사용할 수 있기 때문입니다.

또한 Java EE 서버는 JMS를 구현해야하지만 앱 서버의 다른 VM과 동일한 VM에서 JMS 서버를 실행하는 것은 의미가 없으므로 JMS가 필요한 경우 별도의 JMS 서버가 있어야합니다.

나는 여기에 주어진 모든 답변에 강력하게 동의하지 않습니다.

EJB, CDI, JTA, BEAN 검증, JAX-RS 등을 포함한 Tomcat에 모든 것이 추가 될 수 있습니다.

문제는 : 당신은 이것을 원하십니까? 올바른 버전에서 이러한 모든 종속성을 조립하고 다른 사람들이 이미이 작업을 수행했을 때 모두 함께 작동한다는 테스트를 원하십니까?

명확하게하자 : 아무도 Tomcat 만 사용하지 않습니다! 누구나 항상 웹 프레임 워크, IOC 컨테이너, ORM, 거래 관리자, 웹 서비스 등을 추가합니다.

Tomee와 같은 경량 Java EE 서버에는 이미 모든 것이 포함되어 있으며 모든 것을 훨씬 더 잘 통합 한 전체 스택 경험을 제공합니다.

아마도 이것은 관심이있을 수 있습니다 :

http://onjava.com/onjava/2006/02/08/j2ee-without-application-server.html

HTH

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top