中国平安保险(集团)股份有限公司
信息管理中心
名称
编    号
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层公用的classweblogic管理页面                       
│  └─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小时内删除。