ADF成长记1--认识ADF
2014-07-08
近段时间由于公司项目需要,开始接触Oracle ADF。都说有事没事,上百度,但是对于IT技术而言,上百度还真是不一定好使,至于谷歌嘛,很不巧的进不去了。不过网上ADF的资料当真是少得可怜啊,好不容易找到一本还是纯英文的,边看边查,一天下来,那是一个头昏脑胀啊。现在网上算是比较好的资源也就是Oracle ADF自己的官网了http://www.oracle.com/technetwork/developer-tools/jdev/documentation/index.html。为了便于大家更好的学习这个技术,也为了我自己能更好的梳理和使用这个技术,以后我会将学习ADF的每一个阶段整理出来,和大家一起交流。
--如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3831191.html "谢谢--
下面先让我们来认识何谓ADF?
ADF简介
ADF即Application Development Framework,是Oracle为简化JAVAEE复杂性而提供的一个end-to-end(即端到端)的类似MVC框架的解决方案。他通过提供现成的基础架构服务和虚拟的声明式开发体验,将业务逻辑层和UI界面层完全的隔离,减少了实现设计模式和应用程序框架的代码量,简化了开发。它有着丰富的客户端组件,可同时进行多层模块开发,但是它的简化只是对于熟悉这个框架的人而言,其操作上的复杂性,让很多程序员望而生畏,上手难度4颗星。
ADF的分层
ADF是一个类似于并且合乎MVC规范的框架,在ADF当中,它被分成了四层,分别是:
View 层 :视图层——ADF Faces/JSF
Controller :控制层——ADF Manager Bean
Module :模型层——ADF Module
Business Service :业务服务层——ADF BC
如图:

图1.1ADF 体系图
ADF的生命周期
ADF的生命周期可以用典型的MVC模式来理解:
1.用户在View层请求服务;
2.Contorl层将用户请求传递给Module层;
3.Module层根据用户请求操作数据库,获取结果集
4.业务服务层(ADF BC)对结果集进行业务处理,响应Contorl层;
5.Contorl层将获得的数据返回View层,展示给用户。
如图:

ADF的运用
对于ADF来说,业务组件即ADF Business Components就是他的核心,它就相当于我们的大脑,控制着整个程序的流程。
以下是对于ADf的运用:
- 建立ADF Business Components(ADF 业务组件)。
- 在BC中建立另外三个层,分别是:
- Entity Object(实体对象层)——EO;
- View Object(数据访问视图层)——VO;
- Application Modules(接口层)——AM;
- 建立web页面——JSF Page。
- 建立了AM之后,Data Contorl会自动生成,拖动Data Contorl下的VO或者单个属性到web页面生成某个组件。
- Bindings,将要实现的业务逻辑方法绑定到组件,实现特定功能
如图:

ADF成长记1--认识ADF的更多相关文章
- 你好,C++(38)从问题描述中发现对象的属性和行为 6.4 工资程序成长记:类与对象(上)
6.4 工资程序成长记:类与对象 “夜半三更哟,盼天明:寒冬腊月哟,盼春风.若要盼得哟,涨工资,岭上……”自从上次老板许诺给小陈涨工资以后,一转眼又过去几个月了,可是涨工资的事一点动静都没有.小陈只 ...
- 你好,C++(30)“大事化小,小事化了”5.4.3 工资程序成长记:函数
5.4.3 工资程序成长记:函数 自从上次小陈“程序员”的工资程序得到老板的夸奖,口头许诺给他涨工资以后,老板再也没有找过他,涨工资的事自然也就没有下文了.这天,老板又突然召他去办公室.这下可把小陈高 ...
- 你好,C++(23) 4.4.2 工资程序成长记:用数组处理批量数据,用循环结构执行重复动作
4.4 从语句到程序 了解了各种表达式和语句之后,就相当于掌握了写作文要用到的词语和句子,但是,仅有词语和句子是无法构成一篇有意义的文章的.要完成一篇文章,先需要确定这篇文章的结构,是先分述再总述, ...
- 菜鸟vimer成长记——目录
菜鸟vimer成长记——第0章.我眼中的vim学习 菜鸟vimer成长记——第1章.统一概念 菜鸟vimer成长记——第2.0章.模式初探 菜鸟vimer成长记——第2.1章.normal模式 菜鸟v ...
- ADF文件数据结构解析和ADF文件读写
包括位姿和特征点位置和描述信息. What does an Area Description File (ADF) looks like? 4down votefavorite 2 I'm start ...
- 蓝的成长记——追逐DBA(6): 做事与做人:小技术,大为人
***********************************************声明*************************************************** ...
- 蓝的成长记——追逐DBA(5):不谈技术谈业务,恼人的应用系统
***************************************声明*************************************** 个人在oracle路上的成长记录,当中 ...
- 蓝的成长记——追逐DBA(18):小机上WAS集群故障,由一次更换IP引起
原创作品.出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明出处.否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong ...
- 蓝的成长记——追逐DBA(10):飞刀防身,熟络而非专长:摆弄中间件Websphere
原创作品,出自 "深蓝的blog" 博客.欢迎转载,转载时请务必注明出处.否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong ...
随机推荐
- 自编基于jQuery实现分页插件
$(function(){ }); /** * @params dataUrl:请求数据url地址 * @params countUrl:请求数据总数url地址 * @params pageSize: ...
- 结合php ob函数理解缓冲机制
对于一个刚刚入门的php程序员来说,php缓冲区是几乎透明的.在他们心目中,一个echo print_r 函数,数据便会‘嗖’的一声飞到浏览器上,显示出来.我也一直如此单纯地认为. 其实,在技术的世界 ...
- JavaScript和html5 canvas生成圆形印章
代码: function createSeal(id,company,name){ var canvas = document.getElementById(id); var context = ca ...
- Bootstrap3.0学习第十四轮(分页、徽章)
详情请查看http://aehyok.com/Blog/Detail/21.html 个人网站地址:aehyok.com QQ 技术群号:206058845,验证码为:aehyok 本文文章链接:ht ...
- Customizing Navigation Bar and Status Bar
Like many of you, I have been very busy upgrading my apps to make them fit for iOS 7. The latest ver ...
- Android EditText使用详解
一:新建HelloEditText工程 新建一个Hello world详细步骤可以参见 Android教程之三:第一个Android应用,HelloWorld 创建设置如下: Project name ...
- Java基础-关键字-String
1.String的本质 线程安全 打开String的源码,类注释中有这么一段话“Strings are constant; their values cannot be changed after t ...
- Day4_计算器
read me 1.构造三个函数,乘除(mad),加减(aas),去括号(par): 2.获取表达式字符串之后,判断是否包含“+-*/()”等字符,包含则下一步3:不包含,返回字符串: 3.par 函 ...
- Java获取各种常用时间方法大全
Java获取各种常用时间方法大全 package cc.javaweb.test; Java中文网,Java获取各种时间大全 import java.text.DateFormat; import j ...
- 42.Android之ListView中ArrayAdapter简单学习
今天学习下Android中ListView关于ArrayAdapter数据绑定, 废话少说直接上代码. 改下布局文件: <?xml version="1.0" encodin ...