서비스 정규화 패턴
Service normalization pattern서비스 정규화는 서비스 지향 설계 패러다임 내에서 적용되는 설계 패턴으로, 동일한 서비스[2] 인벤토리의 일부인 서비스에 중복 [3]기능이 포함되지 않도록 하는 애플리케이션입니다[1].이러한 디자인 패턴은 정규화된 서비스를 만드는 것에 중점을 두고 있습니다.테이블의 모든 속성이 테이블에 의해 설명된 엔터티에만 관련되고 엔터티와 직접 관련되지 않은 모든 속성이 새 테이블이나 해당 속성의 컨텍스트에 더 잘 맞는 기존 테이블에 배치되는 데이터베이스에서 정규화된 테이블을 만드는 것과 비슷합니다.
이론적 근거
서로 다른 팀이 다양한 비즈니스 프로세스 자동화의 일환으로 여러 서비스를 제공하는 경우 이러한 서비스 중 일부가 중복되는 기능을 가질 수 있습니다.예를 들어, 동일한 레거시 시스템과 메시지를 교환해야 하는 두 개의 서로 다른 비즈니스 프로세스가 두 개의 서로 다른 버전의 래퍼 서비스로 자동화되어 서비스와 메시지를 교환할 수 있습니다.이러한 기능의 중복으로 인해 특정 기능의 제공 및 중복 서비스의 유지보수를 위해 어떤 서비스를 공식적인 서비스로 홍보할지와 같은 다른 문제가 발생할 수 있습니다.
중복 기능이 없는 동일한 서비스 인벤토리의 일부로 서비스를 제공하려면 각 서비스의 기능 경계를 신중하게 설정하여 다른 서비스와 충돌하지 않도록 해야 합니다.서비스 표준화[4] 설계 패턴은 기능 [5]중복 없이 간소화된 서비스를 포함하는 서비스 인벤토리를 생성하기 위한 지침을 제공합니다.정규화된 서비스를 생성함으로써 잠재적인 [6]소비자에게도 서비스의 목적이 명확해집니다.
사용.
이 설계 패턴을 적용하려면 모든 서비스의 기능 컨텍스트에 대한 지식이 필요합니다. 그래야 서비스에 중복되는 기능이 포함되지 않는다는 것을 보장할 수 있기 때문입니다.이는 서비스 모델, 즉 실제 서비스 계약 없이 서비스가 제공할 기능에 대한 높은 수준의 세부 정보를 제공함으로써 달성됩니다.서비스 모델을 만들려면 다음 작업을 수행해야 합니다.
- 비즈니스 프로세스를 특정 서비스 인벤토리의 범위 내에 있는 개별 단계로 분해합니다.
- 각 단계를 서비스의 개별 기능에 할당
- 위의 기능이 다른 서비스에 의해 제공되지 않았는지 확인합니다.
- 서비스가 새로운 필수 기능의 일부를 제공하더라도, 새로운 서비스를 완전히 새로 만드는 대신, 추가되는 기능의 기능 컨텍스트가 기존 서비스의 기능 컨텍스트와 일치하는 한 새로운 기능을 기존 서비스에 추가해야 합니다.
서비스 인벤토리의 범위 내에 있는 각 비즈니스 프로세스에 동일한 프로세스를 적용해야 합니다.
서비스 표준화 설계 패턴의 지침을 따르면 서비스 인벤토리 내의 총 서비스 수도 감소합니다.중복 서비스의 개발을 방지하여 서비스 인벤토리의 거버넌스 오버헤드를 줄이는 데 더욱 도움이 되기 때문입니다.이 설계 패턴의 적용은 로직 중앙 집중화 및 서비스 리팩터링 설계 패턴의 적용을 추가로 지원합니다.이는 서비스에 중복 기능이 포함되어 있지 않기 때문에 단일 서비스에서 특정 비즈니스 프로세스와 관련되지 않은 논리를 유지하고 종속성을 유지하지 않고 서비스를 발전시킬 수 있기 때문입니다.
고려 사항.
이러한 설계 패턴을 적용하려면 하향식 서비스[7] 제공 프로세스를 따라야 하며, 실제 서비스가 제공되기 전에 상당한 사전 분석이 필요합니다.이를 위해서는 인력과 시간 측면에서 추가적인 리소스가 필요합니다.이 문제는 전체 서비스[9] 인벤토리 Blueprint를 생성할 때까지 기다리지 않고 충분한 서비스를 모델링한 후 서비스 제공 프로세스를 시작할 수 있는 중간[8] 규모의 서비스 제공 프로세스를 채택함으로써 해결될 수 있습니다.
점점 더 많은 비즈니스 프로세스가 자동화됨에 따라 기존의 정규화된 서비스에 대한 지속적인 거버넌스가 필요합니다.이는 새로운 비즈니스 프로세스의 자동화로 인해 기존의 정규화된 서비스에 기능이 추가될 수 있으며 이러한 서비스가 계속 정규화되도록 하려면 나머지 서비스를 분석해야 하기 때문입니다.
레퍼런스
- ^ 서비스
- ^ 서비스 재고
- ^ 카누 트리파티.WS-Atomic Transaction을 사용하지 않는 서비스 트랜잭션 처리 [온라인]액세스 날짜: 2010년 4월 25일.
- ^ 토마스 에를, 헤르비외른 빌헬름센.서비스 표준화 설계 패턴 [온라인].액세스 날짜: 2010년 4월 6일.
- ^ 토마스 얼.SOA 설계 패턴[온라인] 소개.액세스 날짜: 2010년 4월 6일.
- ^ 예핌 V.나티스, 마시모 페지니일반적인 SOA 실수 12가지와 이를 피하는 방법 [온라인].액세스 날짜: 2010년 4월 25일.
- ^ 하향식 서비스 제공 프로세스 2010년 5월 9일 Wayback Machine에서 보관
- ^ 중간 서비스 제공
- ^ 서비스 인벤토리
진일보한 내용
- Erlet et al., (2009).SOA 설계 패턴.프렌티스 홀. ISBN0-13-613516-1
- 마우로 등.서비스 지향 장치 통합 – SOA 설계 패턴 분석.[Online], pp. 1–10, 2010 제43회 하와이 국제 시스템 과학 컨퍼런스, 2010.액세스 날짜: 2010년 4월 4일.
- 매튜 데일리.소프트웨어 아키텍처 설계 서비스 지향 아키텍처(Part II)[온라인]액세스 날짜: 2010년 4월 22일.