Oracle Service Bus - 通过 telnet 进行 Unix 授权
我对 Oracle 服务总线完全陌生。 我面临的问题是 OSB 11g 将在相当特定的环境中使用,这意味着 - OSB 需要通过 telnet 将 CSV 格式的消息发送到旧系统。在此之前,必须使用 Unix 登录名和密码对连接进行授权。由于登录/通行证授权对于 FTP 或 HTTP 等传输相当简单,因此我提出了两种解决方案:
- 使用适当的授权过程开发新的套接字传输(即使用 http://sadun-util.sourceforge.net/) 基于 OSB 安装
- JMS 附带的示例传输,使用 JCA 套接字适配器和带有授权方法的 Java Callout在请求管道中 - 有效吗?
我的问题是解决该问题的最佳方法是什么? 是否有处理此类问题的首选方法?
预先感谢您的回答。
问候,
P。
I'm completely new to Oracle's Service Bus.
The problem I'm facing is that OSB 11g is to be used in a rather specific environment meaning - OSB needs to send CSV formatted messages over telnet to a Legacy System. Before that the connection must be authorized with a Unix login and password. As login/pass authorization is fairly simple with such transports as FTP or HTTP I came up with two solutions:
- developing a new socket transport with an appropriate authorization procedure (ie. using http://sadun-util.sourceforge.net/) basing on sample-transport that comes with the OSB installation
- JMS using JCA socket adapter and Java Callout with an authorization method in request pipeline - is the one valid?
My question is what is the best way to resolve the problem?
Is there any preferred way of dealing with such problems?
Thanks in advance for your answers.
Regards,
P.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
好吧,
经过一些测试和浏览,我得出两个结论。
每当您访问的服务要被广泛使用时,开发自定义传输都是值得的。
另一方面,您可以使用 Java Callout 进行自定义握手(本例中使用 apache commons 通过 telnet 在 unix 中登录/密码/访问密钥)。此外,您可以使用服务帐户来授权用户。
就我而言,解决方案如下:
客户端 Web 服务的业务服务。使用进行握手的 Java Callout 代理访问 BS。下一阶段发送消息并提出请求。
Alright,
after some testing and browsing I came to two conclusions.
Development of a custom transport is worthwile whenever the service you're accessing is to be widely used.
On the other hand you can use Java Callout that does custom handshake (this case login/password/accesskey in unix over telnet using apache commons). What is more, you can use a Service Account to authorize the user.
In my case solution is like:
Business Service for Client Webservice. Proxy accessing BS with a Java Callout that does handshake. Next stage sends message and demands the request.
我并不完全清楚您的基础设施和要求,但会尝试在黑暗中射箭。
OSB 应该协调您的沟通。因此,设置如下。
首先,OSB 公开具有 SFTP 功能的代理服务。为此:
1. 创建代理服务 -> 任何 XML 类型 ->选择
SFTP
作为协议2. 输入目的地:sftp://主机名/文件夹
3. 通过提供所有必需的凭据和配置来配置此 SFTP 传输
接下来,将此代理服务连接到您的基础设施中,强制所有需要通过 SFTP 发送文件的应用程序使用此服务来传输文件。
I am not entirely clear of your infrastructure and requirements, but will try and shoot an arrow in the dark.
OSB should broker your communications. Hence, The setup would be as follows.
First, OSB exposes a proxy service with SFTP capabilities. To do this:
1. Create Proxy Service -> Any XML type -> select
SFTP
as protocol2. Enter the destination as sftp://hostname/folder
3. Configure this SFTP transport by providing all the required credentials and configuration
Next, wire this proxy service into your infrastructure, mandating all applications that need to send out file over SFTP to use this for transporting the file.