본문 바로가기

Dev. Java

Java EE와 Java SE의 차이점

자바 기술은 프로그래밍 언어와 플랫폼 모두를 아우르고 있습니다. 자바 프로그래밍 언어는 고수준 객체 지향형 개발 언어이며 플랫폼은 자바 프로그래밍 언어로 작성되어진 어플리케이션을 실행시키는 환경입니다자바 플랫폼의 종류는 몇 가지가 존재합니다. 대부분의 개발자들이 각각의 자바 플랫폼에 대한 심도있는 이해를 하지 못하고 있어 이번 기회에 이를 정리해보고자 글을 써봅니다.


자바 프로그래밍 언어 플랫폼

자바 프로그래밍 언어의 플랫폼은 4가지가 존재합니다:

표준 에디션의 자바 플랫폼(Java SE)

엔터프라이즈 에디션의 자바 플랫폼(Java EE)

마이크로 에디션의 자바 플랫폼(Java ME)

JavaFX


모든 자바 플랫폼들은 자바 가상 머신(JVM)과 어플리케이션 프로그래밍 인터페이스(API)들로 구성되어 있습니다. 자바 가상 머신은 하드웨어와 소프트웨어 플랫폼에서 자바 기술을 사용한 어플리케이션을 동작시키기 위한 프로그램입니다. API는 개발자들이 직접 컴포넌트나 어플리케이션을 만들 때 사용할 수 있는 소프트웨어 컴포넌트의 집합입니다. 각각의 자바 플랫폼에서는 가상 머신과 API를 제공함으로써 타겟 플랫폼상에서 동작되도록 작성된 어플리케이션들이 자바 프로그래밍 언어의 장점인 플랫폼에 비종속적이며 강력하고 안정성을 갖춘 개발하기 용이며 안전함을 갖는 장점들을 그대로 갖출 수 있게 합니다.


Java SE

대부분의 사람들이 자바 프로그래밍 언어를 떠올릴때 바로 이 플랫폼이 됩니다. Java SEAPI는 자바 프로그래밍 언어의 핵심 기능들을 제공하기 때문입니다. 기초적인 타입부터 네트워킹, 보안, 데이터베이스 처리, 그래픽 사용자 인터페이스 개발은 물론 XML 파싱에 이르는 고수준의 클래스들을 모두 다룰 수 있습니다.

코어 API에 더하여 자바 SE 플랫폼에서는 가상 머신, 개발도구, 배포 기술 그리고 자바 기술을 사용하는 어플리케이션에서 일반적으로 사용되는 부가적인 클래스 라이브러리들과 툴킷까지 제공하고 있습니다.


Java EE

자바 EE 플랫폼은 자바 SE 플랫폼을 기반으로 그 위에 탑재됩니다. 자바 EE 플랫폼에서는 대규모, 다계층, 확장성, 신뢰성 그리고 보안 네트워킹 어플리케이션의 개발과 실행을 위한 API 및 환경을 제공하고 있습니다.


Java ME

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


Java FX

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


[출처] ykkim의 블로그, http://mail.cabsoftware.com/node/24

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

추상화, 캡슐화, 다형성  (0) 2016.06.29
소스 수정 기본 프로세스  (0) 2016.04.13
자바 다중상속 인터페이스 다루는 방법  (0) 2015.03.07
코딩 잘하는 10가지 방법  (0) 2015.01.20
ArrayList 활용 예제  (0) 2015.01.18