Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:dydaktyka:bim:lab5 [2013/11/18 20:06] kkluza [Rozbudowa modelu o reguły Droolsa] |
pl:dydaktyka:bim:lab5 [2019/06/27 15:50] (aktualna) |
W tym momencie możemy usunąć warunek dot. kompetencji zespołu z zadania //Evaluate offer// i zamiast niego wprowadzić warunek związany z wysokim ryzykiem projektu (np. ''projectRisk == "Wysokie"''). | W tym momencie możemy usunąć warunek dot. kompetencji zespołu z zadania //Evaluate offer// i zamiast niego wprowadzić warunek związany z wysokim ryzykiem projektu (np. ''projectRisk == "Wysokie"''). |
| |
| Opcjonalnie: Aby przetestować opisane reguły bez Activiti możemy do naszego projektu dołożyć klasę [[pl:dydaktyka:bim:lab5?&#dodatkowe_pliki_do_testowania_modelu_regulowego|RuleRunner]] do uruchomienia reguł, a nasze reguły przetestować przy użyciu klasy [[pl:dydaktyka:bim:lab5?&#dodatkowe_pliki_do_testowania_modelu_regulowego|RuleRunnerTest]]. \\ Do tego celu potrzebujemy w eclipsie dołączyć odpowiednie pliki biblioteczne do ''src/main/resources/lib'' -- {{:pl:dydaktyka:bim:lab5:lib.zip|}}.| | | Opcjonalnie: Aby przetestować opisane reguły bez Activiti możemy do naszego projektu dołożyć klasę [[pl:dydaktyka:bim:lab5?&#dodatkowe_pliki_do_testowania_modelu_regulowego|RuleRunner]] do uruchomienia reguł, a nasze reguły przetestować przy użyciu klasy [[pl:dydaktyka:bim:lab5?&#dodatkowe_pliki_do_testowania_modelu_regulowego|RuleRunnerTest]]. Do tego celu potrzebujemy w eclipsie dołączyć odpowiednie pliki biblioteczne do ''src/main/resources/lib'' -- {{:pl:dydaktyka:bim:lab5:lib.zip|}}.| |
| |
| |
Ustawienia dla zadania regułowego: | Ustawienia dla zadania regułowego: |
* Result variable: ''projectRisk'' | * Result variable: ''projectRisk'' |
| |
Do pliku ''pom.xml'' proszę dołożyć odpowiednie dependencje z [[activiti:konfiguracja\#konfiguracja_silnika_by_zadzialaly_reguly_w_activiti]]. | Do pliku ''pom.xml'' proszę dołożyć odpowiednie dependencje jak na listingu w części [[pl:dydaktyka:bim:lab5?&#dodatkowe_pliki_do_testowania_modelu_regulowego|Dodatkowe pliki...]]. |
==== Uruchomienie modelu z regułami w eclipsie ==== | ==== Uruchomienie modelu z regułami w eclipsie ==== |
| |
Następnie tak przygotowaną klasę możemy wybrać w zakładce **Listeners** w zadaniu **Set offer factors**: | Następnie tak przygotowaną klasę możemy wybrać w zakładce **Listeners** w zadaniu **Set offer factors**: |
| |
{{:pl:dydaktyka:bim:lab5:eclipse4-tasklistener-addmodel.png|}} | {{:pl:dydaktyka:bim:lab5:eclipse4-tasklistener-addmodel.png?950|}} |
| |
Proszę zmodyfikować test, tak by nie przekazywał instancji ''modelRyzyka'' do procesu, tylko korzystał z instancji stworzonej w przygotowanym task listenerze. | Proszę zmodyfikować test, tak by nie przekazywał instancji ''modelRyzyka'' do procesu, tylko korzystał z instancji stworzonej w przygotowanym task listenerze. |
| |
| |
| DO SPRAWOZDANIA: |
| * Proszę w sprawozdaniu umieścić model oraz rozbudowany test. |
| * Proszę umieścić screenshot z eclipsa z rezultatem testu, jak również kod klasy ''pl.org.bpmn.AddModel''. |
==== Wdrożenie i uruchomienie procesu z regułami w Activiti Explorerze ==== | ==== Wdrożenie i uruchomienie procesu z regułami w Activiti Explorerze ==== |
| |
Silnik actviti został [[activiti:konfiguracja&#konfiguracja_silnika_by_zadzialaly_reguly_w_activiti|skonfigurowany]] tak, by mógł uruchamiać zadania regułowe Droolsa. | Jeśli silnik actviti został skonfigurowany tak, by mógł uruchamiać zadania regułowe Droolsa, to będziemy mogli uruchomić proces w Activiti Explorerze. |
| |
Podobnie jak poprzednio, do wdrożenia procesu i reguł potrzebne będą archiwa **jar** oraz **bar** (proszę pamiętać o **unikalnych nazwach klas i plików**!). W archiwum bar dołożymy oprócz diagramu również plik z regułami. Następnie należy: | Podobnie jak poprzednio, do wdrożenia procesu i reguł potrzebne będą archiwa **jar** oraz **bar** (proszę pamiętać o **unikalnych nazwach klas i plików**!). W archiwum bar dołożymy oprócz diagramu również plik z regułami. Następnie należy: |
- Przy użyciu [[http://80.82.18.218:8082/examples/upload123.htm|formularza]] przesłać plik jar do katalogu z bibliotekami dla Activiti Explorera. | - Przekopiować plik jar do katalogu z bibliotekami dla Activiti Explorera. |
- Po poprawnym przesłaniu pliku należy przeładować silnik Activiti Explorera, aby przeczytał biblioteki! (Z racji tego, że pracujemy na jednym silniku na serwerze, to zadanie wymaga synchronizacji kilku osób.). | - Po poprawnym przesłaniu pliku należy przeładować silnik Activiti Explorera, aby przeczytał biblioteki. |
- Jeśli wszystko wykonało się poprawnie, w Activiti Explorerze powinno się dać wdrożyć procesy zawierające zadania regułowe. | - Jeśli wszystko wykonało się poprawnie, w Activiti Explorerze powinno się dać wdrożyć procesy zawierające zadania regułowe. |
| |
==== Integracja procesu "Check offer" (z zajęć 3 i 4) z procesem rozwijanym na zajęciach 1 i 2 ==== | ==== CZĘŚĆ NIEOBOWIĄZKOWA ==== |
| |
| Dla zainteresowanych osób, poniżej przedstawiono możliwości integracji modeli stworzonych w trakcie zajęć oraz dalszej rozbudowy procesu. |
| |
| ==== Integracja procesu "Check offer" (z lab. 3 i 4) z procesem rozwijanym w lab. 1 i 2 ==== |
| |
Jeśli założymy, że podproces **Check offer** jest osobną całością, która mogłaby być użyta w różnych procesach, sensownie będzie go wydzielić jako //Call Activity//. W tym celu zostawimy na diagramie procesu jedynie elementy z wnętrza podprocesu **Check offer**: | Jeśli założymy, że podproces **Check offer** jest osobną całością, która mogłaby być użyta w różnych procesach, sensownie będzie go wydzielić jako //Call Activity//. W tym celu zostawimy na diagramie procesu jedynie elementy z wnętrza podprocesu **Check offer**: |
Upewniwszy się, że nasz podproces działa, zapewniamy mu unikalne ''id'', tak byśmy mogli się do niego odwoływać z innego procesu. | Upewniwszy się, że nasz podproces działa, zapewniamy mu unikalne ''id'', tak byśmy mogli się do niego odwoływać z innego procesu. |
| |
{{ :activiti:tutorial4:eclipse4-callactivitiinprocess.png |}} | {{ pl:dydaktyka:bim:lab5:eclipse4-callactivitiinprocess.png |}} |
| |
Aby odwołać się z **Check offer** w postaci //Call Activity// (jak na powyższym rysunku) do odpowiedniego podprocesu, który zostanie wykonany, ustawiając następujące parametry w ''Main Config'' dla //Call Activity//: | Aby odwołać się z **Check offer** w postaci //Call Activity// (jak na powyższym rysunku) do odpowiedniego podprocesu, który zostanie wykonany, ustawiając następujące parametry w ''Main Config'' dla //Call Activity//: |
| |
} | } |
| </code> |
| |
| W pliku ''pom.xml'' powinny zostać dołożone następujące elementy: |
| <code xml> |
| <properties> |
| <drools-version>5.3.0.Final</drools-version> |
| </properties> |
| <dependencies> |
| <dependency> |
| <groupId>org.drools</groupId> |
| <artifactId>drools-core</artifactId> |
| <version>${drools-version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.drools</groupId> |
| <artifactId>drools-compiler</artifactId> |
| <version>${drools-version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.drools</groupId> |
| <artifactId>drools-decisiontables</artifactId> |
| <version>${drools-version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.drools</groupId> |
| <artifactId>drools-transformer-xstream</artifactId> |
| <version>5.0.1</version> |
| </dependency> |
| </dependencies> |
| <repositories> |
| <repository> |
| <id>jboss-public-repository-group</id> |
| <name>JBoss Public Maven Repository Group</name> |
| <url>http://repository.jboss.org/nexus/content/groups/public-jboss/</url> |
| </repository> |
| </repositories> |
</code> | </code> |