Projekt Alcatraz Java RMI Spread Gruppe A 4
- Slides: 17
Projekt Alcatraz Java RMI / Spread - Gruppe A 4
Agenda § § § Architektur des Gesamtsystems Ablauf zwischen Server und Client Ablauf Client 2 Client Serverausfälle tolerieren Remote Interface Definition Server Remote Interface Definition Client © 2009 FH Technikum Wien 2
Architektur © 2009 FH Technikum Wien 3
Ablauf Server RMI Registry and SPREAD Deamon running Start Server FALSE ANZ<4 BIND SPREAD Is Master Server TRUE WAIT REGISTER ANZ == Maximu m FORCE START FALSE TRUE FALSE I‘M BACKUP I HAVE TO WAIT © 2009 FH Technikum Wien Backup Server ANZ >1 TRUE START GAME 4
Registrierungs Form Client © 2009 FH Technikum Wien 5
Ablauf Client START USER ENTERS DATA CONNECT ANZ == MAX START GAME ON CLIENTS FINISH END LOOKUP PLAY © 2009 FH Technikum Wien REGISTER WAIT ANZ== 1 ANZ> 1 START GAME ON CLIENTS REGISTER START BUTTON MANUAL START 6
Zeitlicher Ablauf UNDEFINED TIMESPAN EVERY CLIENT LOOKUP SERVER START THE GAME RMI - REGISTRY REGISTER BIND SERVER © 2009 FH Technikum Wien 7
Client 2 Client X Client Y Zug 1 Do Remote Move WAIT RMI: Player, Prisoner, Row und Column were sent RMI: Next. One() WAIT Do Local Move Zug 3 © 2009 FH Technikum Wien Do Local Move Zug 2 RMI: Player, Prisoner, Row und Column were sent RMI: Next. One() Do Remote Move WAIT 8
Client 2 Client § Fehlerfall: – Spielpartner antwortet nicht Timeout § Spielabbruch – Der zu ziehende Spieler zieht nicht § Human Error – Der Client ist manuell zu beenden – Spielzug Übertragung im Transaction Modus § Der nächste in der Reihe bekommt seinen Zug erst, wenn bei alle anderen Clients der Zug erfolgreich zugestellt wurde. © 2009 FH Technikum Wien 9
Serverausfälle Start Server W group Join spread as slave Master Already Exists Bind to rmi. Registry No Master Server Client want to register Client has Looked Up Yes Initial Backup Request Client. Objects from Master Normal Backup Server New Clients would be announced to each Backup Spread © 2009 FH Technikum Wien 10
Serverausfälle • Failure des Backup Servers Kein Problem. Restart durch Admin • Failure des Master Servers: Failure of Master Detected by Backup Election of new Master Backup becomes Master Sends Update to Group § Verwendung von Active Replication über Spread § Election Mode = Der erste der es erkennt § Verwendung von Verteilten Transaktion erst wenn jeder die Änderung erhalten hat, gilt sie © 2009 FH Technikum Wien 11
Interface IBackup. Server public interface IBackup. Server extends Remote { public Boolean Is. Alive() throws Remote. Exception; public Boolean Is. Master() throws Remote. Exception; public void sync. Group(Object[] data) throws Exception; } © 2009 FH Technikum Wien 12
Interface IGame. Server public interface IGame. Server extends Remote { public boolean start. Game. Now() throws Remote. Exception; public void register. Client(IClient client) throws Remote. Exception, IIm. Not. Master. Server. Exception; } © 2009 FH Technikum Wien 13
Klasse Game. Server § Attribute: – Liste der aktive Server(inklusive Master. Server) – Referenz auf Master. Server – Liste von Games § Game wird die einzelnen Clients enthalten § Implementiert Advanced. Message. Listener Interface dadurch bekommt man Änderungen in der Server Gruppe mit © 2009 FH Technikum Wien 14
Interface IGame. Client 1/2 public Boolean Is. Alive() throws Remote. Exception; public void do. Remote. Move(Player player, Prisoner prisoner, int row. Or. Col, int row, int col) throws Remote. Exception; public void next. One() throws Remote. Exception; public void do. Start. Game(List<IClient> others, String first. Player. Id) throws Remote. Exception; © 2009 FH Technikum Wien 15
Interface IGame. Client 2/2 public String get. Player. Name() throws Remote. Exception; public void set. Player. Id(String player. Id) throws Remote. Exception; public String get. Player. Id() throws Remote. Exception; © 2009 FH Technikum Wien 16
Klasse Game. Client § Attribute – – – Is. Current. Active. Player Liste von Clients(Mitspieler) Liste von Servern(kann auch nur einer sein) Spielername Spieler. ID – wird vom Server vergeben § Leitet von Unicast. Remote. Object ab dadurch ist der Proxy serialisierbar und somit als Parameter über RMI versendbar § System. set. Security. Manager(new RMISecurity. Manager()); § Server Namen bzw Adressen werden in einem XML-Config File gespeichert © 2009 FH Technikum Wien 17
- Erziehungsmittel
- Frank morris alcatraz
- Rmi sistemas distribuidos
- Java rmi callback
- What is rmi and ejb in java
- Java rmi
- Java.rmi.remote
- Rmi java
- Java.rmi.server.codebase
- Rmi rpc
- Java rmi performance
- Rmi boulder co
- Ligamento de wrisberg y humphrey
- Rpc and rmi in distributed system
- Fernmeldegruppe
- "rmi"
- Rmi soap
- Rmi risk of malignancy index