我的任务是为我的客户奠定 SOA 的基础。目标是以独立于终端客户的方式开放各种流程,并使数据可离线使用,例如访问客户的代表。
我确实在 J2EE (Websphere) 和 Web 服务方面拥有丰富的经验,但我希望能得到有关如何构建这样一个 SOA 的建议。
陷阱在哪里?安全呢?服务的粒度应该有多细?等等
指向教程和书籍推荐的链接也很有用。
谢谢!
我的任务是为我的客户奠定 SOA 的基础。目标是以独立于终端客户的方式开放各种流程,并使数据可离线使用,例如访问客户的代表。
我确实在 J2EE (Websphere) 和 Web 服务方面拥有丰富的经验,但我希望能得到有关如何构建这样一个 SOA 的建议。
陷阱在哪里?安全呢?服务的粒度应该有多细?等等
指向教程和书籍推荐的链接也很有用。
谢谢!
陷阱
粒度
平台独立性
人们无法就 SOA 的实际含义达成一致。
http://martinfowler.com/bliki/ServiceOrientedAmbiguity.html
(尽管自编写以来共识可能已经增长)
我建议对您的客户进行测验,以确切了解他们的意思——如果有的话。然后给他们一些真正提供业务价值的东西,同时勾选任何可能与该努力相一致的 SOA 框。
找到了这本 IBM 红皮书(#sg246303 ),它很好地介绍了 SOA 的基础知识。
正如 Alan 所说,我会开始阅读Enterprise Integration Patterns 这本书。有许多方法可以直接使用消息传递系统(如 JMS)或使用开源项目(如Apache Camel )来实现它们,例如查看模式目录。
我还想了解如何使用 JAX-RS 和Jersey构建良好的 RESTful 服务,作为一种简单的方法,可以轻松地将系统资源从任何语言/平台向网络上的任何人公开,而不会陷入 SOAP/WS-* 死星:)
获得 ESB(企业服务总线):Mulesource 是一个不错的选择(开源、成熟、但前沿)。一旦你理解了它,你就会理解 SOA。
目标是以独立于终端客户的方式开放各种流程,并使数据可离线使用,例如访问客户的代表。
后半部分并不是真正的 SOA 主题,它更多的是复制到移动设备的问题。我会远离尝试实施流行语并专注于您所说的问题。Web 服务是向客户端独立方式开放流程的好方法。
到目前为止,我发现的最好的书是SOA Compass也可以在亚马逊上找到