一、ADF概述

1.简介


Oracle Application Development Framework(Oracle ADF)是一个构建在Java EE标准和开源技术上的端到端的应用程序框架。你可以通过Oracle ADF在Web、wireless,desktop或者Webservice接口实现查询,创建,修改,验证等企业解决方案。由于ADF是声明式开发,所以简化和加速了开发流程。用户可以专注于逻辑应用的创建而不是编码的细节。



2.Oracle ADF架构


ADF实际上也是一个MVC框架,以下是Oracle架构的模型图


  • View层是用户能够看到并且能与之交互的页面
  • Controller层处理用户输入并且决定页面导航
  • Model层将数据关联到当前页面
  • Business Service处理数据访问和业务逻辑封装

ADX系统架构 adf系统_应用程序


2.1 ADF Business Component


在构建面向服务的的Java EE应用时,你将实现一个或多个业务服务的核心业务逻辑。这些后端服务,为客户提供一种方式来查询,插入更新和删除业务数据。ADF业务组件是预先建立的应用对象,以加速交付和维护高性能,丰富的功能,以数据库为中心的服务工作。他们为您提供了一个现成的使用实现了Java EE设计模式和最佳实践。

Oracle ADF提供以下主要组件,来构建以数据库为中心的业务服务:



  • Entity Object(实体对象)

       Entity Object 代表一个数据库表中的行,并简化其数据的DML操作。它可以封装业务逻辑,以确保您的业务规则顺利执行。

  • View Object(视图对象)

       View Object 代表一个SQL查询的结果集。你可以使用SQL进行关联,过滤,聚合等操作,最终将结果展现给用户。当最终用户在界面修改数据时,View Object能够关联Entity Object始终如一的保留用户修改状态,并且实现验证,最终将结果同步到数据库。

  • Application Module(应用程序模块)

       Application Module是UI客户端与应用数据工作的事务性组件,定义了可更新的数据模型和顶层方法。

2.2 ADF Model Layer


使用元数据接口抽象业务服务的实现技术来描述服务的操作和数据集,在创建应用程序模块时自动创建,包含应用程序模块的所有功能。使用Data Control创建数据绑定的用户界面。除了支持应用程序模块,还支持一下技术提供服务:

  • Enterprise JavaBeans(EJB)session beans和JPA entities
  • JavaBeans
  • Web services
  • XML
  • CVS files

2.3 ADF Controller


ADF控制器是处理Web应用页面流的关键之处,ADF控制器在JSF控制器的基础上增强了导航和状态管理。Jdeveloper允许用户使用声明式的方式创建任务流,在这里你可以控制页面流之间的活动或者调用其他任务流。

这些任务流可以重复使用,可以嵌套使用。用户可以查看不同页面的功能而无需跳转到其他URL所指向的页面(类似Ajax功能,无需编码,只需声明式定义页面流即可)。



ADX系统架构 adf系统_ADF_02


2.4 ADF Faces Rich Client


ADF Faces rich client(ADF Faces的简称),一个建立在标准JSF组件上的组件集合,内置了AJax功能。结合Jdeveloper使用,可以通过拖动的方式来构建用户界面。ADF Faces提供了超过100种组件,包括分层数据表,树形菜单,页面对话框,排序表。还有大量的数据可视化组件,如动态图标,数据透视表,方便用户定制各种报表。每个组件还支持自定义皮肤,以满足不同用户的需求。


ADX系统架构 adf系统_应用程序_03




ADX系统架构 adf系统_应用程序_04




ADF Faces对国际化的支持也非常容易。
同时,ADF Faces也提供了丰富的JavaScript API供用户使用,尽管大多数情况下,我们并不需要自行编写Javascript代码。如果觉得组件不够使用,我们还可以自定义组件。




http://docs.oracle.com/cd/E23943_01/web.1111/b31974/intro.htm#BABHEJGB