Oracle 9i JDeveloper开发手册——构建J2EE应用程序.doc





《Oracle 9i JDeveloper开发手册——构建J2EE应用程序.doc》由会员分享,可在线阅读,更多相关《Oracle 9i JDeveloper开发手册——构建J2EE应用程序.doc(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 29 第1章 JDeveloper概述第部分 概 述第1章 JDeveloper概述JDeveloper是一种用于Java编程的集成开发环境(IDE)。它为设计、开发、调试和部署所有类型的3GL Java及组成J2EE(Java 2 Platform,Enterprise Edition)战略的其他相关文件提供了相当丰富的特性。JDeveloper包括很多向导和代码生成器,可以简化Java的内部机制,使您能够将精力集中在用Java解决业务问题上。它还提供了强大的代码组织与配置管理功能。Oracle 9i版的JDeveloper与它的以前版本相比是一个巨大的飞跃。本章将从整体上介绍JDevel
2、oper,展示其中各种各样的特性和功能。本章讨论JDeveloper的一个主要特性Java业务组件(Business Components for Java,BC4J),并概述如何用JDeveloper开发应用程序;还提供了一些简单的动手练习,以便您可以开始生成一些代码。有关BC4J的更详细信息将在本书的第部分介绍。第2章讲述了JDeveloper IDE本身由哪些组件构成。第3章讨论如何用IDE构建BC4J应用程序;对于Java初学者来说,第4章简要介绍了一些重要概念,要想更有效地使用JDeveloper,必须理解这些概念。第5章讨论了形成一致的命名约定的重要性,对于使用JDeveloper
3、开发应用程序过程中需要用到的各种元素,都给出了如何为其命名的建议。用JDeveloper的调试特性进行调试的内容将在第6章讨论。第7章则概要描述了部署Java客户端(Java应用程序和applet)及JSP(Java Server Pages,Java服务器页面)应用程序的方法。最后,第8章着眼于9i版中的一个新特性:类建模器(Class Modeler),说明了如何运用这个工具协助进行应用程序开发。本书经常会提到创建“应用程序”,下面的说明框将帮助您弄清楚作者在本书中是如何使用这个词的。什么是应用程序在IT业界,很多人都会用到“应用程序”这个词。然而,在不同的环境中它可能代表完全不同的意思。
4、一些人用“应用程序”表示整个计算机系统,其他人则用这个词表示整个计算机系统中的一部分,它在单个程序中物理地实现。在本书中,第2种定义将用来表示整个系统中的一个逻辑组成部分,通常是在单独的JDeveloper工作区内实现的。“应用程序”一词还有其他用法,如Java应用程序,这是与Java虚拟机(JVM)一起部署在客户端的一类Java程序,这类程序不需要浏览器的介入。本书中的“Java应用程序”仅指这类特定的程序。应用程序模块(Application Module)是一种BC4J组件,客户端程序可以通过它访问一组视图对象和视图链接。1.1 JDeveloper的过去、现在和未来JDeveloper
5、的起源可追溯到1997年,当时Oracle公司从Borland International获得了基于Java的开发工具的许可,将这些开发工具与Oracle数据库、Internet及传统客户/服务器平台上的应用程序开发工具集成在一起。当时,Borland公司的JBuilder是十分强大的Java开发工具。Oracle购买了JBuilder的源代码,开始了其创建Java开发环境的历程。最初的JDeveloper 1.0(称为AppBuilder for Java)于1998年发布,它与其根基JBuilder非常相似。在1998年末,它被重命名为JDeveloper。这种最初的相似性一直持续到199
6、9年发布的2.0版。从这些早期的版本中,可以看出这个工具是如何在Java环境中逐渐成熟的。虽然该产品的新版本仅表现出一些表面变化,但在幕后Oracle公司却在致力于完美地解决Java程序连接到关系数据库对象的问题。1.1.1 过去:产品的历史与起源JDeveloper 1.0和2.0版虽然都是很有用的Java开发产品,但如果要创建能与Oracle数据库交互的应用程序,它们提供的支持就太少了。公平地说,这也是由于当时的技术水平所限。辛勤的C+和Java程序员例行地担负起编写代码访问Oracle数据库的任务。然而,即便是对于掌握了一定技巧的程序员来说,这种编码工作也要花费大量的精力。因此,早期接受
7、JDeveloper的人主要是这类Java开发人员,他们想寻求一种方法来创建与Oracle数据库交互的应用程序。而那些习惯于使用易于与数据库交互的产品、以及用Forms Developer等工具高效地创建应用程序的Oracle专业人员,并没有很快接受这一新产品。Oracle公司的项目战略并没有使情况变得简单。除了JDeveloper之外,Oracle公司还有一些产品可以让开发人员创建应用程序,并部署在Web上: Oracle Forms Developer(有时又称为Web Form)继续走向成熟。在9i版中,Web已经成为发布Oracle表单的惟一途径。该工具基于applet技术,而由于防火
8、墙和性能的问题,这项技术在很大程度上已经被越来越多的Internet应用程序开发团体所抛弃。 PL/SQL Web Toolkit(mod_plsql)起源于早期版本的Oracle Application Server,Oracle Designer用它生成HTML客户端代码。PL/SQL Toolkit允许在数据库中编写可向浏览器输出HTML的PL/SQL。 PL/SQL Server Pages(PSP)允许在HTML内嵌入PL/SQL。PSP以一种类似于JSP的方式充分利用了服务器页面的概念。 Oracle Portal 最初被设计用来作为专门访问数据库的简单工具,在市场上称为WebDB
9、。慢慢地,Portal演变成一种有用的Web站点开发工具。1. 为什么采用JDeveloper面对所有这些选择,为什么Oracle公司最终决定选择JDeveloper作为主要开发平台呢?这一决定表明了Oracle公司的长期发展规划。Oracle9i JDeveloper构建于J2EE之上。因此,JDeveloper与Oracle历史上的任何其他产品相比具有更强的基础。Oracle公司以前的所有产品都不得不在现有技术、向后兼容性及Oracle内部政策之间折衷。JDeveloper基于一种相对较新的技术,其他供应商为此技术提供大量支持,并有经过验证的标准做后盾。在JDeveloper从1.0版发展
10、到9i版的过程中,Oracle公司在产品智能和体系结构基础方面投入的精力已经远远超过UI组件。甚至对于现在的9i版本来说,产品中的某些部分依然处于雏形阶段,主要的焦点都集中于创建一个能长期发展的牢固基础。2. 引入Java业务组件虽然这种长期的设计哲学从体系结构的观点来看是正确的,但是传统的Oracle开发社区成员却会因此感到沮丧,他们经常会因为在JDeveloper中开发应用程序过于低效而感到无耐。直到JDeveloper 3.0引入BC4J,Oracle构建Java应用程序访问Oracle数据库的方向才变得清晰。BC4J有助于自动实现大多数Java代码与关系数据库表交互时所必需的复杂工作。
11、BC4J是支持Java与数据库交互的架构。BC4J向导能自动生成Java应用程序与数据库安全交互所需的代码,解决了以前开发中遇到的安全性、锁定及性能问题。BC4J生成的代码严重依赖于Oracle提供的一个Java库。因此,由BC4J向导生成的实际代码量是很小的。为了使开发人员能够创建包含用户界面的Java应用程序,Oracle提供了直接与BC4J生成的元素相联系的可选Swing组件的扩展,BC4J已经从概念上被证实是牢固可靠的,能够处理复杂的应用程序,而基于Sun公司的InfoBus(信息总线)体系结构构建的Data Aware组件已经被证明是有问题的。业界抛弃了InfoBus体系结构之后,O
12、racle公司也抛弃了所有InfoBus技术,以利于JDeveloper 9i支持Sun公司的模型-视图-控件器(Model-View-Controller,简称MVC)体系结构(在JDeveloper中实现为客户数据模型)。本章稍后将更加详细地介绍BC4J。同时,本书第部分将深入讨论BC4J的使用和结构。1.1.2 现在:JDeveloper的现状目前,JDeveloper中包含了非常稳定的Java业务组件,并且已经解决了9i版存在的许多v.3.2性能问题。MVC体系结构允许开发人员更有信心地创建访问Oracle数据库的Java应用程序或JSP。Oracle 9i JDeveloper提供了
13、一种稳固的Java开发环境。在Web上搜索有关JDeveloper的文章就能发现,Java社团对JDeveloper有很多积极的评价。由于有了BC4J层,在编写与Oracle数据库交互的Java代码方面,JDeveloper就独占鳌头了。1. 创建JSP页JSP文件生成发送到客户端的HTML页。JSP文件被编译成servlet,这是一个纯Java程序。尽管大多数业务逻辑都可以用Java编写,但UI部分通常还是用HTML创建的。JDeveloper作为一种创建JSP页的Web应用程序开发工具,对于传统的已经习惯了Forms Developer那种一体化产品开发环境的Oracle开发人员来说,并不
14、是一个完整的解决方案。在本书1 译者注:此处指本书的英文原版。编写之际,JDeveloper对于HTML页可视化设计的支持与Microsoft公司的Frontpage等工具相比,依然十分有限。对代码高亮显示、代码自动补全、结构化显示及调试等的支持非常完整,这也就是对JDeveloper中运行和调试JSP代码所提供的支持。当前使用Forms Developer和PL/SQL的开发人员不能简单地用JDeveloper和Java替代原来的方法来创建部署在Web上的复杂客户/服务器应用程序。构建具有完整功能的允许用户安全高效地与数据库交互的Web应用程序是一项极为复杂的任务。这些内容将在第7章中详细介
15、绍。2. 创建Java应用程序部署在客户/服务器或者Intranet环境中的Java应用程序的开发情况,与部署JSP页的情况有很大的差别,因为JDeveloper对Java应用程序的开发提供完整的支持,包括可视化编辑及在表单风格的界面里设置属性等。与使用Forms Developer等产品相比,使用JDeveloper可以创建同等甚至更复杂或高级的应用程序。然而,用JDeveloper创建应用程序的速度无法像用Forms Developer一样快。JDeveloper向导还不够成熟,作为一种RAD开发工具,JDeveloper还不足以与Forms Developer有效地竞争。虽然Forms
16、Developer是一种真正的4GL,其中对象的属性都存储在一个内部资料档案库中,而JDeveloper实际上是一个代码生成器与组织器。尽管您可以像在4GL环境中那样与JDeveloper向导和IDE交互,但是实际上是在创建Java代码。应用程序开发过程经常会超出JDeveloper向导的能力,必须手动修改向导生成的属性,或是添加向导未生成的代码。1.1.3 将来:远景展望从9i版中可以看出,Oracle公司对JDeveloper寄与了很大的期望,表明这个版本比以前版本的范围要广泛得多。对统一建模语言(Unified Modeling Language,UML)图表的有限使用、功能完备的软件配
17、置管理(SCM)资料档案库,以及生成数据定义语言(Data Definition Language,DDL)的能力都表明了Oracle公司对这个产品的长期发展思路。最终目标为所有Oracle系统形成一个单一的集成开发环境。数据库和应用程序的设计、创建及维护都可以用一个产品来处理。也许JDeveloper最终会将其他产品的功能包括进来,如Oracle Designer、Oracle Forms Developer及一些第三方产品(如Quest软件公司(Quest Software)的TOAD或SQL Navigator)。这些目标的最终实现还需要几年的时间。当Oracle公司将这种期望变成现实时
18、,Oracle专业人员将拥有梦寐以求的集成设计开发环境。短期前景与长期前景JDeveloper的短期和长期发展前景会如何?在短期内,Oracle有理由对该产品的核心体系结构感到满意。目前,他们正致力于改进产品的应用程序开发效率。未来JDeveloper的发展,最终可能实现改良过的向导,以帮助将目前开发应用程序所需执行的任务实现自动化,也有助于缩小JDeveloper和Forms Developer之间在开发企业内部应用程序上的差距。第二个短期改进会集中在把JDeveloper作为一种建模和设计工具上。当前的类建模器反映了Oracle在使用UML设计数据库方面的兴趣。到2003年底,JDevel
19、oper作为一种数据建模工具,将会与Designer形成有效竞争。为了支持软件开发周期中更多的内容,UML的其他部分也会合并到JDeveloper中。用例(用于描述业务需求的UML格式)也将包括进来,以便支持分析过程。如前所述,长期目标显然是向一种“一站式”开发环境转变。为满足建立Oracle系统时遇到的不断变化的设计和开发任务,新的特性正在系统地、从容不迫地加入到JDeveloper中。1.2 Java业务组件与其他Java开发工具相比,JDeveloper的主要优势在于它的Java(BC4J)业务组件架构及相关的代码生成器。BC4J是JDeveloper产品的核心,正是它使建立Java或基
20、于Web的应用程序的Oracle开发人员对JDeveloper情有独钟。BC4J的根基是一种编程协议或标准,它们描述了如何构建与关系数据库交互的类。JDeveloper用BC4J作为处理数据库DML操作(查询、插入、更新及删除)的主要方式。在BC4J及类似产品出现之前,将基于Java的应用程序连接到数据库是一项异常困难的任务。为了使Java前端与数据库协调工作,必须编写复杂的JDBC(Java Database Connectivity)和/或在Java中嵌入SQL代码(SQLJ)。除此之外,还必须维护自己的数据缓存,批处理自己的更新,并跟踪表的锁定与提交。这种与数据库之间的复杂接口被证明是创
21、建基于Web应用程序的最大障碍。那些尝试过开发应用程序的组织,如果没有使用JDeveloper这样的工具,经常会超出预算,并且开发出来的应用程序也难于维护。JDeveloper中的BC4J组件提供了到数据库的功能接口,并且可以使用内置的代码生成器或向导来构造这些组件。本章仅仅从总体上介绍一下BC4J组件。本书的第部分会深入讨论BC4J,该部分及其他几章中的动手练习展示了BC4J组件应该如何与Swing组件、JSP应用程序及其他JDeveloper生成的代码结合使用。1.2.1 Java与XMLBC4J组件是Java与XML相结合的产物。XML与Java都是开放源代码的(非专有的)语言。由于这两
22、种语言都与操作系统和平台无关,所以它们可以通过网络进行很好的交互,也可以跨Web进行操作。这两种语言都具有互为补充的独特优势。Java是一种模块化、可移植的语言,鉴于其内在的安全性和支持Internet的能力,它是一种业务应用程序之间进行通信的理想机制。然而,Java缺乏在不同平台和应用程序之间交换数据的有效方法,这一点正是可扩展标记语言(Extensible Markup Language,XML)的长处。XML是一种与HTML类似的标签或标记语言;不过XML的标记功能更加强大,因为可以对它的基本标记进行扩展,以满足不断发展的需要。HTML用标记来描述希望的显示方式;而XML创建标记的目的是
23、用来描述文本或数据的结构和内容。应该注意到,XML和Java一样,是区分大小写的语言。XML用于定义数据,而Java用于对数据进行操作。您将会发现,BC4J组件包含了与之相关联的XML和Java文件。XML文件存放了定义该业务组件的元数据,而Java文件存放了实现业务组件的方法。Java文件中包括了get ( )和set ( )方法,可以在运行时动态生成插入、更新和删除语句。而且,XML和Java文件中不但可以包含数据库表引用,还可以包含更多信息。它们也可以定义和实现验证规则。1.2.2 BC4J结构BC4J是JDeveloper中一种结构很好的、经过仔细设计的组件。由于BC4J向导仅提供了修
24、改底层Java类和XML文档的简单机制,所以只有高级JDeveloper用户才知道底层结构的细节。从开发人员的角度看,您只需使用BC4J逻辑对象概念考虑问题。只有在需要编写超出向导处理能力的复杂验证或编码功能时,才会操作Java类。BC4J组件可以从概念上将应用程序分为两个主要部分,如图1-1所示。 用户界面和客户端逻辑 数据库接口和业务逻辑图 1-1使用这种面向对象的架构可以帮助您创建可重用的业务组件,在数据库和用户界面(User Interface,UI)之间实现有效的通信。BC4J向导读取Oracle系统视图,获取代表数据库结构的元数据。使用这个元数据,向导可以生成XML和Java代码,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 9i JDeveloper开发手册构建J2EE应用程序 JDeveloper 开发 手册 构建 J2EE 应用程序

限制150内