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. 吴裕雄--天生自然 PHP开发学习:MySQL 预处理语句

    <?php $servername = "localhost"; $username = "root"; $password = "admin& ...

  2. Mysql分析排序和锁阅读总结

    对于 MySQL 数据库而言,数据是存储在文件里的,而为了能够快速定位到某张表里的某条记录进行查询和修改,我们需要将这些数据以一定的数据结构进行存储,这个数据结构就是我们说的索引.能够支持快速查找的数 ...

  3. http协议笔记(不全)

    1.URL 统一资源定位系统 URL由三部分组成:资源类型.存放资源的主机域名.资源文件名.url是统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址 ...

  4. ZJNU 2235 - EnDlEsS ChAsE

    因为速度值保证各不相同 所以n只战斗人形会出现 n! 种不同情况 可以用不同id表示不同人形的速度 比如1 2 3三只人形 他们可能的排列有 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 ...

  5. Vue专题-生命周期

    有时候,我们需要在实例创建过程中进行一些初始化的工作,以帮助我们完成项目中更复杂更丰富的需求开发,针对这样的需求,Vue提供给我们一系列的钩子函数. 本文详细介绍了Vue实例在创建和销毁的过程中,我们 ...

  6. C++类的访问控制关键字

    public:修饰的成员变量和函数,可以在类的内部和类的外部被访问. private:修饰的成员变量和函数,只能在类的内部被访问,不能在类的外部被访问. protected:修饰的成员变量和函数,只能 ...

  7. Tooltips2

    #include<windows.h> #include<Commctrl.h> #include"resource.h" #pragma comment( ...

  8. Python笔记_第三篇_面向对象_1.面向对象的基本概念和作用域

    1. 软件编程的实质: 软件编程就是将我们的思维转变成计算机能够识别语言的一个过程.重要的是思想,代码技术反而次要.因此思想也是最难的,突破固定的思想是关键 2. 什么是面向过程: * 自上而下顺序执 ...

  9. input标签添加上disable属性在移动端(ios)字体颜色及边框颜色不兼容的解决办法。

    手机一些兼容性问题: 1.苹果手机输入框input:disabled显示模糊问题 input:disabled, input[disabled]{ color: #5c5c5c; -webkit-te ...

  10. BTree

    hash.平衡二叉树.BTree.B+tree的区别 https://blog.csdn.net/qq_40673786/article/details/90082444 联合索引在B+树上的结构介绍 ...