Announcement

Collapse
No announcement yet.

WCF-Service und Problem mit dem DataContract

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • WCF-Service und Problem mit dem DataContract

    Ich habe eine Projektmappe mit mehreren Projekten u. a. ein WCF-Service-Library-Projekt, eins für die Business-Logik, ein Data-Acess-Library-Projekt, ein Service-Access-Layer-Projekt, einen WCF-Service, u. ä.

    Habe in der WCF-Service-Library einen Service-Contract (XmlSerializerFormat) und Typen mit dem ["DataContract]"-Attribut erstellt. Soweit, sogut. Jetzt habe ich mir mit svcutil.exe eine Service-Client-Library erstellt, die u. a. mein Service-Access-Layer-Projekt, die Business-Logik und das Data-Access-Projekt nutzen.

    Wenn ich jetzt in in der WCF-Service-Library in der Implementierung meiner "[OperationContract]"-Methoden Typen verwende - die z. b. eine Business-Logik-Funktion zurückgibt (das sind die Typen aus der mit svcutil.exe erstellten Service-Client-Library) - um sie einem in der Service-Library deklarierten Message-Result-Typen zuzuweisen - dann sind das dann ja zwei verschiedene Typen... Habe mir momentan mit einer Konvertierung beholfen, aber das ist mit Sicherheit ja nicht der richtige Weg...

    Wie bekomme ich es hin, dass ich die im DataContract erstellten Typen aus meiner Service-Library überall verwenden kann??? Weiß jemand Rat?

  • #2
    Hallo,

    rein technisch gesehen unterstützt WCF zwei Implementierungsvarianten:
    1. Kontraktbasierendes Interface wird durch XML Schema definiert (SOA)
    2. Typisiertes Interface über vom Server und Client gemeinsam genutzte Assembly


    Nur beim 2. Weg tritt das genannte Problem nicht auf, allerdings widerspricht dies der SOA-Philosophie (aus diesem Grund ist die 2. Variante in der freien Wildbahn nur extrem selten anzutreffen). Nach der SOA-Philosophie verwenden die Kommunikationsteilnehmer keinen gemeinsamen Code, für alle Parametertypen und Interfaces müssen Proxy-Klassen generiert und nachgeführt (Versionierung) werden.

    Wenn der SOA-Ansatz in WCF verwendet werden soll, muss man mit den sich daraus ergebenden Einschränkungen leben. Nur dann ist der SOA-Weg für lose gekoppelte Integrationsaufgaben geeignet.

    P.S:

    Als große Überschrift könnte man beide Alternativen auch als »Enterprise Application Integration (EAI) vs. Service Oriented Architecture (SOA)« bezeichnen. Der Einsatz von WCF ist nicht automatisch nur deshalb sinnvoll, weil WCF die modernste (oder Heute am meisten beworbene) Technologie ist.
    Zuletzt editiert von Andreas Kosch; 16.05.2007, 11:29. Reason: P.S. hinzugefügt

    Comment

    Working...
    X