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;根据运行时数据信息,动态生成查询条件
EMP平台简介(转载)的更多相关文章
- Monte Carlo方法简介(转载)
Monte Carlo方法简介(转载) 今天向大家介绍一下我现在主要做的这个东东. Monte Carlo方法又称为随机抽样技巧或统计实验方法,属于计算数学的一个分支,它是在上世纪四十年代 ...
- 云计算平台简介(App Engine)
云计算平台简介(App Engine) 1 简介 App Engine: 应用程序引擎,是托管网络应用程序的云计算平台. 1.1 什么是云 云计算通常简称为“云”,是一种通过 Inter ...
- 【RPA Starter第二课】Introduction to the UiPath Enterprise Platform UiPath企业平台简介
Introduction to the UiPath Enterprise Platform UiPath 企业平台简介 课程目标: 了解UiPath实现RPA的步骤 描述每个UiPath解决方案的关 ...
- 从0到N建立高性价比的大数据平台(转载)
2016-07-29 14:13:23 钱曙光 阅读数 794 原文链接:https://blog.csdn.net/qiansg123/article/details/80124521 声明:本文为 ...
- HttpClient 与 HtmlParser 简介 转载
转载地址:https://www.ibm.com/developerworks/cn/opensource/os-cn-crawler/ 本小结简单的介绍一下 HttpClinet 和 HtmlPar ...
- 来自苹果的编程语言——Swift简介转载】
关于 这篇文章简要介绍了苹果于WWDC 2014发布的编程语言——Swift. 原文作者: Lucida Blog 新浪微博 豆瓣 转载前请保留出处链接,谢谢. 前言 在这里我认为有必要提一下Brec ...
- QNX简介<转载>
QNX QNX是由QNX软件系统有限公司开发的实时操作系统. http://blog.csdn.net/happyhell/article/details/7087199 基本特征 * QNX是一个 ...
- Linux设备文件简介(转载)
Linux 中的设备有2种类型:字符设备(无缓冲且只能顺序存取).块设备(有缓冲且可以随机存取).每个字符设备和块设备都必须有主.次设备号,主设备号相同的设 备是同类设备(使用同一个驱动程序).这些设 ...
- Spring 000 框架简介 (转载)
转载自:https://my.oschina.net/myriads/blog/37922 1.使用框架的意义与Spring的主要内容 随着软件结构的日益庞大,软件模块化趋势出现,软件开发也需要多人合 ...
随机推荐
- h3c 瘦ap无法上线解决办法(WA4320i-ACN)
瘦ap无法上线的原因主要有两个:1.无法获取IP地址 2 .版本 胖ap转瘦ap: 1.使用网线+web对ap进行管理,默认IP地址为:192.168.0.50,用户名:admin 密码:h3capa ...
- 吴裕雄--天生自然ShellX学习笔记:Shell 文件包含
和其他语言一样,Shell 也可以包含外部脚本.这样可以很方便的封装一些公用的代码作为一个独立的文件. Shell 文件包含的语法格式如下: . filename # 注意点号(.)和文件名中间有一空 ...
- 吴裕雄--天生自然Linux操作系统:Linux 磁盘管理
Linux磁盘管理好坏直接关系到整个系统的性能问题. Linux磁盘管理常用三个命令为df.du和fdisk. df:列出文件系统的整体磁盘使用量 du:检查磁盘空间使用量 fdisk:用于磁盘分区 ...
- 吴裕雄--天生自然 JAVA开发学习:流(Stream)、文件(File)和IO
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //使用 BufferedReader 在控制台读取 ...
- jq轮播图
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- python-day6爬虫基础之会话、Cookies、代理
由于前几天看电脑时间过长,在昨天的时候,两个眼睛就有点疼痛感觉,所以昨天晚上就没有学习,博客也没有跟着写,今早去校医院买了点药,上午把老师要求的电路板画完了,已经发出去做了,现在闲来无事,看了一会关于 ...
- Mybatis入门——基础方式的增删该查、mapper动态代理方式的CRUD、类型转换器
一.基础方式的增删该查: 1.mybatis约定:输入参数parameterType和输出参数resulrType在形式上只能有一个. 2.如果输入/输出参数:是简单类型(8个基本类型加String) ...
- iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码
iOS精选源码 如丝般顺滑的微信朋友圈(点赞,评论,图文混排表情,... 动态菜单第三版本:动态项,自适应方向 仿appstore首页滚动效果 iOS 透明导航栏方案 TransparentNavig ...
- iTOP-4418开发板Qt Creator 编译注意事项
用“Qt Creator3.2.2”打开“qt4.7.1”环境下的工程文件可能会提示版本太旧.环境不匹 配导致程序无法编译,解决办法:建立新的工程把测试程序代码粘贴上去即可(界面需要自己 添加). 在 ...
- hibernate 持久化对象 save
hibernate 持久化对象 save new出来的user对象是游离状态的对象,执行session.save()方法保存后,user对象就变为持久化了,持久化的对象跟数据库表双向绑定的意思, 对象 ...