【问题标题】:Proxy Service & Business Service代理服务和商业服务
【发布时间】:2010-03-24 07:41:38
【问题描述】:

在 Oracle 服务总线中配置消息流时,我可以使用没有业务服务的代理服务吗?如果是这样,我们会在什么场景下使用它?

【问题讨论】:

    标签: oracle service soa bus oracle-service-bus


    【解决方案1】:

    您可以创建不使用业务服务的代理服务。

    这种方法的一些原因是创建一个公共代理模块,供其他代理服务使用,这些代理服务可能会在转发到业务服务之前进行一些公共消息处理。

    【讨论】:

      【解决方案2】:

      我认为如果没有 OSB 中的业务服务调用,您无法创建代理服务,但您可以调用在没有人监听的 JMS 主题上发布的虚拟业务服务。这种代理服务可以在请求和响应之间实现数据转换(例如 XSLT),或者使用从查找表(fn-bea:execute-sql())中检索到的数据来丰富响应。
      像 OSB 这样的服务总线旨在为后端(业务)服务提供一个外观:路由到现有服务并组合现有服务。您要求的是创建更适合 Java EE 服务器或 Oracle BPEL 的新后端服务。

      更新:如果您使用管道对和阶段,您可以创建独立的代理服务,但没有路由步骤。

      【讨论】:

      • 谢谢 Miklos,即使我也有同样的想法,但你总是可以只使用一对管道来提供代理服务(因此不需要 BS),但剩下的基本问题是你什么时候使用一个管道对,你什么时候使用路由节点,我是 SOA 的新手,ALSB 文档只讨论配置而不强调“为什么?”..如果你能指导我一些好的链接,我将不胜感激如果你知道..
      • 你说得对,我已经有一年没有使用 OSB (ALSB) 了,我不记得你可以在没有路由步骤的情况下创建代理服务。当然,在这种情况下,它不是真正的“代理”。 OSB 在公司构建 SOA 时可能很有用,但绝不是必要或足够的。 SOA 与技术一样是一种业务和组织范式。您可以在网站whatissoa.com 上了解 SOA。关于 OSB 最佳实践,我不能推荐任何链接。尝试谷歌“ALSB 最佳实践”。 Oracle 至少有 2 个 OSB 培训课程(编程和管理),但我没有参加过。
      【解决方案3】:

      您可以在没有业务服务的情况下创建代理服务。一个简单的场景是假设您想从队列中获取数据,可能是 jms 或 mq,并且您不想对这些数据做任何事情。您只是想清空队列并且不想存储消息。在这种情况下,只需创建一个代理服务即可实现您的目的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-22
        • 1970-01-01
        相关资源
        最近更新 更多