내용 목차
본 장에서는 JEUS에 대한 기본적인 이해와 Java EE 스펙에 대해서 설명하고, JEUS 시스템의 개념 및 구성 요소와 에디션별 기능에 대해 기술한다.
JEUS(Java Enterprise User Solution)는 웹 환경에서 애플리케이션을 개발, 운용, 실행할 수 있는 플랫폼 역할을 하면서, 포괄적인 Java 기반의 웹 애플리케이션 서비스와 관리를 제공한다. JEUS는 Java EE 애플리케이션을 구동할 때 필요한 플랫폼과 다음의 같은 구성 요소를 제공한다.
EJB 컨테이너
웹 컨테이너(JSP/서블릿 엔진)
보안 모듈(Security Module)
Naming Server
트랜잭션 매니저
JDBC Connection Pool
세션 매니저
JEUS는 Oracle 사의 Java Enterprise Edition 스펙을 준수하며, Java EE 6인증을 획득했다.
다음은 Oracle 사의 웹 사이트에 있는 문구로 JEUS는 나열된 모든 기술들을 제공한다.
"The Java Platform, Enterprise Edition (Java EE) defines the standard for developing multitier enterprise applications. The Java EE platform simplifies enterprise applications by basing them on standardized, modular components, by providing a complete set of services to those components, and by handling many details of application behavior automatically, without complex programming."
"The primary technologies in Java EE are: Enterprise JavaBeansTM (EJBsTM), JavaServer PagesTM (JSPsTM), Java Servlets, the Java Naming and Directory InterfaceTM (JNDITM), the Java Transaction API (JTA), CORBA, and the JDBCTM data access API."
Java EE에 대한 보다 자세한 정보를 알아보기 위해서는 Oracle 사의 홈페이지(http://www.oracle.com/technetwork/java/javaee/overview/index.html)를 참고한다.
다음은 Java EE의 스펙 중에서 JEUS 7에서 구현한 기능 목록이다.
Spec | JEUS 7 |
---|---|
J2EE | Java EE 6 |
WebServer | WebtoB 4.1 |
HTTP | 1.0/1.1 |
CGI | 1.1 |
PHP | 3.x/4.x/5.x |
SSL | /ssl3/tls1 |
EJB (Enterprise Java Beans) | 3.1 |
RMI-IIOP | 지원 |
JAF (JavaBeans Activation Framework) | 1.1 |
EJB to CORBA Mapping | 1.1 |
JCA (Java EE Connector Architecture) | 1.6 |
JMS (Java Message Service API) | 1.1 |
Common Annotations for the Java Platform | 1.1 |
JPA (Java Persistence API) | 2.0 |
JavaMail API | 1.4 |
JTA (Java Transaction API) | 1.1 |
JTS (Java Transaction Service) | 1.0 |
JNDI (Java Naming and Directory Interface) | 1.2.1 |
CDI (Contexts and Depency Injection for Java. Web Beans) | 1.0 |
Bean Validation | 1.0 |
Managed Beans | 1.0 |
Interceptors | 1.1 |
JSP | 2.2 |
Servlet | 3.0 |
JSF (JavaServer Faces) | 2.0 |
JSTL | 1.2 |
XSLT | 1.0 |
JDBC | 4.0 |
IBM MQ | 지원 |
Sonic MQ | 지원 |
J2EE Management | 1.1 |
J2EE Deployment API | 1.2 |
JAAS | 1.0.1 |
JACC | 1.3 |
JASPIC | 1.0 |
Implementing Enterprise Web Services | 1.3 |
WS-I Basic Profile | 1.1 |
WS-Security | 1.1 |
WS-Reliable Messaging | 1.1 |
WS-Transaction | 1.0 |
WS-Addressing | 1.0 |
SOAP | 1.1/1.2 |
WSDL | 1.1 |
Web Service Metadata | 2.1 |
SAAJ | 1.3 |
UDDI | 2.0/3.0 |
JAX-RPC | 1.1 |
JAX-WS | 2.2 |
JAX-RS | 1.1 |
JAXR | 1.0 |
JAXB | 2.2 |
JAXP | (Java SE 6에 포함) |
WS-Policy | 1.0 |
WS-Security Policy | 1.2 |
WS-Trust | 1.3 |
WS-Secure Conversation | 1.3 |
WS-Policy Attachment | 1.5 |
StAX (Streaming API for XML) | (Java SE 6에 포함) |
OTS | 지원 |
Java IDL API | 지원 |
IDE Tool | 미지원 |
GUI Tool | 미지원 |
Web Tool | WebAdmin |
Monitoring Tool | Console Tool, WebAdmin |
JDK | 6.0(인증) |
1. 스펙에 대한 내용은 http://www.oracle.com/technetwork/java/javaee/tech/index.html에서 확인할 수 있다.
2. 사용하는 JEUS 에디션에 따라서 위 표에 나열된 모든 기능이 구현되지 않을 수 있다. 자세한 내용은 각 JEUS 에디션 소개 자료를 참고한다.
다음은 엔터프라이즈 애플리케이션 솔루션을 제공하기 위해서 JEUS가 다른 웹 서버나 DBMS 등과 어떻게 통합되는지 보여준다.
위 그림에서 나타난 4가지 Layer는 다음과 같다.
웹 서버나 Java 애플리케이션 또는 Native 애플리케이션으로 구성된다. 최종 사용자는 WAS의 서비스를 사용하기 위해서 다양한 클라이언트를 사용하며, 이 클라이언트는 다양한 프로토콜 중에 하나를 사용해서 WAS의 서비스에 접근한다.
클라이언트와 WAS 사이에서 작동하는 웹 서버나 프로토콜로 정의된다. 이 Layer에서는 정적인 콘텐츠와 부하 분산을 처리한다.
Java 기반의 미들웨어로 구성되며, Web Layer나 Client Layer로부터 오는 요청을 받아서 처리한다.
비즈니스 데이터나 기존의 Legacy 서비스를 나타낸다. WAS는 JDBC나 디렉터리 서비스, Java EE Connector 등의 다양한 메커니즘을 통해서 Legacy 서비스와 상호 작용한다.
JEUS는 많은 서로 다른 모듈들로 구성되어 있다. 이러한 모듈들은 다음의 [그림 1.2]에서 클라이언트 애플리케이션과 데이터 저장장치, JEUS 사이의 통신 기술에 따라서 사용된다.
Client Layer는 다양한 형태의 클라이언트 애플리케이션과 통신 프로토콜을 보여주고 있다. Source Layer는 다양한 형태의 back-end 데이터 저장장치들이 나열되어 있다. TmaxSoft의 JEUS 제품은 WebtoB와 더불어 그림의 중간 부분인 WAS Middleware Layer를 구성한다. 웹 서버는 클라이언트 애플리케이션과 연결되어 있으며, 웹 서버는 웹 애플리케이션 서버와 밀접하게 통합되어 있다. 또한 웹 게이트웨이(WebT)는 WAS와 TP-Monitor를 연계시키며, 마지막으로 Mainframe 게이트웨이(Host-Link)는 Mainframe과 TP-Monitor 사이의 연결을 제공한다.
다음 절에서는 그림에서 보이는 3가지 Layer(Client Layer, WAS Middleware Layer, Source Layer)의 구성 요소에 대해 알아본다.
Client Layer(클라이언트 계층)는 JEUS를 사용할 수 있는 원격 혹은 지역 애플리케이션을 나타낸다.
다음은 Client Layer를 구성하는 유형에 대한 설명이다.
[그림 1.2]에서 JEUS WAS Layer는 Java EE 6 스펙을 인증받은 JEUS 7 제품을 나타내며 구성 요소는 다음과 같다.
JEUS Domain Administration Server(DAS)
도메인 내에는 Domain Administration Server(이하 DAS)라는 특별한 하나의 서버가 항상 존재한다. DAS는 도메인 내 서버들 간의 설정과 도메인 내의 모든 애플리케이션 및 리소스를 중앙에서 관리하고, 서버들을 제어 및 모니터링하는 관리 툴(WebAdmin, jeusadmin)과 통신한다.
Managed Server(이하 MS)는 JEUS 시스템에서 구성될 수 있는 다양한 형태의 엔진과 서비스에 대한 기반을 제공하고 있다.
웹 서버는 HTML과 같은 정적인 콘텐츠와 CGI와 같은 동적인 콘텐츠를 전송한다. 또한, 서블릿 엔진의 front-end로서 상호 작용한다. WebtoB는 TmaxSoft의 WebtoB 웹 서버로서 모든 기능을 지원하는 버전과 일부 축소된 기능만을 가진 JEUS 웹 서버의 2가지 버전이 있다.
JEUS 웹 서버는 JEUS에 포함되어 있으며, WebtoB에는 포함되어 있지 않다. 또한, 오픈 소스 웹 서버인 Apache를 JEUS에서 사용할 수 있다.
[그림 1.2]의 오른쪽의 Source Layer는 back-end의 리소스와 JEUS 시스템에 의해 사용될 수 있는 데이터 저장소를 나타내며, 종류는 다음과 같다.
상호 운용성이란 예상되는 결과를 얻기 위해 2개 또는 그 이상의 시스템(컴퓨터, 통신장치, 네트워크, 소프트웨어 혹은 다른 정보 기술 요소)에서 정의된 방법을 통한 데이터 교환이나 상호 작용을 의미한다(ISO ITC-215). JEUS는 서로 다른 프로토콜과 웹 서비스, JBuilder Bridge, JNLP, RMI-IIOP와 같은 기술들을 완벽히 지원한다.
다음은 JEUS의 상호 운용을 위해 제공되는 모듈이다.
다음은 JEUS 7의 Edition에 대한 설명이다.
1. 제공되는 JEUS 안내서는 위의 표에서 언급된 모든 주제들을 포함하고 있다. 안내서에 기술된 기능들이 실제로 사용 가능한지 여부를 이 표에서 확인하기 바란다. JEUS를 설치하면 트라이얼 라이선스(Trial License)가 기본적으로 내장되어 있다.
2. 각각의 Standard Edition, Enterprise Edition별로 Cloud 라이선스를 제공한다.