2011-10-19 2 views
1

개발 전반에 걸쳐 코드를 독립 실행 형 프로젝트로 분리했습니다. 대부분 JMS 피드를 받고 각 메시지에서 일부 처리를 수행하고 도메인 객체를 유지 한 다음 다른 일부 프로젝트가 RMI를 사용하여 호출 할 수 있도록 서비스를 제공합니다. 그것들 모두는 독립 실행 형 jar로 실행되는 웹 응용 프로그램 (tomcat에서 실행되는)과 별개로 현재 6 개가 실행됩니다. 위의 내용을 추측 할 수 있지만 EJB는 사용하지 않습니다. 모든 프로젝트는 Spring을 사용합니다.응용 프로그램 서버를 사용할 적절한시기는 언제입니까?

바람둥이 사용 경험이 거의없고 응용 프로그램 서버 사용 경험이 거의 없지만 오늘은이 응용 프로그램이 Tomcat/App 서버에서 호스팅 될 수 있었고 아마도 다른 사람들이하는 것처럼 느낄 수있었습니다. 트랜잭션, jndi 조회 등을 관리하는 데 사용할 수 있다고 들었습니다. 유용하다고 생각합니다.

이 점을 염두에두고 RMI에서 도메인 객체를 검색 할 때 지연로드 문제를 해결하기 시작할 수도 있다고 생각했습니다.

나는 이것이 내가 갈 길이라고 생각하는 것에 관해서 나에게 약간의 지침을 줄 수 있는지 궁금했다.

답변

0

Tomcat (내 관점에서는 가벼운 컨테이너)과 무거운 컨테이너 (JBoss AS, Glassfish ...)의 사용 결정은 주로 수행해야 할 작업에 따라 다릅니다.

모든 컨테이너는 일부 기본 항목 (예 : 데이터베이스 풀링, jmx, ..)을 공유하지만 특정 시점 (예 : 모든 자동 장애 조치 (failover)이있는 무거운 클러스터 솔루션이 필요함)에서보다 복잡한 컨테이너가 제공됩니다 requierements. 물론 가벼운 솔루션으로 이러한 솔루션을 구축 할 수도 있지만 J2EE 컨테이너를 사용하는 것이 더 쉽습니다.

반면 POJO는 EJB보다 처리하기가 더 쉽습니다. 크고 무거운 요구 사항이없는 한 Spring을 사용합니다. J2EE 컨테이너의 일부만 사용하고 응용 프로그램을 빌드하면 실제로 사용하는 것이 아닙니다.

Spring과 J2EE에서의 트랜잭션 처리는 거의 같습니다 (두 가지 방법 모두 예를 들어 선언적 접근법 (주석)을 사용하여 수행 할 수 있습니다).

컨테이너에서 응용 프로그램을 실행하지 않으면 간단한 (Tomcat) 응용 프로그램에서 시작하여 필요한 경우 더 큰 응용 프로그램에 접근하여 쉽게 작업을 수행 할 수 있습니다. 그리고 해결할 수없는 특별한 요구 사항이 없다면 JBoss 또는 Glassfish를 즉시 시작하고 J2EE를 준수하도록 응용 프로그램을 다시 작성할 이유가 없습니다.

0

이것은 장님을 인도하는 장님일지도 모르지만 나는 당신이 옳다고 생각합니다. 앱 서버는 모든 소규모 프로젝트를 보유하고 바인딩하는 패키지입니다. 배포, 캐싱 및 중복성과 같이 수동으로 다루지 않을 수있는 라이프 사이클 및 기타 사항을 제어합니다.

여러 기업에서 수년간 코딩을 해왔지만 "Container"가 의미하는 바가 무엇인지 알기까지 시간이 좀 걸렸습니다.

더 나은 답변이 게시되었을 수 있습니다. - 혼자가 아니라는 것을 알려주고 싶습니다.

관련 문제