技术开发 频道

从逻辑架构讲解SOA的精髓

【IT168 专稿】

    随着新一代架构革命的到来,面向服务的架构融合并取代了诸多之前的优秀架构。考虑到当前系统的数量以及产业在此上做的投资,任何新的架构都应该努力利用并改善既有的基础设施,而不能随便抛弃它们。而这正是SOA的精髓:它使既有的技术设施与业务联系得更紧密。

    图1展示了一个基于SOA的系统的逻辑架构。其中蓝色部分是多层应用架构中的既有层,其它部分则是SOA特有的。而基础服务架构层(infrastructure service layer)、业务服务层(business service layer)和服务组合层(service composition layer)又可以统称为服务层。


图1 一个SOA系统的逻辑结构

    如前所述,这些SOA特有的层是追加的层,是夹在当前系统的既有层中间的层。图示中的层列是根据习惯以标准的方式堆排到一起的。顶层使用底层的服务来满足上面各层的需求与功能要求。

    非SOA特有的层:当前层

    每种业务的IT设施都有根据不同的架构与方法论构建的系统。这些系统可能是基于Web、桌面的系统,或者纯后台系统以及其它各种应用。总体上,当前的系统基础设施可以分为三个大层:数据层、业务层和呈现层。

    企业数据层:数据层

    企业数据层就是企业的数据存储库。一项成功的商业操作所需要的所有数据都是这个逻辑层的一部分。这些数据包括数据库信息、文件系统、分层目录、遗产储存系统以及其它储存介质。这一层就是传统的多层架构中的数据层。

    企业业务层:业务层

    企业业务层由企业的业务应用(与逻辑)构成。它包括使用.Net、企业版的Java平台或其它各种技术开始的应用程序(与逻辑)。例程的逻辑也包括在这一层中。简单来说,这一层就是企业当前业务的主干和传统的多层架构中的业务层。

    企业前台应用/通道:表现层

    所有业务的前台应用和通道都是这第三层的一部分,包括依赖企业骨干系统运行的整个桌面和Web前台。业务通道包括外部的B2B接口系统,比如交易系统和地址确认系统。这一层组成了传统的多层架构中的表现层。

    SOA特有的层

    在研究SOA特有的层之前,需要先对业务过程及其组成部分有充分的了解。

    图2展示了一个简单业务过程的块状关系图。一个业务过程就是一系列结合到一起的业务活动。每个业务活动完成整个过程中的一个具体的业务步骤。比如,“验证账号”和“检查账户余额”都是“银行转账”业务过程中的业务活动。


图2 简单的业务过程

    可以根据用途把一系列业务活动结合为一组。这样的一个组合本身也可以看作是一个业务活动,称为组合业务活动(composite business task)。比如,“资金转账”业务活动就是由“借记源账户”和“贷入目标账户”两个业务活动组成的。组合业务活动也是业务活动的重用。

    所有的业务活动(包括组合业务活动)便组成了完整的业务过程。比如,“银行转账”就是一个完整的业务过程。

0
相关文章