NCS 요구사항 확인 - 기본 아키텍처

이번 시간에는 웹 애플리케이션의 확장성과 유지보수성을 높이기 위해서 많이 사용되는

기본 아키텍처를 살펴보겠습니다.

중,대규모 웹 애플리케이션을 효율적으로 개발, 유지보수 하기 위해서 계층화(Layering)하여 개발 중이죠.

애플리케이션 개발의 기본 아키텍처는 아래 그림과 같습니다.


[1] UI계층 (Presentation Layer/UX Layer)
. 업무처리 서비스와 사용자 간의 인터페이스를 담당하는 서비스로 사용자 화면 구성 및   사용자 입력정보 검증 등의 기능을 제공한다.
· 사용자에 대한 요청 및 응답처리 · 상위계층(비즈니스 계층, 퍼시스턴스 계층)에서 발생하는 Exception, Error에 대한 처리
· 최종 UI에서 표현해야 할 도메인 모델을 엮는 기능
· 비즈니스 로직과 최종 UI 사이를 분리하기 위한 컨트롤러 기능

[2] 비즈니스 계층
. 업무 프로그램의 업무 로직을 담당하는 서비스로 업무 흐름 제어, 트랜잭션 관리, 에러 처리 등의 기능을 제공한다.
· 애플리케이션 비즈니스 로직 처리와 비즈니스와 관련된 도메인 모델의 적합성 검증
· 트랜잭션 처리
· UI계층과 퍼시스턴스 계층 사이를 연결하는 역할로서 두 계층이 직접적으로 통신하지 않게  하여 애플리케이션의 유연성을 증가시킨다.
 · 비즈니스 계층에 있는 객체들 간의 관계를 관리한다.
· 다른 계층들과 통신하기 위한 인터페이스를 제공한다.

[3] 퍼시스턴스 계층 (데이터 처리 계층)
. 업무 프로그램에서 사용할 수 있도록 데이터에 대한 CRUD 기능을 지원한다.
· 영구 데이터를 빼내어 객체화시킨다.
· 영구 저장소(일례로 관계형 데이터베이스)에 데이터를 저장,수정,삭제한다.

[참고] CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말이다.

[4] 도메인 모델 계층
· 데이터베이스의 엔티티와 비슷한 개념을 가지는 것으로 실제 비즈니스 객체를 의미한다.

위 네 가지 계층은 독립적으로 분리할 수 있도록 구현해야 하며 일반적으로 각 계층 사이에는 도메인 모델을 제외하고 인터페이스를 이용하여 통신하는 것이 일반적이다.
도메인 모델은 UI계층, 비즈니스 계층, 퍼시스턴스 계층 전체에 걸쳐 사용하게 된다.



댓글 없음:

댓글 쓰기