엔티티 추상화 패턴
Entity abstraction pattern엔티티 추상화는 비즈니스 [3]엔티티에 기반을 둔[2] 기능 컨텍스트의 재사용[1] 가능한 서비스를 설계하기 위한 지침을 제공하는 서비스 지향 설계 패러다임 내에서 적용되는 설계 패턴입니다.
이론적 근거
비즈니스 프로세스의 자동화에는 비즈니스 도메인을 분석한 다음 비즈니스 프로세스 내의 다양한 단계를 나타내는 솔루션 로직을 설계하는 작업이 포함됩니다.이러한 단계 중 일부는 특정 비즈니스 프로세스와 관련이 있는 반면, 다른 단계는 다른 비즈니스 프로세스에도 유용할 수 있습니다.이 재사용 가능한 논리의 일부는 비즈니스 [3]엔티티와 관련이 있으며, 일반적으로 향후 변경될 수 있는 규칙 및 처리 단계와 비교할 때 동일합니다.서비스가 프로세스별 논리와 엔티티별 논리를 모두 포함하도록 설계된 경우, 다른 비즈니스 프로세스에서 동일한 엔티티별 논리를 재사용할 가능성은 다소 무시할 수 있습니다.반면, 이러한 종류의 논리를 별도의 컨테이너, 즉 서비스로 분할하면 동일한 비즈니스 엔티티를 사용하는 모든 새로운 비즈니스 프로세스가 이 논리를 재사용할 수 있습니다.재사용 가능성 문제와는 별개로, 기업의 행동 변화를 해결하기 위해서는 여러 비즈니스 프로세스에 걸쳐 고착된 기업 관련 논리를 업데이트하는 데 추가적인 노력이 필요하며 이러한 서비스의 유지보수를 복잡한 [4]작업으로 만듭니다.
앞서 언급한 문제들에 대응하여, 기업 추상화 패턴은 사업체의 처리와 관련된 논리가 프로세스별 단일 목적 논리로부터 분리되어 그러한 논리가 [5]활용되고 있는 사업 프로세스 전체에 대한 지식이 없는 독립적인 논리로 설계되어야 한다고 주장합니다.
사용.
재사용 가능한 엔티티 특정 로직을 분리하려면 실제 서비스를 설계하기 전에 이러한 로직을 식별해야 합니다.이를 위해서는 하향식 서비스 중심의 분석 및 설계[6] 서비스 제공 프로세스가 필요합니다.분석 [7]단계에서는 비즈니스 엔티티에 대해 또는 비즈니스 엔티티에 의해 수행되는 다양한 유형의 작업을 식별하고 엔티티 [8]서비스의 기반을 형성하는 관련 프로세스 중립적인 기능 컨텍스트에 배치합니다.이러한 엔티티 서비스에는 해당 기능 컨텍스트로 표시되는 물리적 또는 논리적 비즈니스 엔티티에만 관련된 CRUD [9]기능을 비롯한 기능이 특히 포함되어 있습니다.서로 다른 행동을 식별하는 것 외에도, 현재 비즈니스 프로세스의 일부이든 아니든 비즈니스 엔티티 간의 관계를 발견하는 것도 중요합니다.서로 다른 비즈니스 프로세스를 살펴봄으로써, 엔티티 서비스는 다른 비즈니스 프로세스에 필요할 수 있는 추가 기능으로 채워질 수 있습니다.이러한 관계를 식별하기 위한 중요한 정보 출처는 ERD입니다. ERD는 서로 다른 사업체 간의 관계를 물리적으로 표시하고 또한 기업 간의 관계의 기초를 형성하는 기업의 서로 다른 속성을 식별하기 때문입니다.결과 서비스 집합은 서비스 계층 설계 패턴에서 지지하는 계층 중 하나인 엔티티 계층을 나타냅니다.그러나 독립체 추상화 설계 패턴의 적용은 불가지론적 컨텍스트 패턴이 프로세스-중립 논리와 프로세스-특정 논리를 분리하는 것을 옹호하기 때문에 불가지론적 컨텍스트 설계 패턴의 전문적인[10] 구현으로 볼 수 있습니다.엔티티 추상화 패턴의 경우 분리되는 것은 엔티티별 프로세스 중립 로직입니다.
경우에 따라 [5]두 기업을 하나로 결합하는 것이 논리적일 수 있기 때문에 기업에서 수행되는 기능의 중요한 부분을 나타내지 않기 때문에 기업에서 엔티티 서비스를 식별하는 프로세스가 항상 일대일 매핑으로 이어지지는 않을 수 있습니다.
고려 사항.
이러한 설계 패턴을 적용하려면 하향식 서비스 중심의 분석 및 설계 서비스 제공[6] 프로세스를 채택해야 합니다. 이 프로세스는 시간과 인력 측면에서 리소스가 제한된 조직에는 적합하지 않을 수 있습니다.또 다른 중요한 측면은 기업 고유의 논리가 기업 서비스에서 추상화되면, 그러한 기업 서비스가 여러 비즈니스 프로세스의 관심을 끄는 활용 기능의 유일한 접점이 됨에 따라 그러한 기업 서비스에 대한 의존도가 증가한다는 것입니다.따라서 기업 용역의 기능성의 변화가 그러한 기업 용역에 대한 의존성을 이미 형성한 용역 소비자가 기대하지 않는 행동을 초래하지 않도록 엄격한 지배구조 메커니즘을 마련하는 것은 여전히 매우 중요합니다.
레퍼런스
- ^ "Services". Archived from the original on 1 May 2012. Retrieved 21 March 2010.
- ^ 전반적인 목적(예: 구매 주문 처리에 기반한 기능 컨텍스트)은 구매 주문에 대해 수행되는 다양한 작업과 관련이 있습니다.
- ^ a b 비즈니스 엔티티는 비즈니스에 관심이 있거나 비즈니스가 실행하는 다양한 프로세스의 일부인 물리적 또는 논리적 엔티티입니다.
- ^ Saarikko, Ted; Westergren, Ulrika H.; Blomquist, Tomas (1 November 2020). "Digital transformation: Five recommendations for the digitally conscious firm". Business Horizons. 63 (6): 825–839. doi:10.1016/j.bushor.2020.07.005. ISSN 0007-6813.
- ^ a b 매튜 데일리.소프트웨어 아키텍처 설계 서비스 지향 아키텍처(Part II) 2011년 7월 24일 Wayback Machine[Online]에서 보관.액세스 날짜: 2010년 4월 26일.
- ^ a b "Top-Down Service-oriented Analysis & Design Process". Archived from the original on 9 May 2010. Retrieved 21 March 2010.
- ^ "Service-oriented Analysis". Archived from the original on 16 May 2010. Retrieved 21 March 2010.
- ^ "Entity Services". Archived from the original on 13 January 2010. Retrieved 21 March 2010.
- ^ 수잔 패티그.소프트웨어 서비스 설계 실무 사례[온라인].액세스 날짜: 2010년 4월 27일.
- ^ 불가지론적 맥락
- Erlet et al., (2009).SOA 설계 패턴.프렌티스 홀 ISBN 0-13-613516-1
- 마우로 등.서비스 지향 장치 통합 – SOA 설계 패턴 분석.[Online], pp. 1–10, 2010 제43회 하와이 국제 시스템 과학 컨퍼런스, 2010.액세스 날짜: 2010년 4월 27일.