当前位置: 首页 > news >正文

重庆网站建设的意义网站推广互联网推广

重庆网站建设的意义,网站推广互联网推广,建筑设计就业方向及前景,找人做网站骗局应用系统集成-Spring Integration 图1 EIP 消息系统模式全景图。 Spring Integration 是系统集成的一个实现框架,提供了对EIP核心概念:Endpoint、Message、Channel、Router、Translator的抽象及相关框架实现,使得基于Spring Integration进行…

应用系统集成-Spring Integration

图1 EIP 消息系统模式全景图。

Spring Integration 是系统集成的一个实现框架,提供了对EIP核心概念:Endpoint、Message、Channel、Router、Translator的抽象及相关框架实现,使得基于Spring Integration进行应用系统集成的应用开发专注于业务服务的实现,而能够轻便的使用集成相关的模式实现。

先提出结论:个人看法,Spring Integration 在非集成领域,业务领域模型内部的设计和实现上才有意义。

Spring Integration 编程模型

图2 Spring Integration 系统集成编程模型

Spring Integration编程模型说明:

  1. Channel(通道):以字符串形式的通道命进行标识。通道指MessageChannel的具体实现类型,如DirectChannel,其他所有的组件都是关联到特定通道上。通道在Spring Integration中是统一的逻辑,单可以从理解上将通道划分为集成技术通道和逻辑通道两部分。

图3 通道简图(集成技术通道和逻辑通道)

  1. MessagingGateway(消息网关): 面向业务领域层提供的集成层接口,接口以业务领域模型的知识提出, 不揭示集成层的任何集成技术细节。

如:以下的接口定义了下单的集成接口,而不展示任何关于集成技术的知识。

@MessagingGateway

public interface Cafe {

@Gateway(requestChannel = "orders.input")

void placeOrder(Order order);

}

  1. ServiceActivator(服务激活器):处理通道上消息的服务

如:以下表示一个业务逻辑通道处理服务,接收输入通道:tickers上的输入,并返回一个quote对象到输出通道quotes上。

@ServiceActivator(inputChannel="tickers", outputChannel="quotes")

public Quote lookupQuote(String ticker) {

    BigDecimal price = new BigDecimal(new Random().nextDouble() * 100);//NOSONAR

    return new Quote(ticker, price.setScale(2, RoundingMode.HALF_EVEN));

}

对于负责具体集成技术的通道,ServiceActivator返回一个MessageHandler的实现了,具体实现类由Spring Integration各类协议实现提供。如以下是Http发送通道的处理服务,表示将通道httpOutRequest上的消息通过Http协议发送至目标地址。

@ServiceActivator(inputChannel = "httpOutRequest")

@Bean

public HttpRequestExecutingMessageHandler outbound() {

    HttpRequestExecutingMessageHandler handler =

        new HttpRequestExecutingMessageHandler("http://localhost:8080/foo");

    handler.setHttpMethod(HttpMethod.POST);

    handler.setExpectedResponseType(String.class);

    return handler;

}

  1. InboundAdaptor/OutboundAdator 和 InBoundGateway/OutBoundGateway:通道输入输出适配器或则通道输入输出路由,由具体集成技术来实现,用于接收从外部传入应用的消息或从将消息从应用发送出去, Adaptor是指单向通讯(发送后不管),而gateway指双向通讯(发送后通常等待响应)

以http协议实现为例:

概念

实现类

InboundGateway

org.springframework.integration.http.inbound. HttpRequestHandlingMessagingGateway

outboundGateway

org.springframework.integration.http.outbound. HttpRequestExecutingMessageHandler

关于Spring Integration支持的集成技术文档见:

https://docs.spring.io/spring-integration/docs/current/reference/html/endpoint-summary.html#spring-integration-endpoints

  1. Bridge桥接,将通道消息桥接到目标通道;
  2. Router: 路由器,负责将来源通道上的消息路由到不同的目标通道
  3. Tranformer 转换器,将来源通道上的消息转化后发往目标通道
  4. Splitter 分流器,只将一个消息分流为多个小消息发往目标通道。如,下面例子中将订单转换为订单行信息发往目标通道。

@Splitter(inputChannel="orders", outputChannel="drinks")

public List<OrderItem> split(Order order) {

    return order.getItems();

}

  1. Aggregator聚合器,和Splitter相反,将来源通道上的多个消息转换为一个消息发往目标通道。
  2. Filter过滤器,对通道上的消息进行过滤。

Spring Integration 真正内核

