我被赋予了为我的客户奠定SOA基础的任务。目标是以终端客户端独立的方式开放各种流程,并使数据脱机可用,例如代表访问客户。
我在J2EE(Websphere)和Web服务方面有丰富的经验,但我很欣赏有关如何构建这样的SOA的建议。
陷阱在哪里?安全性怎么样?服务应该如何精细化?等等
教程和书籍推荐的链接也很有用。
谢谢!
陷阱
粒度
平台独立
人们无法就SOA的实际含义达成一致。
http://martinfowler.com/bliki/ServiceOrientedAmbiguity.html
(尽管自那以后达成共识可能会有所增长)
我建议小心你的客户,找出他们的意思 - 如果有的话。然后给他们一些实际上提供商业价值的东西,同时勾选任何可能与该工作重合的SOA框。
找到了这本IBM红皮书(#sg246303),它非常好地介绍了SOA的基础知识。
正如艾伦所说,我开始阅读Enterprise Integration Patterns book。有许多方法可以使用直接消息传递系统(如JMS)或使用Apache Camel等开源项目来实现它们,例如参见pattern catalogue。
我还将了解如何使用JAX-RS和Jersey构建良好的RESTful服务,这是一种简单的方法,可以轻松地从任何语言/平台向Web上的任何人公开您的系统资源,而不会陷入SOAP / WS- *死亡之星:)
获得ESB(企业服务总线):Mulesource是一个不错的选择(开源,成熟,但前沿)。一旦理解了,就会理解SOA。
目标是以终端客户端独立的方式开放各种流程,并使数据脱机可用,例如代表访问客户。
其后半部分并非真正的SOA主题,更多的是移植设备问题的复制。我会留下很远,远离尝试实施流行语并专注于你所说的问题。 Web服务是以客户端独立方式开放流程的好方法。
到目前为止,我找到的最好的书是SOA Compass,也可以在Amazon上找到