CER이 직접 식별한 선례

유틸리티가 계산된 속성 값에 대한 다음 유형의 종속성을 직접 식별합니다.

표 1. CER이 직접 식별한 선례
이름 식별 시기 다시 계산을 위해 트리거
저장된 속성 값

전체적인 속성 값 계산 1 중에 검색된 CER의 데이터베이스 테이블에 저장된 "입력" 속성 값을 식별합니다.

선례 ID는 CER의 데이터베이스 테이블에서 저장된 속성의 데이터베이스 행에 대한 내부 ID를 나타냅니다.

저장된 속성 값이 변경되면 저장된 속성 값의 선례 변경 항목이 선례 변경 세트에 기록됩니다.
규칙 세트 정의

속성 값의 전체 계산에 사용되는 속성을 포함하는 각 규칙 세트를 식별합니다.

선례 ID는 전체 계산 중에 발생한 하나 이상의 속성 정의를 포함하는 규칙 세트의 이름을 나타냅니다.

CER 규칙 세트의 변경사항이 공개되면 변경된 규칙 세트의 선례 변경 항목이 선례 변경 세트에 기록됩니다.
'readall' 검색

전체 계산 중에 발생한 모든 readall(중첩된 match 없음) 표현식을 식별합니다. 이러한 표현식은 CER의 데이터베이스 테이블에 저장된 규칙 오브젝트를 검색합니다(규칙 오브젝트 변환기를 사용하여 검색한 규칙 오브젝트와 대조됨 - 대신 규칙 오브젝트 변환기가 식별한 선례 참조).

선례 ID는 readall 표현식이 찾은 규칙 클래스 이름을 나타냅니다.

다음과 같은 경우 규칙 클래스의 선례 변경 항목이 선례 변경 세트에 기록됩니다.

  • 해당 규칙 클래스의 새 규칙 오브젝트가 CER의 데이터베이스 테이블에 저장되어 있습니다. 그리고/또는
  • 해당 규칙 클래스의 기존 규칙 오브젝트가 CER의 데이터베이스 테이블에서 제거되었습니다.
'readall/match' 검색

전체 계산 중에 발생한 모든 readall 표현식을 식별합니다. 이러한 표현식은 CER의 데이터베이스 테이블에 저장된 규칙 오브젝트를 검색합니다(규칙 오브젝트 변환기를 사용하여 검색한 규칙 오브젝트와 대조됨 - 대신 규칙 오브젝트 변환기가 식별한 선례 참조).

선례 ID는 검색 기준으로 사용된 속성 이름 및 값과 함께 readall 표현식이 찾은 규칙 클래스의 이름을 나타냅니다.

다음과 같은 경우 규칙 클래스의 선례 변경 항목과 해당 속성 이름 및 일치 값이 선례 변경 세트에 기록됩니다.

  • 해당 규칙 클래스의 새 규칙 오브젝트가 CER의 데이터베이스 테이블에 저장됩니다.
  • 해당 규칙 클래스의 기존 규칙 오브젝트가 CER의 데이터베이스 테이블에서 제거됩니다. 그리고/또는
  • 기존 규칙 오브젝트의 검색 기준 변경에 사용한 속성 값입니다(이 경우 속성의 이전 값에 대한 항목과 속성의 새 값에 대한 항목인 두 선례 변경 항목이 기록됨).
2

이 유형의 종속성은 예제에 가장 잘 설명되어 있습니다.

CER을 사용하여 개인의 세액을 계산하는 새 시스템이 작성되었다고 가정합시다. 이 세액 시스템은 개인의 상황이 변하면 세액을 다시 계산(CER 사용)할 수 있도록 종속성 관리자를 사용하여 종속성을 저장합니다.

세액 시스템은 시스템 전체의 "세금 임계값" 정보를 규칙 오브젝트에 저장하며, 이러한 규칙 오브젝트는 CER의 데이터베이스 테이블에 저장되어 있습니다. 개인의 세액을 계산하는 CER 규칙에는 시스템에서 모든 세금 임계값을 검색하는 readall 표현식이 포함되어 있습니다.

