CS Student’s SAP&Tech Journey✨

[SAP] 레포지토리(Repository)란? / 3-Tier 계층 아키텍처 본문

SAP/ABAP 개념

[SAP] 레포지토리(Repository)란? / 3-Tier 계층 아키텍처

인포마틱 2025. 1. 21. 22:40

SAP 시스템은 효율적인 데이터 관리와 개발 환경을 제공하기 위해 ABAP Repository와 Presentation Server - Application Server - Database로 구성된 계층적 아키텍처를 사용합니다.

 


 

3-Tier Architecture의 계층

출처 https://tjsdb.tistory.com/20

 

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 시스템 전반에 걸쳐 사용됩니다.

주요 특징

  1. Cross-Client 저장소
    • Repository에 저장된 객체는 Cross-Client로 동작하여 모든 클라이언트에서 공유됩니다.
    • 예: 현대 자동차(800)에서 개발한 프로그램은 기아 자동차(700)에서도 실행 가능합니다.
  2. 클라이언트 별 데이터 처리
    • Repository에 저장된 데이터와 달리, 애플리케이션 데이터는 Client-Specific으로 동작합니다.
    • 예: 현대 자동차(800)의 자동차 주문 데이터는 기아 자동차(700)에서 조회할 수 없습니다.
  3. 구조와 모듈
    • Repository는 다양한 모듈(Box)로 구성되며, 각 모듈은 특정 업무를 처리하는 객체를 포함합니다.
      • FI 박스: 재무 관리
      • MM 박스: 자재 관리
      • CO 박스: 관리 회계
      • HR 박스: 인사 관리 (급여, 근태, 행정 등)
    • 예: 급여 조회 프로그램은 HR_PAYROLL에 저장하는 것이 적절합니다.

 


 

3. Repository와 Client-Specific Data 차이점

  1. Repository
    • 모든 클라이언트에서 공유 가능.
    • 프로그램, 테이블 구조 등 개발 객체가 저장됨.
  2. Client-Specific 데이터
    • 클라이언트별로 분리 관리.
    • 거래 데이터, 커스터마이징 데이터 등이 포함.

 


 

4. SAP의 데이터 관리 원칙

  1. 데이터 무결성과 보안 강화
    • Client-Specific 데이터 격리를 통해 조직 간 데이터 보안 유지.
    • 사용자 계정도 클라이언트 별로 분리됨.
  2. 효율적인 개발 관리
    • 프로그램과 객체는 적절한 모듈(Box)에 저장해야 함.
    • 품질 관리를 통해 잘못된 모듈 사용 방지.
  3. 유지보수와 확장성
    • 계층적 아키텍처로 각 계층의 문제를 독립적으로 해결 가능.
    • Cross-Client와 Client-Specific의 명확한 분리를 통해 대규모 환경에서도 효율적 운영.

 

 

'SAP > ABAP 개념' 카테고리의 다른 글

[SAP] 디스패쳐(Dispatcher)와 로드 밸런싱  (1) 2025.01.21
SAP ERP 개발, S/4HANA란?  (0) 2025.01.21