soa示例_SOA示例应用程序

soa示例

SOA描述了一组用于创建松散耦合的,基于标准的,与业务相关的服务的模式,由于描述,实现和绑定之间的关注点分离,因此提供了新的灵活性。

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

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

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

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

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

单元测试通过Camel测试框架模拟了模拟终端的资格服务行为。 但是,如果要在本地计算机上运行该应用程序, 我会在一行代码中设置,这是一种人造的合格服务,该服务仅返回肯定的响应:

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示例

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/355128.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

body curl 设置post_curl 命令详解

常用参数常用参数分类# 调试类-v, --verbose 输出信息-q, --disable 在第一个参数位置设置后 .curlrc 的设置直接失效,这个参数会影响到 -K, --config -A, --user-agent -e, --referer-K, --config FILE …

NetBeans Java EE技巧7:忽略的Java类和XHTML编辑器快捷方式

有时,最被忽略的是IDE最有用的功能。 在本文中,我将概述在开发Java EE应用程序时可以使用的五个NetBeans Java和XHTML编辑器快捷方式。 #1 –轻松修复命名空间和类 也许您已经向尚未声明名称空间的视图中添加了新的JSF标记,或者…

python学习第三十二节(进程间通信、进程池、协程)

当多线程创建完毕之后,start并没有了立刻运行,依旧需要和其他线程抢CPU的资格,只是时间很短。进程之间的通信分为两种,queue和pipe 1 import multiprocessing2 def foo(q):3 q.put([1,hello,True])4 if __name____main__:5 …

备份ad_IT管理公开课——备份恢复解决方案

时间:2020年5月28日 14:00内容:调查显示,44%的客户面临意外删除或修改数据,如果没有提前备份,这些数据是很难恢复的。RecoveryManager Plus是一款针对AD域,Exchange,Sharepoint以及O…

Ajax中的url使用规则

Ajax中的url使用规则Ajax中的url使用规则如下: 先封装项目访问地址: String basePath request.getScheme() "://" request.getServerName() ":" request.getServerPort() request.getContextPath();然后在js中定义&#xff1…

[网络管理]全双工与半双工的差别

[网络管理]全双工与半双工的差别 同事说新办公室的网络一直不稳定,常常掉线延迟。检查进口线路和更换转接网线。都无法解决这个问题。预计是不是进口网线中一根或者2根短路,那就改动下网卡属性吧。 把自适应改成全双工10M模式,測试OK。全双工…

echarts大屏模板_完整的可视化大屏分享,科技感十足,各行业直接就能用

你的老板有没有要求过你做一个可视化大屏?或许在你看来,这就是一个无理的需求,很简单啊,做几个动态图表,直接投影到屏幕上不就行了?就算做出来能用数据增长业务吗?不懂为什么要拍脑袋做大屏&…

Java面试基础知识(1)

1、final, finally, finalize的区别final:修饰符(关键字)如果一个类被声明为final,没有子类也不能被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们…

bird 报表_轻松完成Birt报告

bird 报表这是使用Birt插件在Eclipse中构建报告的完整指南。 Birt或Business Intelligence and Reporting工具是一种无需编写太多Java代码即可生成报告的工具。 如果您使用的是ireport,那么您知道我在说什么:)(晶体报告..毫无意义…

通过kubeadm安装kubernetes 1.7文档记录[docker容器方式]

参照了网上N多文档,不一一列表,共享精神永存!!!! 获取所有安装包 安装包分为两类,rpm安装包和docker镜像 rpm安装包 rpm为以下四个 kubeadm-1.7.0-0.x86_64.rpm kubectl-1.7.0-0.x86_64.rpm ku…

san框架计数的textarea

san框架计数的textarea<template><div style"height: 100%;width:100%;"><div style"border-bottom: 1px solid #e7e7e7"><div style"height:230px;overflow: hidden;"><t-textarea id"cxfssy" value"…

京东五星电器送扫地机器人_京东五星电器联手打造互联网小家电“孵化器”

出新迭代迅速、件均价较低的生活小家电复购率高&#xff0c;易“种草”&#xff0c;是最具活力的家电品类。11月24日&#xff0c;京东小家电事业部联合京东五星电器召开“小家电发展战略沟通会”&#xff0c;美的、苏泊尔、九阳、小熊、雀巢、德龙、戴森、飞利浦、科沃斯等众多…

异或运算性质

异或性质**异或运算的性质**

星痕 轻松实现大屏数据可视化_数据美的历程有多难?大屏可视化轻松帮你实现...

看到这个数据可视化大屏&#xff0c;我们如何实现美感呢&#xff1f;正确的姿势必不可少&#xff01;当我们满怀激动地开始数据可视化时&#xff0c;请不要马上钻入某个细节里&#xff0c;不要急着考虑用什么酷炫的图表来展现&#xff0c;也不要纠结于用什么颜色、什么字体。而…

卡方检验检验水准矫正_【2008.】趋势性卡方检验专题讨论

学员提问学员老师&#xff0c;在SPSS中怎样实现线性趋势卡方检验呢&#xff1f;很多学员都为这个问题疑惑&#xff0c;下面我来详细介绍一下。老师1、线性趋势卡方检验的常用方法&#xff1a;线性趋势检验最常用的方法是&#xff1a;Cochran-Armitage Test for Trend(也就是the…

前端布局的一些收获

前端布局的一些收获这段时间做前端样式的改造&#xff0c;有一些收获&#xff0c;来记录一下(吐槽一句IE垃圾) 1.calc()函数 定义与用法 calc() 函数用于动态计算长度值。 需要注意的是&#xff0c;运算符前后都需要保留一个空格&#xff0c;例如&#xff1a;width: calc(10…

lua菜鸟教程_Lua语言学习

根据百科描述&#xff1a;Lua是一个小巧的脚本语言&#xff0c;是巴西里约热内卢天主教大学里的一个研究小组&#xff0c;由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所组成并于1993年开发。 其设计目的是为了嵌入应用程序中&#xff0c;从而为应…

如何使用插件生成自定义Java 8代码

大多数程序员讨厌的一件事就是编写样板代码。 无休止的时间花费在设置实体类和配置数据库连接上。 为了避免这种情况&#xff0c;您可以让Speedment Open Source之类的程序为您生成所有这些代码。 这样可以很容易地以最少的人工就可以启动和运行数据库项目&#xff0c;但是当将…

下拉被下面列表遮住

下拉被下面列表遮住在上面布局添加 style"overflow: visible;z-index: 100"

jmeter之-用Firefox录制https协议证书问题

录制脚本的时候&#xff0c;比如录制https协议的百度网站 https://www.baidu.com &#xff0c;所有录制设置均正常&#xff0c;但是在jmeter录制控制器里面就是没有任何录制的请求。 这个时候提示说证书不对 1、打开火狐选项——高级——证书 也可以在浏览器输入about:preferen…