伴随着互联网及其应用的发展,电子商务成为应用的主流特征。服务模型给出了电子商务应用的基本构造单元的抽象;SOA以服务模型为基础,定义了部署服务和管理服务的统一机制;BFEL4WS给出了集成各类业务服务的机制。数据库
SOA是什么?SOA全英文是Service-Oriented Architecture,中文意思是中文面向服务编程,是一种思想,一种方法论,一种分布式的服务架构(具体能够百度)。编程
用途:SOA解决多服务凌乱问题,SOA架构解决数据服务的复杂程度,同时SOA又有一个名字,叫作服务治理。服务器
当咱们的项目比较小时,咱们只有一个系统,而且把他们写到一块儿,放在一个服务器上,可是随着平台愈来愈大,数据量愈来愈大,咱们不得不经过分库,把多个模块的数据库分别放在对应得服务器上,每一个模块调用本身的子系统便可。架构
着咱们系统的进一步复杂度的提示,咱们不得不进一步对系统的性能进行提高,咱们将多个模块分红多个子系统,多个子系统直接互相调用(由于SOA通常用于大型项目,比较复杂,因此通常总系统不会再集成,会拆分多个,分别作成服务,相互调用)。当咱们的电商UI进行一个下订单的任务时,多个服务直接互相调用,系统经过数据总线,分别调用对于的子系统便可。
企业数据总线:企业数据总线不是对多个子模块的集成,他在这里充当数据通道的做用,数据总线不关心业务,数据总线根据给的地址和协议去调服务,上端不关心服务在哪里是什么,只找数据总线。
上面几个图应该算是比较清楚了,随着业务的深刻,咱们不得不对系统进行调整,分别是对数据和业务的拆分,最后每一个子系统对面提供服务。
还要提的一点就是下面那个图,下面的IP库以及几个子系统是公共服务,分别向上提供功能,也是SOA方法论的一部分。分布式
2、SOA主要的使用场景,以下图:性能
经过上面的图咱们能够看出,多个子系统直接相互交互,相互调用很是凌乱,这样咱们就很不爽,因此咱们就用到了咱们的SOA架构,SOA又叫服务治理,SOA就是帮助咱们把服务之间调用的乱七八糟的关系给治理起来,而后提供一个统一的标准,把咱们的服务治理成下图所示,之前咱们的服务是互相交互,如今是只对数据总线进行交互,这样系统就变得统一块儿来。部署
统一标准:各系统的协议、地址、交互方式。
新的交互方式:各个系统分别根据统一标准向数据总线进行注册,各子系统调用其余子系统时,咱们并不关心若是找到其余子系统,咱们只招数据总线,数据总线再根据统一标准找其余子系统,因此数据总线在这里充当一个只路人的做用。it
SOA的好处:电商
一、下降用户成本,用户不须要关心各服务之间是什么语言的、不须要知道若是调用他们,只要经过统一标准找数据总线就能够了。
二、程序之间关系服务简单
三、识别哪些程序有问题(挂掉)
缺点:提示了系统的复杂程度,性能有相应影响。基础