[수미수의 개발 브로구]

[Java] Java 기초 본문

Language & Framework/Java

[Java] Java 기초

수미수 2023. 9. 28. 22:47
반응형

Java EE 역사에 관해서..

원래 자바는 애플릿과 같은 클라이언트 GUI 만드는데 맞춰짐

서버 시장의 가능성 증가

  • 이때, C/C++을 이용하여 서버 어플리케이션 (미들웨어) 제품 개발 하는 방식
  • 개발자들은 운영체제와 사용하는 미들웨어 제품에 종속
  • 자바의 플랫폼 독립적 특성을 활용해서 미들웨어에 필요한 API를 제공하면 그 문제를 해결 할수 있다고 생각
  • 그래서, 서버 개발에 필요한 기능을 모아서 J2EE(JAVA EE) 스펙을 만듬
  • 각 기업들은 해당 스펙에 따라서, 미들웨어 제품을 판매하고, 개발자들은 어느 제품을 사용하더라도 API를 새로 공부하지 않고 포팅 가능 (웹 로직, 웹 스피어 등)
  • 특히, 웹 개발을 위해 자바 EE 표준에 포함된 서블릿과 JSP는 PHP나 ASP와 함께 CGI를 몰아내며 자바 언어가 인기를 얻기 시작함

자바 EE 핵심

  • 자바 EE 핵심은 EJB라는 기술, 서블릿이나 JSP가 웹 GUI를 만들기 위한 필요한 기술인 반면, EJB는 기업의 핵심 서비스를 만들기 위한 분산처리 및 트랜잭션, 보안 등을 지원하는 컴포넌트 모델을 제공하는 기술
  • EJB 개발자 주목 ==> 문제점 발생
  • 자바 EE 서버에 산출물을 배포하기 위해선 상당한 분량의 XML 설정 작성 (XML 지옥)

스프링 탄생

  • 스프링 프레임워크는 이러한 문제점을 개선하기 위해 처음 개발
  • 고가의 풀스택 자바 EE가 아닌 탐캣과 같은 일반 서블릿 컨테이너에서 구동
  • 탐캣은 자바 EE 표준의 일부인 서블릿 기술의 참조 구현으로 출발. 원래 용도는 서블릿이나 JSP 기술 ==> 스프링을 통해 비싼 자바 EE 서버를 구매 하지않아도 EJB 보다 훨씬 간편한 방식으로 EJB가 제공하던 트랜잭션, 보안처리, 분산환경 지원 등 모든 기능 사용 할 수 있게 됨
  • 스프링을 이용해서 어는 JAVA EE제품에 배포 가능(풀 스택이든, 톰캣이든 레진이든)
  • EJB ==> 스프링으로 바뀌게 됨
  • 스프링의 성공으로, EJB 3.0 버전 이후에서, ORM 관련 기능에서는 하이버네이트의 개념을 받아들여 JPA라는 개별적 표준 기술로 재탄생

참고 사이트

반응형