2010-03-24 92 views
0

在Oracle服务总线中配置消息流时,我可以在没有业务服务的情况下使用代理服务吗?如果是的话,我们会使用哪些场景?代理服务和业务服务

回答

1

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

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

0

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

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

+0

谢谢米克洛斯, 即使我以为同样的事情,但你总是可以有一个管道对代理服务(因此BS不是必需的),但基本问题仍然是什么时候你使用管道对和你什么时候使用路由节点,我是SOA的新手,ALSB文档只是谈论配置而不强调“为什么?”。如果你知道,如果你能指导我找到一些好的链接,我会非常感激。 – hakish 2010-03-24 11:43:14

+0

你是对的,我现在还没有使用OSB(ALSB)一年,而我不记得你可以创建一个没有路由步骤的代理服务。当然,在这种情况下,它不是一个真正的“代理”。当公司构建SOA时,OSB可能非常有用,但绝不是必要或不够。 SOA和技术一样是一个商业和组织范例。您可以在http://whatissoa.com网站上了解SOA。关于OSB的最佳实践,我不能推荐任何链接。试试谷歌'ALSB最佳实践'。 Oracle至少有2个OSB培训课程(编程和管理),但我没有参加。 – 2010-03-24 21:13:02

+0

欣赏您的输入。 – hakish 2010-03-25 06:01:23

0

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