近期,有客户提及:你们有没有对接技术相关的介绍,不同系统之间的对接技术,现在企业内部系统比较多,有自主开发的,有外部采购的,所以我们想了解一下对接技术相关的信息。

小知马不停蹄的做了下功课, 整理了相关信息,详情如下!

#### 系统对接方式

一般情况下,常见的不同系统之间的对接方式有两种,一种是消息集成,另外一种是 API 调用,两者各有利弊。

##### 消息

消息,是一个数据通道,可以对数据进行加密或对数据通道进行加密,安全性高,但是在进行大量数据传输时,可能会存在延迟。

##### API 调用

API,是调用 http 接口,知行 EDI 系统可以封装好接口,开放 API 供其它系统调用,不过这种方式就是安全性没那么高,但是具有实时性。

总的来说,消息传输具有高安全,高延迟的特点,而 API 则相反,具有低安全,低延迟的特点。如果是组织内部系统的对接,对数据的实时性要求较高,建议采用 API 调用方式,如果是组织内部和外部进行系统对接,对数据的安全性要求较高,建议采用消息的方式。

#### 常见的系统对接技术

小知带大家一起了解下常用系统对接技术,本文主要提及 EDI,Web 和 WebService,REST和JDBC。这五种对接方式,较于 EDI,大家应该更熟悉后面四种技术。其中,EDI 是 属于消息集成方式; Web 是 EDI 的一种临时替代方案; WebService,REST 和 JDBC 均属于 API 调用集成方式。

##### EDI

用于和外部交易伙伴做核心业务数据传输(解决的是企业间的问题)属于消息集成方式。

EDI 自 20 世纪 60 年代以来就被广泛使用,但如今它正在被应用于更多新的用途,使供应链自动化、数字转换成为可能,甚至成为工作流和业务流程自动化的一个关键部分。点击下方链接,对 EDI 进行全面的解读,帮您短时间内快速掌握 EDI 基础知识。

扩展阅读: <a style="color=blue;" href="[导读] EDI 是什么? | EDI通信专家">EDI 是什么?</a>

如您想了解更多关于 EDI 知识,可联系 EDI 通信专家小知,很乐意为您答疑解惑。

##### Web

这里的 Web 是指一个 Web 页面,类似于 Portal 网站,通过提供指定用户及密码的方式,授权用户登录 Web 网页登录,去查看相关业务数据,并填写表单数据,提交给后台。 Web 方式是 EDI 的一种替代方案,主要提供给不具备 EDI 能力的合作伙伴使用,以此实现业务数据传输。

基于小知过往的实施经验,了解到提供 Web 方式的,汽车行业主机厂居多,比如 Tesla/特斯拉,上汽大众等。

##### WebService

WebService的特征:

- 基于 SOAP 协议的,数据格式为 XML

- 只支持 HTTP 协议

- 不是开源的,但可以被任意一个了解 XML 的人使用

- 只能部署在 IIS 上,WebService 是两个系统间的远程调用,使两个系统进行数据交互,如应用:天气预报服务、银行ATM取款、使用邮箱账号登录各网站等。

WebService核心组件:

- XML和HTTP

- SOAP: 简单对象访问协议

- WSDL: WebService 描述语言

- UDDI:统一描述、发现和集成协议

WebService 之间的调用是跨语言的调用,发送 Http 请求,使用的数据格式是 XML 格式。

假设一个 Web Service A 提供允许其他应用程序通过 URL 获取用户信息的功能:[GET] http://www.abc.com/{id}。id是用户的唯一标识符,请求此 URL 将获得用户信息。现在假设浏览器、手机、桌面应用程序的用户都要获取服务 A 提供的用户信息,这三者只需要请求服务 A 提供的 URL 地址,并输入用户 id 信息即可。至于这三个不同客户端的实现方式(编程语言)是什么与服务 A 没有任何关系,只要能够解析出服务 A 返回的 XML 文档即可。这样,应用程序之间交换数据就可以不用依赖于具体的语言和环境。这就好比不同国家不同语言的人,只要能够知晓对方语言的语法结构,两个人就可以进行交流。

目前,WebService 主要有两大流派:

- 基于 SOAP 的 WebService : SOAP(简单对象访问协议)是一种基于 XML 的协议,用以访问 Web Service。其接口以机器可处理的格式进行描述,称为 WSDL(Web服务定义语言)文档。通过使用标准的的 XML 文档来描述 Web Service,在 XML 文件中,会详细记录接口的信息,如消息的格式、传输协议以及交互的位置等信息。

