Layer의 구성을 통하여 어플리케이션 처리를 위한 아키텍처를 구성하는 방법을 말한다.
- Service : 어플리케이션이 제공하는 독립적인 서비스
- Business-Module : 비즈니스 로직이 구체적으로 표현되며 Main의 Sub 모듈이면서, 재활용을 목표로 독립적으로 존재
- Link(api) : 외부에 있는 EAI/BRE/TP_Monitor 등과의 연계를 담당하는 컴포넌트(모듈)
- DBIO : 데이터 처리를 담당하는 SQL을 포함하는 모듈
- Utility : 계산 처리, 변환 등의 데이터 참조가 없는 기능성 유틸리티
Service Layer 는 어플리케이션 프레임워크 외부에서 인식가능한 거래 요청의 단위를 실체화 한 Service 들이 위치하는 Layer임
1. Layer 구성요소
외부 채널에서 인식 가능한 거래 요청의 단위인 Service 들로 구성됨
“Service” 란 채널에서 접근 가능한 어플리케이션 거래의 단위임
2. 주요 역할 및 책임
처리흐름 제어 및 하위 레이어의 구성요소를 호출하여, 서비스 수행에 필요한 세부 프로세스를 완성함
하나의 Transaction 처리를 위한 모든 비즈니스 스텝을 포함하도록 함
서비스의 완전한 처리를 위한 하위 계층의 모듈과 컴포넌트 호출을 담당함
에러 처리, 로깅 등의 시스템/프레임워크 관점에서의 처리 단위임
서비스의 묶음으로 단위 시스템이 형성되며, 단위 시스템의 묶음으로 전체 시스템을 구성하게 되는 시스템 구성의 최소 단위임
서비스는 S/W 품질속성 (응집도, 결합도, 재활용성, 유연성 등)을 감안하여 설계되어야 함
3. Layer 간 호출 원칙 및 제약사항
Service Layer는 바로 하위의 Business Layer와 전체 공통인 Utility Layer, DBIO Layer, Link Layer의 구성요소를 사용할 수 있으며, 사실상 제약이 없음
Business Module Layer 는 비즈니스 로직이 구체적으로 표현되며 service의 sub 모듈이면서, 독립적으로 존재 하는 Layer임
1. Layer 구성요소
독립적인 비즈니스 로직으로 구성
2. 주요 역할 및 책임
서비스(Business Main)의 sub모듈로 독립적인 Business logic을 수행
필요 시 시스템 인터페이스를 호출함
업무 로그, 계리 등의 업무적 후처리를 위한 데이터 조립 수행
DBIO Layer의 구성요소간 참조를 방지하기 위한 브로커 역할 수행
3. Layer 간 호출 원칙 및 제약사항
Business Module Layer는 바로 하위의 Link Layer와 DBIO Layer, 도메인 및 전사 공통인 Utility Layer의 구성 요소를 호출할 수 있음
동일 Layer 상의 구성요소 간 호출을 허용하며, 각 구성요소는 서로 다른 DBIO를 호출 하여야 함
Link Layer 는 대외기관 및 타 시스템과의 연계 서비스를 수행하는데 필요한 Adaptor를 제공하는 역할을 수행하는 Layer임
1. Layer 구성요소
대외기관 및 타 시스템/타 서비스와의 연계서비스를 수행하는 구성요소
실제 구현은 인터페이스를 위한 API를 호출하는 방식으로 구현될 수 있으며, 물리적인 별도의 모듈로 분리되지 않을 수 있음
2. 주요 역할 및 책임
서비스 또는 모듈 구성 시 필요한 연계 인터페이스를 호출함
타 시스템과의 연계를 위해 필요한 Adaptor와 Connector는 표준화하여 사용할 수 있도록 함
타 시스템 구성요소의 참조에 대해 표준화된 방식을 적용하기 위한 공통 기능 담당
3. Layer 간 호출 원칙 및 제약사항
Link Layer는 서비스, Business Module, Utility Layer에서 외부에 존재하는 다른 System Link Layer의 Connector를 Adaptor를 통해 호출할 수 있음
동일 Layer 상의 구성요소 간 호출은 허용하지 않음
DBIO Layer 는 서비스 처리 중 Data 의 CRUD 및 실제 비즈니스 로직의 수행을 처리하는 컴포넌트들이 위치하는 Layer임
1. Layer 구성요소
각 업무 도메인 별 데이터 처리 및 데이터 처리의 조합으로 비즈니스를 처리하는 구성요소
Entity 단위의 DML을 처리하는 Entity DBIO와 Query와 복잡한 DML을 처리하는 Query DBIO의 2가지로 구분됨
2. 주요 역할 및 책임
데이터의 생성, 조회, 수정, 삭제(CRUD)를 수행하며, 재활용 가능한 데이터 처리 로직을 모듈화 하는 것을 목적으로 함
별도의 제작 도구 등을 이용하여 SQL을 표준화하고, 적정한 수준의 품질을 보장받는 것을 목적으로 함
서비스, Business Module의 호출을 통해, 전달받은 I/O를 이용하여 DBMS에 사용되는 SQL을 수행함
데이터에 대한 가공/변환, 업무 검증 또는 계산 로직 들을 수행함
3. Layer 간 호출 원칙 및 제약사항
DBIO Layer는 Service Layer, Business Module Layer에서 호출 가능함
DBIO Layer는 하위 Layer인 Utility Layer 만을 호출할 수 있으며, 동일 Layer 간의 호출은 허용하지 않음
Utility Layer는 비즈니스 데이터에 상관없이 계산, 검증, 변환 등의 자체적인 기능성만을 제공하는 Layer임
1. Layer 구성요소
DB 참조 없이 어플리케이션 내에서만 사용하는 공통 로직 및 유틸리티 프로그램
Domain 구성요소들 중, 여러 업무 도메인에 걸쳐 공통적으로 사용되는 구성요소들을 별도로 그룹핑함
프레임워크 공통 유틸리티를 포함함
2. 주요 역할 및 책임
데이터 접근이 없는 검증, 계산, 변환, 체크 기능 제공
공통 Utility (체크, 변환, 계산) 기능 제공
공통 데이터의 참조 및 갱신(CRUD) 기능 제공
전사 공통으로 플랫폼과 무관하게 동일한 서비스를 제공함
3. Layer 간 호출 원칙 및 제약사항
Utility Layer는 모든 상위 Layer에서 호출을 허용함
동일 Layer상의 구성요소간의 호출을 허용함
이상으로 아키텍처 스타일의 종류 중 가장 대표적으로 사용하는 Layered Architecture에 대하여 알아보았다.
알고보니 - 개발방법론이란? (0) | 2022.04.20 |
---|---|
알고보니 - Business Process Management란? (0) | 2022.04.12 |
알고보니 - 아키텍처 스타일 및 종류 (2/2) (0) | 2022.04.01 |
알고보니 - 아키텍처 스타일 및 종류 (1/2) (0) | 2022.03.29 |
알고보니 - SW 아키텍처 스타일 (0) | 2022.03.25 |
댓글 영역