有没有比较成熟的第三方数据对接解决方案

Haven55555 2019-01-18 12:50:11
现有对接方式 1.主流数据库直连表(数据库)查询 2.web数据接口,返回格式有json、xml格式 3.文件类型 可能是图片、xml 或者其他 :返回数据内容不规范 比如 对接A方有个性别字段值是 0或1,而B方则是 男或女 以此类推 有没有比较成熟的方案可以参考下
...全文
1332 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
说白了,你自己定义自己的数据规范,然后对外要求必须按这规范来,不符合这规范的就通过适配调整至你要求的规范
Haven55555 2019-01-18
  • 打赏
  • 举报
回复
引用 9 楼 wanghui0380 的回复:
引用 8 楼 huyuan55555 的回复:
[quote=引用 7 楼 wanghui0380 的回复:]如果是数据源多,目标单一,那就是适配器。你还是丢在外面,想扩展就自己写适配
小项目 没有世界级那么夸张,大概可以理解为一个产品需要对接第三方数据,但没办法去限定对方的对接方式,所以要需要预备多套已知的方式,设计成可以配置的,A设置为方式一 将程序放到B处直接切换方式二就可以完成对接 而不用针对性修改程序,可维护性是体现在这里,严格来说只是一对一,只是对外有多种方式可选,目前这块整合接口这块方案有些乱


那好,想想看你平时编程里,那些世界级大牛怎么给你提供的

Access,mssql,mysql,sqllite,Oracle------------这么多东西,为啥到你手上就只变成了一个ado.net(或者是EF,或者说是增删改查),正式因为他们用的是适配和提供。

如果忽略sql的细节,你更换数据库,其实只需要更换一个适配器,更改一个连接字符串,其他东西都是一样的吧[/quote]嗯。你的意思我明白,是这个道理,根据设置需求由适配器选择匹配方案,每个方案独立执行自己的一套解析逻辑提取到数据,接下来就是数据转换匹配输出的事情,只是具体实现的时候有些乱,所以想找个类似的参考下 梳理下思路
Haven55555 2019-01-18
  • 打赏
  • 举报
回复
引用 1 楼 SoulRed 的回复:
这。。。EF
或者dapper
另外,最新的数据库可以支持在数据库查询语句内转JSON
你理解错了,没法控制接口方返回的数据类型以及方式,是有以上3种或更多对接方式,要全部支持 实际使用时只需要选择其中一个方案 但到底是使用哪种方案需要根据对方提供的方式起来进行选择
wanghui0380 2019-01-18
  • 打赏
  • 举报
回复
引用 8 楼 huyuan55555 的回复:
引用 7 楼 wanghui0380 的回复:
如果是数据源多,目标单一,那就是适配器。你还是丢在外面,想扩展就自己写适配
小项目 没有世界级那么夸张,大概可以理解为一个产品需要对接第三方数据,但没办法去限定对方的对接方式,所以要需要预备多套已知的方式,设计成可以配置的,A设置为方式一 将程序放到B处直接切换方式二就可以完成对接 而不用针对性修改程序,可维护性是体现在这里,严格来说只是一对一,只是对外有多种方式可选,目前这块整合接口这块方案有些乱


那好,想想看你平时编程里,那些世界级大牛怎么给你提供的

Access,mssql,mysql,sqllite,Oracle------------这么多东西,为啥到你手上就只变成了一个ado.net(或者是EF,或者说是增删改查),正式因为他们用的是适配和提供。

如果忽略sql的细节,你更换数据库,其实只需要更换一个适配器,更改一个连接字符串,其他东西都是一样的吧
Haven55555 2019-01-18
  • 打赏
  • 举报
回复
引用 7 楼 wanghui0380 的回复:
如果是数据源多,目标单一,那就是适配器。你还是丢在外面,想扩展就自己写适配
小项目 没有世界级那么夸张,大概可以理解为一个产品需要对接第三方数据,但没办法去限定对方的对接方式,所以要需要预备多套已知的方式,设计成可以配置的,A设置为方式一 将程序放到B处直接切换方式二就可以完成对接 而不用针对性修改程序,可维护性是体现在这里,严格来说只是一对一,只是对外有多种方式可选,目前这块整合接口这块方案有些乱
wanghui0380 2019-01-18
  • 打赏
  • 举报
回复
如果是数据源多,目标单一,那就是适配器。你还是丢在外面,想扩展就自己写适配
wanghui0380 2019-01-18
  • 打赏
  • 举报
回复
MapReduce=Map+Reduce map过程其实就是你要的东西,至于Reduce归约那是因为他想分布式

ETL= Extract+Transform+Load 其实就是抽取(extract)、交互转换(transform)、加载(load)

数据源多,目标多----------一个多对多的东西,怎么解。当然是不解,只提供基础库,然后外面自己扩展。

基础库就是基本操作手段
比如类似MSsql DTS这样的东西,从excel抽取的通用库你可以给。或者类似Hadoop里面的那些从HDFS文件系统里抽取的标准库

所以你看到世界级范围,也就这么搞了,只提供基本操作手段,至于具体的东西,你临时根据需要自己弄(因为没人知道,你到底弄啥嘞)
wanghui0380 2019-01-18
  • 打赏
  • 举报
回复
知道为啥mapreduce能成为世界顶级的解决方案么
知道为啥mssql一直就把dts工具组保留着么

考虑维护性?其实很简单,那就是根本就不做,让他保留在外面。dts是让你在外面做的,mapreduce 同样是让你在外面做的,所有的ETL方案都是让你在外面做的,原因很简单!还是我前面说的那句话“程序员不是神,不是上帝”他根本就不知道,后面有啥?所以他只好丢到外面你在外面就“天高海阔”想怎么弄自己决定
Haven55555 2019-01-18
  • 打赏
  • 举报
回复
引用 2 楼 以专业开发人员为伍 的回复:
不动手编程,就对接吗?
要的,核心是需要搭建一套 相对通用的 数据转换系统,对外多方式对接,中继数据转换成我方标准数据输出,考虑后续维护性问题 所以不能是定制化的
  • 打赏
  • 举报
回复
其实效率最重要。用一个繁琐的“方案”,不仅仅是无可靠,而且可能一点也没有减轻编程技术要求,这类所谓的“成熟方案”就无法给用户当作傻瓜方案、而可能往往成为是给程序员耽误时间、浪费时间用的工具。
  • 打赏
  • 举报
回复
不动手编程,就对接吗?
SoulRed 2019-01-18
  • 打赏
  • 举报
回复
这。。。EF
或者dapper
另外,最新的数据库可以支持在数据库查询语句内转JSON

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