Architektur Frage (Client/Server)

xxxler

Grünschnabel
Hallo Zusammen,
ich habe vor eine kleine Swing Anwendung mit einem Java Server Backend zu entwickeln.
Ich will die Anwendung möglichst leichtgewichtig halten (Swing Client und Servlet Container) und die Kommunikation will ich wegen dem Fokus auf Bekannte als Endanwender, auf Port 80 beschränken um Firewall Probleme zu vermeiden.

Ich dachte an Hibernate als ORM Mapper im Hintergrund und WebServices für die Kommunikation.

Nun zur Frage: Hat jemand Tipps im Umgang von WebServices mit Hibernate (Transfer von Pojos) ?

Auch wenn viele WebServices nicht für geeignet halten ganze Objekte zu übertragen, sehe ich keine anderen Lösung. Auf RMI und Socketverbindungen will ich verzichten.

Beispiel Use Cases:
Liste mit Objekten vom Client anfordern und im Swing Client anzeigen.
Neues Objekt anlegen, an den Server senden und dort Speichern.

Danke erstmal und ich freue mich auf Vorschläge. ;)
 
Nun zur Frage: Hat jemand Tipps im Umgang von WebServices mit Hibernate (Transfer von Pojos) ?

Nun deine Swing Anwendung kommt ja gar nicht in Kontakt mit Hibernate. Was bleibt ist dein Webservice.
Da dies aber eine ganz normale Webapplication ist (betreffend Axis Webservice Servlet) gelten alle Regeln die du mit Hibernate in Webapplikationen zu beachten hast genauso da.

Bedenke halt das du jene Objecte wenn sie zurückkommen mit jenen mergest.

Eine Alternative die du überlegen könntest, anstatt Hibernate in Reinform mit dem neuen Persistenz Framework zu arbeiten (sprich: EJB3 Entities). Im Grunde steckt immer noch Hibernate dahinter (wenn du Hibernate als Entity Framework nimmst) aber du kannst das ganze EJB Konform machen ohne das du einen EJB Container benötigst.
 
Danke für den Tipp, doch es geht mir eher um die Kommunikation. Ich werde vorraussichtlich XFire als WebService Stack einsetzen, bin aber noch nicht sicher.

Lazyloading wird (natürlich) nicht möglich sein, aber vielleicht kennt einer von euch andere Hindernisse und Tücke, auf die ich treffen könnte beim Einsatz von Hibernate mit WebServices.

Gruß
MB

P.S: Gibts ne Möglichkeit den Namen ändern zu lassen? :-)
 
Zuletzt bearbeitet:
Hallo!

Du koenntest auch das Springframework in deiner Anwendung einsetzen. Dies bietet mit
dem HttpRemoting eine einfache und leichtgewichtige Moeglichkeit ueber HTTP auf andere Dienste
zugreifen zu koennen.
http://static.springframework.org/spring/docs/2.0.x/reference/remoting.html#d0e19665

Spring und XFire Vertragen sich aber auch gut :)
http://static.springframework.org/spring/docs/2.0.x/reference/remoting.html#d0e19836
http://www.memestorm.com/blog/basic-spring-web-services-with-xfire-and-jsr-181/

P.S: Gibts ne Möglichkeit den Namen ändern zu lassen?
Ja schick ne PN an einen der Admins

Gruss Tom
 
Zurück