Integracja JRules z jPALIO

W procesie integracji JRules z jPALIO mogą brać udział osoby bez wiedzy programistycznej oraz ją posiadające nazywane dalej informatykami.

Ogólny zarys integracji JRules z jPALIO:

1. Informatyk tworzy projekt XOM w Rule Studio w którym definiuje:

  1. parametry wejściowe reguł biznesowych
  2. parametry wyjściowe reguł biznesowych
  3. nazwę przepływu. Przy braku definicji tego parametru nie będzie możliwe w jPALIO wybieranie przepływów dla reguł.

2. Informatyk tworzy projekt reguł. W tym projekcie możliwe jest:

  1. modyfikacja reguł: tworzenie, edycja, usunięcie
  2. modyfikacja przepływów reguł: tworzenie, edycja, usunięcie
  3. modyfikacja pakietów z przepływami oraz regułami

3. Informatyk tworzy projekt aplikacji z projektu reguł który będzie wysłany do serwera wykonawczego RES.

4. Informatyk tworzy projekt webservices z wcześniej zdefiniowanego projektu aplikacji.

  1. w wygenerowanym projekcie webservices udostępniającym JRules modyfikuje się fragment kodu, który wybieraja przepływ.
  2. w wygenerowanym projekcie webservices udostępniającym JRules modyfikuje się wygenerowane parametry wejściowe oraz wyjściowe w celu poprawnej komunikacji z serwerem jPALIO. Krok ten jest konieczny ponieważ w jPALIO jest wykorzystywana biblioteka CXF, która inaczej działa z klasami Holder niż domyślna biblioteka webservices będąca na serwerze WebSphere.
  3. wygenerowany projekt webservices klienta należy skopiować z modyfikacjami opisanymi poniżej do jDesignera.

5. Informatyk publikuje stworzone projekty na serwerze RTS oraz opcjonalnie umieszcza wykonywalne reguły na serwerze wykonawczym RES.

6. Informatyk lub osoba nie mająca wiedzy programistycznej projektuje reguły i przepływy.

7. Informatyk lub osoba nie mająca wiedzy programistycznej umieszcza zmiany na serwerze RTS oraz RES.

8. Programista jPALIO modyfikuje działanie portalu www w zależności od wyników reguł.

 

Podsumowując ogólny sposób projektowania systemów wykorzystujących JRules z pomocą jPALIO przedstawia poniższy rysunek: