问题标签 [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 投票
7 回答
657 浏览

web-services - 适合新手的实用 SOA

我是 SOA 领域的新手。因此,我正在研究一些“SOA 框架/技术”,并试图了解如何利用它们来构建一个高度可扩展的(Facebook 类)网站。

我想在这里解决几个“痛点”:

  1. 可组合性(+ 管理依赖项,Pub/Sub)
  2. 服务的语言无关
  3. 可扩展性和性能
  4. 高可用性

我研究了一些可以回答上述标准子集的技术:

  1. Thrift - Facebook 的跨平台 RPC 平台
  2. WCF - 支持 SOAP、JSON 和 REST,因此它可以被认为是语言互操作的。生成可用于生成 java 代理的WSDL文件。
  3. Microsoft DSS - 只是将它包含在我的调查中,但它似乎并不相关,因为它是高度状态驱动的和特定于 .NET 的。
  4. 网页服务

现在,我了解了如何从上述内容中获得可组合性和语言独立性的某些方面。但是,我还没有找到很多关于如何使用上述/其他工具来实现可扩展性和高可用性的具体信息(不是嗡嗡声)。所以最后我得到了我的问题:

如何利用 SOA 技术来解决我上面定义的问题?我在哪里可以找到这方面的技术指南?我寻找的不仅仅是系统图,而是实际的库、代码示例、APIS ......

0 投票
4 回答
4417 浏览

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

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

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

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

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

0 投票
1 回答
1282 浏览

wcf - 使用 WCF、依赖注入和单元测试的服务间通信架构

我是 WCF 的新手,在很大程度上,我也是分布式编程。我正在做一个需要 4 个离散服务的项目。

我正在尝试正确定义每个服务的每个组件的职责。假设我有需要与服务 A 通信的服务 B。对于每个服务,我定义了服务实现类、服务主机和代理类。

为了进行单元测试,我使用依赖注入 - 因为服务 B 需要与服务 A 通信,所以我已将 A 的代理类的实例作为构造函数参数传递给服务 B。

当我对服务 B 进行单元测试时,我必须让 A 的服务主机启动并运行。

  1. 这是进行依赖注入的错误方式吗?如果是这样,为什么,你建议我怎么做?
  2. 有没有更好的方法来进行依赖注入?
  3. 我是否必须运行服务主机才能在单元测试中获得正确的结果?
0 投票
2 回答
87 浏览

web-services - 用于 Web 服务的 IDE 的功能

IDE 中有哪些面向服务的架构/Web 服务功能。

0 投票
3 回答
3553 浏览

security - 集中授权服务?

有没有可用的开源集中授权服务?认证信息集中的解决方案有很多(例如:CASJOSSO),但是授权信息呢?

有一些非常好的授权框架(例如:Spring Security(以前称为 Acegi)和Seam Security),但似乎我必须将它们组合成单独的层或服务。换句话说,我不能很容易地独立运行它们。对于 SOA,不仅集中身份验证而且集中授权信息(即:角色、权限、规则等)似乎是非常有价值的。

有什么建议么?

0 投票
11 回答
6966 浏览

architecture - 如何绘制应用架构图

我想知道你们用什么来绘制你的应用程序/服务架构图?

我想制作代表整个应用程序不同层的图表,并且对于某些部分更深入(类级别)

0 投票
1 回答
1513 浏览

wcf - 用于开发 WCF 应用程序的模型

您知道以类似于服务工厂的方式组织 WCF 应用程序的任何蓝图吗?

问题是,尽管服务工厂组织得很好,但我的应用程序是一个中型的应用程序,使用工厂将是一种矫枉过正——工厂为我创建的一些子项目,我永远不会使用。

那么用于组织中型项目的 WCF 应用程序结构的常见模型/架构/蓝图/模式是什么?

谢谢你。

0 投票
12 回答
10908 浏览

architecture - 如果 SOA 已经消亡,那么取而代之的是什么?

如果这个问题很密集,请原谅我。

背景:我们有几个集成在数据库中的内部应用程序。我们正在研究如何将其分解,似乎转向一种架构,其中每个应用程序通过服务公开其功能,而不是调用其他应用程序的数据库,这是最有意义的。对我来说,这似乎是一个面向服务的架构。当我四处寻找有关开始使用面向服务架构的信息时,我看到很多关于这篇文章的讨论:SOA 已死;万岁服务。我还从 Martin Fowler 和 Jim Webber 那里看到了这一点:我的巴士在这看起来很大吗?.

问题:

  • SOA 是死了,还是只是围绕它的嗡嗡声?
  • 以服务为导向的架构为起点,使其尽可能保持精简和简单的最佳方式是什么?
0 投票
2 回答
1851 浏览

soa - SOA 风格 - 共享数据

我正在考虑为一组服务提供 SOA 架构,以支持我咨询的业务,以前我们使用数据库集成,每个应用程序从共享的 MS SQL 数据库中挑选出它需要的内容并使用它等等。我们有各种与怪物数据库(包括 java、.net 和 microsoft access)集成的应用程序具有引用完整性,因为一切都紧密耦合。

我对如何支持服务之间的数据共享有点困惑。

让我们以产品服务为例,它位于批发商每月提供的产品数据库之上。我们建立了一个领域模型,并使用 Hibernate 或其他任何方式将其放在数据库中,实施明智的产品是一个大型对象图,给出了批发商提供的有关产品的信息。

现在假设 Review 服务、Pricing Service、Shipping Service 和 Stock Service 将订阅 ProductUpdated、ProductAdded、ProductDeleted。问题是每个服务只需要关于产品的部分或部分信息。运输可能只需要尺寸和重量。定价可能只需要产品 ID、批发成本、批量折扣、迄今为止有效的价格。审核可能需要产品 ID、产品名称、生产者。

仅发布整个产品(合适的非特定于订阅者的合同,例如 ProductUpdated 和合适的模式 - 代表所有产品对象图)并让订阅者将他们需要的任何内容映射到他们的域模型(或者做他们想做的事)是标准做法吗?想要,甚至可能没有域模型)...

或者当我写这篇文章时,我在想也许:

产品服务发布 ProductAdded 消息(不包括产品详细信息,仅包含产品 ID 和时间戳)

Pricing Service 订阅 ProductAdded 并发布 RequestPricingForProduct 消息

产品服务发布 ResultForPricingForProduct 消息

嗯..似乎好一点...但感觉就像我正在根据我可以识别的其他服务以及他们将需要什么来建立产品服务合同,也许将来 XYZ 服务需要不同的东西。我将停在那里,因为我认为我感到困惑的地方越来越清楚......也许上面的方法会起作用,因为我应该公开一种方法来返回应该公开的任何内容嗯嗯。

非常感谢任何意见或方向。对不起,如果这看起来半生不熟。

0 投票
10 回答
17130 浏览

wcf - 何时使用 SOA(面向服务的架构)

我最近与我们的一位架构师进行了交谈,他将他对 SOA 的使用总结为“我们将使用服务的唯一时间是当我们需要异步操作时,否则我们将使用直接访问数据存储”

我考虑过这个说法,它似乎很合乎逻辑,因为服务在发布订阅模型中运行良好,但我想知道您应该在哪些其他场景中使用 SOA?