您的位置:首页 > 运维架构 > 网站架构

用Open Source软件架构J2EE应用

2005-01-17 14:47 302 查看
用Open Source软件架构J2EE应用
Architecting J2EE Application
with Open Source Softwares

第一原则
一个好的J2EE应用首先是一个好的Java应用
一个好的Java程序首先是一个好的面向对象程序

什么是好的J2EE应用
可用(availability)
坚固(robust)
可维护、可扩展(mantainability and extensibility)
可伸缩(scalability)
可测试(testability)

什么是好的J2EE应用(continued)
可移植(migratability)
可复用(reusability)
支持多种客户端(multi-client)
简单(simplicity)

Heavy-Weight vs. Light-Weight
. 功能齐备
. 概念完整
. 支持丰富
. 简单易用
. 高定制性
. 便于测试

J2EE应用的典型架构
资源层(DAO)
数据源
数据
业务层(Service)
表现层
client
Aspects
对象
对象

架构策略
. 分层。每一层集中于本身的功能,每一层都可以屏蔽本
身的修改。
. 基于POJO。避免框架锁定,便于移植和测试。
. AOP infrastructures。用AOP解决横切问题,避免通过
OO手段解决这类问题。

资源层:O/R mapping
entity bean
TopLink
Castor
Hibernate

选择ORM工具的标准
并发和事务(支持JTA)
映射能力(类层次的映射、对象关联的映射)
封装性(对象的存储机制、CRUD操作、数据库)
遗留系统和效率(游标、非对象查询、动态查询)

业务层:容器
EJB容器
Avalon
Spring和PicoContainer

业务层:基础设施
EJB infrastructures
AOP solutions
两者的区别:
all-in-one vs. as-you-need
up-front vs. on-demand

业务层:基础设施
对象体系
错误处理
安全性
事务控制
持久化
日志
Remoting

AOP:正交分离关注点
某些问题横跨多个
对象体系,解决方法
分散在多个代码段中,
无法抽象为对象
AOP提供正交的模块
化能力
OHA OHB OHC
Aspect

Hessian简介

表现层:Thin Client vs. Rich Client
Web框架:Struts、WebWork、Velocity
Rich Client:WebStart、Applet
折中之道:XMLHTTP

基本原则
测试先行
基于POJO,摆脱锁定
面向对象
力求简单

Thanks!
熊节
xiongjie@csdn.net
http://gigix.blogdriver.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: