728x90

Java SE: Java Platform, Standard Edition

Java SE은 추상 Java 플랫폼을 기술하는 스펙입니다. 이는 PC 데스크탑 컴퓨터에서 작업 그룹 서버까지 네트워크 중심 엔터프라이즈 애플리케이션을 빌드하고 배치하기 위한 기반을 제공합니다. Java SE는 Java Software Development Kit(SDK)으로 구현됩니다.

Rule Execution Server는 100% Java SE 코드로 규칙 세트를 실행할 수 있습니다. JMS(Java Message Service) 제공자 또는 비 Java EE ESB(Enterprise Service Bus)에서 규칙을 실행하거나 배치를 실행하는 등의 순수 Java SE 실행에 대한 많은 유스 케이스가 있습니다.

 

즉, 자바 표준 에디션은 가장 기본이 되는 에디션입니다. 흔히 자바 언어라고 하는 대부분의 패키지가 포함된 에디션이며

주요 패키지로는 java.lang.*, java.io.*, java.util.*, java.awt.*, javax.rmi.*, javax.net.* 등이 있습니다.

 

Java EE: Java Platform, Enterprise Edition

Java EE는 Java SE 스펙을 기반으로 합니다. 이는 다수 벤더와 선두 업체 사이의 협업을 나타내며 애플리케이션을 위한 인프라스트럭처 지원을 제공합니다.

Java EE 프레임워크에서, 규칙을 두 레벨로 추가합니다.

  • 동적 비즈니스 로직 및 태스크 플로우를 관리하기 위해 규칙을 애플리케이션 계층에 추가합니다.
  • 페이지 플로우와 워크플로우를 사용자 정의하고 세션 상태를 기반으로 사용자 정의 페이지를 구성하기 위해 규칙을 프리젠테이션 계층에 추가합니다.

Java EE는 이식 가능 및 확장 가능이며 기존 통합 및 EJB 아키텍처 기반 컴포넌트를 지원합니다. Java EE는 이름 지정, 트랜잭션 관리, 동시성, 보안, 데이터베이스 액세스 등 공통 표준 서비스의 완전한 세트를 정의하고 지정하여 엔터프라이즈 애플리케이션을 단순화합니다.

Java EE는 또한 Java EE 애플리케이션 컴포넌트의 인스턴스를 수용하고 관리하는 컨테이너 모델을 정의합니다. 컨테이너는 차례로 Java EE 서버 안에 수용됩니다.

 

즉, 자바로 구현되는 웹프로그래밍에서 가장 많이 사용되는 JSP, Servlet을 비롯하여, 데이터베이스에 연동하는 JDBC, 그 외에도 JNDI, JTA, EJB 등의 많은 기술들이 포함되어 있습니다.

Java SE와 Java EE

다음 다이어그램은 Java SE와 Java EE에서 Rule Execution Server 스택을 설명합니다.

애플리케이션에서 트랜잭션 관리, 웹 컨테이너 또는 보안 등의 서비스를 요구하는 경우, 필요한 필요한 Java 확장기능을 Java SE 플랫폼에 추가하거나전체 Java EE 애플리케이션 서버를 변경할 수 있습니다. 예를 들어, Java Management Extensions(JMX)는 애플리케이션의 컴포넌트와 서비스의 라이프사이클을 관리하기 위한 확장기능입니다. 또한 Java SE 애플리케이션에서 JMX를 사용할 수 있습니다. JMX 표준을 사용하여 디버깅 및 관리에 유용한 원격 특성 검사 및 조작을 이용할 수 있습니다.

 

 

+ 추가적으로 이 이외에도

Java ME와 Java FX가 존재

 

Java ME: Java Platform, Micro Edition
자바 ME 플랫폼에서는 모바일 폰과 같이 자바 프로그래밍 언어 기반의 어플리케이션이 보다 조그만 가상 머신으로 동작시킬 수 있는 기능과 API를 제공합니다. 물론 자바 SE API의 하부 구조로 API가 구성되어 있기 때문에 일관성 있는 개발이 가능하게 됩니다. 작은 장치에서 동작하는 자바 어플리케이션 개발에 필요한 전용 클래스 라이브러리들을 제공하며 자바 EE 플랫폼 서비스의 클라이언트 역할을 수행하게 될때도 있습니다.


Java FX
경량 사용자 인터페이스 API를 사용하여 리치 인터넷 어플리케이션을 만들 때 사용됩니다. JavaFX 어플리케이션은 하드웨어 수준에서 가속기능을 사용할 수 있는 그래픽과 미디어 엔진을 갖추고 있어 보다 클라이언트의 성능에 신경을 써야하는 분야에서 사용하면 좋습니다. JavaFX 어플리케이션 또한 자바 EE 플랫폼 서비스의 클라이언트 역할을 담당할 수 있습니다. 

 

 

Reference

https://www.ibm.com/support/knowledgecenter/ko/SSQP76_8.9.1/com.ibm.odm.dserver.rules.res.managing/topics/con_javase_javaee_applis.html

https://hashcode.co.kr/questions/669/%EC%9E%90%EB%B0%94%EC%97%90%EC%84%9C-seeeme%EC%9D%98-%EC%B0%A8%EC%9D%B4%EA%B0%80-%EB%AD%94%EA%B0%80%EC%9A%94

https://210life.tistory.com/entry/Java-EE%EC%99%80-Java-SE%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90

728x90

'Dev > Java' 카테고리의 다른 글

RxJava 이해  (0) 2020.02.03
[Java] Calendar 객체 사용시 'set' not working  (0) 2019.09.19
[Java] Singleton Pattern 사용시  (0) 2018.10.02

+ Recent posts