如何加快SOA的速度? [关闭]

问题描述 投票:9回答:8

我被赋予了为我的客​​户奠定SOA基础的任务。目标是以终端客户端独立的方式开放各种流程,并使数据脱机可用,例如代表访问客户。

我在J2EE(Websphere)和Web服务方面有丰富的经验,但我很欣赏有关如何构建这样的SOA的建议。

陷阱在哪里?安全性怎么样?服务应该如何精细化?等等

教程和书籍推荐的链接也很有用。

谢谢!

web-services architecture soa
8个回答
6
投票

陷阱

  • 版本控制/向后兼容性:一旦有大量客户端,就很难更改合同。我已经看到许多网站通过在URL中引入版本来对API进行版本控制

粒度

  • 每项服务都应该是完全独立的(不要指望人们在得到他们需要的东西之前做3次电话)

平台独立

  • 尝试提供多种访问API的方法(WS,JSON,REST ......)

4
投票

人们无法就SOA的实际含义达成一致。

http://martinfowler.com/bliki/ServiceOrientedAmbiguity.html

(尽管自那以后达成共识可能会有所增长)

我建议小心你的客户,找出他们的意思 - 如果有的话。然后给他们一些实际上提供商业价值的东西,同时勾选任何可能与该工作重合的SOA框。


4
投票

叫我一个SOA怀疑论者。福勒的悲叹似乎仍然正确。

我会关注更普遍的问题:您的客户有2个或更多应用程序必须协同工作。看看旧学校的整合模式。

EIP image (来源:amazon.com


3
投票

找到了这本IBM红皮书(#sg246303),它非常好地介绍了SOA的基础知识。


2
投票

正如艾伦所说,我开始阅读Enterprise Integration Patterns book。有许多方法可以使用直接消息传递系统(如JMS)或使用Apache Camel等开源项目来实现它们,例如参见pattern catalogue

我还将了解如何使用JAX-RS和Jersey构建良好的RESTful服务,这是一种简单的方法,可以轻松地从任何语言/平台向Web上的任何人公开您的系统资源,而不会陷入SOAP / WS- *死亡之星:)


1
投票

获得ESB(企业服务总线):Mulesource是一个不错的选择(开源,成熟,但前沿)。一旦理解了,就会理解SOA。


1
投票

目标是以终端客户端独立的方式开放各种流程,并使数据脱机可用,例如代表访问客户。

其后半部分并非真正的SOA主题,更多的是移植设备问题的复制。我会留下很远,远离尝试实施流行语并专注于你所说的问题。 Web服务是以客户端独立方式开放流程的好方法。


0
投票

到目前为止,我找到的最好的书是SOA Compass,也可以在Amazon上找到

© www.soinside.com 2019 - 2024. All rights reserved.