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

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

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

#### 系统对接方式

一般情况下,常见的不同系统之间的对接方式有两种,一种是消息集成,另外一种是 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 调用集成方式。

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

dee37b02d9d02401c36e3b0005ae6e14.png

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

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

相关文章

php弱类型漏洞,php代码审计之弱类型引发的灾难

天融信阿尔法实验室 李喆有人说php是世界上最好的语言&#xff0c;这可能是对开发人员来说&#xff0c;确实有这方面的特点&#xff0c;因为它开发起来不像其他语言那样麻烦&#xff0c;就比如&#xff1a;弱类型&#xff0c;它不需要像java等语言那样明确定义数据类型。这给开…

大学计算机基础python第二次作业_第二次python作业-titanic数据练习

原博文 2019-10-14 14:45 − 一、读入titanic.xlsx文件&#xff0c;按照教材示例步骤&#xff0c;完成数据清洗。 titanic数据集包含11个特征&#xff0c;分别是&#xff1a; Survived:0代表死亡&#xff0c;1代表存活Pclass:乘客所持票类&#xff0c;有三种值(1,2,3)Name:乘客…

微小宝公众号排行榜_榜单 广东省技工院校微信公众号排行榜(第51期)

▼2020年10月榜单出炉&#xff01;本期榜单最大看点&#xff0c;莫过于发文33篇的劳模代表——“广东高新技术高级技校”以高达830.49的微信传播指数WCI&#xff0c;荣登第51期广东省技工院校微信公众号排行榜榜首&#xff01;截至本期&#xff0c;实力一向强劲的“广东高新技术…

word公式编辑器_【Word技巧】word使用终极技巧,工程人必会(四)

1、问&#xff1a;Word中怎么在一个英文字母上打对号&#xff1f;答&#xff1a;透明方式插入图片对象&#xff0c;内容是一个√2、问&#xff1a;Word里怎么显示修订文档的状态&#xff1f;文档修订后&#xff0c;改后标记很多&#xff0c;但是在菜单里没有“显示修订最终状态…

加载oracle属性文件,关于属性文件的详细介绍

我们通常会将Java应用的配置参数保存在属性文件中&#xff0c;Java应用的属性文件可以是一个正常的基于key-value对,以properties为扩展名的文件&#xff0c;也可以是XML文件. 在本案例中&#xff0c;將会向大家介绍如何通过Java程序输出这两种格式的属性文件&#xff0c;并介绍…

android 访问服务器sql_XSS 攻击、CSRF 攻击、SQL 注入、流量劫持(DNS 劫持、HTTP 劫持)—— 浏览器安全

今天看了 jsliang 大佬关于网络安全的文章&#xff0c;为了加深一下印象&#xff0c;自己动手写一下。 主要参考文章&#xff1a;网络安全 ——— jsliang XSS攻击 XSS&#xff08;Cross Site Script&#xff09;跨站脚本攻击&#xff0c;指的是向网页注入恶意代码&#xff0c;…

simulink和psim仿真结果不同_在HFSS进行AC耦合电容仿真优化怎么做?

AC耦合电容&#xff0c;也叫DC blocking隔直电容&#xff0c;在几乎所有的高速串行链路中&#xff0c;都可以看到它的身影&#xff0c;它的主要作用是去掉信号中的直流偏置分量&#xff0c;同时让高频分量可以顺利通过&#xff0c;类似于一个高宽带的滤波器。由于电容的焊盘通常…

民生银行 一码付 php,PHP开心码支付免签约第四方支付平台源码修复版

源码说明后台号码admin后台密码123456声明&#xff1a;该源码仅供学习出现&#xff0c;修复者不承担任何责任&#xff0c;下载安装即代表使用者自行承担责任源码安装方法需要服务器开启g11插件PHP5.6&#xff0c;主机用户推荐95云主机&#xff0c;因为已经开启所有扩展插件必须…

oracle主从表分离怎么实时更新数据_高可用数据库UDB主从复制延时的解决

MySQL主从复制的延时一直是业界困扰已久的问题。延时的出现会降低主从读写分离的价值&#xff0c;不利于数据实时性较高的业务使用MySQL。UDB是UCloud推出的云数据库服务&#xff0c;上线已达六年&#xff0c;运营了数以万计的UDB MySQL实例。除了提供高可用、高性能、便捷易用…

vp翻N_VP刀叨叨:如何让G胖给你唱生日歌

