代码之家  ›  专栏  ›  技术社区  ›  G. Lombard

异构.NET WPF和J2EE三层体系结构的最佳实践

  •  2
  • G. Lombard  · 技术社区  · 16 年前

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

    如果我想实现一个由以下部分组成的系统,那么对于异构分布式三层应用程序来说,什么是最好的(*)体系结构?

    1. JBEE应用程序服务器上的JavaEE 5后端——公开EJB服务,例如SOAP、REST或JMS bean
    2. 休眠到SQL Server或Oracle数据库
    3. .NET 4.0 WPF桌面客户端
    4. .NET 4.0 Silverlight Web客户端
    5. JSP/pure HTML Web客户端

    * 我知道定义“最佳体系结构”可能是不可能的,但我只是好奇对体系结构方法、最佳实践、模式等的看法。

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

    如有任何意见/意见,我将不胜感激。

    一些问题:

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

    (对不起,如果这个问题不适合这个网站,我看到一个警告:“你问的问题看起来是主观的,很可能会被关闭”,但是我所寻找的是主观的意见,我确信在混合.NET/Java环境中工作的其他人会感兴趣。

    谢谢!

    1 回复  |  直到 15 年前
        1
  •  0
  •   Shiraz Bhaiji    15 年前

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

    我会做以下更改:

    • 在后端使用.NET减少技术数量
    • 删除WPF客户端并将Silverlight作为Windows客户端从浏览器中使用
    • 只使用对后端的异步调用来保持UI的响应性
    • 使用WCF Web套接字与后端对话
    • 使用HTML5作为您的Web UI,这也支持Web套接字,因此您有一种与后端通信的单一方式。

    Web套接字: http://tomasz.janczuk.org/