JAVA 공통모듈 개발
 : 데이터베이스에 대한 접근을 전담하고 있는 DAO 클래스는 공통적으로 개발해보자.

1. 기본 아키텍처

    최근 대부분의 중,대규모 웹 애플리케이션은 효율적으로 개발 및 유지보수하기 위하여
     계층화하여 개발하는 것이 일반적이다.
    이 아키택처에서 기본적으로 가지는 계층은 UI 계층, 비지니스 계층,
       퍼시스턴스 계층(Persistence Layer),  도메인 모델 계층(Domain Model Layer) 의
       네 가지로 구분할 수 있다.

    ■ UI 계층
       * 사용자에 대한 요청 및 응답 처리
       * 상위 계층(비지니스 계층, 퍼시스턴스 계층)에서 발생하는
           Exception, Error 에 대한 처리.
       * 최종 UI에서 표현해야 할 도메인 모델을 엮는 기능
       * 최종 UI에서 입력한 데이터에 대한 유효성 검증(Validation) 기능
       * 비지니스 로직과 최종 UI 사이를 분리하기 위한 컨트롤러 기능

    ■ 비지니스 계층
       * Application 비지니스 로직 처리와 비지니스와 관련된 도메인 모델의 적합성 검증
       * Transaction 처리
       * UI 계층과 Persistence 계층 사이를 연결하는 역할로서 두 계층이 직접적으로
           통신하지 않게 하여 Application의 유연성을 증가시킨다.
       * 비지니스 계층에 있는 객체들 간의 관계를 관리한다.
       * 다른 계층들과 통신하기 위한 인터페이스를 제공한다.
       
    ■ Persistence 계층
       * 영구 데이터를 빼내어 객체화시킨다.
       * 영구 저장소(일례로 관계형 데이터베이스)에 데이터를 저장, 수정, 삭제한다.
       
    ■ Domain Model 계층
       * 관계형 데이터베이스의 엔티티와 비슷한 개념을 가지는 것으로
           실제 비지니스 객체를 의미한다.

    위 네 계층은 독립적으로 분리할 수 있도록 구현해야 하며,
     일반적으로 각 계층 사이에서는 도메인 모델을 제외하고
      Interface를 이용하여 통신하는 것이 일반적이다.

    도메인 모델은 UI/비지니스/Persistence 계층 전체에 걸쳐 사용하게 된다.




크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 홍반장

2010/12/23 15:14 2010/12/23 15:14
, ,
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/5754


블로그 이미지

- 홍반장

Archives

Recent Trackbacks

Calendar

«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
Statistics Graph

Site Stats

Total hits:
250806
Today:
785
Yesterday:
295