2011-05-05 78 views
1

我一直在阅读WCF和来自背景,我们没有使用Web服务,我试图找出通过数据库使用Web服务的比较优势。我可以肯定地说,当你尝试与外部应用程序进行交互时,你需要自动将库存管理应用程序中的材料订单发送给供应商订单放置应用程序。但在内部,我试图看到有用性。SOA vs数据库

在中央数据库上可以在两个不同的系统上通过两种不同语言的不同应用程序进行通信。假设您的客户下了一个订单,您使用Java编写的应用程序将其存储在您的MySql数据库中,然后发货层的人员通过他的应用程序接收订单,通过该程序从MySql自动检查新订单。所以我不确定Web服务在哪里适合内部的整个计划。什么是你想要通过数据库使用SOA的时候的一些例子?

回答

5

我不确定您是否可以将SOA(如此广泛的术语)与数据库进行比较。在维基百科对SOA的定义是

面向服务的架构(SOA)是 基于SOA的一套灵活的系统 开发和整合在 computing.A系统的阶段过程中使用的设计原则 会打包功能作为一套可互操作的服务,可用于来自多个业务领域的多个独立系统。 维基百科引用

因此,它不只是两个应用程序是跟一个数据库,你说。这是对整个业务系统的更广泛的了解。 SOA层将为所有可视为消费者的上游应用程序提供服务。 SOA层可能与任何数量的数据库进行通信。可以同时将所有的MySQL,SQL Server,Informix都加入到MySQL中。这些SOA层的消费者不必担心下游系统,他可以使用服务中可用的业务功能。

希望这可以让你了解SOA的全部内容。关于什么SOA是通过这个维基百科文章http://en.wikipedia.org/wiki/Service-oriented_architecture

+0

另一篇不错的文章关于MSDN中的SOA http://msdn.microsoft.com/en-us/library/aa480021.aspx – gordanvij 2011-05-05 06:59:54

+0

这碰到了头上的钉子。谢谢!!你说得对,这是一个广义的术语。 SOA似乎非常紧密地合作,可以全球化很多业务流程。 – Algorhythm 2011-05-05 07:01:33

+0

我会阅读那些。优秀!! – Algorhythm 2011-05-05 07:02:03

1

您通常会使用数据库作为服务的存储机制 - 这不是SOA vs数据库的选择 - 这是“我需要在我的组织边界之外公开我的数据/服务吗?”的问题。是? - >使用服务。没有? - >只需要一个数据库。

+0

那么,您的意思是说SOA不是组织内的首选选项吗? – 2011-05-05 20:22:45

+0

soa在您的组织内仍然是一个有效的选择,但这是一个折衷:实施服务的时间更多,但如果您将来可能需要在组织之外公开您的数据,则需要更多的面向未来的预防:) – Nathan 2011-07-23 10:28:03

2

使用数据库,整合的很好看的是很多时候不是一个很好的主意

  1. 与数据的基础上工作,当你访问的数据层其他应用程序 - 你不能访问业务层(除非作为存储过程实现)

  2. 直接访问数据库时,你不能出来改变DB模式更新的其他应用程序

这些只是一些例子 - 还有更多