一种是从软件功能的角度:将现有应用系统中所能提供的功能以列表的形式列出,如果发现相同的功能模块在不同的系统都有所实现,那么这些功能模块可以以服务模块的形式加以合并和重构。这种方法是基于软件功能层面的,所以是低级的确定服务的方式,相对容易,可以在实施的初期使用,然后再逐渐调整。例如查询客户资料(包括客户资金,股票等)功能是证券交易系统、客户关系管理系统(CRM)、总部稽查监控管理系统等都有的功能。像这样一些多个系统共有的软件功能,同时又是有形的业务功能就可以作为SOA的基础服务。
另一种是从业务流程的角度:通过对业务流程进行分析,可以清楚地知道我们需要完成什么样的工作,对于这些工作,又需要什么样的信息系统。由此可以清楚地知道哪些功能性要求可以以服务的形式加以实现。对业务流程进行充分的分析可以帮助我们更好地了解其业务流程,明白真正需要的是什么,从而更好地改善企业的业务流程,提高其效能。对于SOA架构的系统而言,服务模块最好通过业务流程管理来确定。
如上图所示,是股票委托业务流程的主要步骤,该流程与银证转账服务资金转出的业务流程有些共同的步骤(确定客户可用资金余额,冻结转出资金,根据银行确认将冻结资金转为资金减少)。这些为多个流程所共用并具有有形的业务功能(如冻结资金)可作为基础服务,而股票委托业务流程,银证转账业务流程将作为核心的流程服务以及公共企业服务(跨企业服务)。
服务的四个级别
SOA分为不同的成熟级别,SOA的成熟度越高,所实施服务的难度越大。下表是四种实现不同SOA成熟度的服务,依次从低到高递增。
实施SOA按照循序渐进,由易到难的原则,从基础服务开始依次实施这些服务。随着SOA的不断扩展,成熟度也不断提高。
证券企业现有各类业务系统交换的大都是数据,如证券交易数据、股票行情数据等。通过SOA,各类业务系统交换的不是独立的数据,而是服务之间的相互调用。通过增加一些Web服务,使得数据采集程序存取数据都使用Web服务,将原有的数据采集程序整合为向SOA提供ETL(抽取、转换、装载)服务,将数据仓库从一个数据源演变为能独立提供服务的系统。这样只需要把ETL、数据仓库的服务接入到ESB(企业服务总线)中,总部综合管理系统的应用程序前端和商业智能BI前端工具就可以方便地从ESB中获取需要的服务,通过调用服务来获取证券交易系统或数据仓库的数据,而不是直接取得数据。这样当抽取装载的数据结构发生变化时只需修改相关的服务即可,增强了灵活性。
企业中软件开发商提供的软件产品的SOA实施较难控制,很大程度上取决于这些软件产品本身的架构。如证券交易系统。开发商最关心的是该系统的功能是否满足要求,而不关心该系统的功能是否被其他的系统重用。因此需要向开发商提出,在不影响交易效率的情况下提供企业所需功能的Web服务,这在软件产品升级时更容易得到厂商的支持。
文章来源于领测软件测试网 https://www.ltesting.net/