SOA专题

SOA案例

  SOA描述了一系列创建松耦合,基于标准,保持业务一致服务的模式和最佳实践,因为在描述 实现和绑定之间实现分离关注,SOA提供了更高层次的灵活性。

SOA项目案例源码下载

这个项目由下面技术组成:

  • Groovy
  • Gradle
  • Springframework
  • Camel
  • CXF

该应用的场景是:一个娱乐提供商要分决定奖励他们最忠诚的客户。

需求故事如下:

显示客户可申请的奖金:作为客户,我希望看到根据我的频道订阅得到的奖励。

账户部门需要检查客户基于忠诚和计费状态基础上的资格量化状态。

需要提供一个RewardsService。该服务接受输入客户帐号和订阅的组合渠道。如果客户正确,获奖励RewardsService应该返回一个根据组合的订阅的奖励列表。下表描述了频道订阅和相关的奖励。

soa案例

客户状态部门正在开发一个 EligibilityService,接受账户号码,检查客户是否合格eligibility,rewardService和EligibilityService交互顺序图:

下面是EligibiityService 的预期输出和rewardService的相应结果:

这个系统中主要是两个服务,rewardService和EligibiityService,rewardService的结果依赖于EligibiityService,他们之间的整合关系如下图:

 

 

rewardService通过Apache Cxf作为Restful服务对外对客户端公开,其内部和帐号部门的EligibiityService通过Apache Camel整合。Camel相当于一个消息系统。

该案例涉及以下知识点和配置:

 

Apache Camel建立基于消息的应用

使用Apache CXF开发RESTful服务