课程内容
银行实战系统推荐星级 ★★★★
推荐理由:面对个人客户的自动柜员机交易处理系统,该系统包含丰富的银行业务知识,系统研发难度适中,就业范围宽广,适合初次接触银行系统的学员学习。
ATM/CDM前置系统课程简介 |
|||
ATM(Automatic Teller Machine),即自动柜员机,持卡人可自行操作,办理账户余额查询和提取现金等业务的自助式终端设备。设备端负责与前置主机交易的软件称为ATMC,前置主机管理ATM交易请求的软件称为ATMP(ATM前置)。 CDM(Cash Deposit Machine),又称自动存款机,是主要完成自助存款、转账、缴费、改密、查询等基本功能以及自助缴费等扩展功能的ATM机的一种。 |
|||
主题 |
内容 |
||
第一阶段 |
研发技术 |
5周 |
|
Linux |
linux命令 |
命令总览、文件及目录操作命令、系统运行命令、查找操作命令、其他常用命令 |
|
Linux文件 |
系统文件概述、标准文件操作、目录操作 |
||
Linux进程 |
进程概述、进程操作、进程间通信 |
||
Linux多线程 |
多线程概述、多线程操作、线程属性设置、多线程同步技术 |
||
Linux工具 |
VI、GCC、GDB、Make以及Makefile |
||
Shell |
Shell编程 |
什么是Shell、基本语法、控制语句、循环语句、Shell函数 |
|
Socket |
基础Socket编程 |
基本Socket技术、常用Socket函数、面向连接、无连接编程 |
|
高级Socket编程 |
设置Socket、select技术、原始Socket技术、广播、组播 |
||
Tuxedo |
Tuxedo编程 |
Tuxedo系统介绍、Tuxedo缓冲区、Tuxedo通讯方式、Tuxedo系统的配置、Tuxedo系统的管理 |
|
Tuxedo开发、Tuxedo事务系统、Tuxedo性能调优 |
|||
C语言 |
高质量C语言讲解 |
基本数据类型与运算 |
|
函数、指针与数组、链表等 |
|||
文件操作 |
|||
Oracle基础 |
管理Oracle |
启动和停止监听程序、启动和关闭数据库、配置网络监听程序 |
|
创建Oracle数据库 |
使用DBCA创建数据库 |
||
数据库安装参数、删除现有数据库、手动安装数据库 |
|||
连接Oracle数据库 |
安装Oracle客户端 |
||
使用SQL*Plus、PL/SQL Developer |
|||
SQL*Plus |
启动SQL*Plus、重新连接数据库 |
||
SQL*Plus运行环境设置 |
|||
SQL*Plus管理数据库对象 |
执行SQL语句、了解SQL缓冲区、运行脚本文件 |
||
显示表结构 |
|||
格式化查询结果 |
格式化列、清除列格式、限制重复行、使用汇总行 |
||
|
|||
表基础 |
表和实体、表和列命名规则 |
||
内置列数据类型 |
|||
创建表 |
理解表空间、创建标准表、全局临时表 |
||
创建索引 |
索引的原理 |
||
创建B树、位图、函数索引 |
|||
查看、修改、删除索引 |
|||
创建约束 |
约束的分类 |
||
主键、外键的约束、唯一性约束、查询、修改约束信息、禁用和启用约束 |
|||
|
|||
视图基础 |
视图的分类 |
||
创建、修改、删除视图 |
|||
内联视图 |
什么是内联视图、内联视图的执行顺序 |
||
内联视图与DML语句 |
|||
物化视图 |
什么是物化视图 |
||
创建、删除物化视图 |
|||
|
|||
使用序列 |
序列的作用、创建自增序列 |
||
使用序列编号、删除、修改序列 |
|||
Oracle高级 |
用户管理 |
创建用户、修改、删除用户、查询用户、管理用户 |
|
权限管理 |
理解权限、分配权限、撤销权限、查看权限 |
||
角色管理 |
创建角色、分配角色、查看、管理角色 |
||
表空间 |
表空间概述 |
||
创建表空间、创建普通表空间、创建临时表空间、创建撤销表空间、管理表空间 |
|||
备份恢复 |
脱机备份与恢复 |
||
逻辑备份与恢复 |
|||
联机备份与恢复 |
|||
SQL |
查询 |
单表查询、分组查询、多表查询 |
|
操作数据 |
插入数据、更新数据、删除数据 |
||
Oracle内置函数 |
字符型函数、数字型函数、日期时间函数、类型转换函数 |
||
PL/SQL |
PL/SQL |
结构化程序设计、提高程序性能 |
|
模块化应用程序开发、面向对象的开发 |
|||
PL/SQL语言 |
变量和数据类型、程序控制语句、存储过程、函数、包、触发器、游标 |
||
存储子程序和包 |
创建过程、创建函数 |
||
查看、删除子程序 |
|||
记录与集合 |
使用PL/SQL记录 |
||
使用集合类型 |
|||
触发器 |
触发器的作用 |
||
系统事件触发器 |
|||
游标 |
游标定义、打开游标、关闭游标、提取游标数据 |
||
Pro*c |
|
Pro*C基础、连接到Oracle |
|
使用宿主变量、使用结构和数组、使用游标 |
|||
项目管理 |
|
Excel |
|
Visio |
|||
Project |
|||
PPT |
|||
SVN、VSS |
|||
UltraEdit、SecureCRT、PLsql |
|||
第二阶段 |
ATM/CDM系统 |
3周 |
|
金融8583报文 |
我国制定的金融行业执行标准传输报文,报文结构、报文类型、位图、报文域、例如:卡号、交易金额、交易传输时间、系统跟踪号、卡片有效期、商户类型等等 |
||
金融XML/FML报文 |
报文结构、报文类型、报文头、报文域,例如:卡号、交易金额、客户号、交易渠道辨别、手续费等 |
||
ATM交易 |
ATM机管理、卡表下载、控制参数下载、账户信息查询、账务明细查询、取款、无卡取款、互联互通取款、存款、无卡存款、互联互通存款、行内卡卡转账、互联互通行内卡卡转账、改密等 |
||
交易流程 |
本行交易(本代本)、跨行交易(本代他)、其他渠道交易(自助缴费等)、管理类交易等; |
||
交易流程中的关键要素检查讲解,例如: |
|||
1) 报文合法性检查; |
|||
交易路由 |
ATM系统的路由处理主要是本代本、本代他两大类,通过卡表信息配合其他交易信息来区分交易路由;在较大银行的大交易量的处理上,如何适应交易量在1000万笔/天的强大压力下的系统路由方法,是本节讲解的重点 |
||
交易密钥 |
主密钥的处理、次主密钥的处理、TAC、MAC、PIN、ARQC、ARPC密钥的处理 |
||
交易状态 |
交易过程中的状态变化,交易状态反映了交易处理的具体节点和异常情况,通过交易状态可以跟踪交易的整个处理过程,例如:冲正、撤销、重发、退货等状态的讲解 |
||
计时超时机制 |
由于银行类交易的高准确性要求,所以要对交易进行计时处理,发生超时要做后续恢复措施,本节讲解交易计时处理方法、交易超时异常处理等 |
||
冲正机制 |
交易处理失败后的异常处理机制,冲正的产生条件、冲正过程、冲正的设计设置等 |
||
通讯机制 |
Socket链接、银行内部的Tuxdo链接、以及其他通讯链路的讲解 |
||
单核心/多核心 |
单核心的交易处理、多核心的交易处理,以及ATM前置在单核心、多核心的交易转换上的处理 |
||
IC卡/磁条卡 |
IC卡的卡片规范、IC卡数据读取原理、IC卡密钥、IC卡交易讲解、IC卡交易流程讲解、IC卡脱机交易流程讲解;磁条卡的卡片规范、一二三磁信息解析、磁条卡与IC卡的区别; |
||
无卡类交易 |
无卡支付原理、无卡支付涉及的报文域、无卡支付涉及的交易讲解、无卡支付在现实中的应用,例如:无卡取款、无卡存款、无卡转账、无卡查询等 |
||
报文拒绝码/交易响应码 |
交易查错首选拒绝码、响应吗;拒绝码组成含义、响应码组成含义 |
||
第三阶段 |
编写项目文档 |
1周 |
|
需求分析说明书 |
对业务需求的详细阐述,基于软件工程的项目研发思路,带领学员一起制定需求分析说明书 |
||
功能规格说明书 |
对业务需求的进一步功能性细化 |
||
概要设计说明书 |
对需求和功能规格的深入理解,制定较详尽的技术流程,通过交易流程衍生出接口规范,并定义各个流程或接口之间的信息关系和逻辑关系 |
||
差异分析报告 |
项目过程中的校正自查文档 |
||
接口规范 |
对接口数据进行了全方位的描述,对接口类型、接口数据项、接口功能描述等重要接口项进行了定义,并以概要设计为基础,对接口所涉及的系统功能点、业务场景、支付流程等进行细化关联 |
||
数据库设计 |
通过制作数据库模型,以及数据表的架构设计、表项设计、表空间设计、表索引设计、视图、序列的讲解 |
||
详细设计说明书 |
代码级的交易流程,该文档实现了业务语言向技术语言的初步转换,并定义了每个业务对象所包含的数据信息,各个流程或接口之间的信息关系和逻辑关系 |
||
测试报告 |
单元测试、集成测试、联合测试、功能测试、性能测试、业务测试等 |
||
系统性能要求 |
交易处理时间在200ms—500ms;数据响应精确度100%;系统并发处理能力不低于600笔/秒; |
||
日终IC卡脱机交易批处理时间:(按每天600万笔脱机交易估算,需每秒钟处理830笔)最高2小时内做完; |
|||
版本上线 |
制作上线版本、上线文档、切换步骤等 |
||
第四阶段 |
ATM/CDM系统研发 |
4周 |
|
BW平台技术 |
BW介绍 |
BW平台是融金教育研发的银行系统平台之一,可以支撑银行综合前置类交易的研发讲解和练习 |
|
环境变量 |
环境变量的配置、生效 |
||
编译原理 |
BW平台的编译原理 |
||
平台启停 |
BW平台的启动、停止、进程状态、消息队列状态等 |
||
Linux/C语言复习 |
各种Linux命令的使用,C语言的静态库、动态库知识 |
||
BW平台系统架构 |
两层架构 |
通讯层,应用层 |
|
目录分配 |
BW平台的各个文件的详细介绍 |
||
交易路由 |
银联前置系统内部对大量交易的路由处理,如何适应交易量在1000万笔/天的强大压力下的系统路由方法 |
||
冲正机制 |
讲解如何通过程序的方式实现冲正流程,例如取款超时后发起的以一定频率的冲正交易 |
||
计时超时的控制 |
为保证交易的成功率,异步实现的交易须通过计时机制来实现交易流程的控制 |
||
系统配置 |
配置文件包括链路配置、进程配置、加密机配置等,配置数据包括静态路由表、动态路由表、交易配置表等 |
||
日志 |
日志结构、日志处理 |
||
ATM系统研发 |
通信开发 |
银联中心的Socket链接、银行内部的Tuxdo链接、以及其他通讯链路的实现方法 |
|
余额查询交易 |
应用层开发:发卡方余额查询交易 |
||
取款交易 |
应用层开发:发卡方取款交易 |
||
存款交易 |
应用层开发:发卡方存款交易 |
||
存款确认交易 |
应用层开发:发卡方存款确认交易 |
||
存款撤销交易 |
应用层开发:发卡方存款撤销交易 |
||
转账交易(转入) |
应用层开发:发卡方转入转账交易 |
||
转账交易(转出) |
应用层开发:发卡方转出转账交易 |
||
重置密钥交易 |
应用层开发:重置密钥交易 |
||
取款交易 |
应用层开发:受理方取款交易 |
||
存款交易 |
应用层开发:受理方存款交易 |
||
转账交易(转入) |
应用层开发:发卡方转入转账交易 |
||
转账交易(转出) |
应用层开发:发卡方转出转账交易 |
||
交易手续费计算 |
应用层开发:发卡方交易手续费计算 |
||
交易限额管理 |
应用层开发:发卡方交易限额管理 |
||
交易SVN校验 |
应用层开发:交易SVN校验 |
||
交易的清算日期交易 |
应用层开发:交易的清算日期交易 |
||
交易的高风险商户管理 |
应用层开发:交易的高风险商户管理 |
||
黑名单、白名单、黄名单管理 |
应用层开发:黑名单、白名单、黄名单管理 |
||
交易次主密钥调试 |
硬加密、软加密 |
||
调试 |
银联仿真辅助测试 |
银联仿真使用 |
|
ATMP的负载均衡 |
F5的负载均衡、两套系统使用一套数据库 |