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. 怎样写 OpenStack Neutron 的 Extension (四)

    上文说到需要在 /neutronclient/v2_0/myextension/extension.py 中分别定义五个 class:List/Show/Create/Delete/UpdateExt ...

  2. (旧)子数涵数·PS——冷色调与LOMO

    一.准备素材(我是从百度图库里下载的) 二.打开PS和素材 三.复制图层,快捷键Ctrl+J,并把原图层隐藏,只在副本上编辑(好习惯) 四.使用"匹配颜色"命令,增加"明 ...

  3. WCF 入门(25,26,27,28)

    前言 项目赶时间,工期紧,熬过这段时间应该就好了吧.希望如此. 今天把自己那部分写的差不多了,回来和小伙伴一起又看了一遍<夏洛特烦恼>,还挺好看的,明天继续加班,do it. 第25-28 ...

  4. Linux 下SVN服务器搭建

    系统环境        RHEL5.4最小化安装(关iptables,关selinux) + ssh + yum 一,安装必须的软件包.  yum install subversion (SVN服务器 ...

  5. Daily Scrum – 1/15

    Meeting Minutes 确定了user course 的方案. 完成了屏幕的自适应: 安排了最后几天的日程 Burndown     Progress   part 组员 今日工作 Time ...

  6. java核心数据结构总结

    JDK提供了一组主要的数据结构的实现,如List.Set.Map等常用结构,这些结构都继承自java.util.collection接口. List接口 List有三种不同的实现,ArrayList和 ...

  7. java日期加减

    1.用java.util.Calender来实现 Calendar calendar=Calendar.getInstance();      calendar.setTime(new Date()) ...

  8. python 条件判断和循环

    一.条件判断    if if  age>= 18: 记住在判断语句后面要加上     : 还有要注意他的缩进 age = 20if age >= 18: print 'your age ...

  9. Java-如何挖取某个网站中的ajax请求信息

    通常情况,通过网络爬虫挖取到的基本为网页静态内容,而动态ajax取数的内容是我个人暂时不知如何一次性把网站中的ajax获取 这里介绍的是某个网站中的某一个ajax多某个table刷新,期数据,并提供其 ...

  10. Java设计模式-策略模式(strategy)

    策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户.需要设计一个接口,为一系列实现类提供统一的方法,多个实现类实现该接口,设计一个抽象类(可有可无 ...