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 |