[Spring] EJB(Enterprise Java Bean)와 Spring

·2022년 3월 4일
1

Spring

목록 보기
4/7

Spring을 쓰기 전에 EJB를 썼다고 한다. EJB가 무엇인지 궁금해서 정리하러 왔다.


Java의 종류에는 3가지가 있다.

1. JAVA SE (Standard Edition)
2. JAVA EE (Enterprise Edition)
3. JAVA ME (Micro Edition)

1. JAVA SE

  • 순수 자바
  • JVM, JAVA API 제공

2. JAVA EE

  • JAVA + Servlet + JSP
  • enterprise : 기업에서 쓰이는 에디션
  • ex) Servlet, JSP, EJB...

3. JAVA ME

  • 자바를 줄여놓은 형태 (스마트폰 OS에서 사용)

JAVA API를 쓰기 위해 JAVA SE 위에 다른걸 올려서 사용한다.


기존에는 SE 위에 EE를 올려 사용했다. 이 EE가 바로 EJB이다.
EJB는 비즈니스 로직을 가지고 있는 서버 애플리케이션이다.
EJB는 대량의 트랜잭션을 안정적으로 처리할 수 있게 해준다.
그래서 동시접속자 수가 많아도 트랜잭션이 안정적이라고 한다. 공공기관에서는 여전히 쓰이는 곳도 있다고 한다.
비교적 속도는 느린데 안정적인 분산시스템을 가지고 있다.
EJB컨테이너가 비즈니스 객체들을 관리하고, 필요할 때마다 이 컨테이너에서 객체를 받는 식으로 관리하는 방식이었다.

그런데 왜 Spring을 쓰게 되었을까?

  • 취지는 좋았으나, 너무 복잡했다.
    • 비즈니스 로직을 가진 애플리케이션이라고는 하는데...
      아무리 비슷한 프로젝트여도 세세한 부분은 다 다르다. 재사용하기 쉽진 않다.
    • 비즈니스 로직보다 EJB컨테이너를 쓰기 위한 상투적인 코드(상속,구현해야하는 클래스 등)가 더 많았다.
  • 자동화된 테스트가 불가능했다.
  • 특정 환경에 쉽게 종속적이었다.
  • 개발 생산성도 형편없었다.

이러한 단점을 극복해줄 EJB의 대체제로 Spring이 등장했다.
현재는 SE 위에 Spring만 올리거나, 혹은 EE와 Spring을 같이 올리는 경우도 있다고 한다. 트랜잭션이 안정적이어서 그런걸까? 이건 다음에 알아보도록..
스프링의 특징은 여기서 보면됨



내용 추가 중🍕
📌참고
https://m.blog.naver.com/qhdqhdekd261/221690113143

profile
https://k-ang.tistory.com/ 이전했어요

0개의 댓글