2012-07-10 46 views
0

我想设计一个核心和多个模块的核心应用程序。核心有责任接收来自网络的消息,解析传入的消息并将消息分发给已注册的模块。多模块应用程序体系结构

消息有多种类型,有些模块可能有兴趣只接收一些类型。这些模块可以并行执行,也可以按顺序执行(例如,当模块与定义良好的执行顺序相互依赖时)。

另外,如果即使内核启动,模块也可以部署/取消部署,那将会很不错。

这对我来说是全新的,我用来编写模块化应用程序,但是用多个部件静态连线。

对于这样的设计,我应该选择哪个方向(即框架,模式...)?我不知道它是否与我的问题有关,但我确切地说我会使用Java。

感谢

回答

0
  • 您有在architecture level一个很不错的办法。但是,只有当您的应用程序layers/tire将处于不同的实例时才会有所帮助,以便关闭一个module/server,而其他零件仍将继续运行。要点是你会在不同的实例上运行模块吗?

  • 其次,我想建议你建立使用Web-Service要么REST/SOAP应用核心架构,因为它会自动实现你以为如下Service Oriented Architecture (SOA)。这将是producer - consumer关系,您可以在单独的实例上运行。在部署/取消部署时,您仍然可以运行服务部分以支持其他客户端实例。

  • 使用Web服务还将为您提供一个全球信息交换系统,可能与多个应用程序视图/前端进行通信。

+0

我不认为我可以在我的情况下使用Web服务,因为传入的消息将像SIP,DNS ...此外,核心应该提供高性能。我想过使用Netty。你是什​​么意思分开的实例? – 2012-07-10 11:44:16