SAP/TM Module
BOPF(1) - Business Object Process Framework
z2soo
2022. 2. 1. 23:10
반응형
BOPF란?
Business object processing frame work, 즉 ABAP OO 기반의 프레임워크로 개발의 속도 향상, 표준화, 모듈화가 가능한 서비스와 기능을 제공한다. 이를 통해 개발자는 인프라 개발보다 로직 구현에 더 집중할 수 있게 된다.
BOPF 장점?
- rapid prototyping
- reusability
- less implementation
- more stable
다양한 비즈니스 어플리케이션 구성요소를 원할하게 통합할 수 있는 프레임워크로 쉽게 구축할 수 있는 장점을 지닌다. 아래 이미지처럼 BOPF는 다양한 구성요소 사이에서의 징검다리 역할을 한다.
Business object
sales order, purchase order와 같은 하나의 비즈니스 단위를 의미한다. 이는 BOPF에 생성될 것이며, 각 BO의 entity는 node형태로 정의된다. 정의된 노드는 트리구조(계층구조)로 이루어진다.
Business object components
- Node
business object의 data modeling을 위해 사용되며 데이터 타입 등을 정의하는 속성을 가짐 - Action
business object의 서비스 또는 행위를 정의하며 각 노드에 assign됨 - Association
business object 간의 관계 혹 통합을 의미 - Determination
business object node의 element로서 특적 조건 충족시 실행하는 internal changing logic - Validation
business object node의 element로서 internal checking 즉 유효성 체크를 할 뿐 데이터 변경x - Query
특정 조건에 맞는 business node를 조회
Basic architecture of BOPF
- Consumer layer / UI layer
클라이언트는 BOPF의 객체지향 API를 활용해 business object에 접근 가능함 - Transaction layer
business object node의 변경 사항에 대한 commit, rollback... 등 DB에 반영하는 transaction 처리를 함 - Runtime layer
business object를 인스턴스화하고, life cycle 이벤트 처리를 하고, 클라이언트 수준의 상호작용에 응답하는데 필요한 작업을 수행함 - Persistence layer
business object 인스턴스를 DB에 유지하는데 필요한 기능을 제공함
(persistence <> transient: runtime 시에만 데이터를 유지하고 DB에 반영하지는 않음)
Service & Transaction manager API
Business object는 service API를 통해서만 접근이 가능하고, business ibject에 대한 행위는 transaction manager API를 통해서만 접근이 가능하다. 두 개를 통하지 않으면 business object에 어떤 작업도 불가하다.
- Service manager
business object 생성, 업데이트 등 business object node 값에 영향을 미치는 작업 수행 - Transaction layer
commit, rollback 등 변경된 business object node 값을 DB에 반영하는 작업 수행
반응형