web-services - 那么我在这里谈论的是 SOA 吗?

标签 web-services architecture soa

对于政府契约(Contract),我们将建议构建一个流量监控架构。我们将拥有以下组件:

  • 摄像机设置在感兴趣区域周围。摄像头将了解其位置、方向以及观看参数。
  • GIS map 服务器,可查询街道、建筑物等。
  • 一种算法,获取原始视频和街道位置信息并输出汽车位置。
  • 另一种算法会获取汽车位置和非常低级的街道信息,并提供有关哪些汽车行驶异常的信息。
  • 另一个数据库会随着时间的推移收集有关汽车位置和异常报告的信息,并可以在以后进行查询。
  • 在文件数据库和实时算法上设置代理(或者更准确地说,外观),以便为信息提供统一的接口(interface)。
  • 客户端连接到代理和街道服务器,并在屏幕上绘制交通状况的各种表示。

我刚刚了解什么是 SOA。这是面向服务架构 SOA 的理想选择吗?我听说 SOA 服务应该是无状态的(或者只是 RESTful 服务?)我还听说将一个服务通过管道传输到下一个服务是不可取的,因为它会增加隐藏的复杂性,并且您应该做一些事情使这种情况变得更好(“编排”?)。上述服务确实是模块化且可重用的。例如,将会有大量的摄像头、各种类型的车辆检测和异常算法、分布式数据库和大量的客户端。我需要具备处理事件的能力:例如,如果我可能想要注册一项服务,并在一辆大卡车经过此点时收到通知。

如果 SOA 不能理想地实现这一点,那么我还应该去哪里寻找。如果这对于 SOA 来说是理想的,那么设计时我应该从哪里开始呢? (我基本上是从阅读 Wikipedia 的 SOA 页面开始的。)这里有什么好的案例研究可以看吗?

最佳答案

是的,SOA 在这种情况下是理想的(具有多种技术组合的复杂的分布式系统),但从它的声音来看,您需要做更多的研究才能理解这个概念。无论如何,这都不是一个困难的概念,实际上很简单,但没有一种规定的方法可以做到这一点。我建议查看SOA case studies for similarly-sized projects ,成功和失败。

您提到了您的一个子系统的外观。将相同的概念扩展到其他组件。例如。每个服务都是一个复杂子系统的外观。

此外,我建议在您选择的技术中实现几个不同的 Web 服务,并抽象任意不同的子系统(数据库应该是组件之一。)然后编写一个使用它们的客户端。这样做会给你带来大量的实践经验和对这个概念的洞察。

最后一个想法:如果您必须在多个不同的服务之间移动视频数据,SOA 架构可能会遇到困难。当移动大量数据或对非常大的数据集执行批量事务时,SOA 的无状态、事务性特性可能会带来性能问题。您要么需要保持视频本地化,要么实现后端子系统(作弊)以避免潜在的严重瓶颈。

关于web-services - 那么我在这里谈论的是 SOA 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3571856/

相关文章:

node.js - 事件驱动处理架构建议

rest - 软件安装程序?帕斯?

WCF SOA 命名约定

c# - 使用库来实现服务是否违背 SOA 原则?

web-services - Web 服务 - 一个城市的当前时区?

java - JAX-WS 是否使用服务器端 stub (骨架)进行通信?

mysql - 像 npm 这样的服务的架构是怎样的?

java - 减少 JAX-WS Web 服务中的数据流量

java - WSDL - 如何从 Eclipse 连接到 Web 服务

c# - 高可用性