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. Java学习笔记(十八)——Java DTO

    [前面的话] 在和技术人员的交流中,各种专业术语会出现,每次都是默默的记录下出现的术语,然后再去网上查看是什么意思.最近做项目,需要使用到DTO,然后学习一下吧. 这篇文章是关于Java DTO的,选 ...

  2. PHP+MD5

    echo substr(md5("admin"),8,16);//16位MD5加密,16位加密是32位加密从第8个字符开始到16个字符,用substr函数截取了字符得到.. ech ...

  3. Python2和Python3 爬虫 转换

    由于Python3的不断完善,很多新入Python的小伙伴选择了Python3的阵营,很多人选择了爬虫这一热门话题,但是网络上大部分教程都是Python2 教程,Python3这一块做了些许的改动,对 ...

  4. 在C#中使用官方驱动操作MongoDB ---转载

    http://blog.csdn.net/dannywj1371/article/details/7440916

  5. Visual Studio命令窗口

    命令”窗口用于直接在 Visual Studio 集成开发环境 (IDE) 中执行命令或别名.可以执行菜单命令和不在任何菜单上显示的命令.若要显示“命令”窗口,请从“视图”菜单中选择“其他窗口”,再选 ...

  6. Bootstrap3.0学习第二十四轮(JavaScript插件——按钮)

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

  7. FilenameFilter用法

    使用FilenameFilter实现图片过滤,只要.gif,.jpg,.png文件. java 代码 public class ImageFilter implements FilenameFilte ...

  8. LightOJ1348 树链剖分

    简单题,看题目就懂. #include<queue> #include<stack> #include<cmath> #include<cstdio> ...

  9. Java基础-关键字-final

    在Java中,final关键字可以用来修饰类.方法和变量(包括成员变量和局部变量).下面就从这三个方面来了解一下final关键字的基本用法. 1.修饰类 当用final修饰一个类时,表明这个类不能被继 ...

  10. RBAC(基于角色的访问控制权限)表结构

    Rbac 支持两种类,PhpManager(基于文件的) 和 DbManager(基于数据库的) 权限:就是指用户是否可以执行哪些操作 角色:就是上面说的一组操作的集合,角色还可以继承 在Yii2.0 ...