SOA专题
SOA案例
SOA描述了一系列创建松耦合,基于标准,保持业务一致服务的模式和最佳实践,因为在描述 实现和绑定之间实现分离关注,SOA提供了更高层次的灵活性。
这个项目由下面技术组成:
- Groovy
- Gradle
- Springframework
- Camel
- CXF
该应用的场景是:一个娱乐提供商要分决定奖励他们最忠诚的客户。
需求故事如下:
显示客户可申请的奖金:作为客户,我希望看到根据我的频道订阅得到的奖励。
账户部门需要检查客户基于忠诚和计费状态基础上的资格量化状态。
需要提供一个RewardsService。该服务接受输入客户帐号和订阅的组合渠道。如果客户正确,获奖励RewardsService应该返回一个根据组合的订阅的奖励列表。下表描述了频道订阅和相关的奖励。
客户状态部门正在开发一个 EligibilityService,接受账户号码,检查客户是否合格eligibility,rewardService和EligibilityService交互顺序图:
下面是EligibiityService 的预期输出和rewardService的相应结果:
这个系统中主要是两个服务,rewardService和EligibiityService,rewardService的结果依赖于EligibiityService,他们之间的整合关系如下图:
rewardService通过Apache Cxf作为Restful服务对外对客户端公开,其内部和帐号部门的EligibiityService通过Apache Camel整合。Camel相当于一个消息系统。
该案例涉及以下知识点和配置: