本教程目标:
熟悉并了解EMP开发平台,学会自行搭建个人网银平台。
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、控制器
连接输入、输出页面与业务处理逻辑的纽带
- 根据请求决定:直接返回输入页面还是将输入页面更新到业务处理逻辑的数据模型然后执行逻辑处理流程,根据执行结果,返回相应的输出页面
- 提供实现接口,让用户客户化实现自己的Controller
- 系统提供的Controller:一般的Controller,具有输入、输出页面
- wizzard(向导)式Controller,允许多个页面之间来回切换,实现某个业务逻辑的处理
- 多次请求式的controller,如某个业务逻辑在完成业务逻辑处理后,返回的页面中允许用户点击查看更多的信息,或者还有图表的请求
EMP运行原理如下:
5、MVC---数据校验与转换
(1)服务器端数据的校验与转换:
- 校验,提供相应的数据类型定义以及数据校验接口
- 输入数据的转换:如带分隔符的全额输入域到后台需要的无分隔符及小数点的数据
- 输出数据的转换,实现后台数据到显示数据的转换
- 在Controller更新数据模型时实施校验与转换
(2)客户端数据输入的校验与转换
- 提供基础的javascript代码和标准接口,实现输入数据的校验包括:必输、格式和范围校验
- 提供输入数据的转换功能
(3)所有这些都是集中管理,使用中只需要设定一个参数:数据类型即可
6、EMP业务逻辑处理容器---行业应用上的特性
(1)金融行业应用大多有连接性需求
- 与典型的信息管理类不同,金融应用不但要管理数据库,还要与外围系统完成数据交换
- 有报文处理、通信协议处理的需求
(2)业务处理的复杂度很高:
- 相对于传统的信息管理类的处理,流程复杂很多
- 硬编码方式的实现弊病:质量低,难维护
(3)业务处理流程具有相似性:
- 以单纯的接口定义+服务实现的方式来完成流程处理并不完全合适;重复性代码、流程的随需变动带来的硬代码的改造
- 采用流程的抽象+配置化产生流程实例的方式更能满足真正的业务需要,流程的改变只是意味着配置的改变
7、EMP访问控制模型:
(1)框架在访问入口,包括渠道/表现逻辑访问入口,和业务逻辑访问入口提供访问控制模块插件的插入
- 框架在这些入口处会首先调用插件检查访问权限,只有通过检查的才允许访问
(2)平台提供的访问控制插件
- 基于用户角色的访问控制插件
- 基于访问处理时间的并发访问控制插件,允许用户根据业务分类进行分组控制,也可以单独控制
8、访问控制器
(1)实现的接口:com.ecc.emp.accesscontrol.AccessController
(2)方法介绍:
- checkAccess--入口方法,检查请求是否合法,以及该请求是否符合该控制器的管辖范围
- beginAccess--控制对象的开始控制方法,如果checkAccess返回结果不为空,则进入
- endAccess--请求对象处理完毕
9、EMP数据库能力---声明式事务处理
(1)在业务逻辑的处理过程中往往涉及多次的数据库访问,而这些数据库访问要求在一个事务内完成,甚至在一个业务处理逻辑中还有嵌套的事务处理需求,基于这种需求 EMP提供了独立于应用逻辑的,独立事务管理模块,通过EMP事务管理模块,提供声明式事务处理,同时应用也可干预事务的处理
(2)EMP提供两种事物处理能力
- 基于数据源的事务管理模块,实现基于单一数据源的事务统一管理
- 基于JTA的多数据源的事务管理模块,实现多个数据源情况下的事务处理(需要JTA驱动程序支持)
(3)EMP中每一个数据库访问相关的操作均可以声明事务
10、EMP数据库能力----数据库服务组件
(1)与EMP事务处理结合的数据库访问服务
(2)使用应用服务器数据库连接池
(3)也可以使用EMP平台自行提供的数据库连接池管理
(4)数据库访问(数据处理)
- 数据库表与平台数据的映射;
- 数据库存储过程访问;
- 数据库SQL访问
(5)数据访问IDE向导功能
11、EMP数据库能力----访问效率优化
(1)运行时,全部生成预处理SQL语句对象
(2)提供对所有查询的自动分页能力
(3)提供动态查询SQL支持
提供模板工具定制动态查询SQL;根据运行时数据信息,动态生成查询条件。
搭建个人网银平台
1、软件环境
-
网银产品:liana3.5
-
开发环境:eclipse3.2,emp3.5,tomcat5.0, j2sdk-1_4_2_08
-
数据库:oracle 10g
2、个人网银平台搭建
本教程仅仅介绍如果通过手上的环境来搭建个人网银平台,能够快速进入到开发学习当中去。
安装EMP插件
1
、
将 EMPIDE_2.1.0.v20090213.zip 解压到 Eclipse 的 plugins 文件夹下:
2、 重新启动 Eclipse,如果重启后工具栏出现 ,则表明安装成功。
导入项目
解压 liana3.5.rar,将其中的 commonLib,lianaCore,perbank 从工作空间导入。
环境配置
JDK配置
在菜单中选择 Window\Preferences,进入 eclipse 设置对话框。
在左侧的树形菜单中选中 Java\Compiler 节点,将右侧的默认编译级别设为 1.4
切换到 Java\Installed JREs 节点,在右侧区域点击 Add 按钮,新增 JDK1.4 的 Java 编译环境。
点击“JRE home directory”后的“Browse...”按钮,选中 JDK1.4 所在目录(此处默认为 d:\WorkSpace_Training\j2sdk1.4.2_06),系统会自劢查找出相关的运行库,点击“OK”即可。
刚才添加的 j2skd1.4.2_06 已经显示在 Installed JREs 列表中,选中 j2skd1.4.2_06 前面的复选框,将其作为系统默认的项目编译环境。点击“OK”,系统会弹出对话框提示“编译设置已改变,是否需要对项目进行重新编译?”,点击“Yes”。
服务器运行库配置
作为一个 J2EE 项目,除了配置 JAVA 运行环境外,还需要配置 J2EE 运行库。切换到“Server\Installed Runtimes”,在右侧区域点击“Add”按钮,弹出新增服务器运行环境向导对话框。
在运行环境类型一栏中选择“Apache Tomcat v5.0”,点击 Next。
添加完毕,点击“OK”。
项目编译路径配置
选中 lianaCore,点击右键,在弹出的菜单中点击“Properties”。
选择树形菜单中的 Java Build Path 节点,在右侧区域中切换到 Libraries 标签页,将commonLib 上所有的 jar 包,Apache Tomcat v5.0 运行环境以及 JDK1.2 全部加入到项目依赖库中。
对于 perbank 项目,还需要在依赖项目中加入 lianaCore。
如果编译通过,那么在项目列表应该如下图所示。
Tomcat配置
数据库连接池配置
jakarta-tomcat-5.0.28\conf 下的 server.xml 文件相应位置添加:
<Resource name="jdbc/ebank_ds" auth="Container" type="javax.sql.DataSource" />
<ResourceParams name="jdbc/ebank_ds">
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@localhost:1521:ebank</value>
</parameter>
<parameter>
<name>username</name>
<value>ebank</value>
</parameter>
<parameter>
<name>password</name>
<value>ebank</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>4</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
</ResourceParams>
jakarta-tomcat-5.0.28\confCatalina\localhost 下的相应的项目文件(本例中是 perbank.xml) 相应位置添加:
<ResourceLink name="jdbc/ebank_ds" global="jdbc/ebank_ds" type="javax.sql.DataSourcer"/>
个人网银运行
进入如下界面,说明个人网银运行成功,配置完成。针对最新版本的eclipse、Tomcat、liana平台以及jdk版本来说,仿照以上步骤即可搭建最新版的个人网银平台。