태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.


2008/02/19 14:12

n-계층 (Web)

1. 프리젠테이션 계층
역할 : 사용자 인터페이스 역할을 한다.
기능 : 사용자가 이용할 수 있는 기능을 인터페이스로 나타낼 수 있어야 한다.
         또한 자료를 효과적으로 보여주기 위한 프리젠테이션 로직이 포함된다.

주의! 비즈니스 로직이나 퍼시스턴스 계층에서 처리하는 일을 직접수행하거나(스크립틀릿을 사용해서),
        각 계층의 컴포넌트들과 직접적인 통신이 있어서는 안된다.
        모든 요청은 제어계층을 통해서 처리되어야 한다.
사용기술 : Jsp, JSTL, JSF등이 있겠다.

2. 제어계층 (Controller)
역할 : 프리젠테이션 계층과 비즈니스 로직을 분리하기 위한 계층이다.
기능 : 어떤 요청이 들어왔을때 어떤 로직이 처리해야 하는지를 결정한다.
         로직이 처리한 결과를 뷰와 연결짓는 기능을 한다.
사용기술 : Strust, Webwork가 대세이긴 하지만, Webwork기반의 Struts2도 기대가 된다.
               Spring MVC도 좋은 평가를 받고 있다.

3. 비즈니스 로직 계층
역할 : 핵심 업무를 어떻게 처리하는지에 대한 방법을 기술한다. 가장 신경을 많이 써서 개발을 해야하는
         부분이다.
기능 : 핵심업무로직의 구현 + 데이터의 적합성 검증
         + 다양한 부가적인 구현(트랜젝션, 다른 계층과 통신하기위한 인터페이스, 객체들간의 관계 관리등)
사용기술 : EJB vs Pojo
EJB vs Spring으로 보이는건 왜일까나... 난 개인적으로 Spring의 IoC 컨테이너 기능이 좋음.

4. 퍼시스턴스 계층
역할 : 데이터 처리를 담당하는 계층이다. 주로 데이터의 CRUD 연산을 수행하게 된다.
기능 : 객체를 데이터베이스에 저장하고, 데이터베이스에 있는 데이터를 객체화 시키는 기능
사용기술 : EJB의 Entitiy Bean, 각종 ORM(Hibernate, iBatis, JDO등)

5. 도메인 모델 계층
역할 : 각 계층 사이에 전달되는 실질적인 비즈니스 객체이다. 음식이 담긴 그릇으로 비유할 수 있다.
기능 : DTO로 사용할 수도 있겠지만 DTO와 차이점은 해당 도메인의 비즈니스 로직이 포함되어 있다는
         점이다.

사실 DTO는 사용할 필요가 없다고 본다. 그냥 도메인 모델으로만 해도 별 무리가 없어보이는데...
물론 상황에 따라 다르겠지만...


사내 Wiki에 괜찮은 정보가 있길래 살짝 내 의견을 첨가하고 내용에 약간 수정을 가미하여 정리해보았다...

'Web' 카테고리의 다른 글

[css] 스크롤 달린 Div 창 만들기.  (0) 2008/02/29
png투명처리 ie6에서 안되는 현상.  (1) 2008/02/22
n-계층 (Web)  (0) 2008/02/19
css  (0) 2007/12/26
Chronoscope : GWT based chart library  (0) 2007/11/23
checkbox 값 받기  (0) 2007/11/23
Trackback 0 Comment 0