2009年9月1日星期二

ADF_001:ADF 是啥东东?

Oracle ADF】:Oracle Application Development Framework。甲骨文应用程序开发框架。
Oracle ADF是一个开发Java EE应用的框架。它极大地简化了开发Java EE应用的过程,并显著地提高了开发效率。
特别是对于包含查询、显示、创建、修改、删除、验证等功能的企业级应用,无论是Web应用、桌面应用、还是移动应用,Oracle ADF 都可以助你一臂之力。

1. ADF 架构
ADF架构是以MVC模式为基础而设计的(关于MVC模式,参见《模型-视图-控制器 MVC 模式介绍 》)。
为了面向服务,ADF进一步从模型层衍生出业务服务层,原来的模型层作为抽象层继续保留。因此,ADF架构分为四层:
(1)业务服务层:负责访问来自不同数据源的数据并处理业务逻辑。
(2)模型层:为业务服务层提供高级抽象层,使得视图层和控制器层可以用统一的接口与不同技术实现的业务服务交互。
(3)控制器层:提供一种机制控制页面流。
(4)视图层:提供用户界面。

2. 业务服务层
业务服务层提供的功能有:
(1)数据持久化
(2)O-R Mapping
(3)事务管理
(4)运行业务逻辑
业务服务层可以使用如下技术实现:
(1)普通Java类
(2)EJB 3.0
(3)Web Service
(4)JPA
(5)Oracle ADF BC

3. 模型层
模型层由两个组件构成:data controls 和 data bindings。它们都使用元数据定义接口。
Data controls 把业务服务的具体实现抽象成一个接口。
Data bindings 把 data control中的方法和属性暴露给UI组件,将视图和模型清晰地分离。
对于开发人员来说,无论业务服务层采用何种技术实现,他们的开发体验都是一样的:
拖放Data controls到UI组件,将业务服务层的具体实现和视图层/控制器层绑定。
Oralce ADF的模型层是符合JSR-227标准的。
【JSR-227】:A Standard Data Binding & Data Access Facility for Java EE。该标准为Java EE应用提供了数据绑定标准。


4. 控制器层
控制器层管理程序流向和用户输入。对于Web应用,有三种控制器可供选择:
(1)Oracle ADF 控制器:功能最强大。
(2)JSF 控制器:符合JSF标准的。
(3)Apache Struts 控制器:老牌Web开发框架。
ADF 控制器的强大功能体现在:
(1)把程序流分解成一个个小的、可复用的“任务流 task flows”。
(2)“任务流 task flows”可以包括非可视化的组件,比如方法调用。
(3)“页片断 page fragment”可以运行在一个页面的某个局部区域,最大限度地提高复用性。

5. 视图层
视图层负责展现用户界面。视图层用到的技术有:
(1)HTML,JSP,JSF
(2)Java Swing
(3)XML和与XML相关的技术
客户端可以是:
(1)符合 client-server 结构的Swing桌面应用。
(2)Office办公软件:Excel
(3)手机上的无线应用。

没有评论: