问题标签 [eai]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1806 浏览

integration - 您如何使用功能点估算 EAI 项目?

您如何使用功能点估算EAI项目?

0 投票
5 回答
6792 浏览

synchronization - 在解耦系统之间同步数据的最佳方式是什么?

我假设有 2 个(但将来会变得更多)完全解耦的系统:系统 A 和系统 B。

假设每个系统上的每条信息都有一个informationID。没有什么可以阻止 informationID 在不同系统上相同。在所有系统中唯一标识一条信息的是 Source-informationID 对。

假设我需要将一条信息从系统 A 导出到系统 B。然后我想从系统 B 导出相同的信息并将其重新导入系统 A,我需要能够识别出相同的信息的信息。

根据人们的经验,这样做的最佳方式是什么?

这就是我想做的事情:

  1. 在具有消息队列的系统之间设置消息总线。
  2. 为每个系统设置端点,这些端点将监视更改并生成包含在消息中的命令,这些消息将被泵入队列(例如,当一条信息被创建/删除/更新时)。
  3. 将等级分配给与创建/删除/更新命令相关的端点,以便不依赖系统名称,而仅依赖一般层次结构 - 这样每个系统都不需要了解其他系统。
  4. 为每个端点分配更新/删除/创建命令的阈值,以便将不满足阈值要求的命令过滤掉并且不进行处理

这并不能解决我仍然需要携带 originalSource+originalSourceID 的事实。

任何帮助表示赞赏。

0 投票
1 回答
150 浏览

.net - .Net 数据库消息代理

我正在寻找一种简单可靠的机制来从数据库级别执行应用程序消息代理。我基本上需要在两个不同的应用程序中进行更改以相互生成消息,以指示它们的公共对象之间发生了更改。困难在于两个系统都有自己独特的数据库模式来定义这些公共对象。

是否值得追求 BizTalk 解决方案来创建消息代理服务,或者是否有更简单的方法可以使用标准 .Net 方法或商业组件来实现相同的目标?

谢谢,

布赖恩。

0 投票
4 回答
4417 浏览

soa - 是否需要中间件应用程序来执行业务逻辑?

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

我的问题是:把一些业务逻辑放在中间件上是不是很好的设计?

假设我的应用 A 从中间件请求一些客户数据。但为了获取这些数据,我必须提供客户 ID其他一些参数。这个参数的获取应该由请求的应用程序完成,还是中间件负责“促进”并提供一个接收客户 ID并在内部获取其他参数的接口?

我意识到这不是一个简单的问题(因为业务逻辑的定义),但我想知道这是一种通用方法还是一些指导方针。

0 投票
2 回答
328 浏览

architecture - EAI/中间件:大量消息内联或引用

是否有通过中间件或 EAI 系统处理处理大量数据(MBytes?GBytes?)的消息或请求/响应的良好做法,假设中间件传输但不处理巨大的数据块?

  • 使用消息传输数据以保持一致性,但可能会在系统之间多次复制大量数据

  • 将数据保存在存储或数据存储库(文件系统、数据库等)中并传输对数据的引用,但会丢失消息和数据之间的紧密耦合

这个问题的常见解决方案是什么?EAI 或中间件产品如何支持这一点?

0 投票
3 回答
4291 浏览

c# - 如何在 2 个独立的 C# 程序之间进行事件驱动编程?

如何从单独的 C# 程序中触发事件?

我正在开发的 C# 程序有两个独立的组件:任务创建器 (TC) 和任务处理器 (TP)。TC 附加到一个不断向数据库表中插入新任务的 Web 服务。另一方面,TP 从同一个表中读取并处理每个任务,然后将状态更新回同一个表。它几乎就像一个队列,但使用数据库而不是 MSMQ 来完成。每 5 秒 TP 唤醒并从表中读取以检查未处理的任务,但这会对性能产生一些影响。当没有新任务时,启动 select from where SQL 语句有点浪费。理想的方法是有某种通知方法,当插入新任务时,TP 会收到通知,然后从梦中醒来以检查新任务。

当前解决方案:

当前解决方案图 http://yuml.me/3b49bcfd

理想的解决方案:

理想解决方案图http://yuml.me/5cf843a5

0 投票
1 回答
287 浏览

wcf - 是否一起使用 WF 和 WCF 来构建消息传递系统?

我希望构建一个消息传递基础架构,以促进我们组织中不同系统之间的通信。有很多方法可以解决这个问题。我研究过 nServiceBus 和 MassTransit。

WF/WCF 如何适应这一点——如果有的话?如果有,是否有专门针对此类解决方案的优秀文章、文档或书籍?

0 投票
3 回答
419 浏览

database - 我应该使用消息传递而不是数据库吗

我正在设计一个系统,允许用户从一个系统获取数据并发送到其他系统。其中一个目标系统具有复杂的 SOA(Web 服务),另一个是接受平面文件作为输入的大型机。

我创建了一个具有 PublishEvent 表和 PublishEventType 表的数据库。还有一些特定于要发布的事件类型的规范化表。

我还有一个“接口”表,它是标准化数据表的扁平化版本。最终用户有一个将数据放入接口表的过程。我不确定确切的过程 - 我认为这是某种报告应用程序,他们可以将结果导出到 SQL 表。然后,我使用 SSIS 包将数据从接口表中取出,并将其放入规范化的数据结构中,并在 PublishEvent 表中创建新行。我使用平面表是因为当我第一次向他们展示关系表时,他们似乎很困惑。

我有一个 Windows 服务来监视 PublishEvent 表中的新行。Windows 服务通过插件进行扩展(使用 MEF 框架)。调用哪个插件取决于 PublishEvent 行中 PublishEventTypeID 字段的值。

PublishEventTypeID 1 调用从一组表中读取数据并调用 SOA Web 服务的插件。PublishEventTypeID 2 调用从一组不同的表中读取数据并创建要发送到大型机的平面文件的插件。

这似乎我正在实施“数据库作为 IPC”反模式。我应该更改我的设计以使用基于消息传递的系统吗?将数据放入平面表然后放入规范化表的过程是否多余?

编辑:这是在 .NET 3.5 中开发的

0 投票
3 回答
992 浏览

apache - 我是否需要一个单独的服务器来实现 ESB(例如 Apache Camel、Mule)?

我是否需要一个单独的服务器来实现 ESB(例如 Apache Camel、Mule)?

0 投票
8 回答
4830 浏览

open-source - 开源 SOA 堆栈

我将评估开源 SOA 解决方案。有什么选择?
我正在寻找提供(可能)完整的 SOA 堆栈的东西。

我想要以下功能 -

  1. BPEL
  2. 血压计
  3. ESB
  4. SOA 治理
  5. 良好的工具

现在 Glassfish ESB 看起来是一个不错的选择。还有其他好的栈吗?