Potrzebuję zbudować system zarządzający zamówieniami z hurtowni. Projekt ten ma składać się z 3 programów Zamówienia(generujące zamówienia), Kierowcyi System (zbierający dane o zamówieniach i wyznaczający drogę dla kierowców). Działanie tego projektu powinno wyglądać następująco: moduł Zamówienia generuje x zamówień w losowych odstępach czasu, i przekazuje je Systemowi (serwer). Moduł kierowcy odpowiada za symulowanie pracy kierowców rozwożących towary. On także komunikuje się z Systemem. Jak dotąd nie udało mi się zaprojektować komunikacji pomiędzy poszczególnymi programami-składowymi. Czytałem o bibliotece java.rmi ale nie potrafię jej użyć. Wyczytałem że uruchomienie projektu takiego jak mój powinno wyglądać mniej więcej tak:
Aby projekt zadziałał poprawnie należy wykonać następujące czynności:
- Przygotowujemy plik java.policy o treści:
grant {
permission java.net.SocketPermission "*:1024-", "accept,
listen, connect, resolve";
};
- Generujemy namiastki dla zdalnych obiektów
rmic -v1.2 Serwer
- Uruchamiamy rejestr nazw:
a. [unix] rmiregistry &
b. [dos,win] start rmiregistry
- Uruchamiamy obiekty pozorne za pomocą poleceń:
a. java -Djava.security.policy=java.policy Zamowienia
b. java -Djava.security.policy=java.policy Kierowcy
- Uruchamiamy program główny poleceniem:
java -Djava.security.policy=java.policy System
Ale nadal nie wiem jak klasa klienta (kierowca lub zamówienia) ma znaleźć klasę serwera? Jak ma sprawdzić czy jest uruchomiony? Jak ma wywołać metodę na serwerze? Czy przedstawiony przeze mnie sposób generowania namiastek jest dobry?