제1장 소개

내용 목차

1.1. 개요
1.2. 시스템 개념과 역할
1.3. 구성 요소와 아키텍처
1.3.1. Client Layer
1.3.2. WAS Middleware Layer
1.3.3. Source Layer
1.4. 상호 운용 모듈
1.5. Edition

본 장에서는 JEUS에 대한 기본적인 이해와 Jakarta EE 스펙에 대해서 설명하고, JEUS 시스템의 개념 및 구성 요소와 에디션별 기능에 대해 기술한다.

JEUS(Java Enterprise User Solution)는 웹 환경에서 애플리케이션을 개발, 운용, 실행할 수 있는 플랫폼 역할을 하면서, 포괄적인 Java 기반의 웹 애플리케이션 서비스와 관리를 제공한다. JEUS는 Jakarta EE 애플리케이션을 구동할 때 필요한 플랫폼과 다음의 같은 구성 요소를 제공한다.

  • EJB 컨테이너

  • 웹 컨테이너(JSP/서블릿 엔진)

  • 보안 모듈(Security Module)

  • Naming Server

  • 트랜잭션 매니저

  • JDBC Connection Pool

  • 세션 매니저

Jakarta EE

JEUS는 Eclipse Foundation의 Jakarta EE 스펙을 준수하며, Jakarta EE 8 인증을 획득했다.

다음은 Jakarta EE 공식 홈페이지에 있는 문구로, Jakarta EE에 대해 간략하게 소개를 하고 있다.

"Jakarta EE is a set of specifications that enables the world wide community of java developers to work on cloud native java enterprise applications. The specifications are developed by well known industry leaders that instills confidence in technology developers and consumers."

다음은 JEUS 8.5에서 지원하는 기술에 대한 목록이다.

SpecJEUS 8.5
Jakarta EEJakarta EE 8
JakartaTM Enterprise Beans3.2
JakartaTM Annotations1.3
JakartaTM Servlet4.0
JakartaTM WebSocket1.1
JakartaTM Server Faces2.3
JakartaTM Server Pages2.3
JakartaTM Standard Tag Library1.2
JakartaTM Expression Language3.0
JakartaTM Debugging Support for Other Languages1.0
JakartaTM Messaging2.0
JakartaTM Transaction1.3
JakartaTM Mail1.6
JakartaTM Connectors1.7
JakartaTM Enterprise Web Services1.4
JakartaTM XML RPC1.1
JakartaTM XML Registries1.0
JakartaTM RESTful Web Services2.1
JakartaTM JSON Processing1.1
JakartaTM JSON Binding1.0
JakartaTM Management1.1
JakartaTM Deployment1.7
JakartaTM Authorization1.5
JakartaTM Authentication1.1
JakartaTM Security1.0
JakartaTM Persistence2.2
JakartaTM Bean Validation2.0
JakartaTM Managed Beans1.0
JakartaTM Interceptors1.2
JakartaTM Contexts and Dependency Injection2.0
JakartaTM Dependency Injection1.0
JakartaTM Concurrency1.1
JakartaTM Batch1.0
JakartaTM Web Services Metadata2.1
JakartaTM XML Web Services2.3
WebServerWebtoB 5.0
HTTP1.0/1.1/2.0
CGI1.1
PHP3.x/4.x/5.x
RMI-IIOP지원
JAF1.1
EJB to CORBA Mapping1.1
JTS1.0
JNDI1.2.1
XSLT1.0
JDBC4.2
IBM MQ지원
Sonic MQ지원
JAAS1.0.1
JAXP(JDK 8에 포함되어 제공)
StAX(JDK 8에 포함되어 제공)
JAXB2.2
SAAJ1.3
Implementing Enterprise Web Services1.3
UDDI2.0/3.0
SOAP1.1/1.2
WSDL1.1/2.0
WS-I Basic Profile1.1
WS-Policy1.5
WS-Policy Attachment1.5
WS-Addressing1.0
WS-Security1.1
WS-Security Policy1.2
WS-Trust1.4
WS-Secure Conversation1.4
WS-Reliable Messaging1.2
WS-AtomicTransaction1.2
WS-Coordination1.2
OTS지원
Java IDL API지원
IDE Tool미지원
GUI Tool미지원
Web ToolWebAdmin
Monitoring ToolConsole Tool, WebAdmin
JDK8 (인증)

참고

1. 스펙에 대한 내용은 https://jakarta.ee/specifications/platform/8에서 확인할 수 있다.

2. 사용하는 JEUS 에디션에 따라서 위 표에 나열된 모든 기능이 구현되지 않을 수 있다. 자세한 내용은 각 JEUS 에디션 소개 자료를 참고한다.

다음은 엔터프라이즈 애플리케이션 솔루션을 제공하기 위해서 JEUS가 다른 웹 서버나 DBMS 등과 어떻게 통합되는지 보여준다.


위 그림에서 나타난 4가지 Layer는 다음과 같다.