- 基于 REST 的 WebService :REST(Representational State Transfer)是一种软件架构,它使用 JSON 来描述数据格式,最重要的是 HTTP 传输协议对 REST 来说是非必须的。

WebService 属于 API 调用集成方式。

##### REST

REST 是一种设计 API 的模式。最常用的数据格式是 JSON。由于 JSON 能直接被 JavaScript 读取,所以,以 JSON 格式编写的 REST 风格的 API 具有简单、易读、易用的特点。

REST 是Representational State Transfer(表现层状态转移)的缩写,它是由罗伊·菲尔丁(Roy Fielding)提出的,是用来描述创建 HTTP API 的标准方法的,他发现这四种常用的行为(查看(view),创建(create),编辑(edit)和删除(delete))都可以直接映射到 HTTP 中已实现的 GET,POST,PUT 和 DELETE 方法。

REST 是面向资源的,这个概念非常重要,而资源是通过 URI 进行暴露。URI 的设计只要负责把资源通过合理方式暴露出来就可以了。对资源的操作与它无关,操作是通过 HTTP 动词来体现,所以 REST 通过 URI 暴露资源时,会强调不要在 URI 中出现动词。比如:左边是错误的设计,而右边是正确的。

GET /rest/api/getDogs --> GET /rest/api/dogs 获取所有小狗狗

GET /rest/api/addDogs --> POST /rest/api/dogs 添加一个小狗狗

GET /rest/api/editDogs/:dog_id --> PUT /rest/api/dogs/:dog_id 修改一个小狗狗

GET /rest/api/deleteDogs/:dog_id --> DELETE /rest/api/dogs/:dog_id 删除一个小狗狗

左边的这种设计,很明显不符合 REST 风格,上面已经说了,URI 只负责准确无误的暴露资源,而 getDogs/addDogs...已经包含了对资源的操作,这是不对的。相反右边却满足了,它的操作是使用标准的 HTTP 动词来体现。

REST 很好地利用了 HTTP 本身就有的一些特征,如 HTTP 动词、HTTP 状态码、HTTP 报头等等,REST API 是基于 HTTP 的,所以你的 API 应该去使用 HTTP 的一些标准。这样所有的 HTTP 客户端(如浏览器)才能够直接理解你的 API(当然还有其他好处,如利于缓存等等)。REST 实际上也非常强调应该利用好 HTTP 本来就有的特征,而不是只把 HTTP 当成一个传输层这么简单了。

HTTP 动词

- GET 获取一个资源

- POST 添加一个资源

- PUT 修改一个资源

- DELETE 删除一个资源

实际上,这四个动词实际上就对应着增删改查四个操作,这就利用了 HTTP 动词来表示对资源的操作。

通俗的讲 REST 就是:

- 看 Url 就知道要什么

- 看 http method 就知道干什么

- 看 http status code 就知道结果如何

更简洁的来说,就是用 URL 定位资源,用 HTTP 描述操作。

REST 是属于 API 调用集成方式。

##### JDBC

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行 SQL 语句的 Java API,可以为多种关系数据库提供统一访问,它由一组用 Java 语言编写的类和接口组成。JDBC 提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。

JDBC 是对数据库操作的接口抽象,而不同数据库厂商的数据库驱动程序则对应 JDBC 接口实现,通过抽象出 JDBC 接口,应用程序和实际的数据库驱动,即JDBC实现解耦。

常用的 JDBC 接口包括:Driver 接口、Connection 接口、Statement 接口、ResultSet 接口。

JDBC API 允许用户访问任何形式的表格数据,尤其是存储在关系数据库中的数据。

执行流程:

- 连接数据源,如:数据库。

- 为数据库传递查询和更新指令。

- 处理数据库响应并返回的结果。

JDBC是属于 API 调用集成方式。

以上的资料集锦,希望对阅读本文的有缘人提供一定的帮助。如有描述不妥或有争议的地方,欢迎一起探讨。

