问题标签 [soa]

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 投票
3 回答
1740 浏览

java - 从表示层进行服务层调用

我必须选择一种技术来连接我的应用程序/表示层(基于 Java)和服务层(基于 Java)。基本上是从业务委托对象中查找合适的 Spring Service。

那里有很多选择,这让我感到困惑。以下是我缩小范围但不确定的选项..

  • 弹簧 RMI

  • 阿帕奇骆驼

  • Apache ServiceMix (ESB)

  • 爱奥那保险丝 (ESB)

这是我想知道的

  1. 如果您从事过(或评估过)其中任何一项工作,您认为哪种选择更合适?(告诉我原因也无妨:)
  2. 还有其他我应该关注的技术吗?
  3. 到目前为止,我还没有看到应用程序和服务层正在分发,但我不想在将来排除这种可能性。设计以提供这种灵活性是一个好主意吗?

任何帮助都会很有用。谢谢!

0 投票
1 回答
2151 浏览

wcf - 如何:响应式可用 Wcf 双工通信

我正在开发一个使用 WCF 在服务器和客户端之间进行通信的应用程序服务器具有不断变化的服务数量,以及一个主服务,客户端可以查询有关其他服务的信息,然后使用来自主服务的信息订阅他们想要的服务.

主服务向订阅的客户端发送通知,当子服务更改(添加、删除等)时,子服务也每隔几秒发送一次通知。

这听起来像是使用 WCF 回调通道的绝佳机会,但是,它们需要您使用会话。此外,在向客户端发送通知时,当任何客户端不光彩地断开连接时,服务会挂起,试图通知它。即使超时,一段时间后,在此期间没有其他客户端得到通知,这是不可接受的,因为客户端实际上是用于监控子服务后面的应用程序的 GUI。也不能为此使用 MSMQ,因为服务需要立即知道发送操作何时不成功。

我想出的解决方案是使用 http 绑定(发送不成功时立即知道)并在客户端上创建显式回调服务,但这需要我编写很多难看的基础设施代码。

所以,我的问题是:有没有更好的方法来使用 WCF 做到这一点。最好看的选择是回调合同,因为这使我无需手动管理回调服务,只要它在尝试发送到下一个客户端之前不能等待来自一个客户端的确认。

0 投票
6 回答
6859 浏览

architecture - 我们应该引入 BizTalk/ESB 吗?

我的公司即将实施一个新架构,我们在其中提出了 BizTalk(我们是一家微软商店)作为 SOA(请不要引用面向服务的歧义)环境中的企业服务总线 (ESB)。

我们的业务是通过我们的新订单捕获 GUI 接收订单,该 GUI 必须连接到我们的客户数据库、产品目录、订购系统和其他一些辅助系统,每个系统都将作为 WCF 服务公开,然后将订单传递给我们的订单管理和其他用于履行的下游系统,最后到我们的计费系统进行开发票。目前,每个系统都有自己的 GUI,并使用手动过程在它们之间传递信息,为了实现自动化和集成,自然的想法是引入 ESB 来连接它们。

我对 ESB 的一些基本原理是,总线会担心如何连接系统(每个系统都是不可知的,并且对任何其他系统一无所知)以及如何格式化/翻译信息。将来,很有可能将某些现有系统替换为我们公司家族中的新系统或系统。

这对我来说似乎很有意义,但我现在遇到了一些阻力,即为什么在点对点解决方案足够时引入它。

不幸的是,在公司历史上(在我任命之前),引入 BizTalk 的初步尝试失败了,但我相信它有一席之地并且我可以交付它。

我的问题可能不是关于 BizTalk,而是 ESB 在我所描述的场景中是否是一个好主意,什么时候引入 ESB 才有意义?

0 投票
2 回答
6594 浏览

model-view-controller - MVC(或 MVP)可以与 SOA 共存吗?

我认为在使用 MVC 或 MVP 设计模式时,业务逻辑应该存在于模型中,但在面向服务的架构中应该隐藏在服务后面。

软件系统可以在面向服务的架构中使用 MVC 或 MVP 设计模式吗?如果是这样,模型坐在哪里?

0 投票
7 回答
8453 浏览

soa - 编排是 ESB 的责任吗?

企业服务总线(一种充当中介、消息代理、服务启用者、模式转换增强器、透明位置提供者、服务聚合器、负载平衡器、监视器和所有这些东西的工具)是否负责协调服务

