2012-09-25 3 views
11

두 플랫폼 모두 차이점을 없애는데 문제가 있습니까? 둘 다 응용 프로그램 배포 및 관리 환경을 제공하는 것 같습니다. 처음에는 응용 프로그램 서버가 OSGi를 사용한다고 생각했지만 지금은 그렇게 생각하지 않지만 큰 AS (jboss, glassfish, websphere 등)에서 OSGi를 사용합니다. 큰 그림이 무엇입니까?OSGi 및 응용 프로그램 서버

감사합니다.

답변

10

"응용 프로그램"이라는 용어의 과부하가 있습니다.

OSGi는 모듈러 Java 응용 프로그램의 런타임 환경 (및 개발 모델)입니다. 이 경우 "애플리케이션"이라는 용어는 실제로 매우 낮은 수준 일 수 있습니다. 예를 들어, 응용 프로그램 서버는 이러한 "응용 프로그램"으로 간주 될 수 있습니다.

응용 프로그램 서버는 Java 응용 프로그램의 런타임 환경 (및 개발 모델)이기도합니다. 그러나이 경우 "응용 프로그램"이라는 용어는 일반적으로 상위 수준의 응용 프로그램 유형 (예 : 웹 응용 프로그램)을 나타냅니다. 응용 프로그램 서버에는 일반적으로 웹 응용 프로그램 (Servlet)을 구축하고 데이터를 데이터베이스 (JPA)에 보관하며 클러스터링 기능을위한 다양한 고급 기능 및 프로그래밍 API 집합이 포함됩니다. 오늘날 대부분의 애플리케이션 서버는 모듈 (예 : 코어, 서블릿 엔진, EJB 컨테이너 등)로 구성됩니다. 일부 애플리케이션 서버는 OSGi를 사용합니다. 다른 업체들은 자체 OSGi 기능을 제공하는 모듈 식 런타임 환경을 갖추고 있습니다.

그러나 OSGi 런타임 환경 만 사용하여 상위 레벨 응용 프로그램 (예 : 웹 응용 프로그램)을 직접 개발할 수도 있습니다. 그러나 OSGi 프레임 워크 자체는 추가 기능을 포함하지 않습니다. 그것은 스스로 조립해야합니다. 프레임 워크와 여러 모듈을 포함하는 "배포판"이 있습니다.

+2

즉, OSGi는 베어 메탈 (프리미엄 강)이고 응용 프로그램 서버는 금속 도구 (때로 프리미엄 강으로 만들어 짐)입니다. ;) – Gunnar

+1

OSGi 용 "응용 프로그램 서버"유형 컨테이너 환경을 찾으려면 Apache Karaf 또는 Eclipse Virgo를 살펴보십시오 –

관련 문제