Web services 异步操作的命名约定

Web services 异步操作的命名约定,web-services,naming-conventions,Web Services,Naming Conventions,我有一个web服务,它通过异步方法在服务器上触发一些长操作。每个操作有3种方法: 其中一个启动操作并立即返回票号 其中一个从客户处连续呼叫;它接收票据编号并返回一个布尔值,表示操作是否完成 只有在操作完成后才调用最后一个;它接收票据编号并返回操作结果 我不知道如何调用这个方法。我考虑调用如下方法: 操作名称\u开始 操作名称\u已就绪 操作名称\u获取结果 但我担心我会重新发明轮子。这种使用模式有什么众所周知的命名约定吗?由于没有答案,我认为在这个问题上显然没有一个广泛使用的标准,所以我

我有一个web服务,它通过异步方法在服务器上触发一些长操作。每个操作有3种方法:

  • 其中一个启动操作并立即返回票号
  • 其中一个从客户处连续呼叫;它接收票据编号并返回一个布尔值,表示操作是否完成
  • 只有在操作完成后才调用最后一个;它接收票据编号并返回操作结果
我不知道如何调用这个方法。我考虑调用如下方法:

  • 操作名称\u开始
  • 操作名称\u已就绪
  • 操作名称\u获取结果

但我担心我会重新发明轮子。这种使用模式有什么众所周知的命名约定吗?

由于没有答案,我认为在这个问题上显然没有一个广泛使用的标准,所以我可以自己使用

我选择坚持:

  • 操作名称\u开始
  • 操作名称\u已就绪
  • 操作名称\u获取结果

    • 很遗憾,你第一次没能得到答案。我强烈建议阅读本文,以便更好地理解web服务命名的原则和重要性

      关键是要记住从消费者的角度命名,并最大限度地提高可消费性和可重复使用性。记住,当您调用服务时,您正在对对象执行操作,也就是说,您应该有一个动词和一个名词。还要记住,web服务与面向对象语言中的函数非常相似,因此考虑web服务函数的代码是什么样子是很有帮助的

      考虑诸如

      这样的场景是有帮助的。
      • 如果我更改web服务调用的系统,会发生什么
      • 是否有其他场景可以调用此服务
      • 服务的粒度应该如何?这些决策对绩效有什么影响
      在不了解您试图实现的业务背景的情况下,我们将假设一个提交和电子支付的基本示例

      在这种情况下,您可能有:

      • 电子支付\u SendPayment(注意:使用“发送”保留业务上下文,而不是技术上下文;发送可以通过电子邮件、post、Web服务。从您的“开始”示例中,您开始了什么;这里,服务的意图是显而易见的)
      • 电子支付\u CheckStatus(注意:这是从消费者的角度来看的。检查处理状态很可能是一项通用服务,可以按照
        CheckProcessingStatus(TicketNumber tN)
      • 电子支付\u retrieverecept(注意:具有语义链接的请求/响应模式。维护了收付款的业务上下文)

      命名是高度上下文化的,上述内容并不完美,但希望它能帮助你自己和其他偶然发现这一点的人。

      那么你用@Doug做了什么?