今天同事问起在系统中使用Web Service有什么用处,和一般的直接写在客户端有什么区别,有什么好处?
回答这个问题,确实有点意思。因为既然问了这个问题,就说明有一些前提的没有达成一致,直接解释技术本身,是很容易事倍功半的。
因此首先搞清楚,推荐使用SOA架构的背景,是我们在做企业内部的信息化工作。在这个大背景下,我们再来探讨SOA是不是好的问题。否则,SOA不一定是最好的方式。
那么我们尝试系统地去分析在企业信息化的背景下,和一般的工具类软件架构到底有什么不一样的地方。
第一、用户群体不一样。工具类软件往往是独立用户使用。而企业级的系统,往往用户涉及不同的岗位和个人,最经常涉及的就是需要协同工作的岗位和需要审批的经理。如一个项目新建的过程,在工具类产品中,只是一个新建界面,而在企业级系统中,往往会出现经理审批是否允许新建项目的功能。
第二、企业环境中往往存在多个系统。系统之间的整合的需求非常旺盛。企业用户对于易用性的要求很高,但却往往只能忍气吞声地埋没下来,往往是一边叫苦,一边工作。他们也希望能改进,但总是不知道为什么得到的回答的是NO.一旦可以整合,往往可以解决很多日常工作复杂度的问题。
第三、数据访问并发要求不一样。企业级的信息化系统,往往要求多人同时操作数据,并且数据可以多人共享。而工具类软件不是这样的,往往独立访问,独立保护就可以了。