回答
您可以将服务总线视为SOA的以太网。
首先,它引入了识别事物的语言,如以太网中的IP地址。这个名称不是固有的物理上的东西。
接着,必须涉及的每个节点上的东西的物理,就象是在总线的用于支撑半连接的通信,或者在隐喻以太网卡的情况下的队列。
除了物理之外,还有通信的“协议”部分,如以太网的OSI栈。使用总线,这是应用程序代码使用的客户端库。
最后,你可以查看服务总线为构建分布式系统提供的抽象的下一个更高的水平。您还可以使用它的客户端服务器通信,给你持久的单向通讯以及服务器推送通知返回给客户端。
具体而言,您会发现NServiceBus相当轻巧,易于使用,一旦您使用排队技术 - 您选择RabbitMQ,MSMQ,Azure存储队列和Azure服务总线,您可以轻松使用它。
THX!想想我现在已经有了大局了!实际上是在问这个问题,对于你今晚举行的会议有点准备,但它看起来并不像我做的那样。 – stiank81 2010-04-28 07:26:56
查看关于Enterprise Service Bus的维基百科文章。
服务总线在永无止境地追求实现一个好的面向服务的体系结构的过程中扮演着另一个抽象层。服务总线可以处理一些很好的面向服务的体系结构,如消息传递,路由和服务协调。
如果你不确定为什么你会想要类似的东西,我会建议阅读什么是一个良好的面向服务架构。这让我大开眼界,并证明仅仅有Web服务,并具有导向架构一个真正的服务是与不同的书托马斯·尔的Service-Oriented Architecture: Concepts, Technology, and Design
所以我可以用它来做一个桌面客户端应用程序和服务器之间的通信?服务器在内部,就是。 – stiank81 2010-04-27 21:24:23
你可以。您还可以将其用于不同服务之间的通信,不同版本的不同服务之间的通信(包括服务使用不同协议的情况)。 – 2010-04-27 22:01:23
这个词是用SOA这是一种方式的继任者推出(如嗡嗡声词)的EAI。
当你需要它时?这是个好问题。它带有很多复杂性。
经验法则可以解决更多的问题。
如果您有异质的环境并且希望将不同的应用程序(使用不同的技术)与业务流程对齐,那么将会变得严重。 那么它可能会有所帮助使用BPEL(但这引入由migraton问题)为编排和编排
编辑:什么是不是维基百科,是一个实践: ESB可以胃内使用专用连接器,旧的终端应用程序与Corba或Java Enterprise一起使用,这些应用程序是通过互操作性来实现的。缺点是围绕SOAP的100多个“标准”,如果不经过大量努力就不会合作。
如果您必须在两家大型保险公司合并后六个月内互连IT系统,您一定需要它。
所以 - 其中有与服务器端没有必要去大与服务总线一个“简单”的沟通我的桌面应用程序?它可以帮助我从服务器实施推送模式吗?或者在这种情况下,它会比获得更多的痛苦? – stiank81 2010-04-27 21:22:57
@ stiank81对不起,我读(企业)服务总线和突触解雇。我检查了你的NServiceBus链接,他们的目标是相同的,你不需要在客户端服务器应用程序中那样。这意味着一个业务流程中涉及多个应用程序的概念。如果它适合你?如果它解决了更多问题而不是它造成的问题。 – stacker 2010-04-27 21:34:31
Thx。不,听起来并不喜欢的事,我想我现在的应用程序.. – stiank81 2010-04-27 21:40:51
- 1. Application.DoEvents,什么时候需要,什么时候不需要?
- 2. 为什么或什么时候应用需要服务器?
- 3. 鉴于什么时候测试 - 我需要一个“什么时候”?
- 4. 我们什么时候需要创建代理服务,什么时候需要创建Rest Api?
- 5. 我什么时候需要分配财产,什么时候不需要?
- 6. MSBuild:它是什么,我什么时候需要它?
- 7. 什么时候需要CAMLparamX?
- 8. 什么时候需要pygame.init()?
- 9. 什么时候需要NSCopying?
- 10. 什么时候需要NS_RETURNS_RETAINED?
- 11. 什么时候需要“javascript:...”?
- 12. 什么时候需要TransactionScopeOption.Supress?
- 13. 什么时候需要dynamic_cast?
- 14. 什么时候需要curl_global_init()?
- 15. XirSys我什么时候需要新的Ice服务器?
- 16. 当你有WCF时,为什么需要服务总线?
- 17. 我什么时候需要mapbox.js?
- 18. 我什么时候需要调用XInitThreads?
- 19. 我什么时候需要使用@WebServiceRef?
- 20. 我什么时候需要更改serialVersionUID?
- 21. 我什么时候需要声明session_start();?
- 22. String :: ShellQuote:我什么时候需要`shell_quote`?
- 23. 我什么时候需要InamingContainer接口?
- 24. 我什么时候需要使用MPI_Barrier()?
- 25. 我什么时候需要使用“android:id”?
- 26. 我什么时候需要session_cache_expire和session_cache_limiter?
- 27. 我什么时候需要fb:app_id或fb:admins?
- 28. 我什么时候需要CAPABILITY_NAMED_IAM
- 29. 我什么时候需要充气器?
- 30. 什么时候Windows线程需要消息循环,为什么?
我真的迟到了,我不会发布这个作为答案,因为它不是这样的,但在短期,如果你不知道你为什么需要一个那么很可能你不...它解决了连接应用程序和为您的业务提供集中式API时可能没有的特定问题。 – War 2014-05-30 14:26:51
@Wardy我不同意你的陈述。你不明白的地方或者不知道它是什么,这一事实并不意味着它不会帮助你了解它 – 2015-06-23 18:22:42
这不是因为无知而更指出,服务总线的借口是一个术语当你遇到它解决的问题时会抛出很多东西,所以你要么需要它,要么就不会,因此不必担心。 – War 2015-06-24 18:58:56