Kolejki wyrażeń

Wyrażenia w produkcie Rational Focal Point są wartościowane asynchronicznie z użyciem kolejki wyrażeń. Każdy węzeł może pobrać wyrażenia z kolejki i je wartościować.
Uwaga: Aby wyświetlić kolejkę wyrażeń, należy albo być administratorem globalnym, albo posiadać globalne uprawnienia Reguły biznesowe.

Wyrażenia mogą nasłuchiwać zmian różnych atrybutów i ich wartościowanie może być przeprowadzane po każdej zmianie atrybutu. Przy wartościowaniu wyrażenia ustawiana jest wartość atrybutu, w którym wprowadzono wyrażenie. Niektóre reguły biznesowe mogą również zmieniać wartości innych atrybutów. Między wyrażeniami może istnieć łańcuch zależności.

Przykład 1: w tym przykładzie atrybut C zależy od atrybutu B, a atrybut B od atrybutu A. Zmiana wartości atrybutu A na 2 spowoduje wyzwolenie wartościowania wyrażenia w atrybucie B. Wyrażenie atrybutu B zostanie umieszczone w kolejce wyrażeń. Ostatecznie w momencie wartościowania wyrażenia A+1 i wprowadzenia wartości 3 jako wartości atrybutu B zostanie wyzwolone i umieszczone w kolejce wyrażenie dla atrybutu C. Łańcuch zostanie zakończony po wartościowaniu i wprowadzeniu wyrażenia atrybutu C.
Atrybut Wyrażenie Wartość
A (brak) 1
B A+1 2
C B+1 3
Przykład 2: zmiana wartości atrybutu A w jednej operacji umieści 10 000 wyrażeń w kolejce wyrażeń. Może to mieć znaczny wpływ na wydajność produktu Rational Focal Point w zależności od złożoności tych wyrażeń.
Uwaga: Jeśli wyrażenia są dodawane do kolejki szybciej niż przebiega ich wartościowanie, kolejka rośnie w nieskończoność. Może to spowodować długi czas oczekiwania na propagowanie zmian.
Atrybut Wyrażenie Wartość
A (brak) 1
B1 A+1 2
B2 A+1 2
B3 A+1 2
- A+1 2
- A+1 2
B10000 A+1 2

Opinia