JEUS는 많은 서로 다른 모듈들로 구성되어 있다. 이러한 모듈들은 다음의 [그림 1.2]에서 클라이언트 애플리케이션과 데이터 저장장치, JEUS 사이의 통신 기술에 따라서 사용된다.


Client Layer는 다양한 형태의 클라이언트 애플리케이션과 통신 프로토콜을 보여주고 있다. Source Layer는 다양한 형태의 back-end 데이터 저장장치들이 나열되어 있다. TmaxSoft의 JEUS 제품은 WebtoB와 더불어 그림의 중간 부분인 WAS Middleware Layer를 구성한다. 웹 서버는 클라이언트 애플리케이션과 연결되어 있으며, 웹 서버는 웹 애플리케이션 서버와 밀접하게 통합되어 있다. 또한 웹 게이트웨이(WebT)는 WAS와 TP-Monitor(Tmax Server)를 연계시키며, 마지막으로 MainFrame 게이트웨이(Host-Link)는 MainFrame과 TP-Monitor 사이의 연결을 제공한다.

다음 절에서는 그림에서 보이는 3가지 Layer(Client Layer, WAS Middleware Layer, Source Layer)의 구성 요소에 대해 알아본다.

[그림 1.2]에서 JEUS WAS Layer는 Jakarta EE 8 스펙을 인증받은 JEUS 8.5 제품을 나타내며 구성 요소는 다음과 같다.

[그림 1.2]의 오른쪽의 Source Layer는 back-end의 리소스와 JEUS 시스템에 의해 사용될 수 있는 데이터 저장소를 나타내며, 종류는 다음과 같다.

Source Layer설명
DatabaseJEUS에서 JDBC를 통해서 접속할 수 있다.
Directory ServiceLDAP와 같은 것들이 있으며, JNDI를 통해서 사용된다.
Other Jakarta EE ServerJEUS는 타 벤더의 Jakarta EE 서버와 상호 작용이 가능하다.
Tmax ServerTmaxSoft에서 개발한 TP-Monitor로, WebT API 라이브러리는 JEUS와 Tmax를 통합하는 데 사용된다.
ORBIIOP(Internet Inter-ORB Protocol)를 통해 참조될 수 있다.
MainframeIBM MainFrame들은 특별히 Host-Link(Connector) 제품을 통해 사용된다.
Legacy EISJCA를 지원하는 Legacy EIS로 JEUS와 상호 작용이 가능하다.

상호 운용성이란 예상되는 결과를 얻기 위해 2개 또는 그 이상의 시스템(컴퓨터, 통신장치, 네트워크, 소프트웨어 혹은 다른 정보 기술 요소)에서 정의된 방법을 통한 데이터 교환이나 상호 작용을 의미한다(ISO ITC-215). JEUS는 서로 다른 프로토콜과 웹 서비스, JBuilder Bridge, JNLP, RMI-IIOP와 같은 기술들을 지원한다.

다음은 JEUS의 상호 운용을 위해 제공되는 모듈이다.

모듈설명
RMI-IIOPIIOP(Internet Inter-ORB Protocol) 프로토콜에서 수행되는 RMI 기술로서 JAVA 플랫폼에서 CORBA의 분산 컴퓨팅 작업을 가능하게 한다.
JEUS다른 웹 애플리케이션의 사용을 가능하게 하며, 웹 서비스 또한 지원한다.
WebTTP-Monitor와 JEUS를 연계하는 게이트웨이이다.
Host-LinkLegacy EIS에 있는 서비스를 클라이언트가 사용할 수 있도록 하는 어댑터 모듈이다.
JCAJEUS와 JEUS 클라이언트가 가상적으로 어떠한 Legacy의 EIS에 대한 상호 작용도 가능하게 한다.

다음은 JEUS 8.5의 Edition에 대한 설명이다.

Edition주요 특징
JEUS Standard Edition
  • JEUS Server

  • JEUS Web Server

  • Servlet 4.0

  • JSP 2.3

  • JSF 2.3

  • JSTL 1.2

  • Security

  • JDBC Connection Pooling

  • XML 유틸리티

  • JNDI

  • JMX

  • WebAdmin

  • JEUS Server Clustering

  • EJB 3.2

  • JMS 2.0

  • 2 Phase-Commit 지원 JTA

  • JakartaTM Connectors 1.7

  • SNMP

  • Web service

JEUS Enterprise Edition
  • JEUS Standard Edition

  • Session clustering

  • JMS clustering

참고

1. 제공되는 JEUS 안내서는 위의 표에서 언급된 모든 주제들을 포함하고 있다. 안내서에 기술된 기능들이 실제로 사용 가능한지 여부를 이 표에서 확인하기 바란다. JEUS를 설치하면 Trial 라이선스가 기본적으로 내장되어 있다.

2. 각각의 Standard Edition, Enterprise Edition별로 Cloud 라이선스를 제공한다.