技术开发 频道

平台架构——体系结构

    设计要点

    应用与Web Service(简称WS)分离

    “为WS瘦身”只是一种技术形式,其折射的意义将更为深远,即应用与WS的分离。WS调用的透明化,可以使应用不知道WS的存在,这样我们可以方便地将WS服务升级为WCF服务。无疑这会大大降低升级成本!对WS调用的封装我称之为服务前端。

    平台内各基础服务都是采用这种技术实现的,对于应用本身的WS服务,并不做要求,当然应用本身的WS也按照这种方式来实现的话,也会有相同的效果。

    数据库与WS分离

    在一般的小型应用系统中,数据库的连接信息会直接配置到WS中去。然而在一些企业级应用中,数据量会增加的很快,而且数据的时效性很强,于是最好的做法就是分库存储。另一种情况是同一数据库中存在相同结构的数据表,只是表的名字是不一样的。如:容器系统WS可以用作用户库、用户组,他们都在平台库里存放数据,其中用户组还在应用系统库中存放数据;另一个例子是授权系统WS,他可以将授权信息存储在平台、系统、多个资源库中。

    数据库与WS分离的最大的好处在于WS服务可以重用!此技术在平台设计中被广泛采用。分离需要解决的一个问题,即如何将数据库或表信息传递给WS服务?Soap头可以帮助我们解决这个问题。

    应用集成

    这一部分是平台的一个辅助模块,是一个可选模块。主要有以下几方面的特点:

    *将业务逻辑与界面分离。
    *集中式界面管理,灵活的布局。
    *业务逻辑之间及界面与业务逻辑之间的数据交换。

    目前此模块的设计只是第一阶段。其效果如同VS环境一般:界面可任意布局、界面之间的数据变化可被另一界面的数据驱动,可给用户带来很好的用户体验。现在还不支持插件,此功能计划在第二阶段进行实现。

    该模块的核心思想是MVC,用于数据驱动。另外控制模块可以包括多个子控制模块,以使事件和数据可在多个模块之间进行传递。至于界面的任意布局借助的是第三方的DockPanel控件。

    此模块在平台中是相对独立的,且只是对应用客户端有效,从架构角度来讲影响范围较小,固不做深入说明。如果时间允许或大家感觉非常有必要的话可在后面的文章中进行详细的说明。

    结构说明

    下面这张图是平台的整体结构图,除数据库层外,其余四层的左侧是平台实现的内容,右侧是应用实现的内容。

0
相关文章