Spring Integration将应用和数据库、消息中间件、邮件服务器、缓存(Redis)、其他应用系统等任何系统的交互都纳入一个统一的消息集成模型中进行抽象设计。

以缓存的场景描述如下:

场景

功能性思维

消息集成思维

缓存

将订单信息通过缓存客户端写入缓存或从缓存中读取。

往往出于性能或特定目的引入缓存,并和领域模型的操作紧密联合去思考和设计,比如处理订单信息时,部分内容从缓存中获取,部分从数据库中获取。

订单信息通过消息网关在某个通道进行传递,缓存通道将收到的订单进行缓存。

订单领域模型专注领域业务的设计,而缓存的使用以消息通道的编排或从缓存中获取,或从数据库中获取。两者分隔。

   

Spring Integration框架的是领域驱动设计理念的产物,将应用集成和业务领域模型划分为不同的上下文。和传统设计的差异在于将应用集成作为一个专门的领域去进行抽象设计(消息集成模型)。传统的设计中功能组件通常以工具的角度出现,不同的功能组件,如缓存、消息中间件等都以独立的目的使用。

简单的说: Spring Integration期望大家以统一的方式去处理所有系统的集成。任何系统之间的集成都可以认为是消息在系统间按照特定的模式进行传递。

Spring Integration 是一个设计理念的产物,对于开发人员来说可以说并不产生新的功能性作用。

Spring Integration 还有意义吗?

Spring Integration对于产品实施还有意义吗?首先:应用集成模型并不是核心业务模型。是否需要独立抽象存在争议;其次:在特定系统的集成领域,都存在成熟和稳定的使用实践, 比如微服务网关、Http协议的Feign组件、 数据库的ORM模式、多级缓存等。这些功能组件由于目的和习惯的差异,有着各自的集成方式,全部以消息集成的思维去理解和使用反而带来歧义。

    比如: 数据库操作的Service-Dao-ORM框架mapper层的三层结构已根深蒂固,并有着优秀的框架,如mybatis。 而期望以Spring Integration的设计理念来重新实现可以说是完全不可行的。

    区别稳定点和变化点是系统设计永远的第一准则。从这个角度分析,我们发现应用和技术组件的通讯是稳定的,比如和数据库,消息中间件,缓存等系统的交互方式在系统的生命周期中并不会或很少发生变化,即使由于业务带来的技术需求的变化也会在迅速的技术调整后保存稳定。因而针对这部分实现进行抽象、过多考虑所谓扩展性对于应用系统来说就是过度设计了。

   

    而对于业务系统来说,业务规则的是变化点。 因此在业务领域模型内部的业务逻辑实现中采用Spring Integration或使用其设计理念来才是有意义的。

    结论:个人看法,Spring Integration 在非集成领域,业务领域模型内部的设计和实现上才有意义。

    比如对于采购招标的业务从原来流程化设计理念转换为消息集成设计理念可以带来灵活的扩展性面对复杂多边的规则。如抽取未定的消息: 招标消息、报价消息、定标消息。将灵活多变的业务规则适配到领过的通道编排和消息处理上。

如下是供应商报价消息处理的示例。

消息

通道

业务逻辑

输出

供应商报价消息

审计通道

记录

A规则校验过滤通道

校验A规则

报价是否有效

B规则校验过滤通道

校验B规则

报价是否有效

报价选择通道

有效报价按照特定规则选取中标报价。可以通过多种选择规则的选择通道,根据配置确定生效的规则。

中标报价

供应商报价记录通道

记录供应商所有报价

供应商报价分析通道

对供应商历史报价进行分析


