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平台简介(转载)的更多相关文章

  1. Monte Carlo方法简介(转载)

    Monte Carlo方法简介(转载)       今天向大家介绍一下我现在主要做的这个东东. Monte Carlo方法又称为随机抽样技巧或统计实验方法,属于计算数学的一个分支,它是在上世纪四十年代 ...

  2. 云计算平台简介(App Engine)

    云计算平台简介(App Engine)     1   简介 App Engine: 应用程序引擎,是托管网络应用程序的云计算平台. 1.1  什么是云 云计算通常简称为“云”,是一种通过 Inter ...

  3. 【RPA Starter第二课】Introduction to the UiPath Enterprise Platform UiPath企业平台简介

    Introduction to the UiPath Enterprise Platform UiPath 企业平台简介 课程目标: 了解UiPath实现RPA的步骤 描述每个UiPath解决方案的关 ...

  4. 从0到N建立高性价比的大数据平台(转载)

    2016-07-29 14:13:23 钱曙光 阅读数 794 原文链接:https://blog.csdn.net/qiansg123/article/details/80124521 声明:本文为 ...

  5. HttpClient 与 HtmlParser 简介 转载

    转载地址:https://www.ibm.com/developerworks/cn/opensource/os-cn-crawler/ 本小结简单的介绍一下 HttpClinet 和 HtmlPar ...

  6. 来自苹果的编程语言——Swift简介转载】

    关于 这篇文章简要介绍了苹果于WWDC 2014发布的编程语言——Swift. 原文作者: Lucida Blog 新浪微博 豆瓣 转载前请保留出处链接,谢谢. 前言 在这里我认为有必要提一下Brec ...

  7. QNX简介<转载>

     QNX QNX是由QNX软件系统有限公司开发的实时操作系统. http://blog.csdn.net/happyhell/article/details/7087199 基本特征 * QNX是一个 ...

  8. Linux设备文件简介(转载)

    Linux 中的设备有2种类型:字符设备(无缓冲且只能顺序存取).块设备(有缓冲且可以随机存取).每个字符设备和块设备都必须有主.次设备号,主设备号相同的设 备是同类设备(使用同一个驱动程序).这些设 ...

  9. Spring 000 框架简介 (转载)

    转载自:https://my.oschina.net/myriads/blog/37922 1.使用框架的意义与Spring的主要内容 随着软件结构的日益庞大,软件模块化趋势出现,软件开发也需要多人合 ...

随机推荐

  1. 吴裕雄--天生自然ShellX学习笔记:Shell 流程控制

    和Java.PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <?php if (isset($_GET["q"])) { search(q); ...

  2. 频率类组件-认证规图分析-JWT认证-drf-jwt插件

    频率类源码 # 1)APIView的dispath方法中的 self.initial(request, *args, **kwargs) 点进去 # 2)self.check_throttles(re ...

  3. mybatis自动扫描的时候,接口跟xml文件的名字最好能够一一对应

    事实证明这是十分有好处的,当然,即便你不这么做,它也不一定会报invalid bound statement (not found),因为你不知道从哪儿拷来的配置文件可能从其他的地方做了配置,但是这么 ...

  4. Python笔记_第一篇_面向过程_第一部分_7.文件的操作(.txt)

    在平时,我们不光要对程序内的代码进行输入和输出的操作,还要对程序外的文件进行和语言之间的交换.操作和运算.在基础部分,先讲解对于外部的.txt文件的操作. 第一部分 基本内容讲解 1.   什么是文件 ...

  5. 关于富文本字段问题(mysql)

    1.表字段字符集建议使用: utf8mb4.utf8mb4_general_ci 2.保险起见spring-boot配置: spring:datasource:connection-init-sqls ...

  6. Hadoop_课堂笔记1

    1.课程目标 实践性 2.课下需要 在家搭建一个伪分布式 3.大数据概念和意义 08年Nature第一次正式提出大数据概念 常规的数据库:结构化的数据库 TB级的结构化数据管理就很困难,需要分布式 当 ...

  7. 17.3.13---sys.argv[]用法

    1------sys.argv[]是用来获取命令行参数, sys.argv[0]表示代码本身文件路径,因此要从第二个即sys.argv[1]开始去参数 例如创建一个文件: import sys pri ...

  8. [原]procexp替换任务管理器

    2019-09-14更新:本文已经在新博客重新整理发布,请各位读者移步. process explorer有个功能是替换任务管理器,它是怎么实现的呢???   windows有个注册表项HKEY_LO ...

  9. 通过javascri实现输入框只能输入数字

    输入框只能输入数字 <input type="text" onkeyup="value=value.replace(/[^\d]/g,'');"> ...

  10. 6.Redis集群

    redis-cluster[集群]架构图 redis-cluster投票:容错 搭建Ruby环境 集群的搭建过程 连接集群 查看集群的命令 1.1 redis-cluster[集群]架构图 架构细节: ...