SMALL

Study/Spring 36

[Spring Framework] EJB의 등장과 쇠퇴

EJB(Enterprise Java Beans)는 당시, EJB 컨테이너에 의해 분산된 EJB 컴포넌트를 마치 같은 머신에 있는 것처럼 접근할 수 있게 하거나, 분산된 데이터베이스의 트랜잭션을 마치 하나의 데이터베이스만 있는 것 처럼 제어할 수 있는 분산 처리와 분산 트랜잭션의 융합 컴포넌트로 탄생한 기술이다. EJB 발전의 근원은 같은 분산 기술인 CORBA에 있다. CORBA가 벤더 각자의 설게로 상호 운용성(interoperability)을 잃었기 때문에 상호 운용성을 확보하기 위해 만든 기술이 EJB라고 할 수 있다. 이처럼 EJB란 원래 분산 환경을 위한 컴포넌트로 등장했을 뿐, JSP, Servlet과 같은 웹 애플리케이션을 위한 기술은 아니었다. 사실 과거의 EJB에는 이러한 점에서 오해가 ..

Study/Spring 2019.08.03

[Spring Framework] JSP, Servlet의 등장

웹 기술은 처음에 정적 콘텐츠(HTML 파일)를 표시하는 기술이었다. 즉, 웹 브라우저의 요청에 매번 같은 콘텐츠밖에 반환하지 않았다. 점차 웹을 업무에 이용하려는 수요가 생겨났지만, 정적 콘텐츠만으로 웹 기술을 업무에 이용하기에는 기능이 부족했다. 그래서 등장한 것이 CGI (Common Gateway Interfece) 기술이다. CGI는 HTTP의 요청으로 실행되는 프로그램을 말한다. 웹 브라우저의 요청을 받아 CGI가 해당 프로그램을 실행함으로써 같은 요청의 처리 결과로 다른 콘텐츠를 반환할 수 있게 됐다. 이른바 동적으로 콘텐츠를 반환할 수 있게 된 것이다. 하지만 CGI에는 몇 가지 문제가 있었다. 그 중 가장 큰 문제는 처리를 요청할 때마다 프로그램이 실행되는 점과 세션 관리가 없다는 점이었..

Study/Spring 2019.08.03

[Spring Framework] 웹 애플리케이션이란?

1994년 무렵 WWW(World Wide Web)나 HTML(Hyper Text Markup Language)이 잡지 등에 소개되기 시작했다. 그 무렵의 홈페이지에는 이미지도 거의 없고 한글로 된 페이지조차 그 수가 적었다. 당연히 인터넷을 업무에 사용하는 사람도 거의 없었으며, 취미 이야기를 하던 nifty 게시판이 인기 있던 시절이다. www가 유행하게 된 이유는 많지만, 그중 하나는 웹 브라우저가 있으면 회사 안에서뿐만 아니라 밖에서도 같은 정보를 공유할 수 있었기 때문이다. 즉, www는 일반 사용자나 일반 고객처럼 컴퓨터와 인연이 없는 사람도 컴퓨터를 켜고 웹 브라우저만 사용할 수 잇으면 간단히 이용할 수 있는 기술이었다. 스마트폰이 등장한 후 스마트폰용 앱이 널리 이용되는 지금상황에 비춰보면..

Study/Spring 2019.08.03

[Spring Framework] 스프링과 웹 애플리케이션

스프링은 웹 애플리케이션에 특화된 프레임워크가 아니며, 클라우드 네이티브화된 애플리케이션 만들기에 특화된 프레임워크도 아니다. 간단히 말해, 규모가 큰 애플리케이션을 자바로 만들 때 필요한 프레임워크이다. 욕심을 부려서 이것저것 다 설명하면 이해하기가 어려우므로, 여기서는 웹 애플리케이션을 대상으로 설명한다. 다만, 웹 애플리케이션으로 한정한다고 해도 그 안에는 다른 애플리케이션 개발에 이용할 수 있는 범용적인 부분도 포함될 것이다. 스프링에 관한 자세한 설명에 앞서 웹 애플리케이션과 그 설계 이론을 알아보자. 스프링을 웹 애플리케이션에 이용하려면 웹 애플리케이션과 그 설계 이론을 이해하는 거싱 매우 중요하다. 스프링은 구현을 위한 프레임워크가 아니라 설계를 위한 프레임워크라고 해도 과언이 아니다. 내용..

Study/Spring 2019.08.03

[Spring Framework] 스프링 서브 프로젝트

초기에는 스프링의 서브 프로젝트로 화면 전환의 흐름(flow)을 관리하는 스프링 웹 플로(Spring Web Flow)가 있었다. 그 후 인증/허가 처리를 관리하는 스프링 시큐리틸(Spring Security) 등이 추가됐고, 일괄 처리용의 스프링 배치 (Spring Batch)가 출시되었다. 최근에는 애플리케이션 개발을 간단하게 해주는 스프링 부트(Spring Boot)가 주목받고 있다. 스프링 서브 프로젝트는 이뿐만이 아니다. 요즘에는 스프링 웹 애플리케이션 기반으로 보기보다는 더 큰 엔터프라이즈 시스템의 기반으로 생각하는 것이 정확할 것 같다. 혹은 비즈니스 아이디어를 시스템으로 빠르게 만들어줄 수 있는 기반으로 보는 경우도 있다. 즉, 작은 시스템부터 큰 시스템까지 모두 대응할 수 있다. 물론 스..

Study/Spring 2019.08.03

[Spring Framework] 스프링의 역사

스프링은 2002년에 세상에 처음 나왔다. 로드 존슨(Road Johnson)이 자신의 저서에서 MVC 모델을 설명하면서 '이 프레임워크는 샘플이 아니며 공개돼 자유롭게 사용할 수 있다'는 취지의 문장에 이어서 스프링의 이름을 언급한 것이 최초이다. 아래의 표와 같이 스프링이정식으로 등장한 것은 2004년 3월이며, OSS(Open Source Software)로 시작한 스프링은 현재 Privoital 사(http://pivotal.io/)의 관리하에 아파치 라이센스 버전 2.0 조건으로 사용할 수 있다. 스프링(버전 1계열)을 자주 이용하기 시작한 때는 2006년 무렵이다. 당시에는 SSH라고 부르는 구성으로 웹 애플리케이션 프레임워크로 이용했다. SSH란 스프링(Spring), 스트럿츠(Strutcs..

Study/Spring 2019.08.03