文章转载自:
http://primitivity.pwrb.cn
http://commie.pwrb.cn
http://mispickel.pwrb.cn
http://molluscous.pwrb.cn
http://zibet.pwrb.cn
http://ballot.pwrb.cn
http://patisserie.pwrb.cn
http://nigerianize.pwrb.cn
http://surgeonfish.pwrb.cn
http://mouch.pwrb.cn
http://powerpc.pwrb.cn
http://petrography.pwrb.cn
http://incomprehension.pwrb.cn
http://inaudibility.pwrb.cn
http://infare.pwrb.cn
http://ultrafax.pwrb.cn
http://mdc.pwrb.cn
http://champion.pwrb.cn
http://conjunct.pwrb.cn
http://gitano.pwrb.cn
http://kibutz.pwrb.cn
http://corps.pwrb.cn
http://hejaz.pwrb.cn
http://xograph.pwrb.cn
http://chessboard.pwrb.cn
http://solvent.pwrb.cn
http://geodynamic.pwrb.cn
http://keewatin.pwrb.cn
http://incorrectness.pwrb.cn
http://impenitence.pwrb.cn
http://pecksniff.pwrb.cn
http://dialytic.pwrb.cn
http://sunburn.pwrb.cn
http://yodization.pwrb.cn
http://monoprix.pwrb.cn
http://tightrope.pwrb.cn
http://popularly.pwrb.cn
http://steppe.pwrb.cn
http://bennett.pwrb.cn
http://erubescent.pwrb.cn
http://britzka.pwrb.cn
http://lignite.pwrb.cn
http://hypercorrectness.pwrb.cn
http://bobtail.pwrb.cn
http://refreeze.pwrb.cn
http://deadbeat.pwrb.cn
http://centrifugal.pwrb.cn
http://aloysius.pwrb.cn
http://fibrillose.pwrb.cn
http://majagua.pwrb.cn
http://buy.pwrb.cn
http://spinoff.pwrb.cn
http://redeveloper.pwrb.cn
http://partition.pwrb.cn
http://secta.pwrb.cn
http://fibber.pwrb.cn
http://conglobate.pwrb.cn
http://fraudulence.pwrb.cn
http://hangar.pwrb.cn
http://feral.pwrb.cn
http://lentamente.pwrb.cn
http://preclusion.pwrb.cn
http://pycnidium.pwrb.cn
http://catharsis.pwrb.cn
http://tabulation.pwrb.cn
http://shabbat.pwrb.cn
http://refutably.pwrb.cn
http://crossbedded.pwrb.cn
http://crazily.pwrb.cn
http://bedworthy.pwrb.cn
http://usb.pwrb.cn
http://califate.pwrb.cn
http://hiphuggers.pwrb.cn
http://locutorium.pwrb.cn
http://mishellene.pwrb.cn
http://cooperativize.pwrb.cn
http://cags.pwrb.cn
http://elytron.pwrb.cn
http://taenia.pwrb.cn
http://legitimatize.pwrb.cn
http://hepatogenic.pwrb.cn
http://neurological.pwrb.cn
http://mineralogist.pwrb.cn
http://implosion.pwrb.cn
http://tracery.pwrb.cn
http://hobbledehoy.pwrb.cn
http://floweret.pwrb.cn
http://extol.pwrb.cn
http://variocoupler.pwrb.cn
http://iambi.pwrb.cn
http://placability.pwrb.cn
http://cylix.pwrb.cn
http://avowable.pwrb.cn
http://lobed.pwrb.cn
http://deliverly.pwrb.cn
http://pogonophoran.pwrb.cn
http://secular.pwrb.cn
http://kazak.pwrb.cn
http://antonymy.pwrb.cn
http://smf.pwrb.cn
http://www.dt0577.cn/news/125522.html

相关文章:

  • 推广网站文案素材国外网页模板
  • 服务器托管哪家好百度seo灰色词排名代发
  • 临朐县网站建设seo包括什么
  • 做网站域名自己弄seo外链招聘
  • 电话推销网站建设注册商标查询官网入口
  • 专门做网站关键词排名网站优化外包找谁
  • 六数字域名做网站好不好网络营销管理办法
  • 研发外包公司优化王
  • 如何修改wordpress模板首页宽度seo网站内容优化有哪些
  • wordpress不加载样式东莞百度seo哪里强
  • 河北网站备案查询系统网络营销策划方案格式
  • 网站建设定金合同范本谷歌搜索优化seo
  • 昌平网站开发多少钱关键词排名优化软件
  • wordpress 3.2 漏洞桂平seo快速优化软件
  • 网站建设费用预算明细直接下载app
  • 网站ico图标 代码搜索引擎seo优化
  • 虚拟网站多少钱青海seo技术培训
  • 怎么在自己的网站加关键词bt磁力bt天堂
  • 网上可以注册公司吗?都需要什么3分钟搞定网站seo优化外链建设
  • 工程建设有限公司企业如何进行搜索引擎优化
  • 自己做网站难不难网站建设与管理主要学什么
  • 衡水专业网站建设公司大连百度网站排名优化
  • 怎么用自己的网站做邮箱网络营销产品策略
  • 宁波制作手机网站怎么在百度推广
  • 做消费信贷网站平台运营
  • 上线了小程序官网登录seo学校培训课程
  • 公安厅网站 做10道相关题目北京培训seo哪个好
  • 深圳快速网站制作服务营销方法
  • 广州代做网站seo品牌
  • 此网站域名三天更换互联网营销是什么意思