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. C#判断两个字符串是否相等的方法 ,还有char赋空值办法。

    string str1="Test"; string str2 = "Test"; if (str1==str2) //第一种判断方式 { //第二种判断方式 ...

  2. LGOJ3747 六省联考2017 分手是祝愿

    这两天遇到不少这种"人类智慧题"了,感觉都是很巧妙的 Description link 现在有 \(n\) 盏灯,设每一次操作控制第 \(i\) 占灯,而改变状态的灯就是 \(i\ ...

  3. Java 开发者必须了解的 16 个Java 顶级开源项目!

    本文已经收录自笔者开源的 JavaGuide: https://github.com/Snailclimb/JavaGuide ([Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核 ...

  4. 图论模型--dijstra算法和floyd算法

    matlab代码实现:https://blog.csdn.net/weixin_40108753/article/details/81237585 python代码实现:

  5. fastDFS 文件系统搭建

    1.单机版 https://www.cnblogs.com/chiangchou/p/fastdfs.html#_label3_0 2.集群版

  6. 移动端web前端开发

    移动端浏览器现状 视口 meta视口标签 二倍图 移动端主流方案 移动端技术解决方案 移动端常见布局 1.流式布局(百分比布局) 2.flex布局 3.rem适配布局 1)rem单位 2)媒体查询 3 ...

  7. Long型转ZonedDateTime型

    /** * 将Long类型转化成0 * @author yk * @param time * @return */public static ZonedDateTime toZonedDateTime ...

  8. Sublime Text 3 快捷键的汇总

    Sublime Text 3非常实用,但是想要用好,一些快捷键不可或缺,所以转了这个快捷键汇总. 选择类 Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本. Alt+F3 选中文本按 ...

  9. day55-mysql-用户权限、修改秘密、忘记密码

    .用户权限:新创建的用户没有库,如果想让新用户访问我的库,必须给它授权才可以.我在使用的navicat要关闭新用户的连接才可以授权给它. .创建用户 '; -- 创建用户 .移除用户 drop use ...

  10. Linux c 操作MySQL

    #include <mysql/mysql.h>#include <stdio.h>#include <stdlib.h>int main() { MYSQL *c ...