Pattern für Benutzer-Gruppen, RMI

T

tuxedo

Gast
Hallo zusammen,

ich grüble schon seit längerem über die Frage, ob es für sowas (siehe unten) ein Pattern gibt. Google und Co. haben mich da nicht wirklich weiter gebracht, mir fehlen irgendie die passenden Suchbegriffe.

Es geht im folgendes:

Man hat eine Serveranwendung (völlig abstrakt bertrachtet, keine spezielle Technologie) die Entitäten hat, die in 1:n oder n:m Beziehung zueinander stehen können. Der Server bietet ein API an, mit dem es Client ermöglicht wird die Entitäten zu lesen, verändern und wieder zu schreiben.

Nur mal angenommen die API die der Server anbietet ist zum administrieren von Benutzern und Gruppen. Ein oder mehr Benutzer kann in einer oder mehreren Gruppen sein. Klassisch n:m

Wenn man sich als Client nun eine Gruppe vom Server holt, welche Variante wäre "gängig"?

a) Das Gruppen-Objekt hat sowas wie eine "public List<User> getUsers()" Methode
b) Das Gruppen-Objekt selbst kann man nicht nach Usern fragen. Man muss über das API gehen. Etwa so: userMgt.getUsers(myGroup) --> liefert List<Users>

Bei a) sehe ich das Problem, dass man ohne EAGER LOADING nicht auskommt. Außer die Client-Server-Kommunikation ist so intelligent und managed das Nachladen über Rechnergrenzen hinweg automatisch im Hintergrund. Von daher würde ich mal auf b) tippen.

Kennt jemand ein Buch oder eine Webseite die sich nicht nur mit den Basics bzgl "wie lese und schreibe ich Entitäten" oder "Wie benutze ich RMI/Remoting/...", sondern eher "Wie schreibe ich ein sinnvolles API das mit Entities/verketten Pojos über Servergrenzen hinweg umgehen kann?"

Gruß
Alex
 
Zuletzt bearbeitet von einem Moderator:

faetzminator

Gesperrter Benutzer
a) Das Gruppen-Objekt hat sowas wie eine "public List<User> getUsers()" Methode
b) Das Gruppen-Objekt selbst kann man nicht nach Usern fragen. Man muss über das API gehen. Etwa so: userMgt.getUsers(myGroup) --> liefert List<Users>
Ob das nun so oder so entwickelt wurde, macht schlussendlich keinen Unterschied, da im einen Fall [c]myGroup.getUsers()[/c] bzw. im anderen Fall [c]userMgt.getUsers(this)[/c] aufgerufen werden könnte.
Da muss geprüft werden, ob die Daten bereits vorhanden sind oder noch geladen werden müssen.
 

mvitz

Top Contributor
Geht beides und ist meiner Meinung nach ein wenig Geschmackssache. Im Falle A sollte man dann in der Tat Eager/Lazy Loading betrachten und einsetzen, wenn es Sinn macht.
 
T

tuxedo

Gast
So hab ich mir das auch gedacht. Wundert mich nur ein wenig dass das Thema wenig bis gar nicht dokumentiert ist. Hätte schon erwartet dass ich in dem einen oder anderen Buch zum Thema Remoting oder JPA so eine Art "best practice" finde. Aber nix dergleichen. Hab hier noch ein API Design Buch rumliegen. Werde das (nochmal) zu rate ziehen. Vielleicht hab ich ja was übersehen...
 
T

tuxedo

Gast
Hmmpf, ich weiß dass mein Titel nicht der beste war, aber der der jetzt über diesem Thread steht passt auch nicht besser, da es hier weder explizit um Benutzer und Gruppen, noch um RMI geht. Das "Problem" ist eher allgemeiner Natur.

Aber gut, *back-to-topic":

(a) hab ich anfangs auch preferiert. Aber da ist noch das Problem mit dem Lazy-Loading. Auf Serverseite muss ich die Entitäten von der Persistenzschicht abkoppeln bevor ich sie zum Client schicke. Ich kann, am beispiel JPA und RMI, nicht einfach die Entität so wie sie ist zum Client übertragen. Der Client weiß ja in der Regel nix von der Persistenzschicht. Ergo muss ich die Entitäten abkoppeln. Und einmal abgekoppelt ist nix mehr mit LazyLoading.

Hab mich mittlerweile mit (b) angefreundet. Aber vielleicht finde ich ja noch c) ... mal schauen.