세액 시스템은 시스템 전체의 "자산" 정보도 규칙 오브젝트에 저장하며, 이러한 규칙 오브젝트는 CER의 데이터베이스 테이블에 저장되어 있습니다. 각 자산은 해당 소유자와 시장 가격을 지정합니다. 개인의 세액을 계산하는 CER 규칙에는 해당 개인(즉, Person.personID와 일치하는 Asset.ownedByPersonID가 있는 사람)이 소유한 모든 자산을 검색하는 readall 표현식이 포함되어 있습니다. 자산의 시장 가치를 변경하고/하거나 한 사람의 ID를 다른 사람의 ID로 Asset.ownedByPersonID를 변경하여 자산을 한 사람에서 다른 사람으로 이전할 수 있습니다.

개인의 세액을 계산하는 CER 규칙에는 해당 개인이 소유한 모든 자산의 Asset.marketValue 합계가 포함됩니다.

세액 시스템에는 세액 계산에 필요한 입력 데이터를 검색하는 데 사용하는 별도의 CER 규칙 세트와 검색된 해당 데이터를 사용하여 개인의 세액을 계산하는 실제 비즈니스 계산이 포함되어 있습니다.

사용자가 세액 시스템을 사용하여 각각 하나의 자산이 있는 Joe(personID 456)와 Mary(personID 457)의 세액을 계산합니다. 세액 시스템은 CER 유틸리티를 사용하여 종속성을 식별한 다음 저장을 위해 해당 종속성을 종속성 관리자에 보내므로 결과적으로 다음과 같은 종속성이 저장됩니다.

표 2. 세액을 위해 저장된 종속성 예제
종속 항목 유형 종속 항목 ID 선례 유형 선례 ID
세액 456(Joe의 개인 ID) 'readall' 검색 규칙 클래스: TaxThreshold3
세액 456 'readall/match' 검색 규칙 클래스: 속성 값이 ownedByPersonID=456인 Asset4
세액 456 저장된 속성 값 789(Joe의 자산에 대한 Asset.marketValue의 내부 ID)5
세액 456 규칙 세트 정의 TaxLiabilityDataRetrievalRuleSet6
세액 456 규칙 세트 정의 TaxLiabilityBusinessCalculationsRuleSet7
세액 457(Mary의 개인 ID) 'readall' 검색 규칙 클래스: TaxThreshold8
세액 457 'readall/match' 검색 규칙 클래스: 속성 값이 ownedByPersonID=457인 Asset9
세액 457 저장된 속성 값 780(Mary의 자산에 대한 Asset.marketValue의 내부 ID)10
세액 457 규칙 세트 정의 TaxLiabilityDataRetrievalRuleSet11
세액 457 규칙 세트 정의 TaxLiabilityBusinessCalculationsRuleSet12
13141516171819202122

이제 다양한 데이터 변경으로 인해 세액 다시 계산이 트리거되는 방식을 알 수 있습니다.

표 3. 세액의 선례 변경 항목 예제
데이터 변경 기록된 선례 변경 항목 트리거된 다시 계산
Joe 자산의 시장 가치가 $100에서 $120로 증가
  • 저장된 속성 값, 789
  • Joe의 세액이 다시 계산됨
Mary가 자산을 매도했으며 해당 규칙 오브젝트가 제거됨
  • 'readall/match' 검색, 규칙 클래스: 속성 값이 ownedByPersonID=457인 Asset
  • Mary의 세액이 다시 계산됨
Joe가 새 자산을 받았으며 새 규칙 오브젝트로 저장됨
  • 'readall/match' 검색, 규칙 클래스: 속성 값이 ownedByPersonID=456인 Asset
  • Joe의 세액이 다시 계산됨
Joe가 첫 번째 자산을 Mary에게 양도했으므로 자산의 ownedByPersonID가 456에서 457로 변경됨
  • 'readall/match' 검색, 규칙 클래스: 속성 값이 ownedByPersonID=456인 Asset(이전 값)
  • 'readall/match' 검색, 규칙 클래스: 속성 값이 ownedByPersonID=457인 Asset(새 값)
  • Joe의 세액이 다시 계산됨
  • Mary의 세액이 다시 계산됨
관리자가 새 세금 임계값을 도입했으며 새 규칙 오브젝트로 저장됨
  • 'readall' 검색, 규칙 클래스: TaxThreshold
  • Joe의 세액이 다시 계산됨
  • Mary의 세액이 다시 계산됨
관리자가 기존 세금 임계값을 제거하므로 해당 규칙 오브젝트가 제거됨
  • 'readall' 검색, 규칙 클래스: TaxThreshold
  • Joe의 세액이 다시 계산됨
  • Mary의 세액이 다시 계산됨
관리자가 TaxLiabilityBusinessCalculationsRuleSet 규칙 세트에 변경사항을 공개함
  • 규칙 세트 정의, TaxLiabilityBusinessCalculationsRuleSet
  • Joe의 세액이 다시 계산됨
  • Mary의 세액이 다시 계산됨
1 즉, 속성 자체 계산 또는 속성이 궁극적으로 종속된 내부 속성 값 계산(계산된 속성 값과 해당 외부 데이터 입력 사이의 "중간" 계산)
2 즉, 속성 자체 계산 또는 속성이 궁극적으로 종속된 내부 속성 값 계산(계산된 속성 값과 해당 외부 데이터 입력 간 "중간" 계산).
3 Joe의 세액을 계산할 때 모든 TaxThreshold 규칙 오브젝트가 검색되므로 저장됩니다.
4 Joe의 세액을 계산할 때 Joe가 소유한 모든 자산 규칙 오브젝트가 검색되므로 저장됩니다.
5 Joe의 세액을 계산할 때 Joe와 관련하여 검색된 단일 자산에 대해 저장된 값인 marketValue에 액세스하므로 저장됩니다.
6 Joe의 세액을 계산할 때 TaxLiabilityDataRetrievalRuleSet의 규칙 속성 정의(TaxThreshold 및 Asset 규칙 오브젝트를 검색하는 데 사용)가 포함되므로 저장됩니다.
7 Joe의 세액을 계산할 때 TaxLiabilityBusinessCalculationsRuleSet의 규칙 속성 정의(입력 데이터를 기준으로 전체 세액을 계산하는 데 사용)가 포함되므로 저장됩니다.
8 Mary의 세액을 계산하면 모든 TaxThreshold 규칙 오브젝트가 검색되므로 저장됩니다.
9 Mary의 세액을 계산하면 Mary가 소유한 모든 Asset 규칙 오브젝트를 검색하므로 저장됩니다.
10 Mary의 세액을 계산할 때 Mary와 관련하여 검색된 단일 자산에 대해 저장된 값인 marketValue에 액세스하므로 저장됩니다.
11 Mary의 세액을 계산할 때 TaxLiabilityDataRetrievalRuleSet의 규칙 속성 정의(TaxThreshold 및 Asset 규칙 오브젝트를 검색하는 데 사용)가 포함되므로 저장됩니다.
12 Mary의 세액을 계산할 때 TaxLiabilityBusinessCalculationsRuleSet의 규칙 속성 정의(입력 데이터를 기준으로 전체 세액을 계산하는 데 사용)가 포함되므로 저장됩니다.
13 Joe의 세액을 계산할 때 모든 TaxThreshold 규칙 오브젝트를 검색하므로 저장됩니다.
14 Joe의 세액을 계산할 때 Joe가 소유한 모든 Asset 규칙 오브젝트를 검색하므로 저장됩니다.
15 Joe의 세액을 계산할 때 Joe와 관련하여 검색된 단일 자산에 대해 저장된 값인 marketValue에 액세스하므로 저장됩니다.
16 Joe의 세액을 계산할 때 TaxLiabilityDataRetrievalRuleSet의 규칙 속성 정의(TaxThreshold 및 Asset 규칙 오브젝트를 검색하는 데 사용)가 포함되므로 저장됩니다.
17 Joe의 세액을 계산할 때 TaxLiabilityBusinessCalculationsRuleSet의 규칙 속성 정의(입력 데이터를 기반으로 전체 세액을 계산하는 데 사용)가 포함되므로 저장됩니다.
18 Mary의 세액을 계산할 때 모든 TaxThreshold 규칙 오브젝트를 검색하므로 저장됩니다.
19 Mary의 세액을 계산할 때 Mary가 소유한 모든 Asset 규칙 오브젝트를 검색하므로 저장됩니다.
20 Mary의 세액을 계산할 때 Mary와 관련하여 검색된 단일 자산에 대해 저장된 값인 marketValue에 액세스하므로 저장됩니다.
21 Mary의 세액을 계산할 때 TaxLiabilityDataRetrievalRuleSet의 규칙 속성 정의(TaxThreshold 및 Asset 규칙 오브젝트를 검색하는 데 사용)가 포함되므로 저장됩니다.
22 Mary의 세액을 계산할 때 TaxLiabilityBusinessCalculationsRuleSet의 규칙 속성 정의(입력 데이터를 기반으로 전체 세액을 계산하는 데 사용)가 포함되므로 저장됩니다.