Zum Inhalt springen

Webservice mit eigenem Interface


Empfohlene Beiträge

Geschrieben (bearbeitet)

Hallo Zusammen

Ich möchte einen Webservice erstellen, welcher von einem eigenen Interface (BusinessLogic Interface ableitet). Also bspw:

public class MyService: System.Web.Services.WebService, IManageMyService

Die Idee ist, dass der Webservice an ein BL Modul die Calls nur delegiert, wobei das BL Modul dann die eigentliche Methoden implementiert; dabei sollten beide das gleiche Interface implementieren.

Die BusinessLogik greift dann über einen AccessLayer auf die DB zu und bereitet die Daten auf. Für das OR Mapping wollte ich NHibernate einsetzen. Der Webservice sollte dann die POJO's zurückliefern.

Der Client ist eine Windows-Form Anwendung, welcher dann die Webservices aufruft.

Ist dies architektonisch ein guter Ansatz?

Danke und Grüsse

Pascal

Bearbeitet von stonezz
Geschrieben

Klingt gut. Es ist immer besser nach dem "Contract" First Design die Schnittstelle in ein Interface zu verlagern. Dann sollte dein Client aber auch eine eigene Schicht haben in der die Webservice-Calls ausgeführt werden um das wirklich austauschbar zu machen.

Geschrieben

Hallo Argbeil

Danke für die Antwort.

Ja, dies ist eine gute Idee - ich werde eine eigene Schicht (Proxy) haben, welche die Webservice Calls ausführt.

Ich habe nun einen ersten Wurf der Architektur gemacht, dabei ist mir folgendes aufgefallen. Der Proxy (die Klasse, welche den Webservice aufruft) liefert mir nicht die gleichen Typen (Objekte) zurück, sondern generiert eigene mit den gleichen Attributen. Ich möchte aber meine eigenen Objekte auf der Clientseite weiterverwenden und nicht die generierten.

Also bspw.

Service mit return value:

ch.hbs.kmu.architecture.vo.impl.DefaultKontaktVo

liefert mir:

ch.hbs.kmu.client.ServiceKontakt.DefaultKontaktVo

Gibt es da eine Möglichkeit, das Generat so einzustellen, dass meine definierten Objekte genommen werden? Dachte zuerst, es wäre die Option "Reuse types in all referenced assenblies" bei der Konfiguration des Webservices. Bringt aber auch nichts, wenn ich dies markiere.

Danke & Gruss

Pascal

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...