2009-07-25 17 views
0

Derzeit verfügen wir über eine Silverlight 2.0-Anwendung, die mit einer Reihe von WCF-Webdiensten kommuniziert. Diese Dienste kommunizieren mit anderen WCF-Diensten für Geschäftslogik.Ria-Dienste ersetzen WCF-Dienste

Client    DMZ      Intranet 
Silverlight -> WCF Web Service Gateway -> WCF Biz service -> DB 

Das WCF-Webservice-Gateway befindet sich in der DMZ.

Wir sehen, dass Ria-Dienste unser WCF-Webservice-Gateway ersetzen können, aber das bedeutet, dass es in unserer DMZ installiert wird und Zugang zu unserer Datenbank hat ... Ist das sicher?

Wir scheinen auch unsere Geschäftslogik WCF-Dienste zu verlieren ... Ich würde die Geschäftslogik in Ria-Dienste setzen müssen (wie es Verbindung zur Datenbank hat und die Domäne hält ...).

Was ist das empfohlene Muster für Ria-Dienste? Wo passt es? Welchen Ansatz verfolgen Unternehmen, die bereits in WCF-Webdienste investiert haben? Können sie RIA verwenden?

Wir bei dieser Alternative suchen, würden wir beide Web-Services und Ria ... belichten

Silverlight -> WCF web service - > WCF biz service -> DB 
      -> Ria services -> DB 

Fragen oder Anregungen? Ich frage mich auch, ob jemand tatsächlich Ria in der Produktion verwendet ....

Antwort

0

Ihre Vorschlag Architektur mit der Silverlight App ruft sowohl WCF Services und RIA-Dienste klingt fair für mich.

Angenommen, Ihre Datenbank verfügt über eine Mitarbeitereinheit.

Ich kann diesen Ansatz aufstehen und laufen, haben aber einige Probleme

  • Es sei „der WCF biz Dienst“ zugreift und ändert Mitarbeiter.
    • erhält es diese Daten direkt aus der Datenbank? (wenn ja, ist das EntityFramework edmx-Modell zwischen "der WCF-Business-Service" und ria?)
    • nutzt es wiederum die RIA-Schicht, und damit die EmployeeRiaProxy?
    • ..?

  • Angenommen, Sie den Employee-Entity auf "WCF biz Service" -Betrieb Vertrag
    • dies nicht möglich sein sollte, in einer reinen SOA-Architektur verwenden?
    • Verwenden Sie einen reinen DTO-Data-Contract-Style-Ansatz mit einem EmployeeDto?
    • Sollten Sie den Mitarbeiter oder den EmployeeRiaProxy verwenden?
      • der Mitarbeiter ist nicht möglich, da die Silverlight-Anwendung nicht weiß es (oder würde eine andere EmployeeWCFProxy Art verursachen auf dem Client erstellt wird)
      • Mit der EmployeeRiaProxy möglich ist, sondern bindet Ihren Betrieb Vertrag an einen Ria Proxy (ziemlich schlechtes Design) und nimmt den Dienst nutzt RIA für den Datenzugriff

Oder sollte alles dieses RIA passieren Schicht? von dem du dann "WCF biz service" nennst?



Alle Meinungen sind willkommen!

Koen