본문 바로가기

IT/WAS(Web Application Server)

자바 관련 용어 설명

J2EE


 - 자바 플랫폼, 엔터프라이즈 에디션(Java Platform, Enterprise Edition; Java EE)은 자바를 이용한 서버측 개발을 위한 플랫폼

 - Java EE 플랫폼은 PC에서 동작하는 표준 플랫폼인 Java SE에 부가하여, 웹 애플리케이션 서버에서 동작하는 장애복구 및 분산 멀티티어를 제공하는 자바 소프트웨어의 기능을 추가한 서버를 위한 플랫폼, 이전에는 J2EE라 불리었으나 버전 5.0 이후로 Java EE로 개칭됨

 - 이러한 Java EE 스펙에 따라 제품으로 구현한 것을 웹 애플리케이션 서버 또는 WAS라 불림

출처 : 위키백과

 

 안정하고 확장 가능한 애플리케이션을 위한 엔터프라이즈용 개발환경을 제공하는데 개발자들이 웹 기반 애플리케이션을 쉽게 제작할 수 있도록 썬에서 자바 2 Enterprise Edition(J2EE)을 Microsoft에서 .NET 프레임워크를 출시했다. 



트랜잭션

 한 줄 정리: 데이터에 대한 작업 전체를 하나로 묶어서, 모두 처리되거나 아니면 모두 처리되지 않도록 하는 기능을 뜻한다

 

영어 낱말 transaction은 거래를 뜻한다. 예를 들어 돈을 주었는데 물건을 받지 못한다면, 그 거래는 이우러지지 못하고 원상태로 복구되어야 한다. 이와 같이 쪼갤 수 없는 하나의 처리 행위를 원자적 행위라고 한다. 여기서 쪼갤 수 없다는 말의 의미는 실제로 쪼갤 수 없다기보다는 만일 쪼개질 경우 시스템에 심각한 오류를 초래할 수 있다는 것이다. 이러한 개념의 기능을 ATM 또는 데이터베이스 등의 시스템에서 제공하는 것이 바로 트랜잭션이다.

출처 : 위키백과

 

예 : ATM에서 인출 거래는 하나의 트랜잭션이다. 인출 거래는 사용자로부터 필요한 정보를 입력받고 사용자의 계좌를 조회하고 잔고를 확인하여 요청 금액을 지불할 수 있는지 살펴보고, 잔고를 감소시킨 후 현금을 지급하는 일련의 절차이다. 만약 정전 또는 통신망 장애 등으로 인해 도중에 중단되면 인출 거래 전의 상태로 복구될 것이다. 데이터베이스에서 여러 개의 질의를 트랜잭션으로 묶어 놓은 경우도 마찬가지이다.



컨테이너

 한 줄 정리 : servlet을 실행하고 관리하는 역할을 한다

 특징 :

 - 개발자가 해야하는 역할을 컨테이너가 대신 수행(소켓 생성, 데이터 스트림 생성등)

 - servlet의 생성 ~ 소멸까지의 일련의 과정을 관리

 - 요청이 들어올 때마다 새로운 자바 스레드를 생성, 운영

 동작 방식 :

 - client가 servlet에 요청을 보내면 이 요청을 컨테이너에게 넘겨주고

 - 이 요청을 받은 컨테이너는 request와 response 객체를 생성하고 해당하는 servlet의 thread를 생성하여 앞에 생성한 객체를 인자로 넘긴다

 - thread 생성 후 service() 메소드를 호출하고 doGet()이나 doPost() 메소드 중에서 선택하여 생성(사용자 요청이 get방식인지 post방식인지에 따라 변경)

 - doPost()메소드로 가정하면, 동적 페이지를 생성하고, 이것을 처음 받은 reponse 객체에 실어서 컨테이너에게 보낸다

 - 컨테이너는 이 객체를 HTTPReponse로 변환하여 client에게 보낸다

 - 이 후 처음에 생성한 객체 Request와 Response를 소멸시킨다

출처 : http://yayongi.tistory.com/


EJB


엔터프라이즈 자바빈즈(Enterprise JavaBeans; EJB)는 기업환경의 시스템을 구현하기 위한 서버측 컴포넌트 모델이다. 즉 EJB는 애플리케이션의 업무 로직을 가지고 있는 서버 애플리케이션이다. EJB사양은 Java EE의 자바 API 중 하나로, 주로 웹 시스템에서 JSP는 화면 로직을 처리하고, EJB는 업무 로직을 처리하는 역할을 한다

출처 : 위키백과

 종류 :

 - 세션 빈(Session Bean) : DB 연동이 필요 없음

 - 엔티티 빈(Entity Bean)

      - 데이터베이스의 데이터를 관리하는 객체 

      - Insert(삽입), Update(수정), Delete(삭제), select(조회)

      - DB관련 쿼리는 자동으로 만들어지고 개발자는 고급 업무 처리에 집중

      - DB가 수정되면 코드 수정 없이 다시 배포(설정 문서 만들어서 복사)

 - 메시지 구동 빈(Message-driven Bean) : JMS로 빈을 날려줌

출처 : 위키백과

 EJB는 클라이언트/서버 모델의 서버 부분에서 운영되는 자바 프로그램 컴포넌트(구성요소)들을 설정하기 위한 아키텍처이다. EJB는 네트워크 내의 클라이언트들에 분산되어 있는 프로그램 컴포넌트들을 위한 자바빈즈 기술 위에서 구현된다. EJB는 기업들에게, 새로운 프로그램 컴포넌트가 추가되어나 또는 변경될 때마다, 각 개별 컴퓨터를 갱신하지 않고서도 서버에서 변화를 통제할 수 있도록 하는 이점을 제공한다. EJB 컴포넌트들은 다중 응용프로그램들에서 재 사용되는 장점을 가지고 있다. EJB빈이나 컴포넌트가 배치되기 위해서는 컨테이너라고 불리는 특정 응용프로그램의 일부갇 ㅚ어야 한다. 

출처 : www.terms.co.kr


'IT > WAS(Web Application Server)' 카테고리의 다른 글

Tomcat 한글 설정(한글 깨짐)  (0) 2015.03.06
Tomcat 버전 확인 방법  (1) 2015.03.06