个人网银系统平台搭建教程

2023-11-01

本教程目标:

熟悉并了解EMP开发平台,学会自行搭建个人网银平台。
 

EMP平台

1、何为EMP

EMP平台是北京宇信集团开发的一个基于J2EE体系的、WEB应用的、基础框架平台;具有如下特性:

  1. 表现逻辑框架(MVCFrameWork)与业务逻辑框架(EMPBizLogic)分离;
  2. 组件化、配置化设计技术;
  3. 可视化开发工具EMP IDE;
  4. 提供了丰富的基础组件。

2、使用MVC的目的是将模型和视图实现松耦合,从而使同一个程序和数据表现为不同的展现形式

  1.     模型(model)表示业务数据和业务规则。在MVC中,模型拥有最多的处理任务。
  2.     视图(view)是用户看到并与之交互的界面。
  3.     控制器(controller)接收用户的输入并调用模型和视图去完成互用的需求。控制器本身不输出任何东西和做任何处理。他只是接收请求并决定调用哪个模型构建去处理请求,然后确定用哪个视图来显示模型处理返回的数据。

3、EMP是一个包含开发、运行、监控管理的满足SOA体系架构的轻量级J2EE应用平台

  1. 是一个基于J2EE的多渠道整合平台
  2. 开放式的用户可扩展的应用框架
  3. 实现构件化的业务处理逻辑组装,基于基础组件的组装,完成业务构件的定义、提供了大量的基础组件及构件
  4. 实现构件化的前端架构、AJAX技术,支持未来互联网技术、提供前端框架,实现丰富的用户交互
  5. 提供基于JMX标准的监控管理能力
  6. 提供基于模型维护的可视开发工具IDE

其设计模型如下:

 

4、控制器

连接输入、输出页面与业务处理逻辑的纽带

  1. 根据请求决定:直接返回输入页面还是将输入页面更新到业务处理逻辑的数据模型然后执行逻辑处理流程,根据执行结果,返回相应的输出页面
  2. 提供实现接口,让用户客户化实现自己的Controller
  3. 系统提供的Controller:一般的Controller,具有输入、输出页面
  4. wizzard(向导)式Controller,允许多个页面之间来回切换,实现某个业务逻辑的处理
  5. 多次请求式的controller,如某个业务逻辑在完成业务逻辑处理后,返回的页面中允许用户点击查看更多的信息,或者还有图表的请求

EMP运行原理如下:

5、MVC---数据校验与转换

(1)服务器端数据的校验与转换:

  1. 校验,提供相应的数据类型定义以及数据校验接口
  2. 输入数据的转换:如带分隔符的全额输入域到后台需要的无分隔符及小数点的数据
  3. 输出数据的转换,实现后台数据到显示数据的转换
  4. 在Controller更新数据模型时实施校验与转换

(2)客户端数据输入的校验与转换

  1. 提供基础的javascript代码和标准接口,实现输入数据的校验包括:必输、格式和范围校验
  2. 提供输入数据的转换功能

(3)所有这些都是集中管理,使用中只需要设定一个参数:数据类型即可

6、EMP业务逻辑处理容器---行业应用上的特性

(1)金融行业应用大多有连接性需求

  1. 与典型的信息管理类不同,金融应用不但要管理数据库,还要与外围系统完成数据交换
  2. 有报文处理、通信协议处理的需求

(2)业务处理的复杂度很高:

  1. 相对于传统的信息管理类的处理,流程复杂很多
  2. 硬编码方式的实现弊病:质量低,难维护

(3)业务处理流程具有相似性:

  1. 以单纯的接口定义+服务实现的方式来完成流程处理并不完全合适;重复性代码、流程的随需变动带来的硬代码的改造
  2. 采用流程的抽象+配置化产生流程实例的方式更能满足真正的业务需要,流程的改变只是意味着配置的改变

7、EMP访问控制模型:

(1)框架在访问入口,包括渠道/表现逻辑访问入口,和业务逻辑访问入口提供访问控制模块插件的插入

  • 框架在这些入口处会首先调用插件检查访问权限,只有通过检查的才允许访问

(2)平台提供的访问控制插件

  • 基于用户角色的访问控制插件
  • 基于访问处理时间的并发访问控制插件,允许用户根据业务分类进行分组控制,也可以单独控制

8、访问控制器

(1)实现的接口:com.ecc.emp.accesscontrol.AccessController

(2)方法介绍:

  1. checkAccess--入口方法,检查请求是否合法,以及该请求是否符合该控制器的管辖范围
  2. beginAccess--控制对象的开始控制方法,如果checkAccess返回结果不为空,则进入
  3. 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、软件环境

  1. 网银产品:liana3.5
  2. 开发环境:eclipse3.2emp3.5tomcat5.0, j2sdk-1_4_2_08
  3. 数据库: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版本来说,仿照以上步骤即可搭建最新版的个人网银平台。

 
 
 
 
 
 
 
 
 
 
 
 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

个人网银系统平台搭建教程 的相关文章

