Application Server는 J2EE(Java 2 Enterprise Edition) 1.4 기술을 구현합니다. J2EE 플랫폼은 Application Server의 응용 프로그램 구성 요소, API 및 런타임 컨테이너와 서비스를 설명하는 표준 사양 집합입니다.
J2EE 응용 프로그램은 JSP(JavaServer Pages), Java Servlet 및 EJB(Enterprise JavaBeans)와 같은 구성 요소로 구성됩니다. 소프트웨어 개발자는 이러한 구성 요소를 사용하여 대규모 분산 응용 프로그램을 구축할 수 있습니다. 개발자는 J2EE 응용 프로그램을 작업 사이트에 배포할 수 있는 JAR(Java ARchive) 파일(zip 파일과 유사)로 패키지화합니다. 관리자는 J2EE JAR 파일을 하나 이상의 서버 인스턴스(또는 인스턴스 클러스터)에 배포하여 J2EE 응용 프로그램을 Application Server에 설치합니다.
다음 그림은 다음 절에 설명된 J2EE 플랫폼 구성 요소를 보여줍니다.
죄송합니다. 현재 그래픽을 사용할 수 없습니다.
각 서버 인스턴스에는 웹 및 EJB의 두 가지 컨테이너가 있습니다. 컨테이너는 J2EE 구성 요소에 보안 및 트랜잭션 관리 등의 서비스를 제공하는 런타임 환경입니다. Java Server Pages 및 서블릿 같은 웹 구성 요소는 웹 컨테이너에서 실행됩니다. Enterprise JavaBeans는 EJB 컨테이너에서 실행됩니다.
J2EE 플랫폼은 다음과 같은 응용 프로그램 서비스를 제공합니다.
이름 지정 - 이름 지정 및 디렉토리 서비스는 객체를 이름에 바인드합니다. J2EE 응용 프로그램은 해당 JNDI(Java Naming and Directory Interface) 이름을 조회하여 객체를 찾을 수 있습니다.
보안 - JACC(Java Authorization Contract for Containers)는 J2EE 컨테이너에 대해 정의된 보안 계약 집합입니다. 클라이언트의 아이디에 따라 컨테이너에서 컨테이너의 자원 및 서비스에 대한 액세스를 제한할 수 있습니다.
트랜잭션 관리 - 트랜잭션은 가장 작은 작업 단위입니다. 예를 들어, 은행 계좌 간에 자금을 이체하는 것이 트랜잭션입니다. 트랜잭션 관리 서비스는 트랜잭션이 완료되거나 롤백되는 것을 보장합니다.
메시지 서비스 - 각각 별개의 시스템에서 호스팅되는 응용 프로그램은 JMS(Java™ Message Service)를 통해 메시지를 교환하는 방식으로 서로 통신할 수 있습니다. JMS는 J2EE 플랫폼의 필수 요소로서, 이종 엔터프라이즈 응용 프로그램의 통합 작업을 간소화합니다.
클라이언트는 J2EE 1.4 응용 프로그램에 HTTP, RMI/IIOP 및 JMS를 통해 액세스할 뿐 아니라 원격 웹 서비스로 액세스할 수 있습니다. 웹 서비스는 JAX-RPC(Java API for XML-based RPC)를 사용하여 구현됩니다. J2EE 응용 프로그램은 네트워크 응용 프로그램에서 일반적인, 웹 서비스에 대한 클라이언트 역할을 담당할 수도 있습니다.
WSDL(Web Services Description Language)은 웹 서비스 인터페이스를 설명하는 XML 형식입니다. 웹 서비스 사용자는 WSDL 문서를 동적으로 구문 분석하여 웹 서비스에서 제공하는 작업과 작업 수행 방법을 확인합니다. Application Server는 다른 응용 프로그램에서 JAXR(Java API for XML Registries)을 통해 액세스할 수 있는 레지스트리를 사용하여 웹 서비스 인터페이스 설명을 배포합니다.
클라이언트는 다양한 방법으로 J2EE 응용 프로그램에 액세스할 수 있습니다. 브라우저 클라이언트는 HTTP(HyperText Transfer Protocol)를 사용하여 웹 응용 프로그램에 액세스합니다. 브라우저에는 보안 통신을 위해 SSL(Secure Sockets Layer)을 사용하는 HTTPS(HTTP Secure) 프로토콜이 사용됩니다.
Application Client Container에서 실행되는 다양한 클라이언트 응용 프로그램은 ORB(Object Request Broker), RMI(Remote Method Invocation), 그리고 IIOP(internet inter-ORB Protocol) 또는 IIOP/SSL(보안 IIOP)을 사용하여 Enterprise JavaBeans를 직접 조회 및 액세스할 수 있습니다. 또한, HTTP/HTTPS, JMS 및 JAX-RPC를 사용하여 응용 프로그램과 웹 서비스에 액세스할 수 있으며 JMS를 사용하여 응용 프로그램 및 Message-Driven Bean과 메시지를 주고 받을 수 있습니다.
WS-I(Web Services-Interoperability) 기본 프로필을 준수하는 클라이언트는 J2EE 웹 서비스에 액세스할 수 있습니다. WS-I는 J2EE 표준을 구성하는 필수 요소로서 상호 운용 가능한 웹 서비스를 정의하며 지원되는 언어로 작성된 클라이언트에서 Application Server에 배포된 웹 서비스에 액세스할 수 있도록 해줍니다.
최상의 액세스 메커니즘은 특정 응용 프로그램과 예상 트래픽 양에 따라 다릅니다. Application Server에서는 HTTP, HTTPS, JMS, IIOP 및 IIOP/SSL에 대해 개별적으로 구성할 수 있는 수신기를 지원합니다. 확장성과 안정성 향상을 위해 프로토콜별로 여러 수신기를 설정할 수 있습니다.
J2EE 응용 프로그램은 다른 서버에 배포된 Enterprise JavaBeans 모듈과 같은 J2EE 구성 요소의 클라이언트 역할을 할 수도 있고 이러한 모든 액세스 메커니즘을 사용할 수도 있습니다.
J2EE 플랫폼의 경우 외부 시스템을 자원이라고 합니다. 예를 들어 데이터베이스 관리 시스템은 JDBC 자원입니다. 각 자원은 JNDI(Java Naming and Directory Interface) 이름으로 고유하게 식별됩니다. 응용 프로그램은 다음 API와 구성 요소를 통해 외부 시스템에 액세스합니다.
Java Database Connectivity(JDBC) - 데이터베이스 관리 시스템(Database Management System, DBMS)은 데이터를 저장, 구성 및 검색하는 기능을 제공합니다. 대부분의 비즈니스 응용 프로그램은 관계형 데이터베이스에 데이터를 저장합니다. 응용 프로그램은 JDBC를 통해 관계형 데이터베이스에 액세스합니다. Application Server에는 배포용으로는 적합하지 않지만 샘플 응용 프로그램과 응용 프로그램 개발 및 프로토타입 생성에 사용할 수 있는 PointBase DBMS가 포함되어 있습니다. Application Server는 주요 관계형 데이터베이스 연결에 사용할 수 있는 인증된 JDBC 드라이버를 제공합니다. 이러한 드라이버는 배포에 적합합니다.
Java Message Service - 메시징은 소프트웨어 구성 요소 또는 응용 프로그램 간 통신 방법입니다. 메시징 클라이언트는 JMS(Java Messaging Service) API를 구현하는 메시징 공급자를 통해 다른 클라이언트와 메시지를 주고 받습니다. Application Server에는 고성능 JMS 브로커인 Sun Java System Message Queue가 포함되어 있습니다. Application Server의 Platform Edition에는 Message Queue의 무료 Platform Edition이 포함되어 있습니다. Application Server Enterprise Edition에는 클러스터링과 페일오버를 지원하는 Message Queue Enterprise Edition이 포함되어 있습니다.
J2EE 커넥터 - J2EE 커넥터 구조를 사용하여 J2EE 응용 프로그램과 기존 EIS(Enterprise Information Systems)를 통합할 수 있습니다. 응용 프로그램은 JDBC 드라이버를 사용하여 RDBMS에 액세스하는 것과 같이 커넥터 또는 자원 어댑터라는 이동 가능한 J2EE 구성 요소를 통해 EIS에 액세스합니다. 자원 어댑터는 독립 실행형 RAR(Resource Adapter Archive) 모듈로 배포되거나 J2EE 응용 프로그램 아카이브에 포함되어 있습니다. RAR로서 자원 어댑터는 다른 J2EE 구성 요소처럼 배포됩니다. Application Server에는 일반적인 EIS와 통합되는 평가 자원 어댑터가 있습니다.
JavaMail - 응용 프로그램에서 JavaMail API를 통해 단순 메일 전송 프로토콜(Simple Mail Transport Protocol, SMTP) 서버에 연결하여 전자 메일을 주고 받을 수 있습니다.