Jdeveloper ADF四大业务要素的关系

ADF业务组件是一组将数据存取逻辑封装起来的对象,这是对ADF的一个简单定义。程序开发人员可以借助ADF业务组件快速搭建J2EE因公程序。

 ADF业务组件是一组将数据存取逻辑封装起来的对象,这是对ADF的一个简单定义。程序开发人员可以借助ADF业务组件快速搭建J2EE因公程序。如在其帮助下,开发人员可以将注意力集中在企业内部的流程与业务逻辑上。而且ADF业务组件在设计之初就完全遵循J2EE设计模式的规范。为此只要是以ADF业务组件开发的JSP或者EJB应用程序,就是一个标准的通用的J2EE应用程序。

  ADF业务组件说复杂是复杂,说简单也简单。笔者在这篇文章中,给大家介绍一下ADF业务组件的四大组成要素以及他们之间的关系,帮助开发人员能够尽快进入到这个领域。这四大要素分别为Entity Objects、View Objects、View Link和Association。这四个组件相互配合,共同搭建起了一个Java应用程序的数据基础内容。他们之间的关系具体如下图所示:

  

  元素一:Entity Object。

  Entity Object是一个最基本的元素,其主要用来表示数据库层面的内容,如数据库的表或者视图等等。不过除了数据库的表或者视图之外,其还可以是Entity Bean。在实际工作中,Entity Object主要就是指前者。具体的来说,Entity Object包含了如下内容。一是数据库中表格或者视图中定义的字段内容(包括数据类型);其次是一些业务逻辑,如数据的默认值、字段的约束条件等等。也就是说,Entity Object就好像是数据库中表或者视图的一个映射。在后续应用开发中,程序员并不是直接跟数据库中的对象打交道,而是通过这个Entity Object元素与数据库进行沟通。

  当在Jdeveloper下建立一个Entity Object元素之后,开发平台会自动产生两个文件,分别是**.xml与**.JAVA。第一个文件主要描述了这个元素的配置信息,例如相对应的数据库表或者视图的名字以及字段之间的对应关系和业务逻辑。第二个文件则是实现这个元素的Java类。

  在使用这个元素的时候需要注意一些使用上的限制。如这个元素不能够在开发平台层面使用Join关键字连接两个以及两个以上的表格;也不能够使用Order By子句根据某个字段的内容对数据库的记录进行排序;还不可以利用Wwhere子句进一步限制查询的结果。如在开发过程中,直接使用这个元素的话,那么在前台客户端中查询的结果就是通过后台数据库查询所得到的结果一模一样(包括数据显示的顺序)。但是大部分使用我们需要在结果显示时,对数据的结果进行优化。如对数据进行排序或者只显示某些符合条件的记录。此时就需要使用View Object元素。

  元素二:View Object。

  如果将Entity Object元素比喻从数据库中的表的话,那么View Object就好像是数据库中的视图。简单的说,View Object就是在Entity Object元素的基础上,创建的一个视图对象。如可以将多个Entity Object元素通过关键字联系在一起(就好像数据库中的表与表之间的连接);如可以对数据进行排序或者只显示特定的字段(就好像在数据库中采用Order By关键字的记录进行排序)。

  当在开发环境中建立这个元素之后,系统也会自动产生两个配置文件,分别为**view.xml和**Viewimpl.java。第一个文件主要用来描述这个元素的配置信息,如对应的是哪些Entity Object等等。第二个文件就是具体实现的Java类。

  通常情况下,开发人员不能够直接生成View Object元素。而是必须先建立Entity Object元素之后,再根据这个元素来建立View Object元素。这个道理也很好理解,就相当于数据库中的表和视图。必须先建立表对象,然后再建立视图对象。虽然在数据库中已经可以实现先建立视图,然后再建立基础表,不过在JDeveloper开发环境中还不能够实现。

  在使用这个元素的时候,笔者要强调一点。其只是一个View,而不会对Entity Object元素产生任何实质的影响。也就是说,一个Entity Object元素可以对应多个View Object,而这个多个View Object元素之间的关系是相对独立的,不会相互干涉。

 元素三:Association。

  Association主要用来定义Entity Object元素之间的关系。笔者再以数据库打个比方。在关系型数据库中,有外键约束条件,其主要用来建立两个表之间的关连性。在ADF业务组件中,Association起到的作用跟外键相似,就是用来创建两个Entity Object之间的相关性。

  如在数据库中有两张部门与员工的表格,他们之间主要通过部门ID这个外键进行关联。在Jdeveloper开发环境中,利用Entity Object元素将这两张表对应到应用程序中。但是在没有建立Association之前,应用程序认为这两个元素之间是没有任何关系的。此时开发人员就需要为他们之间建立一种相关性。在这个时候就需要使用Association元素。具体来说,可以按如下步骤操作。第一步是先建立部门信息的Entity Object元素,第二步是建立员工信息的View Object元素,第三步就是建立Association元素,以创建这个两个元素之间的关联性。

  在使用在这个元素的时候需要注意,其跟数据库中的关键字一样。在两个Entity Object元素中必须要各自选择一个字段作为关联。这两个字段必须有相同的数据类型以及长度等等。否则的话,就无法正确建立相互之间的关联性。

  元素三:View Link。

  Association元素主要用来建立两个Entity Object 元素之间的关联性(就好像是数据库中的外键约束)。那View Object之间的关联性由谁来完成呢?这就好象是在数据库中再创建一个视图,将两个视图连接起来。此时就需要用到View Link元素。在ADF业务组件中,View Link元素定义了两个View Object之间的相关性。

  在实际开发过程中,如果需要用到主从表的界面,那么这个View Link属性就会非常有用。如在一个销售订单管理界面中,往往就需要用到主从界面。主界面是订单头的信息,而从界面就是订单明细。要实现这个功能的话,以Jdeveloper为例,如要通过如下几个步骤。

  第一步是先建立一个View Object,取名为订单头。第二步是再建立一个View Object,取名为订单明细。第三步是通过View Link元素将他们关联起来。然后就可以通过相当轻松的建立具有主从关系的客户端界面。

  从以上分析中可以看出,View Object与Entity Object是两个基本元素,就好像是数据库中的表与视图(他们之间有先后的关系)。而Association与View Link元素则主要用来建立他们之间的关联。在实际工作中,用的比较多的是View Link。即不会直接对Entity Object进行操作。这主要是因为对Entity Object操作会有很多的限制条件。故平常程序开发人员都是先建立Entity Object元素,然后再根据这个元素来创建View Objec。最后在这个层面上建立他们之间的关联。实践证明这是一个明智的处理原则。

  最后顺便说一句,无论是以上那种元素,最后都需要通过“数据模型”来对其进行整合,才能够在应用程序中使用。数据模型就好像是一个打包的工具,将他们整合起来,以便于后续的引用与维护。而且数据模型中还提供了一种很好的测试工具,用来判断先前建立的各种元素是否正确,是否能够正确的从数据库中读取相关的数据。这一点非常重要,因为与数据库之间建立正确的对应关系,是一个成功的应用程序的基础。毕竟应用程序的数据都来自数据库,最后也需要将结果保存到数据库当中。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值