随机推荐

  • select,poll,epoll优缺点及比较

    在之前我已经分析了这三个函数 请看我之前的文章 IO多路复用之select函数详解 IO多路复用之poll函数详解 IO多路复用之epoll函数详解 这篇文章只总结优缺点 以便面试时回答 select优点 1 select 的可移植性更好
  • 逆向分析脱壳

    1 用PEiD查壳 UPX或者FSG PECompact ASPack 2 12 2 使用OD载入程序 第一个为入口点 3 手动寻找OEP 一 查找尾部跳转指令 通常情况下 它是一条jmp指令 这条指令的后面 存在着非常多的0x00字节 我
  • 17.Xaml DockPanel控件 ---> 停靠面板

    1 运行效果 2 运行源码 a Xaml源码
  • 【计算机视觉

    文章目录 一 分割 语义相关 16篇 1 1 Test time augmentation based active learning and self training for label efficient segmentation 1
  • .net 在js中判断checkboxlist是否有选中

    在提交添加或修改内容时 需要对关键数据进行判空处理 如何在js中判断checkboxlist是否有选择项呢 具体操作如下 var CheckBox document getElementById getElementsByTagName I
  • b树和b+树的区别

    一 b树 b树 balance tree 和b 树应用在数据库索引 可以认为是m叉的多路平衡查找树 但是从理论上讲 二叉树查找速度和比较次数都是最小的 为什么不用二叉树呢 因为我们要考虑磁盘IO的影响 它相对于内存来说是很慢的 数据库索引是
  • OBS虚拟摄像头没有声音

    点击上方编辑 高级音频属性 打开对应的视频源音频监听
  • 原型模式例题——订单处理系统

    文章目录 原型模式例题 订单处理系统 思路 UML 图 代码 产品类 订单类 客户端 原型模式例题 订单处理系统 现在有一个订单处理系统 里面有一个保存订单的业务功能 需求 每当订单的预定产品数量超过1000的时候 就需要把你单拆成两份订单
  • B - Polycarp‘s Practice

    Polycarp is practicing his problem solving skill He has a list of nn problems with difficulties a 1 a 2 dots a na1 a2 an
  • 【蓝桥杯】01背包问题

    一 问题描述 有 N 个物品 并且每个物品都有一个重量 W 和一个价值 V 你有一个能装 M 重量的背包 问怎么装才能使所装的价值最大 每个物品只有一个 输入 输入的第一行包含两个整数 n m 分别表示物品的个数和背包能装的重量 以后N行每
  • xcode iphone messagebox

    Show a main window message box Alert View will automatically adjust for landscape orientation UIAlertView alert UIAlertV
  • crm客户管理是什么 好的销售crm具备哪些特点

    近年来crm日益流行 也得到了越来越多企业的重视 crm的C是Customer R代表Relationship M是Management 也就是客户关系管理 什么是crm客户管理呢 crm也是一种管理软件 是一种以信息技术为手段 有效提高企
  • ExMobi文档

    EXmobi官方文档 ExMobi 从入门到精通 本书电子版和示例代码请访问GIT仓库 https github com nandy007 ExMobiBeginnerBook ExMobi门户 http www exmobi cn ExM
  • Django 简单教程(入门级)

    一 Django简介 1 web框架介绍 具体介绍Django之前 必须先介绍WEB框架等概念 web框架 别人已经设定好的一个web网站模板 你学习它的规则 然后 填空 或 修改 成你自己需要的样子 一般web框架的架构是这样的 其它基于
  • 数字电路设计之加法器的实现

    今天在看博客的时候看到有一种新颖的加法器写法 这和之前的超前进位加法器 二进制加法器不同 这个加法器应用了循环 我觉得应该会综合出来一个很差的东西 然后我试了一下 代码 module adder x y cin sum cout param
  • ubuntu登录输入密码后无法进入系统,重新返回输入密码界面(已解决)

    修改 etc profile时 由于未知问题导致无法使用ls等命令 重启后输入密码无法进入Ubuntu系统 反复回到输入密码界面 解决方法 1 按下Ctrl Alt F1 输入用户名 密码 2 输入 export PATH usr loca
  • 9 QT的窗口系统-QMainWindow

    QMainWindow是一个为用户提供主窗口程序的类 包含一个菜单栏 menu bar 多个工具栏 tool bars 多个浮动窗口 dock widgets 一个状态栏 status bar 及一个中心部件 central widget
  • Taro多端开发实现原理与项目实战(一)

    Taro 多端开发实现原理与项目实战 前端多端统一开发背景与趋势介绍 背景 大前端 不仅会成为移动开发与 Web 前端的发展趋势 也会是未来的显示设备终端的开发技术趋势 越来越多的业内人士对此表示肯定 因为终端碎片化和 Serverless
  • matlab运行sph法,SPH法一维实例:启发

    左志华 在读硕士 zuo zhihua qq com 深圳市罗湖区 2021 1 12 ThinkPad S2 2018 Windows10 Home 关键词 SPH法 一维 启发 B样条核函数 Octave 6 1 1 背景 从2020年
  • 个人网银系统平台搭建教程

    本教程目标 熟悉并了解EMP开发平台 学会自行搭建个人网银平台 EMP平台 1 何为EMP EMP平台是北京宇信集团开发的一个基于J2EE体系的 WEB应用的 基础框架平台 具有如下特性 表现逻辑框架 MVCFrameWork 与业务逻辑框