| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 对SOA的浅探索——基于python的XML-RPC实现 -> 正文阅读 |
|
[网络协议]对SOA的浅探索——基于python的XML-RPC实现 |
前言????????近期项目都是和SOA相关的内容,笔者刚接手这个项目的时候也挺懵圈的。就对这个SOA框架进行了一番探索。 SOA(面向服务架构)_百度百科面向服务架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。https://baike.baidu.com/item/SOA/2140650? ? ? ? SOA就是面向服务架构,是个啥意思呢,通俗的来说就是函数功能接口化,客户端可以调用接口得到相应的功能。这么说可能还是有点抽象。举个例子:一个板子能控制IO口的高地电平,我发个{"id":1,"s":0}数据给这个板子,就能将引脚1设置为低电平。这个数据解析并实现引脚控制这样的功能就是板子对于我所开放出来的功能。我发送这样的数据格式,就是我对这个功能服务的调用方式,也就是通讯协议。对于SOA也一样,它也有自己的一套类似的通讯协议。 ? ? ? ? SOA作为服务架构,有诸多实现方法,例如SOAP、XML-RPC、DDS等等。 进一步探索库准备? ? ? ? 单纯从概念上,作为程序员估计得不到直观的体验。这里,我选取了XML-RPC作为探索方向。因为SOAP库没安装成功,DDS库结构繁琐,对于上手及其不友好。XML-RPC其实python有自带库,所以不用自行安装。 代码准备? ? ? ??? ? ? ? 为了更方便的体现服务的可增减效果,我专门用一个.py文件来存放服务内容:
这里呢,我实现了两个服务,一个是加法,一个是减法。运行过程中会进行print打印结果。 再来写个服务端:
再来写个客户端:
运行效果展示先运行服务端: 可以看到,打印出了被注册的服务。 再运行客户端: ?顺利的打出了运行结果。 再看看服务端是否有啥变化呢: ?也打出了运行结果,因为我们在服务功能中做了结果打印的。如果我们把其中一个方法做一下改进:
将加法的打印注释掉,重新运行服务端和客户端,可以看到客户端也不会再打印加法的结果: ?由此可见,服务的运行实际上也就是在服务端上运行。因此,调用服务,可以理解为给服务端发送操作指令。 简评????????服务动态化是SOA架构的一大特色,在这个框架下,能够注册各种各样的服务,说白了就是开放各种各样的功能,客户端需要什么功能就调用什么功能,实现模块黑箱化,也促进了模块化开放的理念。 ? ? ? ? 把这框架技术放到Jetson Nano上又会碰撞出怎样的火花呢! 相关代码已打包上传,免积分: |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 7:30:39- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |