Oracle ADF Architecture

Oracle ADF (Oracle Application Development Framework)是一个端对端的应用程序框架,且是建立在J2EE标准和开源技术上的。它用来简化和加速构建面向服务的web应用程序。比如开发企业级的解决方案,要使用web,无线网络,桌面应用程序,及web services 等接口来搜索,显示,创建,更改以及更新数据,Oracle ADF能简化你的工作。现在Oracle JDeveloper 10g 和Oracle ADF结合得相当好,开发速度更能提升。 用Oracle ADF可以达到清晰的分离模型、视图、控制器,即完全实现了MVC设计模式。Oracle ADF的架构是基于MVC设计模式的,其架构如图1所示。 从图1我们可以看出,ADF把应用程序分成了四层,下面我们分别介绍:   1) Business Service   Business Service 层包括三个小层(见图1),分别是持久层(Persistent Business Objects),数据访问层(Data Access)和接口层(ADF Application Module)。这三层建立的顺序是这样的,先建立持久层的实体对象(Entity Object),然后建立数据访问层的视图对象(ViewObject),最后建立接口层。其中建立持久层的实体对象主要是和数据库的表或者同义词对象建立关联,数据访问层的视图对象(ViewObject)是基于实体层的实体对象建立的,主要是进行数据库的访问,而接口层是整个Business Service 层和Model层的接口,在数据访问层建立的视图对象需要注册到接口层中,这样在Model层中才可以访问。   2) ADF Model 层   该层包括两部分,分别是ADF Bindings和ADF DataControl,其中ADF Bindings是ADF提供的一种绑定技术,ADF DataConrol 是指我们已经在接口层中注册的视图对象(ViewObject)。JDeveloper自动创建从页面到服务的bindings.在运行时,读取描停你的data controls和data bindings的信息并连接你的界面和业务逻辑。 Data Control: Data Control是对业务接口的抽象,也就是说所有访问业务对象的方法现在都通过Data Control来进行,这样使得绑定层使用一种方式来访问数据,不论后台的数据对象是种实现。可以把Data Control看做是一种代理机制。 Iterator Bindings and Control Bindings: Binding是一种轻量级的对象,它的主要目的就是让后台数据和前台显示解藕。 Iterator Binding 和提供集合对象数据的Data Control合作。 Control Bindings 则提供了一个标准的接口让用户界面可处理集合对象或者调用业务方法。 Binding Containers: Binding Container 对象记录了某一个用户界面使用了哪些iterator binding、control binding。 有一个XML文件记录了这些内容,在运行时就会根据这个XML来生产一个Binding Container。 Binding Context: Binding Context 则是比Binding Container更大的一个概念,它包含了所有的Binding Container以及Data Control的信息。   3) ADF Controller   ADF在JSF之上扩展了导航和状态管理模式,使用JDeveloper你可以声明式地创建可复用的task flows。   4) ADF Faces Rich Client   ADF Faces rich client提供了一百多个内置了AJAX功能的JSF组件。Oracle Jdeveloper 在View 层提供了一个可视化的布局编辑器,开发者可以使用组件面板向应用程序添加可视化的组件,并可以运用属性编辑器(Property Inspector)来定义这些组件的属性。可视化的编辑器是和源码同步的,开发者可以选择自己喜欢的开发方式。

猜你喜欢

转载自dana-wang.iteye.com/blog/1724634