网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.程序,任务与承认.
.在一台机器配置两个listener.
.ORACLE在HP-UX下的系列问题处理(.
.系统平均负载(Load average)释疑.
.Oracle 10G新特性之闪回查询深入.
.安装、配置后,SQL*Plus操作初步.
.安装Oracle后使用的修改表空间的.
.Oracle安全全接触(完整版)一.
.在Adaptive Server Anywhere和Or.
.如何列出目录树.
.linux下安装oracle9i.
.ORACLE用户自定义备份与恢复笔记.
.Oracle的2005年种种事件的巧问妙.
.数据库手册:Oracle维护常用SQL语.
.嵌入式设备上的 Linux 系统开发.
.管理Oracle OLAP时清除通往OLAP的.
.Oracle监控数据库性能的SQL汇总.
.LILO使用指南(上).
.编程实现备份和还原数据库.
.ORACLE客户端连服务器的注意事项.

Oracle ADF框架介绍

发表日期:2008-2-9


ADF是(Application Development Framework)的简称,它的前身是BC4J。 光听这个名字就知道它是一个end-to-end的框架。和Spring一样它在企业应用架构的每一个层次都提供了它的支持。ADF的架构如下图所示:
Oracle ADF框架介绍(图一)
在每一层ADF都有它的一些组件。我这次主要想讲讲ADF的data binding,因为它隔离了业务逻辑层和web层,使得两个层次的独立性更强。但是,ADF似乎做得过于复杂,使得很难上手使用。
ADF中要害的数据绑定概念如下:

Data Control:
Data Control是对业务接口的抽象,也就是说所有访问业务对象的方法现在都通过Data Control来进行,这样使得绑定层使用一种方式来访问数据,不论后台的数据对象是种实现。可以把Data Control看做是一种代理机制。

Iterator Bindings and Control Bindings:
Binding是一种轻量级的对象,它的主要目的就是让后台数据和前台显示解藕,这是老生常谈的问题,让我们看看ADF是怎么做的。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的信息。
下面介绍一个简单的应用蓝图:
Oracle ADF框架介绍(图二)
点击查看大图

这个应用是这样的, 现在有一个论坛,在这个论坛上有一个页面用来Review 一些Threads并指定一个team回复它,这个页面叫做ReviewThreads.jsp 。 这个页面需要从后台的ForumService来获得数据并指定回复的Team. ForumService是一个ADF的Application Module组件(Application module组件是对业务逻辑的一种抽象,它可以实现为Java class,EJB,webservice等等,它也有自己的方法来调用View Object,这里大家只需要认为它是一种业务组件就行了)。另外,这个页面还需要一个所有可选Team的下拉框,这个下来框的数据来自一个web service LookupCodes。
对应每一个业务组件会有一个Data Control包装了该组件的业务方法。在该应用的Binding Context中包含了两个Binding Container, ReviewThreads和UnansweredPostings。前者提供给ReviewThreads.jsp使用,后者则同事支持uix页面(uix是一种基于XML的界面语言),以及Jclient的一个Swing Panel。
ReviewThreads绑定容器包含了以下Binding:
1. 三个指向该应用使用的数据集合的iterator binding。两个由ForumService提供,一个由LookupCodes提供,如图所示
2. 三个支持了界面上元素的Control Binding
首先是一个Attribute control binding 用来在页面上Name输入框中显示Forum名字
其次是一个list binding来支持下拉框
最后是一个range binding用来支持JSTL的<c:forEach> 显示Team对象。
3. 一个control binding用来调用ForumService的一个方法,用来指定Team答复Thread.

需要注重的是,control value bindings 是需要通过iterator binding来获得他们的数据。非凡是list value binding它同时需要使用两个iterator binding,一个用来取得所有的list中的值,另一个用来提供list中选择的值。

下图介绍了上述的组件在运行时是怎么样配合的。一个Binding Context包含了一个或者多个Data Control和Binding Container。每一个Binding Container会有一个或者多个iterator binding 指定了一个页面使用的数据集合。每一个iterator binding从一个特定的Data control获取及更改数据。Binding Container也会有一个或多个control binding 来支持页面控制。当Control binding需要和数据绑定时,就要一个iterator binding相关联。假如是一个control action binding,比如说和页面上的submit健关联的binding则会要和一个data control 关联用来调用service 层的方法。
Oracle ADF框架介绍(图三)


上一篇:SAP与Oracle – SOA 领域之争 人气:534
下一篇:部署MapViewer到Oracle Application Server上的步骤 人气:1493
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