让我们假设我有一个大的中间件基础设施调解(客户应用,网络支付等)几个业务组件之间的请求。中间件栈负责编排,路由,转换和其他的东西(类似于由格雷戈尔Hohpe企业集成模式书)。

我的问题是:这是很好的设计,把一些业务逻辑在中间件

比方说,我的应用程序从一个中间件要求一些客户数据。但是,为了得到这个数据,我必须提供的客户ID 的和一些的其他参数的。这个参数的取出应该由请求应用程序来完成或者是中间件负责“促进”和提供接收的接口的客户ID 和内部取入其他参数

我知道这不是一个简单的问题(因为业务逻辑的定义的),但我想知道如果它是一个一般的方法或一些指导原则。

有帮助吗?

解决方案

这是在“复合应用程序”图案;面向服务架构的心脏。这就是在ESB厂商销售:一种方法,把的其他的业务逻辑的地方,从现有的应用程序创建一个复合应用程序

这不是简单,因为您的复合应用程序不只是路由。它的合适的新的复合交易上的路由的顶部分层。

提示。看看才去太多进一步获得良好的ESB。这迅速失控,并有一些额外的支持是有帮助的。即使你不买东西喜欢Sun的 JCAPS 或的打开ESB ,你会很高兴你学到它做什么,以及他们如何组织复杂的复合应用程序。

其他提示

除了路由,转换和配器,性能应而加载与功能要求中间件牢记。 Middlware应采取的整个端至端交易续航时间的一小部分。这只能通过集中于中间件核心功能,而不是试图以补充所述主机系统功能来实现。

配器,路由和转换。

您不会因技术原因做这些,随意,或只是为了好玩,你做这些,因为你有一些业务需求 - ERGO有涉及商业逻辑

你缺少一个完整的业务系统的唯一的事就是计算和报告(让我们假设你已经有了安全的地方!)。

除了非常低级别的网络,操作系统和存储问题几乎包括计算机系统,一切都在那里,因为企业/政府/最终用户希望它在那里。

“业务逻辑”作为terminoligy的选择是非常差的,并导致设计和架构的无休止的扭曲。

什么最优秀的设计师/建筑师意味着由业务逻辑是计算和分析。

如果你 “%s /业务逻辑/计算/ G” 大部分建筑法令的更有意义。

在中间件应用应该这样做。制度应该不知道,其他参数存在,肯定不会有任何关于如何得到它的主意。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top