想象一个拥有许多部门和系统的组织,其中许多部门和系统必须共享数据。例如,一个部门/系统负责更新客户数据,但许多部门/系统必须能够读取客户数据并将其与自己的数据相关联。在这种情况下,您对使用Web服务跨多个系统共享此核心业务数据有何看法?
似乎有几种使用模式需要考虑:
请注意,这些使用模型中的每一个都尝试使用Web服务来检索一个组织/网络中的数据。是否可以制作Web服务以适应这些使用模式?
答案 0 :(得分:1)
以三种方式(通过Web服务)共享数据确实是可能的,但还有很多其他因素会推动正确的方法。
需要考虑的建筑方面:
与其他系统集成时需要考虑的事项:
如果您的数据存在于为事务系统提供服务的单个数据库中,则对其进行的任何查询都会影响该系统的性能;如果你有很多系统打到那个数据库,那么你就有了一个关键的数据基础设施来保护 - 它会下降,所以其他一切都是。
为支持事务系统而编写的数据库通常不适合分析系统。我工作的一个常见方法是将数据的副本ETL存储到为此目的而设计的存储库中。另一个优点是(因为它在一个单独的系统中),你不会在任何一方遇到性能问题。
假设您将数据ETL输出到新的存储库,哪个源是权威的?可能有几个应用程序将ETL数据集成到集中的Data Mart或数据仓库中 - 这就成了“真相的来源”。
最后 - 处理数据(逻辑上和物理上)与面向对象的编程/设计非常相似:很多基本原则(如SOLID)都很容易应用。