在您的企业服务总线中放置一个包含上千个步骤和数十个服务调用的自动化业务流程怎么样?

您会这​​样做,还是会使用编排专家,例如 BPEL 引擎?

请给点意见。

0 投票
2 回答
1486 浏览

c# - 初学者 WCF 问题 - 可消耗的异步服务

这是一个更多的“可以完成”而不是“如何完成”的问题。我正在考虑构建一个服务(中间层,.net,提供数据抽象和一些业务逻辑),供不同平台上的多个内部客户端系统使用。例如,一个客户端可能是一个网站,另一个客户端一些 java 代码,另一个客户端 C# 等。

我想在我的服务中提供同步和异步 API,例如 GetData、BeginGetData、EndGetData 方法。我还希望客户能够注册新“数据”被添加到系统的通知。过去,我使用带有 Tibco EMS 通道的 Web 服务来实现这一点。

我的问题是:我能否通过公开 WCF 服务来实现这三个要求(同步、异步和发布/订阅)?非 WCF 客户端可以使用此服务吗?

原谅这个问题含糊不清 - 我可以根据需要详细说明。

提前致谢。

0 投票
16 回答
2162 浏览

components - 我们是否放弃了代码重用的想法?

几年前,媒体上充斥着各种各样的文章,说明代码重用的想法是如何提高生产力和代码质量的一种简单方法。

从我定期查看的博客和网站来看,“代码重用”的想法似乎已经过时了。也许“代码重用”的倡导者都加入了 SOA 的行列?:-)

有趣的是,当您在 Google 中搜索“代码重用”时,第二个结果的标题是:

“内部代码重用被认为是危险的”!

代码重用的想法对我来说只是常识,毕竟看看 apache commons 项目的成功!

我想知道的是:

  • 您或您的公司是否尝试重用代码?
  • 如果是这样,如何以及在什么级别,即低级 api、组件或共享业务逻辑?您或您的公司如何重用代码?
  • 它有效吗?

讨论?


我完全意识到有许多可用的开源库,并且任何使用过 .NET 或 Java 的人都以某种形式重用了代码。这是常识!

我更多地指的是组织内的代码重用,而不是通过共享库等跨社区重用。

我最初问的是;

  • 您或您的公司是否尝试重用代码?
  • 如果是这样,如何以及在什么级别,即低级 api、组件或共享业务逻辑?您或您的公司如何重用代码?

从我坐的地方,我看到很少有公司试图在内部重用代码的例子?

如果您有一段可能在中型组织中共享的代码,您将如何通知公司的其他成员该 lib/api/etc 存在并且可能有用?

0 投票
8 回答
2498 浏览

soa - SOA 治理解释

有人知道 SOA 治理的全部内容吗?SOA 治理和 IT 治理之间有什么区别(或相关性)?以及如何使用市场上可用的 SOA 平台来应用它?

建立在 SOA 平台上的项目可以在不应用 SOA 治理的情况下取得成功吗?如何?我这里是从实用的角度讲的。

0 投票
6 回答
1297 浏览

soa - 有使用 Websphere Integration Developer (WID) 的经验吗?

我的公司(一个大型组织)正在开发一个“路线图”,以将他们相当陈旧、复杂的系统联盟发展为 SOA 模型。一些人正在努力使用 Websphere Integration Developer 和 Websphere Process Server 作为开发未来应用程序的事实上的平台......因为他们觉得 IBM 是一个稳定的供应商,这些工具是为企业设计的,他们喝了“业务敏捷性” BPEL kool-aid 等

有人对这个平台有积极或消极的想法吗?GUI 工具是否有助于消除单调/冗余的编码......或者只是模糊事物并使事物更难维护?基本上,这些好处是否证明了复杂性?

0 投票
7 回答
2198 浏览

.net - .NET 世界中的 ORM 和 SOA

根据我的经验,.NET 的主要 ORM 框架(NHibernateLinqToSqlEntity Framework)在跟踪加载的对象时效果最好。这适用于简单的客户端-服务器应用程序,但是当在面向服务的架构中使用具有 Web 服务的三层或更多层架构时,这是不可能的。最终,通过编写大量代码自己进行跟踪可以完成,但 ORM 不应该简化数据库访问吗?

在面向服务的架构中使用 ORM 的想法真的好吗?