EMP平台简介(转载)
1、什么是EMP
EMP平台是一个基于J2EE体系的、WEB应用的、基础框架平台;
表现逻辑框架(MVCFrameWork)与业务逻辑框架(EMPBizLogic)分离;
组件化、配置化设计技术;
可视化开发工具EMP IDE;
提供了丰富的基础组件。
2、使用MVC的目的是将模型和视图实现松耦合,从而使同一个程序和数据表现为不同的展现形式
模型(model)模型表示业务数据和业务规则。在MVC中,模型拥有最多的处理任务。
视图(view)视图是用户看到并与之交互的界面
控制器(controller)控制器接收用户的输入并调用模型和视图去完成互用的需求。控制器本身不输出任何东西和做任何处理。他只是接收请求并决定调用哪个模型构建去处理请求,然后确定用哪个视图来显示模型处理返回的数据
3、EMP是一个包含开发、运行、监控管理的满足SOA体系架构的轻量级J2EE应用平台
是一个基于J2EE的多渠道整合平台
开放式的用户可扩展的应用框架
实现构件化的业务处理逻辑组装,基于基础组件的组装,完成业务构件的定义、提供了大量的基础组件及构件
实现构件化的前端架构、AJAX技术,支持未来互联网技术、提供前端框架,实现丰富的用户交互
提供基于JMX标准的监控管理能力
提供基于模型维护的可是开发工具IDE
4、 EMP适用于企业级电子商务应用的基础平台,该平台的特点是易于构建和基于模型
5、控制器:
连接输入、输出页面与业务处理逻辑的纽带
根据请求决定:直接返回输入页面还是将输入页面更新到业务处理逻辑的数据模型然后执行逻辑处理流程,根据执行结果,返回相应的输出页面
提供实现接口,让用户客户化实现自己的Controller
系统提供的Controller:一般的Controller,具有输入、输出页面
wizzard(向导)式Controller,允许多个页面之间来回切换,实现某个业务逻辑的处理
多次请求式的controller,如某个业务逻辑在完成业务逻辑处理后,返回的页面中允许用户点击查看更多的信息,或者还有图表的请求
6、MVC---数据校验与转换
(1)服务器端数据的校验与转换:
校验,提供相应的数据类型定义以及数据校验接口
输入数据的转换:如带分隔符的全额输入域到后台需要的无分隔符及小数点的数据
输出数据的转换,实现后台数据到显示数据的转换
在Controller更新数据模型时实施校验与转换
(2)客户端数据输入的校验与转换
提供基础的javascript代码和标准接口,实现输入数据的校验包括:必输、格式和范围校验
提供输入数据的转换功能
(3)所有这些都是集中管理,使用中只需要设定一个参数:数据类型即可
7、EMP业务逻辑处理容器---行业应用上的特性
(1)金融行业应用大多有连接性需求
与典型的信息管理类不同,金融应用不但要管理数据库,还要与外围系统完成数据交换
有报文处理、通信协议处理的需求
(2)业务处理的复杂度很高:
相对于传统的信息管理类的处理,流程复杂很多
硬编码方式的实现弊病:质量低,难维护
(3)业务处理流程具有相似性:
以单纯的接口定义+服务实现的方式来完成流程处理并不完全合适;重复性代码、流程的随需变动带来的硬代码的改造
采用流程的抽象+配置化产生流程实例的方式更能满足真正的业务需要,流程的改变只是意味着配置的改变
8、EMP访问控制模型:
(1)框架在访问入口,包括渠道/表现逻辑访问入口,和业务逻辑访问入口提供访问控制模块插件的插入
框架在这些入口处会首先调用插件检查访问权限,只有通过检查的才允许访问
(2)平台提供的访问控制插件
基于用户角色的访问控制插件
基于访问处理时间的并发访问控制插件,允许用户根据业务分类进行分组控制,也可以单独控制
9、访问控制器
(1)实现的接口:com.ecc.emp.accesscontrol.AccessController
(2)方法介绍:
checkAccess--入口方法,检查请求是否合法,以及该请求是否符合该控制器的管辖范围
beginAccess--控制对象的开始控制方法,如果checkAccess返回结果不为空,则进入
endAccess--请求对象处理完毕
10、EMP数据库能力---声明式事务处理
(1)在业务逻辑的处理过程中往往涉及多次的数据库访问,而这些数据库访问要求在一个事务内完成,甚至在一个业务处理逻辑中还有嵌套的事务处理需求,基于这种需求 EMP提供了独立于应用逻辑的,独立事务管理模块 通过EMP事务管理模块,提供声明式事务处理,同时应用也可干预事务的处理
(2)EMP提供两种事物处理能力
基于数据源的事务管理模块,实现基于单一数据源的事务统一管理
基于JTA的多数据源的事务管理模块,实现多个数据源情况下的事务处理(需要JTA驱动程序支持)
(3)EMP中每一个数据库访问相关的操作均可以声明事务
11、EMP数据库能力----数据库服务组件
(1)与EMP事务处理结合的数据库访问服务
(2)使用应用服务器数据库连接池
(3)也可以使用EMP平台自行提供的数据库连接池管理
(4)数据库访问(数据处理)
数据库表与平台数据的映射;数据库存储过程访问;数据库SQL访问
(5)数据访问IDE向导功能
12、EMP数据库能力----访问效率优化
(1)运行时,全部生成预处理SQL语句对象
(2)提供对所有查询的自动分页能力
(3)提供动态查询SQL支持
提供模板工具定制动态查询SQL;根据运行时数据信息,动态生成查询条件