- Alex
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D OOP Design Pattern für GUI - Datenbank Anwendung Allgemeine Java-Themen 1
turmaline OOP Decorater Pattern für Varifikationsverhalten Allgemeine Java-Themen 13
C Pattern für Kommunikation gesucht Allgemeine Java-Themen 3
I Composite Pattern für Ausgabe von Ausdruck Allgemeine Java-Themen 3
C Matcher/Pattern ersetzten für JDK 1.3 Allgemeine Java-Themen 2
mihe7 equals und instanceOf pattern matching Allgemeine Java-Themen 9
L Pattern Eventhandler Allgemeine Java-Themen 5
EinNickname9 Best Practice Singleton und Singleton mit Instanz zu anderer Klasse -Pattern Allgemeine Java-Themen 30
Z MVC Pattern - sinnvolle Integration Allgemeine Java-Themen 6
J Meinung zum verwendeten Design Pattern Allgemeine Java-Themen 4
Kirby.exe Filename nach bestimmtem Pattern durchsuchen Allgemeine Java-Themen 5
Meeresgott Best Practice "Spezifisches" Factory Pattern ? Allgemeine Java-Themen 1
H Strategy Pattern - changeColor() Methode - input rgd oder hex einlesen Allgemeine Java-Themen 1
M Vaadin MVP Pattern Allgemeine Java-Themen 1
N Java MVC Pattern richtig anwenden Allgemeine Java-Themen 24
M OOP Design Pattern - "extends Observable implements Observer" Allgemeine Java-Themen 0
K Factory Pattern: Mit Generics umgehen Allgemeine Java-Themen 6
perlenfischer1984 Welches Design Pattern ist geegneit. Allgemeine Java-Themen 7
perlenfischer1984 Hilfe bei Design (Pattern) Allgemeine Java-Themen 5
J Compilerfehler bis in java.util.regex.Pattern... Allgemeine Java-Themen 2
B MVC-Pattern größeres Beispiel Allgemeine Java-Themen 16
GreenTeaYT Verstehe nicht ganz das Observer Pattern in einer Arrayliste? Allgemeine Java-Themen 3
L Erste Schritte Java Date Format Pattern bestimmten Allgemeine Java-Themen 2
D Pattern mit Pattern vergleichen Allgemeine Java-Themen 3
S Hilfe bei geeignetem Pattern (Decorierer) Allgemeine Java-Themen 2
F Welches Design Pattern? Allgemeine Java-Themen 3
J Pattern aus String entfernen Allgemeine Java-Themen 2
S Pattern.Match Suche: For Schleife einbinden und in Liste schreiben Allgemeine Java-Themen 3
D Variablen zur Laufzeit global speichern (Registry Pattern?) Allgemeine Java-Themen 6
Rudolf State Pattern als Enum? Allgemeine Java-Themen 10
M massenhaft verschiedene Date-Pattern Allgemeine Java-Themen 3
Guybrush Threepwood Pattern gesucht: Punkt ohne Leerzeichen dahinter Allgemeine Java-Themen 3
T HTML Tag Position mittels Pattern ermitteln Allgemeine Java-Themen 7
X Datentypen Prozentualer Abgleich zwischen 2 Strings (Pattern?) Allgemeine Java-Themen 3
H Pattern.compile Syntax Allgemeine Java-Themen 15
B RegEx: (Um-)formulieren eines Pattern zur Identifizierung komplexer URLs Allgemeine Java-Themen 7
D [Drag&Drop] Design-Pattern-Frage Allgemeine Java-Themen 4
E Super erzwingen, konzept/pattern gesucht. Allgemeine Java-Themen 8
H Problem mit der Klasse Pattern - Regulärer Ausdruck Allgemeine Java-Themen 2
Eldorado Meinung zu einem abgewandelten MVC-Pattern Allgemeine Java-Themen 2
R Matcher - Pattern mit belibigem Anfang Allgemeine Java-Themen 2
H Bestimmten String mit Pattern und Matcher herauslesen => kein erfolg Allgemeine Java-Themen 9
I Pattern zum Erweitern existierender Objekte Allgemeine Java-Themen 4
I Template Method pattern mit "geschützten Methoden" Allgemeine Java-Themen 5
T Pattern: Passive View Allgemeine Java-Themen 2
K Verständnisprobleme bei Observer-Pattern mit größerem Datenmodell Allgemeine Java-Themen 32
T Pattern: Greedy, Reluctant, Possessive Allgemeine Java-Themen 4
S Hilfe bei Pattern Allgemeine Java-Themen 5
N Registry Pattern Allgemeine Java-Themen 7
Tandibur Denkfehler bei Pattern.matches? Allgemeine Java-Themen 3
Tandibur pattern dynamisch vorkompilieren Allgemeine Java-Themen 9
A Observer Pattern: feuern bei neuer Referenz-Zuweisung? Allgemeine Java-Themen 8
N Pattern Allgemeine Java-Themen 11
Iron Monkey Pattern - Matcher - Problem Allgemeine Java-Themen 3
ruutaiokwu welches design pattern? frage an die oo-experten unter euch... Allgemeine Java-Themen 3
G Accordion Design Pattern Frage Allgemeine Java-Themen 2
hdi Hilfe beim Design (Stichwort OO, Pattern, ...) Allgemeine Java-Themen 11
U Verständnisschwierigkeiten Observer Pattern Allgemeine Java-Themen 18
H2SO3- String(pattern) von SimpleDateFormat auslesen Allgemeine Java-Themen 7
M Problem mit Pattern Allgemeine Java-Themen 3
N Welches design pattern? Allgemeine Java-Themen 8
B Pattern gesucht, Programm Optionen, Casten vermeiden Allgemeine Java-Themen 3
D Welches Pattern kann ich nutzen? Allgemeine Java-Themen 9
J Suche regex-Pattern fuer Liste von Zahlen zwischen 0-100 Allgemeine Java-Themen 6
G Sequenzdiagramm Dao Pattern Allgemeine Java-Themen 3
D Observer/Observable Pattern vs. Listener-Konzept Allgemeine Java-Themen 4
S regex-Pattern Ausdruck negieren Allgemeine Java-Themen 2
J Pattern eines Textes Allgemeine Java-Themen 4
M Java Garbage Collector Frage (Singleton Pattern) Allgemeine Java-Themen 13
Y Pattern Problem Allgemeine Java-Themen 2
G UML-Diagramme mit DAO Pattern Allgemeine Java-Themen 7
S Pattern regex Allgemeine Java-Themen 2
G Composite, Design Pattern, printTree Allgemeine Java-Themen 42
J Regex Pattern Problem Allgemeine Java-Themen 12
P MVC Pattern Allgemeine Java-Themen 31
G Frage zu MVC Pattern Allgemeine Java-Themen 6
J Pattern und Regex Allgemeine Java-Themen 2
L Wie Pattern anwenden um Cipher zu nutzen Allgemeine Java-Themen 2
S Singleton Pattern mit Generics Allgemeine Java-Themen 4
M MVC Design Pattern - Verständniss Fragen Allgemeine Java-Themen 3
F Typüberprüfung in Superklasse - geeignetes Pattern? Allgemeine Java-Themen 11
M Java Pattern hilfe Allgemeine Java-Themen 6
N Observer Pattern Allgemeine Java-Themen 2
G Problem mit MVC-Pattern (Controller als anonyme Unterklasse) Allgemeine Java-Themen 2
F Design Pattern zur Realisierung von Mehrfachvererbung? Allgemeine Java-Themen 8
M Pattern aus Properties Allgemeine Java-Themen 3
G mit Pattern strings filtern ein kleines problemchen ;) Allgemeine Java-Themen 2
M nach einem Pattern splitten Allgemeine Java-Themen 2
F Composite Pattern in Java? Allgemeine Java-Themen 1
G problem mit dem observer pattern Allgemeine Java-Themen 3
M Pattern: Summary of regex constructs: Backslash Allgemeine Java-Themen 2
G Scanner und Abbruchbedingung/Pattern Allgemeine Java-Themen 2
F suche im Classpath mit Pattern *.gif Allgemeine Java-Themen 16
G Frage zum Observer Pattern Allgemeine Java-Themen 4
D Design Pattern: Singleton Allgemeine Java-Themen 4
M Pattern, Matcher, Split Allgemeine Java-Themen 2
W Vergleichstool für xml-Dateien Tortoise-svn Verknüpfung Allgemeine Java-Themen 2
Zrebna Tipps für Organisation von Code-Reviews nach einem Pull Request. Allgemeine Java-Themen 5
Zrebna Bitte um Empfehlungen für "zeitlose" Bücher bzgl. Backend mit Spring und Beans Allgemeine Java-Themen 25
D Lesbare args für die main-Methode Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben