CS Student’s SAP&Tech Journey✨
[SAP] 레포지토리(Repository)란? / 3-Tier 계층 아키텍처 본문
SAP 시스템은 효율적인 데이터 관리와 개발 환경을 제공하기 위해 ABAP Repository와 Presentation Server - Application Server - Database로 구성된 계층적 아키텍처를 사용합니다.
3-Tier Architecture의 계층

1. SAP의 계층적 아키텍처
SAP는 Presentation Server - Application Server - Database로 구성된 계층적 구조를 통해 효율적인 데이터 관리와 안정적인 시스템 동작을 지원합니다.
1. Presentation Server
- 사용자가 SAP 시스템과 상호작용하는 프론트엔드 계층.
- SAP GUI, Fiori, 웹 브라우저 등을 통해 시스템에 접근.
- 주요 역할:
- 사용자 입력 처리
- 데이터 표시
- SAP와 사용자 간 통신
- 예: 사용자가 T코드 SE16을 입력해 데이터베이스 테이블을 조회하거나 SE38을 통해 ABAP 프로그램을 실행.
2. Application Server
- SAP의 비즈니스 로직과 프로세스가 실행되는 중간 계층.
- 주요 역할:
- 사용자 요청 처리 및 데이터베이스와의 통신 중개
- ABAP 프로그램 실행
- 로드 밸런싱 수행
- 주요 구성 요소:
- ABAP Dispatcher: 사용자 요청을 워크 프로세스(WP)에 할당.
- Work Process: ABAP 프로그램 실행, 배치 작업 처리.
- Message Server: 애플리케이션 서버 간 통신 관리.
3. Database
- SAP 시스템의 데이터 저장소 역할.
- 주요 데이터 분류:
- Cross-Client 데이터: Repository와 같은 개발 객체 저장소.
- Client-Specific 데이터: 거래 데이터, 고객 정보 등 각 클라이언트별 데이터.
- 데이터 격리:
- SAP는 클라이언트 간 데이터를 분리하여 보안을 강화.
- 예: 현대 자동차(800)의 데이터는 기아 자동차(700)에서 접근 불가.
2. ABAP Repository란?
ABAP Repository는 SAP 시스템의 핵심 구성 요소로, 프로그램, 클래스, 함수 모듈, 테이블 등 개발 객체를 저장하고 관리하는 중앙 저장소입니다. Repository는 개발 효율성과 데이터 무결성을 보장하며, SAP 시스템 전반에 걸쳐 사용됩니다.
주요 특징
- Cross-Client 저장소
- Repository에 저장된 객체는 Cross-Client로 동작하여 모든 클라이언트에서 공유됩니다.
- 예: 현대 자동차(800)에서 개발한 프로그램은 기아 자동차(700)에서도 실행 가능합니다.
- 클라이언트 별 데이터 처리
- Repository에 저장된 데이터와 달리, 애플리케이션 데이터는 Client-Specific으로 동작합니다.
- 예: 현대 자동차(800)의 자동차 주문 데이터는 기아 자동차(700)에서 조회할 수 없습니다.
- 구조와 모듈
- Repository는 다양한 모듈(Box)로 구성되며, 각 모듈은 특정 업무를 처리하는 객체를 포함합니다.
- FI 박스: 재무 관리
- MM 박스: 자재 관리
- CO 박스: 관리 회계
- HR 박스: 인사 관리 (급여, 근태, 행정 등)
- 예: 급여 조회 프로그램은 HR_PAYROLL에 저장하는 것이 적절합니다.
- Repository는 다양한 모듈(Box)로 구성되며, 각 모듈은 특정 업무를 처리하는 객체를 포함합니다.
3. Repository와 Client-Specific Data의 차이점
- Repository
- 모든 클라이언트에서 공유 가능.
- 프로그램, 테이블 구조 등 개발 객체가 저장됨.
- Client-Specific 데이터
- 클라이언트별로 분리 관리.
- 거래 데이터, 커스터마이징 데이터 등이 포함.
4. SAP의 데이터 관리 원칙
- 데이터 무결성과 보안 강화
- Client-Specific 데이터 격리를 통해 조직 간 데이터 보안 유지.
- 사용자 계정도 클라이언트 별로 분리됨.
- 효율적인 개발 관리
- 프로그램과 객체는 적절한 모듈(Box)에 저장해야 함.
- 품질 관리를 통해 잘못된 모듈 사용 방지.
- 유지보수와 확장성
- 계층적 아키텍처로 각 계층의 문제를 독립적으로 해결 가능.
- Cross-Client와 Client-Specific의 명확한 분리를 통해 대규모 환경에서도 효율적 운영.
'SAP > ABAP 개념' 카테고리의 다른 글
[SAP] 디스패쳐(Dispatcher)와 로드 밸런싱 (1) | 2025.01.21 |
---|---|
SAP ERP 개발, S/4HANA란? (0) | 2025.01.21 |