Question

Je suis la plupart du temps un ASP.NET développeur, donc je ne suis pas très familiarisés avec J2EE ou PAM meilleures pratiques, modèles, etc, mais j'ai l'impression que le projet que je suis impliqué dans aurait pu être mieux fait, mais je n'arrive pas à mettre mon doigt exactement sur ce qui ne va pas avec l'architecture.

Quelle est la meilleure(*) l'architecture d'une hétérogènes distribués 3-application de la couche, plus précisément, si je voulais en œuvre un système composé de:

  1. Java EE 5 back-end sur le serveur d'applications JBoss - expose des services EJB par exemplecomme SOAP, REST ou JMS haricots
  2. Hibernate, SQL Server ou Oracle bases de données
  3. .NET WPF 4.0 client de bureau
  4. .NET 4.0 Silverlight web client
  5. JSP / pure-HTML web client

* Je sais que c'est probablement impossible de définir la "meilleure architecture", mais je suis juste curieux de connaître les opinions sur des approches architecturales, les meilleures pratiques, les modèles, etc.

L'un des problèmes évidents que je vois dans notre conception/architecture est que le Service Web SOAP communication entre les .NET clients et la Java back-end est très lent, probablement en raison de problèmes de latence.L'ensemble de l'expérience d'INTERFACE utilisateur est très lent.Et c'est avec un seul utilisateur dans la production, nous attendons de +/- 100 utilisateurs simultanés.

Je te remercie de tout commentaires/opinions.

Quelques questions:

  • Quelles sont les technologies qui recommanderiez-vous à l'adresse de l'un des composants mentionnés ci-dessus, par exemplequel type de services (SOAP, REST, messagerie?)
  • Comment réduire le temps de latence dans la communication entre les .NET clients et la Java back-end?
  • Quels modèles/approches à regarder, par exempleen termes de WPF code client (le pattern MVVM?), la communication avec java back-end (WCF?)
  • Comment avez-vous sécurisé (authentification, autorisation) tels J2EE services lors de l'utilisation de WCF client?
  • Quelles sont les questions architecturales à regarder dehors pour et la façon de les aborder, par exempleen termes de sécurité, d'évolutivité, de performances, etc?

(Je m'excuse si cette question est inappropriée pour ce site, je vois un avertissement "La question posée semble subjective et est susceptible d'être fermée", cependant, ce que je suis à la recherche sont des avis subjectifs et je suis sûr que d'autres qui travaillent dans un mixte .NET/Java environnement seraient intéressés.)

Merci!

Était-ce utile?

La solution

L'architecture de ce projet était trop compliqué.

J'aurais fait les modifications suivantes:

  • utiliser .Net sur le backend de réduire le nombre de technologies
  • baisse de la WPF client et de l'utilisation de Silverlight de navigateur comme client windows
  • utilisez uniquement les appels asynchrones pour le backend pour conserver l'INTERFACE utilisateur réactive
  • utiliser wcf web sockets de parler à l'arrière-plan
  • utiliser le html5 comme votre INTERFACE utilisateur web, cela prend également en charge les web sockets de sorte que vous avez une façon unique de parler à votre backend

les web sockets: http://tomasz.janczuk.org/

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top