远程服务库API

rsl的Python项目详细描述


rsl-远程服务库

这个模块提供了一个接口集合和一个“插件”机制来 以统一的方式使用不同的协议和技术访问远程服务 太好了。

该库是作为“命令行shell服务”的一部分开发的 一体化”。它已经被分成了自己的包,允许模块化 安装,如果可能对其他项目也有用。

rsl是一个纯客户端库,允许轻松访问web服务。它 提供服务协议和技术的完整抽象,并尝试映射 python方法的每个远程服务。因此,从程序员的角度来看, 两者之间应该几乎没有区别(除了一些最小的样板)。 本地方法调用和远程调用。甚至事实上,无论是soap、json还是 无论使用什么协议,都应该完全隐藏(但不可访问)。

图书馆的主要目标之一是,使增加更多 Web服务和传输协议,而不更改所有其他部分。这个 允许逐位扩展库并使每个包更 可维护。它还允许将安装底纹保持在最小 (只需安装所需的模块)。

文件

文档目前处于非常糟糕的状态,但这将很快改变,因为 原料药稳定。此外,不断增长的用户群提供反馈, 将进一步缩短此时间范围;)。

如上所述,这些模块的核心是接口定义,以及 使用setuptools和zope的“协议插件”发现机制 接口。一般来说,给定接口背后的原理是 web服务客户机可以分成不同的组件。

Transport:
Every remote access needs some kind of transport. Transport protocols are plug-able and can easily be replaced to allow easier integration into other frameworks like Twisted.
Description:
As there are many different service description formats, which often support multiple service protocols, it is just logical to implement service descriptions as separate components.
Proxy:
These kind of components have the knowledge to convert the information from a description and protocols standards into a usable Python object, which acts as proxy to invoke remote services.
De/Serialiser:
As different protocols allow different encoding formats, de/serialisers, are implemented as independent components, which allows to reuse them wherever appropriate.
Typesystem:
Often XML based encoding standards, feature an own type system (mostly expressed as XML-Schema). Such Typeystems, will also be used for JSON, and probably other future encoding standards will follow. A Typesystem, tries to map between Python data types and wire-representation, and allows the actual user, to ignore the technical details.

上面所有这些组件都是独立实现的,就像 可能,便于更换,高重用性,大扩展性 和灵活性,当然容易安装。

以下模块与此模块一起开发:

有关如何使用库的示例,请参见附加模块, 测试也包括在内。

状态

该库在命令行服务集成方面工作得非常好。 使用python eggs和easyinstall,安装非常容易。 然而,由于整个项目的规模越来越大,而且还处于早期阶段 发展阶段,有很多事情,没有解决那么优雅, 很有可能,在不久的将来会发生一些重构。 然而,大多数重构将使代码基更符合 政治公众人物-08。api更改的高度可能性也是导致这种情况的原因 发行版目前分类为alpha

一个重要的任务是,尽可能减少图书馆的不便 这也将极大地改善图书馆的整体设计。

type系统组件有点麻烦,目前只有一个 可用于它的实现(XML模式)。我希望,这里的情况, 将改进,因为至少有第二种类型的系统实现可用。

评论

由于这个库也支持soap,所以可能会有一个问题:“为什么 soap库?“。简单的答案是,没有工作的客户端 soap库可用。我测试了三个(或者四个?)主要的soap库, 他们中没有一个使用我需要的web服务。其中大部分 对于我的用例来说,soap库太简单了,其他的有一些 主要的互操作性问题。(所以有两个原因:扩展 可用的图书馆将是相同的努力,并修复一个完整的功能。 库,因为代码基础不好,所以会更加努力。)

更改

0.2.1(2008-12-09)

  • 固定源分发(缺少cchanges.txt文件)

0.2.0(2008-12-03)

  • 初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java从提供的列表中获取非重复值   java为什么Thymeleaf从HashMap返回字符串?   java将矩阵推到窗口的中心   java如何包含webapp_配置。txt到播放的dist-zip?   java实现产品密钥   WebSphereJava。lang.UnsupportedClassVersionError:JVMCFRE003错误的主要版本;class=org/slf4j/impl/StaticLoggerBinder,偏移量=6   使用java创建动态树结构   java为什么JVM在一次繁忙的旋转暂停后,会对同一代码块显示更多的延迟?   java无法使用distrolessdebug访问jarfile docker   java JMeter如何将多行响应数据传递给ForEach控制器请求   java空指针异常碎片活动   java改变JFileChooser的外观   性能Java位集:高效地查找所有真实位?   java可扩展的recyclerview实现