我有多个不同的API,其中不同的模式以XML或JSON格式化,我需要将其作为标准化模式输出。
所需的主要功能:
或直观地说:
Server1> [send as SOAP 1.1]> [My Server]> [Server3以XML格式接收 Server3架构]
Server3> [以XML格式发送]> [我的服务器]> [Server1作为SOAP 1.1接收 Server1架构]
或者以程序方式提出:
id=MyServer.read.SOAP[Server1.schema](Server1).id
MyServer.send.XML[Server2.schema](data_get(id), Server2)
需要将所有收到的数据存储在模型(数据库)中,以便按需提供读取。
或者您推荐使用不同的库吗?
答案 0 :(得分:1)
这比看起来有两个原因:1)SOAP和REST是不同的范例(消息传递v的资源)所以有些事情没有直接的映射,2)可维护性需要建立在任何涉及的API有所改变。
建立一个进行重新路由和访问控制的中间层服务绝对是有意义的。 TastyPie和Slumber有助于创建其余的API本身,但您似乎也希望并行公开SOAP API。所以你可能需要像pysimplesoap或SOAPy这样的东西到你的中间层的公共数据结构上。 (如果你能在出路的时候摆脱肥皂,那么你的生活就会变得更容易了。)。)。
如果所有后端服务的用户群相同,则用户名密码可能仍然有意义,但如果不同的人对不同的服务拥有不同的权限,那么最好使用oAuth库放置类似oAuth的内容,然后独立跟踪每个用户的权利。