WCF / WCF-Datenservices / WCF RIA-Services

8

Ich möchte keine weiteren SO-Posts zu den verschiedenen WCF-Stacks hinzufügen, aber ich möchte sicherstellen, dass ich in die richtige Richtung gehe, bevor ich mehr Entwicklungszeit verschwende ...

Mein Szenario - Unser Unternehmen verfügt über eine Reihe von Web-Apps, die alle auf die gleiche Reihe von Datenbanken zugreifen. Alle Apps wurden grundsätzlich unabhängig voneinander entwickelt, so dass es eine Menge Geschäftslogik und Datenzugriffswiederholung gibt. Darüber hinaus habe ich das (möglicherweise unangemessene) Ziel, dieses Projekt mandantenunabhängig zu machen - unsere aktuelle Geschäftslogik und den Datenzugriff zu einer Schnittstelle zu konsolidieren, auf die eine Web-App, Silverlight, eine mobile App usw. zugreifen können / p>

Geben Sie WCF ein - es erscheint mir als die perfekte Option, beides zu erreichen. Leider, nachdem ich alle existierenden "Anleitungen" gelesen habe, die über die verschiedenen WCF-Geschmacksrichtungen existieren, komme ich immer verwirrter zurück als alles andere. Hier sind die Schlussfolgerungen, zu denen ich bisher gekommen bin - bitte zögern Sie nicht, mich zu korrigieren:

  • Straight WCF - flexibelste und umfassendste Option, aber alles beginnt bei Null; würde vor dem Konfigurieren und Testen viel Zeit in Anspruch nehmen; technisch ausgereifteste Option mit Haken, um die meisten Ziele zu erreichen
  • WCF Data Services - Schnellste Möglichkeit, einen REST-Service online zu erhalten; ausgezeichnet, wenn die Anwendung nur Daten direkt aus der DB verfügbar machen muss; Wenn Geschäftslogik benötigt wird, muss sie entweder auf der Clientseite oder durch einen zweiten Dienst geschrieben werden, der die Logik verfügbar macht.
  • WCF RIA Services - Schnellste Möglichkeit, einen Service zu konfigurieren, der bereit ist, die Geschäftslogik verfügbar zu machen; Möglicherweise die technisch unausgereifte der Optionen (aber mit etwas, das wie eine erhebliche Investition aussieht, um es mitzubringen); Soap-, REST- und JSON-Endpunkte würden die meisten Clientunabhängigkeiten ermöglichen.

Aufgrund meiner obigen Anforderungen bin ich zu den folgenden Schlussfolgerungen gelangt: Data Services ist aufgrund von Geschäftslogikanforderungen wahrscheinlich kein Ansporn (und die Idee des zweiten WCF-Dienstes, der den Datendienst in Anspruch nimmt, erscheint mir als eine extrem schlechte Architektur Wahl); Geschwindigkeit ist wichtig, was darauf hindeutet, dass RIA Services der beste Startort sein könnte (nennen Sie mich faul, aber ein kleines Team mit einem engen Zeitrahmen macht die Code-Generierung wertvoll).

Gibt es einen besseren Weg, die von mir beschriebenen Ziele zu bewältigen? Missverstehe ich irgendwelche / alle WCF-Optionen? Welche andere praktische Anleitung kann angeboten werden, um zu entscheiden, welcher WCF-Ansatz gewählt wird (nicht nur für mich, sondern für jeden, der versucht, die Technologien zu bewerten)?

    
Steve 07.10.2010, 20:51
quelle

1 Antwort

2

Ich würde mit geradem WCF gehen.

Damit können Sie Ihre Dienste je nach Bedarf über verschiedene Endpunkte verfügbar machen:

  • SOAP für plattformübergreifende Interoperabilität
  • Binary NetTcp für interne Clients, die Geschwindigkeit benötigen
  • JSON für leichten Zugriff
Shiraz Bhaiji 06.04.2011 10:40
quelle