欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

SOA示例应用程序

发布时间:2023/12/3 编程问答 67 豆豆
生活随笔 收集整理的这篇文章主要介绍了 SOA示例应用程序 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
SOA描述了一组用于创建松散耦合的,基于标准的,与业务相关的服务的模式,由于描述,实现和绑定之间的关注点分离,因此提供了新的灵活性。

近年来,至少在参与大多数信息技术活动的人们中,面向服务的体系结构术语已经普及。 这种方法建议的指导原则是在不同的可分配系统领域中成功的主要因素。
正如定义清晰易懂一样,将其实现到真实项目中也要直观,简洁,优雅。

我发布了一个应用程序,该应用程序演示了如何利用EIP(企业集成模式),IoC(控制反转)以及构建工具和脚本语言(例如Groovy)将SOA的原理应用于一个小型项目。
我分析了一个简单的业务案例 :一家娱乐提供商,希望根据客户服务的订阅向其某些客户分发奖励和奖金。
处理过程很简单:

需要提供RewardsService的实现。 该服务接受客户帐号和包含渠道订阅的投资组合作为输入。客户状态团队目前正在开发EligibilityService,该服务接受帐号作为输入。

我建立了一个基础架构来为第一个有意义的功能编写验收测试。 这就是可以定义为“行走骨架”的东西。 原型,其基本要素是可以从Github轻松下载后可以构建,部署和测试。

RewardService是由客户端调用,调用,反过来,whichhowever,在这种情况下没有实现合格的服务。 由于许多实际场景都希望使用外部服务,因此概念验证将资格服务指向黑匣子,其中仅请求/响应接口是已知的。

单元测试通过Camel测试框架模拟了模拟端点的资格服务行为。 但是,如果你想运行在本地计算机上的应用程序我设置了 ,一行代码内,一个虚假的合格服务,merelyreturns了积极的回应:

def alwaysEligible = {exchange -> if(exchange){exchange.getOut().setBody('CUSTOMER_ELIGIBLE')}} as Processor

入口点是基于Apache CXF构建的HTTP Restful接口,可以在配置中的几行之内轻松设置。 Spring通过以下方式初始化CXF:

jaxrs.'server'(id:'restService',address:'http://${http.host}:${http.port}') {jaxrs.'serviceBeans'{ ref(bean:'rewardService')} }

服务通过Apache Camel连接。 RewardService仅包含ESB上下文的引用– ProducerTemplate的实例。 这种解决方案允许在链接系统和业务服务之间完全隔离。Camel上下文表示SOA的布线,并通过DSL进行配置,如下例所示:

from('direct:rewards').to(eligibilityServiceEndpoint)

参考:来自JCG合作伙伴 Giancarlo Frison的SOA示例应用程序 , 通过复杂的博客使事情变得简单 。


翻译自: https://www.javacodegeeks.com/2012/04/soa-example-application.html

创作挑战赛新人创作奖励来咯,坚持创作打卡瓜分现金大奖

总结

以上是生活随笔为你收集整理的SOA示例应用程序的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。