中国平安保险(集团)股份有限公司
信息管理中心
名称 | 编 号 | 3.0 | 拟 制 | 樊荣 | ||||
PAFA3设计开发指南 | 版本号 | 正式版 | 审 核 | 马骏 | ||||
密 级 | 秘密 | 共95页 | 批 准 | |||||
更改信息 | ||||||||
更改日期 | 版本 | 部门及更改人 | 版本说明 | |||||
2005-4-20 | 1.0 | 樊荣 | 创建 | |||||
2005-6-27 | 1.1 | 廖磊 | 修改 | |||||
PAFA3设计开发指南
创建日期: 2005-4-19
定版日期: 2005-6-27
1.简介
阅读对象
该文档面向的对象为PAFA应用的开发设计人员和项目经理。读者对PAFA、JAVA、J2EE等应该有基本的概念,建议先查看《PAFA3开发入门教程》等相关文档。
排版约定
本文的字体和排版采用如下的约定:
类型 | 示例 |
类、变量、参数、代码 | java.util.Date,<lwc:bind> |
代码段 | public void static main(String[] args) { System.out.println("Hello world!"); } |
2.PAFA概述
PAFA是什么
PAFA 是平安基础架构(Ping An Foundation Architecture)的简写,它并不是一个可以即时看见和运行的应用系统,它为构建于J2EE之上的应用系统定义了一个固定而有效的设计开发框架,简化J2EE应用,尤其是平安内部应用的开发过程。
PAFA定义了一系列流程,比如对如何处理HTTP请求、事务控制,以及一些通用功能,比如文件上传、数据校验、消息管理、日志功能等。
PAFA的最终目标是为开发人员提供一个填空式的开发框架。让开发人员在PAFA架构下,只需关注编写和具体业务逻辑相关的程序,而将业务无关的需求(非功能需求,non-functional requirement)交给PAFA来完成。
新PAFA和旧PAFA
新旧PAFA的差异
新PAFA是指PAFA3.0(包括beta版)以上的版本,旧PAFA是指PAFA2.x及以前的版本。
和旧PAFA相比,新PAFA的框架更灵活、层次更清晰、性能更优越、使用更方便。我们强烈建议在新系统中使用新PAFA。
旧PAFA如何使用新PAFA功能
由于新PAFA跟旧PAFA在架构上差别比较大,所以旧PAFA是不可以使用新PAFA架构提供的架构功能的。新PAFA不保证对旧PAFA的兼容。
如果没有特别说明,本文档中所说的PAFA都是指新PAFA。
PAFA架构
PAFA架构基本上和J2EE的n层架构相对应,它包括四个层次:核心层(core层)、web层、业务层(biz层)、集成层(integration层),各层之间结构如图 21。
⏹核心层是一个基础层,它提供其它各层都需要的功能,比如容器管理、日志、异常处理等。
⏹Web层提供一个MVC框架,处理Web层的请求。
⏹业务层处理具体的业务逻辑,提供Action、Service、BO等组件。
⏹集成层负责和外部资源交互,如外部系统,数据库。
图 21 PAFA整体架构
PAFA对JDK的要求
PAFA要求使用JDK1.4以上。
初探PAFA
PAFA作为一个应用框架,和一般的应用系统(比如保全系统、理赔系统等)不同, PAFA本身并不是一个可以独立运行的应用系统,因此要一览PAFA的全貌,必须借助建立在PAFA架构之上的应用系统。正如如果要一览JDK的全貌,一般需要通过建立在JDK之上的应用来实现。
PAFA3自带了一个项目模板pafatemplate和几个演示程序appdemo、webdemo、tutorial,可以让你对PAFA有一个初步概念。
⏹pafatemplate能够生成PAFA应用的基本框架
⏹appdemo是一个小型保单录入的应用,涵盖了PAFA的大部分核心功能;
⏹webdemo着重示范PAFA在web层面的功能,比如显示、数据绑定、分页等;
⏹tutorial是一个入门教程,提供最简单的PAFA功能,便于初学者开发。
读者可以下载或在线使用这几个演示程序,进行安装部署,对PAFA有个初步认识,地址是:
⏹IT工作站 it/internal/docc/showmain.asp?left=6&id=2942
3.PAFA应用的整体结构
在进入PAFA各层次之前,我们先介绍一下典型PAFA应用的组织结构,包括开发目录布局、部署目录布局和配置文件。在下面我们假设应用的名称为myapp。
开发目录布局
myapp/ (应用系统开发根目录)
│ .classpath (Eclipse工程文件)
│ .project (Eclipase工程文件)
│ l (Ant脚本)
│ build.properties (Ant脚本参数)
└─src/ (源代码目录)
├─java/ (Java文件目录)
│ └─com/
├─config/ (配置文件目录)
│ ├─web/ (Web层配置文件)
│ │ l (J2EE标准Web描述文件)
│ │ l (Weblogic Web描述文件)
│ │ l
│ │ l
│ │ message-error.properties
│ │ message-info.properties
│ ├─core/ (Web层和业务层公用配置文件)
│ │ context-myapp.properties
│ │ l
│ │ l
│ │ log4j.properties
│ │ devlog.properties
│ ├─ejb/ (EJB配置文件)
│ │ l (J2EE标准EJB描述文件)
│ │ l (Weblogic EJB描述文件)
│ ├─biz/ (业务层配置文件)
│ │ l
│ │ l
│ │ l
│ └─app/ (EAR应用配置)
│ l (J2EE标准EAR描述文件)
├─webroot/ (JSP、图片、Javascript、CSS等web层文件)
│ │ index.jsp ...
│ └─WEB-INF/
│ └─tlds/ (存放fmt、c、lwc等标签库tld文件,便于编辑时参考)
├─test/ (单元测试Java文件)
│ └─com/
└─schema/ (数据库脚本)
部署目录布局
在Weblogic下,PAFA应用部署目录布局如下:
myapp/ (应用系统部署根目录,EAR展开目录)
├─APP-INF/ (存放Web层和业务层公用的资源)
│ ├─classes/
│ │ │ l
│ │ │ log4j.properties
│ │ │ l
│ │ │ context-myapp.properties [1]
│ │ └─com/ (DTO,util等web层和biz层公用的class)weblogic管理页面
│ └─lib/
│ │ pafabiz-3.0.jar (PAFA业务层Jar)
│ │ pafa-3.0.jar (PAFA核心层Jar)
│ │ pafaweb-3.0.jar (PAFA Web层Jar)
│ ├─jakarta-commons/ (PAFA第三方类库)
│ └─.../
├─META-INF/
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论