ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Spring Framework의 유래
    Spring Framework 2021. 11. 19. 23:58

    Spring Framework란?

    자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로서 앤터프라이즈급 애플리케이션을 개발하기 위한 모든 기능을 종합적으로 제공하는 경량화된 솔루션으로 과거에 Java EE(EJB) 기술이 어려웠던 시절을 "겨울"에 빗대어 겨울후에 "봄"으로 새로운 시작하다는 의미로 Spring Framework가 나타나게 되었습니다.

     

    그렇다면 Java EE의 한계점을 무엇일까요?

     

    보일러 플레이트 코드와 수많은 XML 구성으로 지루하고 장황

    -보일러 플레이트 코드란?

    최소한의 변경으로 여러곳에서 재사용되며, 반복적으로 비슷한 형태를 띄는 코드

     

     

    수많은 XML

    자바EE 서버에 산출물을 배포하기 위해선 상당한 분량의 XML 설정을 작성해야 했습니다. 아직까지도 외국에서 자바에 대해 흔히 'XML 지옥'이라고 비판하는 이유

     

    비싼 서버 비용

    스프링은 비싼 full stack 자바 EE서버가 아닌 탐캣(tomcat)과 같은 일반 서블릿 컨테이너에서도 구동이 가능

     

    -서블릿 컨테이너란?

    서버에 만들어진 서블릿이 스스로 작동하는 것이 아니라, 서블릿을 관리 해주는 것이 필요한데, 이러한 역할을 하는 것이 바로 서블릿 컨테이너 입니다.

    서블릿과 웹서버가 손쉽게 통신할 수 있게 해주어, 소켓을 만들고 listen, accept 등을 API로 제공하여 복잡한 과정을 생략할 수 있게 해준다.

     

    -서블릿이란?

    웹페이지를 동적으로 생성하는 서버측 프로그램 혹은 그 사양

    클라이언트가 어떠한 요청을 하면 그에 대한 결과를 다시 전송해주어야 하는데, 이러한 역할를 하는 자바 프로그램

     

     

    EJB 컨테이너 외부에서 실행 하는 것이 어려워 테스트를 하기 위해서 반드시 컨테이너에 배포해야 했음.

    단위 테스트가 어렵다.

     

    -단위 테스트란?

    응용 프로그램에서 테스트 가능한 가장 작은 소프트웨어를 실행하여 예상대로 동작하는지 확인하는 테스트

     

     

     

     

    따라서 현재에는 많은 부분들이 보완되었지만 Tomcat 같은 서블릿 컨테이너 기반 개발이 인기를 얻는 통에 풀스택 상용 자바EE 서버 시장의 수요가 줄어들었고, 무엇보다 기술 환경의 변화로 인해 더 이상 자바EE와 같은 거대한 공통 플랫폼 위에 모든 것을 쌓아 올리기 보단 도커(Docker)나 마이크로 서비스 아키텍쳐를 통해 작은 단위 시스템을 느슨하게 연결하는 방식의 개발이 점차 대세가 됨

     

    -Docker?

    -Linux의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트이다.

     

     

     

    출처

    https://okky.kr/article/415474

     

    OKKY | 자바EE의 역사 및 스프링과의 관계

    다른 글타래 에서 어느 분이 스프링( Spring Framework )과 자바EE( Java Enterprise Edition )의 관계에 대해 질문을 주셔서 답글을 쓰다가, 어쩌면 경력이 길지 않은 다른 개발자 분들도 잘 모르실 수 있는

    okky.kr

     

    댓글

Designed by Tistory.