webservice 实现与his系统对接_[Share] EDI 及其他常见系统对接技术相关推荐

  1. 小白重装系统教程_小白新版 | U盘重装系统教程

    以下是视频教程: win10 U盘重装视频教程:点击查看 win7 U盘重装视频教程:点击查看 xp U盘重装视频教程: 以下是详细图文教程:( 以win10系统为例 ) 一.准备工具 1.一个U盘( ...

  2. 华为8x能搭载鸿蒙系统吗,华为p50会用鸿蒙系统吗_华为p50会搭载鸿蒙系统吗

    华为p50将在鸿蒙系统发布会上亮相.自从它在鸿蒙系统发布会上亮相以来,它是否会配备鸿蒙系统的问题就成了你的问题,所以边肖将向你介绍华为p50是否会使用鸿蒙系统. 1.华为p50会成为鸿蒙系统的首发手机 ...

  3. 小米用上鸿蒙系统,小米手机可以使用鸿蒙系统吗_小米手机能用鸿蒙系统吗

    昨天发布的鸿蒙系统现在是非常非常的火,看到很多小伙伴在分享鸿蒙系统多么多么的好用的时候,小编顿时感觉自己手上的西小米手机不香了.那么小米手机能不能使用鸿蒙系统呢? 1.小米手机能使用鸿蒙系统吗 其实早 ...

  4. linpus linux 换win7,联想 lenovoIdeaPad可以装windows7系统吗_联想 lenovoIdeaPad怎么安装win7系统-win7之家...

    刚买了一台联想 lenovoIdeaPad笔记本电脑,想安装windows7系统,但不知道能不能安装,也不知道装完win7系统之后系统运行的流畅不流畅,小编特意查了下联想 lenovoIdeaPad笔 ...

  5. erp系统开源_用于制造的开源ERP系统

    erp系统开源 当今的制造挑战要求集成系统. 随着世界时事的发展,制造业正看到需求快速变化,满足需求的能力下降以及供应瓶颈,这些已经变得难以预测和管理. 最重要的是全球经济下滑,这影响了当今和可预见的 ...

  6. python审批系统开发_通用审批流程快速开发系统案例分享

    公司组织机构是一个树形架构,先前新加盟公司时都是总部直接添加在某个子公司下,因审计需要,要求通过下面公司申请,逐个角色处理来完成新公司的开通,开发任务最后落到我这里,时间紧,任务重,先前也没接触多少审 ...

  7. Linux系统漏洞复现分析,Linux环境下常见漏洞利用技术

    记得以前在drops写过一篇文章叫 linux常见漏洞利用技术实践 ,现在还可以找得到(https://woo.49.gs/static/drops/binary-6521.html), 不过当时开始 ...

  8. java ee 系统视频_更好的网站登录系统,EE协作登录系统

    java ee 系统视频 Preface 前言 This article introduces an authentication and authorization system for a web ...

  9. 动力环境监控系统论文_浅谈动力环境监控系统技术标准

    动力环境监控系统技术标准规定了监控系统各因素指标.功能,对实现机房设备故障自动检测.无人化值守.降低维护保养成本的动环系统有重要的作用和意义.运用动环监控,能解决成本高.效率低.告警慢.信息落后能问题 ...

最新文章

  1. 前后端分离djangorestframework—— 在线视频平台接入第三方加密防盗录视频
  2. HDU 6435 CSGO 求多维曼哈顿最远距离
  3. C++虚函数和纯虚函数的区别
  4. php+mkdate,PHP时间工具种
  5. 完美下巴标准_平行下颚抓
  6. OpenCV 2.4.0 正式版发布,开源计算机视觉库
  7. Qt文档阅读笔记-QSslConfiguration官方解析与实例
  8. rpm | 升级软件包
  9. Kafka生产者源码解析
  10. java编程指南100本电子书
  11. 天正双击墙体不能编辑_20个天正CAD常备技巧,助你神速绘图!
  12. 城市大脑总体框架和主要平台
  13. win7怎么查找网络上的计算机,Win7系统无法查看工作组计算机如何解决? Win7系统查看工作组计算机的方法...
  14. python struct pack unpack
  15. 【中级软考—软件设计师】2操作系统2.6段页式存储【**】:2.6.1页式存储
  16. Java第一周学习总结
  17. 拍照爱摆“剪刀手”?呵呵,1.5米内100%还原指纹
  18. 隐藏excel分组框中的边框
  19. HashMap的树化门槛为什么是8
  20. 去雾论文A real-time fast defogging system to clear the vision of driver in foggy highway using minimu...

热门文章

  1. 卧龙吟游戏服务器不显示,卧龙吟你必须知道的隐藏特性
  2. android 滚动画画,Android利用ViewPager实现可滑动放大缩小画廊效果
  3. chardet java_java实现文件编码监测
  4. OpenCV学习笔记(七):形态学morpholgy(1):腐蚀/膨胀:enrode(),dilate()
  5. 使用Hadoop自带的例子pi计算圆周率
  6. Node.js 教程
  7. 设计模式1—创建型模式
  8. linux 和服务通讯,Android 的Activity和Service之间的通信
  9. oracle序时账是什么,序时账和明细账区别是什么
  10. 商城报表系统html5,关于html5:推荐这几款主流报表产品