프레임워크에 대한 이야기 - 역사
자 오늘은 지난번에 이은 프레임워크에 대해 2탄을 준비했다.
2015/08/14 - [Spring/Spring 이야기] - 프레임워크에 대한 이야기
생각해보니 쉽게 쓴다고 했으나, 지인들의 반응이 냉담...;;
그래서 기본적인 설명을 하고자 한다.
1탄에서 J2EE , EJB 등 생소한 단어들을 사용했으나, 정작 설명을 하지 않았다.
사실 하지 않은 이유는 단 하나. (저도 잘 .. 모르는..) 그런데 그럼에도 불구하고 조금의 아는 만큼의 내용을 쓰려고 한다.
우선 기본 용어부터 알아보자.
J2EE란?
Java Platform, Enterprize Edition이라는 뜻으로, 자바를 이용한 서버측 개발을 위한 플랫폼으로 설명 할 수 있다.
서버측? 개발? 무엇일까?
Java EE 플랫폼은 PC에서 동작하는 표준 플랫폼인 Java SE에 부가하여 웹 어플리케이션 서버에서 동작하는
장애복구 및 분산 멀티티어를 제공하는 Java 소프트웨어의 기능을 추가 한 것이다. 여기서 멀티티어등은 몰라도 무방하다.
5.0 이후로 Java EE로 통합되었다.(위키)
Java EE 스펙에 따라서 구현한 웹 어플리케이션 서버를 축약해서 WAS라고도 한다.
즉, Java로 만드는 웹에서의 Back-End 영역이라고 생각하면 될 것 같다.
여기서 Back-End는 쉽게 말해 웹 페이지를 제공해주는 쪽인 서버 영역을 말하며,
Front-End는 웹 페이지를 요청하는 클라이언트 영역이라고 생각하시면 된다.
백엔드? 프론트? 이 것조차 용어가 헷갈리신다면, 아래의 생활코딩 동영상을 봐주시기 바란다.
위의 영상을 보고나면 웹의 동작 방식 + 구조를 알 수 있다.
자. 그럼 J2EE가 뭔지 알게 되었다. 그럼 EJB는 뭔지 공부 해보자!
EJB란?
Enterprize Java Beans 라는 뜻이며, 기업환경의 시스템을 구현하기 위해 구성된 Server 측 component-Model이다.
EJB는 Java EE의 API 중에 하나이며, 주로 웹 시스템에서 JSP는 화면단을 구성하고, EJB는 Business Logic을 처리하는 역할을 한다.
- 비지니스 로직 : 부수적인 코드를 제외 한 개발 해야 할 기능을 말한다. (명확하게 단정하기 어렵다...어리숙한 실력인 관계로..)
사실 쉽게 말하면, EJB는 Component를 사용하기 위한 Architecture라고 생각하면 된다. '기업 규모의 시스템을 구축하는데 필요한 컴포넌트들을 위한 구조물'이라고 생각하면 된다.
http://pokey.tistory.com/7 이 블로그의 글을 보면 쉽게 이해 할 수 있다.
EJB의 특징으로는 클라이언트에 해당 하는 프로그램들이 네트워크로 연결 되어 있으며, 분산 되어 있다는 점이다.
위 출처의 블로그에서는 이렇게 분산 객체를 설명한다.
분산 객체 (Distributed Object) 란? 분산 컴퓨팅 기술이 객체 지향과 접목되어 하나의 프로세서나 컴퓨터에서
실행되는 객체가 다른 프로세서나 컴퓨터에서 객체와 통신이 가능 하도록 하는 기술이 분산 객체 기술이며 분산 객체란 자신이 존재하는
런타임 환경과는 다른 런타임에 있는 객체와 통신이 가능한 객체 입니다.
즉, EJB는 기업형(대규모)분산 객체 시스템을 구축하는데 필요한 Java 표준 기술이라고 생각하면 될 것 같다.
뭔지 모르겠지만, EJB , Java EE등에 대해 알아 본 것 같다. 웹의 역사는 짧지만,
발전 속도 / 수 많은 기술들은 지금도 변화하고 있다.
그렇기에 예전 기술이라고 해서 무시할 것이 아닌 과거의 기술의 한계를 알고 현재 기술을 배우는 것이 중요하다고 생각한다.
일단 우선 스프링 이야기를 하다가 좌회전 하여 부가 설명을 하는 짧은 시간이었다.