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

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...