VS看起来好凶喵▼ESL欧洲&独联体区VP发推庆祝击败OG昨晚第九个比赛日&#xff0c;OG与VP的比赛无疑是大家关注的焦点&#xff0c;一边是TI双冠王&#xff0c;一边是状态开始回升的俄罗斯毛熊&#xff0c;大家都很期待他们能给我们带来精彩的比赛。不过比赛结果却出乎了不少…

秒后面的单位是什么_为什么兰州马拉松很难跑出好成绩?

如果要评选中国最难PB的马拉松&#xff0c;西北第一马兰州马拉松当之无愧可以排名第一。为什么这么说呢&#xff1f;先来看下今年兰马的一组数据&#xff0c;不管是精英选手还是大众选手&#xff0c;成绩都要比个人PB慢。国内男子冠军是管油胜&#xff0c;成绩为2小时18分58秒&…

surface php老是用不了,surface pro7触摸屏没反应怎么办

发生该问题的原因可能是&#xff1a;有很多可能原因&#xff0c;从校准到硬件或者固件。故障排查可以找到根本原因。1. 清洁屏幕将柔软的无绒布蘸上水或眼镜清洗液来清洁屏幕&#xff0c;但不要直接在屏幕上喷洒液体。2. 重启 Surface注意&#xff1a;你将需要连接键盘或鼠标到…

小优优(u盘歌曲顺序调整)_电脑从U盘启动,这三种方式你知道吗?

Windows 可以运行在数千台不同配置的电脑上, 但安装 Windows 10又是另一回事, 具体取决于你的电脑是否安装了现有的 Windows 10,以及早期版本,像是 Windows7, Windows XP, 或完全不同的操作系统(如 macOS 或 Linux)。大多数情况, 安装系统都依赖于主硬盘HDD或SSD以外的设备启动…

unity vs没有智能提示_Unity博主营地你不可不知的Unity C#代码小技巧

「Unity博主营地第一期」于2019年11月开启&#xff0c;现已收到数百篇原创投稿。每周根据Unity Connect社区反馈&#xff0c;帮助大家发现最优质、最干货、最受欢迎的博文作品。开门见山的说&#xff0c;这篇文章干到挤不出一点水分。文章主要针对Unity初学者&#xff0c;相信读…

python123数值运算_python123中 Hello World的条件输出 和数值运算

描述 获得用户输入的一个整数&#xff0c;参考该整数值&#xff0c;打印输出"Hello World"&#xff0c;要求&#xff1a;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪…

苹果sf字体_苹果UI设计的改变意味着什么?

WWDC虽然已经过去了一段时间&#xff0c;虽然没有什么硬件产品&#xff0c;但还是给我们带来了许多新的惊喜。但我们这篇文章不谈技术问题&#xff0c;只谈苹果的UI变化。因为这可能是近10年来苹果第二次颠覆性的升级&#xff0c;上次还是2013年的iOS7的全面扁平化。从设计的层…

cuda卸载_Ubuntu18.04英伟达显卡驱动、Cuda安装

一、显卡驱动安装1. 准备工作禁用BIOS中的secure boot&#xff0c;因为此方法使用第三方源安装显卡驱动&#xff0c;不禁止secure boot会导致安装的驱动不能使用&#xff0c;禁用也不会有多大安全隐患。2. 禁用nouveau禁用nouveau&#xff0c;这是ubuntu默认使用的开源显卡驱动…

内存条能4+8混插吗?_笔记本内存条双通道提升有多大?实测FORESEE,你知道好处在哪吗...

不知道大家发现了没&#xff0c;最近存储类产品、内存条普遍价格都涨起来了&#xff0c;后悔年前没买内存条给我的暗夜精灵3升升级&#xff0c;至今还插着一根8G的条子&#xff0c;其实日常用也够了。不过&#xff0c;今年打算做做视频&#xff0c;搞搞线上直播&#xff0c;所以…

python计算期望值_机器学习:计算方差时为何除以n-1

小弟准备了数据结构、Java、大数据、AI、面试题、python等各种资料 需要领取等朋友麻烦 转发此文&#xff0c;然后私信【学习】即可获取设样本均值为​&#xff0c;样本方差为​&#xff0c;总体均值为​&#xff0c;总体方差为​&#xff0c;那么样本方差​有如下公式&#xf…

程序的图标无法改变_安卓微信7.0.7内测版发布,细节更新,小程序功能优化

昨天&#xff0c;微信 7.0.7 for Android 内测版悄然发布&#xff0c;如何参加内测可以咨询本人。按照近来的惯例&#xff0c;安卓的内测版的功能会在随后的更新iOS正式版中体现&#xff0c;并且要先于安卓正式版发布。下面我们就来简单介绍一下本次更新的具体内容。一、「…」…