Enterprise JavaBeans(EJB)
개념
EJB(Enterprise Java Bean), 기업환경의 시스템을 구현하기 위한 서버 측 컴포넌트 모델이다. 일반적으로 업무 로직을 가지고 있는 서버 애플리케이션을 EJB라고 한다.
Enterprise JavaBeans(EJB)는 독립한 부품이 아닌, 미국 Sun Microsystems사가 제창한 규약이다. EJB는 서버 어플리케이션의 개발을 용이하게 해 다중 다양한 Platform과 제품 간의 이동성을 실현하기 위하여 비즈니스 로직과 시스템 서비스를 이용하는 로직을 분산해 그 사이의 규약을 규정하고 있다.
비즈니스 로직을 탑재한 부품을 "Enterprise Bean"이라고 불린다. Database처리, Transaction처리 등의 시스템 서비스를 이용한 로직을 감추고 있는 부품을 "컨테이너"라고 불린다.
⭐Enterprise Bean
비지니스 로직을 실장 한 서버 컴포넌트이다. Enterprise Bean에는 이하의 2가지의 모델이 있다.
- 세션 빈 (Session Bean) : DB 연동이 필요 없음
- 엔티티 빈 (Entity Bean)
- 데이터베이스의 데이터를 관리하는 객체
- Insert(삽입), Update(수정), Delete(삭제), Select(조회)
- DB 관련 쿼리는 자동으로 만들어지고 개발자는 고급 업무 처리에 집중할 수 있음
- DB가 수정되면 코드 수정 없이 다시 배포(설정 문서 만들어서 복사)
일반적으로는 클라이언트가 Session Bean을 불러 Session Bean이 Entity Bean을 부르는 것으로 데이터베이스에 접근을 행한다.
⭐Container
EJB서버와 Enterprise Bean의 중간에 위치해, 클라이언트 어플리케이션은 그 컨테이너를 경유해서 Enterprise Bean에 접근한다. 컨테이너가 데이터베이스 처리와 트랜젝션 처리 등을 숨기기 위해 개발자와 그것들을 의미하지 않는 애플리케이션을 개발하는 것이 가능하다.
⭐ EJB ServerEJB서버는 컨테이너를 관리해서 EJB로서 필요한 시스템 레벨의 서비스( 데이터베이스 처리, 트랜젝션 처리등)을 실현한다.
⭐Client applicationEJB에 준거한 클라이언트 어플리케이션이다.Java Applet, Java Application, Servlet, JavaServer Pages(JSP) 베이스의 애플리케이션 등이 있다.
장단점
⭐ EJB 장점
- 인스턴스 풀링: 객체를 미리 생성하여 메모리에 저장하여 사용준비 상태에 들어가도록 함, 많은 동시접속자에 대한 안정성 지원
- 트랜잭션 처리: 자동으로 컨테이너가 모든 처리메소드에 대하여 트랜잭션을 처리해줌, 안정적인 데이터 조작
- 퍼시스턴스 관리: 빈즈의 상태를 메모리에서 사용여부에 따라 자동으로 활성화/비활성화를 실행해 관리해줌
- FAT Client를 Thin Client로, n-tier 시스템을 구축할 수 있다.
- Weblogic, Webspere주로 사용, 국산은 제우스(jeus) 사용
- EJB 컴포넌트들이 Loading되어 활동하는 서버 쪽 프로그램, 컴포넌트의 생성, 소멸, 라이프 사이클, 보안, Threading 등의 서비스를 제공
⭐EJB단점
- 객체지향적이지 않음
- 복잡한 프로그래밍 모델
- 특정 환경, 기술에 종속적인 코드
- 컨테이너에 안에서만 동작할 수 있는 객체 구조
- 자동화된 테스트가 매우 어렵거나 불가능
- 부족한 개발 생산성, 이동성(portablity)
🎈참조 : https://woongsin94.tistory.com/357
EJB(Enterprise Java Bean)
개념 EJB(Enterprise Java Bean), 기업환경의 시스템을 구현하기 위한 서버 측 컴포넌트 모델이다. 일반적으로 업무 로직을 가지고 있는 서버 어플리케이션을 EJB라고 한다. Enterprise JavaBeans(EJB)는 독립한
woongsin94.tistory.com
Java Enterprise Edition(JEE)
자바 프로그래밍 언어 플랫폼
- 표준 에디션의 자바 플랫폼 (Java SE)
- 엔터프라이즈 에디션의 자바 플랫폼 (Java EE)
- 마이크로 에디션의 자바 플랫폼 (Java ME)
- JavaFX
- 모든 자바 플랫폼들은 자바 가상 머신(JVM)과 어플리케이션 프로그래밍 인터페이스(API)로 구성되어 있다.
- 자바 가상 머신(JVM): 하드웨어와 소프트웨어 플랫폼에서 자바 기술을 사용한 어플리케이션을 동작시키기위한 프로그램
- 어플리케이션 프로그래밍 인터페이스(API): 개발자들이 직접 컴포넌트나 어플리케이션을 만들 때 사용할 수 있는 소프트웨어 컴포넌트의 집합
- 각각의 자바 플랫폼에서는 JVM과 API를 제공함으로써 타깃 플랫폼상에서 동작되도록 작성된 어플리케이션들이 자바 프로그래밍 언어의 장점(플랫폼에 비종속적, 안정성, 개발 용이 등)들을 그대로 갖출 수 있게 한다.
Java SE (Standard Edition)
- 가장 대중적인 자바 플랫폼
- 흔히 자바 언어라고 하는 대부분의 패키지가 포함된 에디션
- java.lang.*, java.util.*, java.awt.*, javax.rmi.*, javax.net.* 등
- Java SE의 API는 자바 프로그래밍 언어의 핵심기능들을 제공
- 기초적인 타입
- 네트워킹
- 보안
- 데이터베이스 처리
- 그래픽 사용자 인터페이스 개발
- XML 파싱
- 가상 머신, 개발도구, 배포 기술, 부가 클래스 라이브러리, 툴킷 등 제공
Java EE (Enterprise Edition)
- Java EE 플랫폼은 Java SE 플랫폼을 기반으로 그 위에 탑재된다.
- 웹 프로그래밍에 필요한 기능을 다수 포함
- JSP, Servlet, JDBC, JNDI, JTA, EJB 등
- 대규모, 다계층, 확장성, 신뢰성, 보안 네트워킹 API, 환경 등을 제공
Java ME (Micro Edition)
- Java ME는 모바일 폰과 같은 자바 프로그래밍 언어 기반의 어플리케이션이 보다 조그만 가상 머신으로 동작시킬 수 있는 기능과 API 제공
- Java EE처럼 Java SE를 기반으로 함
- 작은 작치에서 동작하는 전용 클래스 라이브러리들 제공
- Java EE 서비스의 클라이언트 역할을 하기도 함
Java FX
- 경량 사용자 인터페이스 API를 사용하여 리치 인터넷 어플리케이션을 만들 때 사용됨
- 하드웨어 수준에서 가속 기능을 사용할 수 있는 그래픽과 미디어 엔진을 갖추고 있어 클라이언트의 성능에 신경을 써야 하는 분야에서 사용됨
- Java EE처럼 클라이언트 역할을 하기도 함
요약
- Java EE는 Java SE에서 API(lib 디렉터리에 포함되어 있는 JAR 파일들)가 추가된 것
'개발자 성장 일지' 카테고리의 다른 글
Kafka 란? (0) | 2022.08.08 |
---|---|
Spring Boot Controller 어노테이션 (0) | 2022.08.05 |
Tomcat, JBoss 차이 (0) | 2022.08.03 |
@Transactional 그리고 @Commit (0) | 2022.07.22 |
너 혼자 왜 난리야.. <file 타입의 input 태그의 value 값 조정하는 방법 > (0) | 2022.05.04 |