我已经被赋予的任务奠定基础的一个SOA为我的客户。我们的目标是开放各种进程最终客户的独立的方法还使数据可脱机使用例如对于代表访问的客户。

我的确有丰富的经验J2EE(Websphere)和网络服务,但是我希望建议如何建立这样一个SOA。

哪里都是缺陷?什么安全?如何精细粒应该服务是什么?等等。

链接到的教程和书的建议也将是有益的。

谢谢!

有帮助吗?

解决方案

陷阱

  • 版本控制/后向兼容性:它变得真的很难改变的合同一旦你的客户。我见过很多网站,版本的Api通过介绍该版本在URL

粒度

  • 每个服务应reasonly自足(不期望人们做到3个电话之前,他们得到他们所需要的)

平台的独立性

  • 尝试得到多于一个方式访问您的Api(WS式,休息...)

其他提示

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

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

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

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

称我为SOA怀疑论者。福勒的悲叹似乎仍然存在。

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


(来源: amazon.com

发现此IBM红皮书(#sg246303 )这是对SOA基础知识的一个很好的介绍。

正如艾伦所说,我将开始阅读企业集成模式书。有许多方法可以使用直接消息传递系统(如JMS)或使用开源项目(如 Apache)来实现它们。骆驼,例如参见模式目录。 / p>

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

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

  

目标是打开各种各样的   终端客户端独立的流程   方式,也提供数据   脱机例如代表团访问   客户。

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

到目前为止,我找到的最好的书是 SOA Compass 可在亚马逊上找到

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top