你的位置:首页 > ASP.net教程

[ASP.net教程]可灵活装配的web组件化企业应用架构


可灵活装配的web组件化企业应用架构

一、 问题和目标

B/S架构的web企业应用越来越流行,为解决企业用户灵活多变的业务需求和业务流程,将不同的业务应用开发为web组件,实现用户业务处理界面和业务流程的灵活配置和部署,基于SOA的服务思想设计企业web组件化应用架构。

其核心思想是:

(1) 用户界面可装配

用户的业务操作界面可以通过管理员或者自己通过动态配置的方式形成,称之为视图。一个用户可以用不同的视图来处理不同的业务,或者设计自己个性化的视图满足个性化的需要。

(2) 业务流程可装配

企业的业务流程并不是一成不变的,可以实现按需调整、优化和重设计,以适应灵活多变的业务需求和企业变革。业务流程实现在线的设计和配置,无需做任何的代码级开发就能支持新的业务流程。

(3) 服务化

基于SOA的思想,web基础功能(如用户、角色、权限、组织机构、单点登录、日志等)和业务组件开放前台服务或者后台的web服务供其他组件使用,避免重复开发的资源浪费。

二、 解决方案-组件化web应用构架

组件化应用构架的分层设计

1

(1) 企业业务组件及组件管理

2

企业业务组件可能包括以下要素:

  • 一组UI界面及业务处理逻辑:用于用户的业务操作,可配置至用户的业务视图;
  • 前端服务:以javascript语言实现,其他组件调用该服务,实现该组件提供的业务功能,如调用地图组件的绘制服务,实现在地图组件上图形的绘制;
  • 后台的web服务,如计算服务,基础服务(获取用户角色等…),业务服务、流程服务等;该类web服务可接入ESB进行统一的管理;
  • 所依赖服务及初始化参数:该组件所依赖的其他组件的服务(包括前端和后台服务,用于运行时监控和检测),及组件实例生成的初始化参数配置;

组件的物理形式:war、EAR、JAR包,部署于应用服务器内;

组件间是低耦合的,通过消息服务进行交流。

组件管理包括以下基本功能:

  • 组件注册,将部署的组件的基本信息录入,如名称,版本、描述、提供的服务(包括前端和后台服务)、依赖的服务、组件的初始化参数等;
  • 组件状态监控:监控组件运行状态及所依赖服务的运行状态;
  • 组件授权:组件可以对角色或用户授权,有权限者可以消费组件,如调用组件服务、配置组件UI至视图等;
(2) 组件间通信

组件间通过消息服务实现组件前端UI之间的实时/近实时通信。消息服务基于websocket技术(用于消息前后端的推送)和消息中间件技术(用于消息传递)实现,如开源的消息中间件activeMQ等。同一视图内(包括多屏视图)组件间提供主题topic订阅的方式进行通信。

组件UI间通信过程

3

(3) 用户界面配置

也可称为视图配置,通过视图配置工具,对用户视图进行设计,如菜单,工具栏,界面布局,风格,组件UI的大小位置和初始化参数等,对视图进行可用性检测(存在组件所依赖的服务),将视图保存。用户通过视图入口门户进入和切换不同的视图,在视图内处理自己的业务。

(4) 视图运行框架

提供视图及其包括组件的运行容器,负责视图共同的基础功能(如登录与退出、视图切换、风格切换等)及为组件间通信提供交互接口(支持组件间前端的通信与交互)。

(5) 业务流程定制

企业内部存在很多端到端的流程,有些是固有的,有些是新建的,还有些是需要不断优化的。基于用户视图对流程进行动态配置,指定流程任务的办理人和所需的视图,同时在业务数据底层通过流程实例号和业务ID号进行关联。

用户视图配置通用的流程组件UI,用于流程的发起、流程任务办理、查看监控等。