异构.NET WPF的最佳实践& J2EE 3层架构

时间:2010-07-13 13:30:29

标签: wpf architecture java-ee

我主要是一名ASP.NET开发人员,所以我对J2EE或WFP最佳实践,模式等都不是很熟悉,但我觉得我参与的项目可以做得更好,但我我不能完全理解这个架构的错误。

异构分布式3层应用程序的最佳(*)架构是什么,具体来说,如果我想实现一个由以下内容组成的系统:

  1. JBoss应用程序服务器上的Java EE 5后端 - 公开EJB服务,例如:作为SOAP,REST或JMS bean
  2. Hibernate到SQL Server或Oracle数据库
  3. .NET 4.0 WPF桌面客户端
  4. .NET 4.0 Silverlight Web客户端
  5. JSP / pure-HTML web客户端
  6. *我知道定义“最佳架构”可能是不可能的,但我只是对架构方法,最佳实践,模式等方面的意见感到好奇。

    我在设计/体系结构中看到的一个明显问题是,.NET客户端和Java后端之间的SOAP Web服务通信速度非常慢,可能是由于延迟问题。整个UI体验非常缓慢。这就是单个用户 - 在生产中我们期望+/- 100个并发用户。

    我很感激任何评论/意见。

    有些问题:

    • 您建议使用哪些技术来解决上述任何组件,例如:什么类型的服务(SOAP,REST,消息?)
    • 如何减少.NET客户端与Java后端之间的通信延迟?
    • 要查看哪些模式/方法,例如在WPF客户端代码(MVVM模式?)方面,与java后端的通信(WCF?)
    • 在使用WCF客户端时,如何保护(认证,授权)此类J2EE服务?
    • 需要注意哪些架构问题以及如何解决这些问题,例如:在安全性,可扩展性,性能等方面?

    (我很抱歉,如果这个问题不适合这个网站,我会看到一个警告“你提出的问题似乎是主观的,可能会被关闭”,但我正在寻找的是主观意见,我是确定在混合.NET / Java环境中工作的其他人会感兴趣。)

    谢谢!

1 个答案:

答案 0 :(得分:0)

这个项目的架构太复杂了。

我会做出以下更改:

  • 在后端使用.Net以减少技术数量
  • 删除WPF客户端并将Silverlight从浏览器中用作Windows客户端
  • 仅使用对后端的异步调用来保持UI响应
  • 使用wcf网络套接字与后端通信
  • 使用html5作为您的网络用户界面,这也支持网络套接字,因此您只需一种方式与后端通信

网络套接字:http://tomasz.janczuk.org/