Frage

Ich bin größtenteils ein ASP.NET-Entwickler, also vertrat ich nicht sehr mit J2ee oder WFP Best Practices, Mustern usw., aber ich habe das Gefühl, dass das Projekt, an dem ich beteiligt bin, besser gemacht worden sein könnte, aber ich Ich kann meinen Finger nicht genau darauf einsetzen, was mit der Architektur nicht stimmt.

Was ist die beste (*) Architektur für eine heterogene verteilte 3-Tier-Anwendung, insbesondere, wenn ich ein System umsetzen wollte, das aus:

    .
  1. java ee 5 Back-End auf dem JBOSS-Anwendungsserver - legt EJB-Dienste aus, z. als Seife, Rest oder JMS-Bohnen
  2. Hibernate zu SQL Server oder Oracle-Datenbanken
  3. .NET 4.0 WPF Desktop-Client
  4. .NET 4.0 Silverlight-Web-Client
  5. JSP / Pure-HTML-Web-Client
  6. * Ich weiß, dass es wahrscheinlich unmöglich ist, die "beste Architektur" zu definieren, aber ich bin nur neugierig auf die Meinungen zu architektonischen Ansätzen, bewährten Praktiken, Mustern usw.

    Eine der offensichtlichen Probleme, die ich in unserem Design / Architektur sehe, ist, dass die SOAP-Webservice-Kommunikation zwischen .NET-Kunden und dem Backende Java sehr langsam ist, wahrscheinlich aufgrund von Latenzproblemen. Das gesamte UI-Erlebnis ist sehr träge. Und das ist mit einem einzelnen Benutzer - in der Produktion, erwarten wir +/- 100 gleichzeitige Benutzer.

    Ich würde mich über Anmerkungen / Meinungen freuen.

    Einige Fragen:

    • Welche Technologien würden Sie empfehlen, eine der oben genannten Komponenten, z. Welche Art von Dienstleistungen (Seife, Rest, Messaging?)
    • Wie man die Latenzzeit der Kommunikation zwischen .NET-Clients und Java Backends reduziert?
    • Welche Muster / Ansätze zu sehen, z. In Bezug auf den WPF-Clientcode (MVVM-Muster?), Kommunikation mit Java Back-End (WCF?)
    • Wie sichern Sie (Authentifizierung, Autorisierung) solche J2EE-Dienste, wenn Sie einen WCF-Client verwenden?
    • Was sind die architektonischen Themen, auf die Sie nachdenken können und wie Sie sie ansprechen können, z. In Bezug auf Sicherheit, Skalierbarkeit, Leistung usw.?

    (ich entschuldige mich, wenn diese Frage für diese Seite unangemessen ist, ich sehe eine Warnung "Die Frage, die Sie fragen, erscheint subjektiv und ist wahrscheinlich geschlossen", aber das, was ich suche, sind subjektive Meinungen und ich bin Stellen Sie sicher, dass andere, die in einer gemischten .NET / Java-Umgebung arbeiten, interessiert sein.)

    danke!

War es hilfreich?

Lösung

Die Architektur für dieses Projekt war zu kompliziert.

Ich hätte folgende Änderungen vorgenommen:

    .
  • Verwenden Sie .NET auf dem Backend, um die Anzahl der Technologien zu reduzieren
  • Drehen Sie den WPF-Client und verwenden Sie Silverlight Out of Browser als Windows-Client
  • Verwenden Sie nur Async-Anrufe an das Backend, um die Benutzeroberfläche zu halten
  • Verwenden Sie WCF-Web-Sockel, um mit dem Backend
  • zu sprechen
  • Verwenden Sie HTML5 als Web-Benutzeroberfläche, dies unterstützt auch Web-Sockel, sodass Sie eine einzige Möglichkeit haben, mit Ihrem Backend
  • zu sprechen

Web-Sockel: http://tomasz.janczuk.org/

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top