本文介绍了所以,我在谈论SOA吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有关政府合同,我们将提出建立一个交通监控架构。我们将会有以下组件:

For a government contract we will be proposing to build a traffic monitoring architecture. We will have the following components:


  • 摄像机的周围设置感兴趣的区域。摄像机会认识到自己的位置和方向和查看参数。

  • 可用于查询的小巷,GIS地图服务器,建筑物等。

  • 的算法发生在原始视频和街道的位置信息和输出汽车的位置。

  • 另一个算法将汽车的位置和非常低的水平街道信息,并提供有关其汽车驾驶异常信息。

  • 另一个数据库会在约车地点的信息和异常报告随着时间的推移,以后可以查询这一点。

  • 代理(或者更准确的说,一个门面)架设在归档数据库,以提供一个统一的接口信息的实时算法。

  • 客户端连接到代理,并到街上服务器和油漆的屏幕上的交通状况不同的再presentations。

我刚才学习的SOA是什么。这是面向服务架构SOA服务的理想人选?我听说SOA的服务应该是无状态(或者是只有RESTful服务?)我还听说,这是不可取的管一项服务下到下一个,因为它增加了隐藏的复杂性,这有什么事你应该做的使这一情况较好(一个编排?)。上述服务似乎的确是模块化和可重用。例如,将有大量的相机,各种类型的车辆检测和异常的算法,分布式数据库,和大量的客户的。我将需要处理事件的能力。比如说,如果我可以想注册相关服务并通知每当有大货车移动过去,这一点

I'm just now learning what an SOA is. Is this an ideal candidate of a Service Oriented Architecture SOA? I had heard that SOA services should be stateless (or is that only RESTful services?) I had also heard that it was inadvisable to pipe one service to the next to the next because it increases hidden complexity, and that there was something you should do to make this situation better (an "orchestration"?). The services above do appear to be modular and reusable. For instance, there will be plenty of cameras, various types of vehicle detection and anomaly algorithms, distributed databases, and plenty of clients. I will need to have the capability to handle events: for instance, if I may want to register to a service and be notified whenever a big truck moves past this point.

如果这不是最好由SOA实施,那么还有什么地方我应该寻找。如果这是理想的SOA,那么我应该在哪里开始设计这个时候? (我从已经阅读维基百科的SOA页开始基本上是这样。)请问有什么好的案例研究,看看在这里?

If this isn't ideally implemented by a SOA, then where else should I be looking. If this is ideal for a SOA, then where should I start when designing this? (And I'm starting basically from having read Wikipedia's SOA page.) Are there any good case studies to look at here?

推荐答案

是,SOA在这种情况下(复杂的分布式系统,具有广泛的技术组合),但是从它的声音理想的,你需要做一大堆更多的研究来让你的头左右的概念。这是不以任何拉伸一个艰难的概念,它实际上是简单的,但没有一个prescribed办法做到这一点。我建议去了<一个href=\"http://www.google.com/search?rlz=1C1SNNT_enUS377US377&sourceid=chrome&ie=UTF-8&q=soa+case+studies+large+complex+projects\"相对=nofollow> SOA案例同样规模的项目研究中,成功和失败。

Yes, SOA is ideal in this case (complex, distributed system with a wide mix of technologies) but from the sound of it you need to do a whole lot more research to get your head around the concept. It is not a tough concept by any stretch, it's actually simple, but there is no one prescribed way to do it. I suggest going over SOA case studies for similarly-sized projects, successes and failures.

您提到您的子系统之一的外观。扩展相同的概念,将组件的其余部分。例如。每个服务是一个门面一个复杂的子系统。

You mention a facade for one of your subsystems. Extend that same concept to the rest of your components. E.g. each service is a facade to a complex subsystem.

另外,我建议你选择的技术,实现几个不同的网络服务和抽象任意不同的子系统(数据库应该是coponents之一。)然后写一个客户端,使它们的使用。这样做会给你很多的实践经验和洞察的概念。

Also, I recommend implementing a couple of different web services in your choice of technologies and abstracting arbitrary different subsystems (a database should be one of the coponents.) Then write a client that makes use of them. Doing so will give you a lot of practical experience and insight into the concept.

最后一个念头:在一个领域,一个SOA架构可能会绊倒是,如果你有几个不同的服务之间移动视频数据。 SOA的无状态,事务性质移动速度非常大量数据或非常大的数据集进行大宗交易时,当可能会带来性能问题。你要么需要保持局部的视频或实现后端子系统(作弊),以避免潜在的讨厌的瓶颈。

Last thought: The one area where an SOA architecture might stumble is if you have to move video data between several different services. The stateless, transactional nature of SOAs might introduce performance issues when moving very large amounts of data or when performing bulk transactions on very large data sets. You either need to keep video localized or implement a back-end subsystem (cheat) to avoid potentially nasty bottlenecks.

这篇关于所以,我在谈论SOA吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-22 16:18