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的运用:

  1. 建立ADF Business Components(ADF 业务组件)。
  2. 在BC中建立另外三个层,分别是:
    1. Entity Object(实体对象层)——EO;
    2. View Object(数据访问视图层)——VO;
    3. Application Modules(接口层)——AM;  
  3. 建立web页面——JSF Page。
  4. 建立了AM之后,Data Contorl会自动生成,拖动Data Contorl下的VO或者单个属性到web页面生成某个组件。
  5. Bindings,将要实现的业务逻辑方法绑定到组件,实现特定功能

如图:

ADF成长记1--认识ADF的更多相关文章

  1. 你好,C++(38)从问题描述中发现对象的属性和行为 6.4 工资程序成长记:类与对象(上)

    6.4  工资程序成长记:类与对象 “夜半三更哟,盼天明:寒冬腊月哟,盼春风.若要盼得哟,涨工资,岭上……”自从上次老板许诺给小陈涨工资以后,一转眼又过去几个月了,可是涨工资的事一点动静都没有.小陈只 ...

  2. 你好,C++(30)“大事化小,小事化了”5.4.3 工资程序成长记:函数

    5.4.3 工资程序成长记:函数 自从上次小陈“程序员”的工资程序得到老板的夸奖,口头许诺给他涨工资以后,老板再也没有找过他,涨工资的事自然也就没有下文了.这天,老板又突然召他去办公室.这下可把小陈高 ...

  3. 你好,C++(23) 4.4.2 工资程序成长记:用数组处理批量数据,用循环结构执行重复动作

    4.4  从语句到程序 了解了各种表达式和语句之后,就相当于掌握了写作文要用到的词语和句子,但是,仅有词语和句子是无法构成一篇有意义的文章的.要完成一篇文章,先需要确定这篇文章的结构,是先分述再总述, ...

  4. 菜鸟vimer成长记——目录

    菜鸟vimer成长记——第0章.我眼中的vim学习 菜鸟vimer成长记——第1章.统一概念 菜鸟vimer成长记——第2.0章.模式初探 菜鸟vimer成长记——第2.1章.normal模式 菜鸟v ...

  5. ADF文件数据结构解析和ADF文件读写

    包括位姿和特征点位置和描述信息. What does an Area Description File (ADF) looks like? 4down votefavorite 2 I'm start ...

  6. 蓝的成长记——追逐DBA(6): 做事与做人:小技术,大为人

    ***********************************************声明*************************************************** ...

  7. 蓝的成长记——追逐DBA(5):不谈技术谈业务,恼人的应用系统

    ***************************************声明*************************************** 个人在oracle路上的成长记录,当中 ...

  8. 蓝的成长记——追逐DBA(18):小机上WAS集群故障,由一次更换IP引起

    原创作品.出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明出处.否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong ...

  9. 蓝的成长记——追逐DBA(10):飞刀防身,熟络而非专长:摆弄中间件Websphere

    原创作品,出自 "深蓝的blog" 博客.欢迎转载,转载时请务必注明出处.否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong ...

随机推荐

  1. 自编基于jQuery实现分页插件

    $(function(){ }); /** * @params dataUrl:请求数据url地址 * @params countUrl:请求数据总数url地址 * @params pageSize: ...

  2. 结合php ob函数理解缓冲机制

    对于一个刚刚入门的php程序员来说,php缓冲区是几乎透明的.在他们心目中,一个echo print_r 函数,数据便会‘嗖’的一声飞到浏览器上,显示出来.我也一直如此单纯地认为. 其实,在技术的世界 ...

  3. JavaScript和html5 canvas生成圆形印章

    代码: function createSeal(id,company,name){ var canvas = document.getElementById(id); var context = ca ...

  4. Bootstrap3.0学习第十四轮(分页、徽章)

    详情请查看http://aehyok.com/Blog/Detail/21.html 个人网站地址:aehyok.com QQ 技术群号:206058845,验证码为:aehyok 本文文章链接:ht ...

  5. 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 ...

  6. Android EditText使用详解

    一:新建HelloEditText工程 新建一个Hello world详细步骤可以参见 Android教程之三:第一个Android应用,HelloWorld 创建设置如下: Project name ...

  7. Java基础-关键字-String

    1.String的本质 线程安全 打开String的源码,类注释中有这么一段话“Strings are constant; their values cannot be changed after t ...

  8. Day4_计算器

    read me 1.构造三个函数,乘除(mad),加减(aas),去括号(par): 2.获取表达式字符串之后,判断是否包含“+-*/()”等字符,包含则下一步3:不包含,返回字符串: 3.par 函 ...

  9. Java获取各种常用时间方法大全

    Java获取各种常用时间方法大全 package cc.javaweb.test; Java中文网,Java获取各种时间大全 import java.text.DateFormat; import j ...

  10. 42.Android之ListView中ArrayAdapter简单学习

    今天学习下Android中ListView关于ArrayAdapter数据绑定, 废话少说直接上代码. 改下布局文件: <?xml version="1.0" encodin ...