2013-12-23 2 views
10

프런트 엔드 UI와 백엔드 웹 서비스가있는 웹 응용 프로그램이 될 새 프로젝트를 진행하고 있습니다. Tomcat/Jetty와 같이 사용할 서버를 조사하기 시작했습니다. 이러한 HTTP 서버가 내장되어있는 것으로 나타났습니다. 스탠드 얼론 버전에 대해 임베디드 버전을 사용해야 할 때를 이해할 수 없습니다. 인터넷 검색을 시도했지만 설득력있는 대답을 찾을 수 없었습니다. 따라서 임베디드 서버의 유스 케이스를 설명해 주시면 감사하겠습니다. 미리 감사드립니다.임베디드 톰캣 (HTTP) 서버 대

답변

9

나는 웹 응용 프로그램에 을 사용했습니다. 내가 사용한 이유는 단지 하나의 App을 위해 별도의 웹 서버를 설치하고 싶지 않았기 때문입니다. 그래서 나는 부두를 임베딩하는 간단한 자바 프로그램을 만들고 자바 코드를 통해 모든 서버 프로퍼티를 설정했다. 이제는 웹 서버가 설치되지 않은 모든 컴퓨터에서이 프로그램을 실행할 수 있으며 서버에서 실행중인 웹 응용 프로그램으로 작동합니다. 모든 포트를 연결하고 다 - 대 - 다 컨텍스트/서블릿 매핑을 프로그래밍 할 수 있습니다.

+0

흠, 임베디드 서버는 개발 단계 에서처럼 호스트를 변경하는 경우에 유용합니다. 따라서 배포의 용이성과 테스트 변경에 차이가 있습니까? – broun

+0

핫 스왑은 임베디드 - 돌발 침공에서 사용할 수 있습니다. 체크 한 내용이지만 다른 서버 속성 (심지어 알지도 모른다)에 대해서는 체크하지 않았습니다. – Rizstien

13

임베디드 서버는 응용 프로그램을 OS 프로세스로 볼 때 유용하며 java -jar youapp.jar과 같은 이름으로 시작됩니다. 여기에 주어진 버전의 앱 서버로 박스를 설정하면 Tomcat이 필요 없다고 말할 수 있습니다. 이러한 응용 프로그램은 응용 프로그램 서버의 다른 설치 및 구성 없이도 최종 사용자가 실행할 수 있습니다.

예를 들어 젠킨스 (Jenkins)와 같은 응용 프로그램은 이러한 패키지 작업에서 큰 이익을 얻습니다. 또 다른 시나리오는 Heroku와 같은 클라우드 서비스에 구축 할 때입니다. 항아리 내에서 앱 서버를 포장하면 해당 클라우드 박스에 서버를 설치할 필요가 없습니다.

본질적으로 단일 웹 응용 프로그램이 주어진 임베디드 서버에서 실행됩니다. 그러나 두 개의 웹 응용 프로그램을 설치하려는 경우 두 문맥 ${root}/app1${root}/app2 다음 임베디드 응용 프로그램 서버는 당신을 위해 좋은 옵션이 아니라고 말할 수 있습니다.

+1

나는 오래된 기사이지만이 질문은 다른 사람들에게도 도움이 될 것입니다. ** [응용 프로그램 서버 - 일종의 정렬] (http://www.beyondjava.net/blog/application-servers) -sort-of-dead /) ** – Sategroup

관련 문제