首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WCF是向Oracle Service Bus公开服务的好选择吗

WCF是向Oracle Service Bus公开服务的好选择吗
EN

Stack Overflow用户
提问于 2011-04-13 04:49:13
回答 2查看 3K关注 0票数 2

我们公司有一个Oracle服务总线体系结构(OSB)。我的部门需要向此OSB公开一些服务,这些服务稍后将由跨不同部门和技术的不同应用程序使用。我有7-8个应用程序,而且都是基于微软的(VB6、C#、SQL Server)。我的问题是,WCF是否是开发基于数据的服务的好选择?它与OSB集成得很好吗?是否存在任何集成问题?在这种情况下,最佳实践是什么?应该使用什么wcf传输协议?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-13 12:20:56

我参与了一些成功的项目,这些项目将WCF与OSB集成在一起,使用SOAP/HTTP作为传输协议。

根据以前的经验,有两个需要避免的关键风险:

WCF架构描述--考虑到两个框架都支持编排,你需要理清编排的位置,而且

  1. 有各种奇怪和古怪的特性,可以提供performance benefits.
  2. Security集成--虽然两个框架都提供了通用安全标准的实现,但我几年前的经验是,它们不能很好地结合在一起。

如果方法是用WCF来提供数据集成,用OSB来提供访问和执行的中心点(以及可能的集成),那就太棒了。这是一条清晰的底线。

票数 4
EN

Stack Overflow用户

发布于 2011-04-14 13:07:45

我同意凯文的回答。据我所知,WCF在微软产品上表现得相当不错,但在其他产品上就不是那么好了。如果您保持您的WCF服务实现相当简单,并将所有繁重的工作(例如安全性、策略、寻址)都留给OSB,那么您可能就没问题了。

另一个需要注意的陷阱是,WCF似乎将XML类型绑定到本机.NET类型。虽然这对于大多数类型的人来说都是可以的,但有一件事让我们很头疼,那就是约会。在.NET中,日期是一个原始类型,而不是一个对象,所以当您尝试将其设为空时,它就会消亡。您可以通过将它们作为字符串(yuk)处理并在应用程序中来回转换来解决此问题,或者我相信您也可以创建自定义绑定,其中您可以将date类型包装在DateWrapper对象中,以迎合空值。

就我个人而言,我喜欢将服务总线模型作为托管在其他地方的实现的外观,因此从这个角度来看,我认为在公开OSB的服务的背后使用什么技术并不重要。

  • 如果您想使用WCF,因为您喜欢它的功能,并且它可以很好地集成到您的应用程序中,那就使用它吧。

  • 如果您选择它只是因为它与服务有关,而且它似乎非常适合于对象服务总线,那么也许可以看看是否有其他替代方案可以降低您和您的开发团队的管理费用。

在传输方面,如果您的数据服务是关于以非事务性方式访问数据(例如,检索客户详细信息),那么SOAP/HTTP就可以了。如果您正在处理事务数据,可以考虑基于消息的传输,如JMS或MQ,因为根据经验,对WS-ReliableMessaging的支持还不是无处不在,也不是一致的。

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5641462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档