Transcript 第十一章
第11章 Oracle J2EE
高级技术与JDeveloper
1、介绍J2EE及其结构、J2EE应用程序的组成及
Oracle9i的J2EE技术
2、Oracle9i的J2EE服务器 Oracle9i Application
Server Containers for J2EE (OC4J) 和Oracle9i Java
商业组件(Business Components for Java ,BC4J)
的特点
3、介绍Oracle9i J2EE应用的最佳开发工具
JDeveloper
4、给出通过BC4J实现J2EE应用程序的示例
目
录
11.1 Java2企业版(J2EE)
11.2 Oracle9i的J2EE技术与OC4J
11.3 Oracle9i Java商业组件(BC4J)
11.4 JDeveloper
11.1 Java2企业版(J2EE)
一、J2EE的由来 √
二、J2EE的组成
*一 般 知 识*
一、计算机应用程序的一般特点 :
大多数应用,从PC机上的简单报表程序到大型机上的复杂
计算,都由三部分组成:
用户界面部分:表示层
应用逻辑部分:业务逻辑层
数据访问部分:数据访问层
二、应用程序开发模型的变迁过程:
单层
1 2 3
两层
1 2
3
N层
三层
1
2
3
1
2 3 4
一、J2EE的由来
1、传统应用程序模型 √
2、Web应用程序模型
3、为什么需要J2EE
4、什么是J2EE
1、传统应用程序模型(一)
主机系统或单层结构:主机/终端模式
数据访问、表示和业务逻辑在一个应用中
代码复用、代码可维护性、代码的修改十分困难
应用不是分布式的,不具有可伸缩性
1、传统应用程序模型(二)
客户/服务器(Client/Server, C/S)结构:“胖”客户
端
Fat client
胖客户端:
表示逻辑
业务逻辑
业务数据模型
通讯
Fat client
用户界面和程序逻辑绑在一起,代码难以重用
服务器的数据库必须同每一个活动的客户保持连接,消
耗大量的运算资源,随着客户数目的增加性能不断下降,
且存在死锁及崩溃的可能
数据模型“紧耦合”在每一客户端,数据库结构改变将
导致全体客户端改变,不利于更新和维护
客户端应用程序越来越大,对使用者的要求也越来越高
一、J2EE的由来
1、传统应用程序模型
2、Web应用程序模型 √
3、为什么需要J2EE
4、什么是J2EE
2、 Web应用程序模型(一)
传统的Web应用程序模型:三层分布式架构
2、 Web应用程序模型(一)
传统的Web应用程序模型:三层分布式架构
WWW浏览方式带来的变化:
“Browser-based” 的客户端与 “Internetworking”
(网际互连)
计算方式向服务器端的集中转化
客户端:业务数据模型与UI分开,更“瘦”
业务逻辑在中间层,通过:连接池,多线程可以处理多客户
端
早期应用编程困难且性能比较差:CGI(C/C++, VB, Perl等
等),ISAPI ,NSAPI
2、 Web应用程序模型(二)
N层计算模式的引入
采用N层计算结构,从逻辑角度看,系统分成客
户端、Web服务器、应用服务器、数据库服务器四层;
从物理角度看,应用服务器可以视用户并发数从1到N
台进行扩充,以保证客户端用户的响应要求。
2、 Web应用程序模型(二)
N层( N-tier )
WS: Web Server
AS: Application Server
B
WS
AS
DB
2、 Web应用程序模型(二)
N层计算模式的引入
从1层到N层,得到的改进:
每一层可以被单独改变,而无需其它层的改变
降低了部署与维护的开销,提高了灵活性、可伸缩性
引入“瘦客户端”,计算被集中至服务器端,使性能提
高成为可能
仍然存在的问题:
对企业级应用开发人员的要求太高:
需要熟悉分布式协议(IIOP、IIOPS、HTTP、HTTPS、
CGI、ISAPI、NSAPI),进行一致性事务处理,负载平衡,
考虑安全性……
2、 Web应用程序模型(三)
多层应用程序的真正优点
应用程序各部分之间松耦合,从而应用程序各
部分的更新相互独立
业务逻辑集中放在服务器上由所有用户共享,
使得系统的维护和更新变得简单,也更安全
数据库不再和每一个活动的用户保持一个连接,
而是由应用程序组件负责与数据库打交道,降
低数据库服务器的负担,提高了性能
一、J2EE的由来
1、传统应用程序模型
2、Web应用程序模型
3、为什么需要J2EE √
4、什么是J2EE
3、为什么需要J2EE
在企业级应用开发中所面临的而且必须解决的问题:
分布式
可移植
旧系统集成支持
面向Web
可装配
满足企业计算要求
一致性
事务性
安全性
要有好的特性
可伸缩
可扩展
易维护
3、为什么需要J2EE
企业级软件概述
“企业”是指一个为了实现某个共同目的而在一起工作的人
或实体的组织。这些组织的形式和大小并不限定,有大有小、
是盈利性的或非营利性的、可能是政府机关也可能是非政府
机构。
一般使用术语“企业”时,极有可能指的就是大型营利性组
织,如Intel、GE、Wal-Mart、摩根银行或eBay等等。
企业通常都有一些共同的需求,例如信息共享与处理、资产
管理与跟踪、资源规划、客户机用户管理、商业机密保护等
等。
而术语“企业软件”就是能够支持企业共同需求的这类软件
的总称。
3、为什么需要J2EE
企业软件和基于组件的软件
在软件开发过程中,出现面向对象开发软件的方法
后,可以实现代码重用,但只能部分实现,原因之
一是对象都细粒度化,造成对象间紧密耦合状态,
从而使得大范围的重用变得很困难。
解决问题的方法是设计软件组件。与对象不同,软
件组件是在更高的抽象级别中设计的,可以提供一
个完整的功能或服务。组件间的耦合更为松散。利
用组件的接口,可以将组件迅速组合在一起构建更
大的应用程序,这样所用的成本也比较合算。
3、为什么需要J2EE
J2EE提供了一套完整的解决所有这些
问题的框架方案:
提供了分布式、可移植组件的框架
为组件与应用服务器提供标准API(应用编程接口
Application Programming Interface)
简化了服务器端中间层组件的设计
3、为什么需要J2EE
J2EE对开发者和用户来说意味着:
更短的开发时间
可重用组件
JSP(Java Server Pages)
EJB(Enterprise JavaBeans)
更简化的连接
XML,JDBC,RMI-IIOP
一、J2EE的由来
1、传统应用程序模型
2、Web应用程序模型
3、为什么需要J2EE
4、什么是J2EE √
4、什么是J2EE
Open and standard based platform for
developing, deploying and managing n-tier,
Web-enabled, server-centric enterprise
applications
开放的、基于标准的平台,用以开发、部
署和管理N层结构、面向Web的,以服务器
为中心的企业级应用
内
一、J2EE的由来
二、J2EE的组成 √
容
二、J2EE的组成
1、What is Java 2 Platform √
2、J2EE的体系结构
3、J2EE架构及核心技术简介
1、What is Java 2 Platform
Java的版本历史:从一种语言发展为
一种平台
Java的前身是一种与平台无关的语言-
“OaK”,诞生于1991年Sun公司的一个研究项
目,最初目的是为了应用于消费类电子设备
的开发;
1994年Internet开始起步,1995年NetScape宣
布把Java集成到其浏览器中,可执行的Java代
码可以以Applet的形式在浏览器中运行,Java
开始流行。
1、What is Java 2 Platform
Java的版本历史:从一种语言发展为
一种平台
Sun公司1996年1月发布JDK(Java
Development Kits)1.0,1997年2月发布
JDK1.1,Java开始在企业中应用。
1998年12月发布JDK1.2,即Java 2 平台,并于
1999年6月经集成重组后重新发布。
目前J2SE的最高版本为1.4。
1、What is Java 2 Platform
目前主要的Java平台及特点如下:
J2ME - Java 2 Micro Edition:用于创建嵌入式应用程
序的Java平台(如移动电话、PDA、信息家电等)。
J2SE - Java 2 Standard Edition:用于创建典型的桌面
与工作站应用的Java平台。
J2EE - Java 2 Enterprise Edition:用于创建可扩缩的
企业应用的Java平台。J2EE运行在J2SE之上。
1、What is Java 2 Platform
J2EE规范
J2EE是SUN公司定义的一个开发分布式企业级应
用的规范。它提供了一个多层次的分布式应用模型
和一系列开发技术规范。
多层次分布式应用模型是指根据功能把应用逻辑分
成多个层次,每个层次支持相应的服务器和组件,
组件在分布式服务器的组件容器中运行(如Servlet
组件在Servlet容器上运行,EJB组件在EJB容器上
运行),容器间通过相关的协议进行通讯,实现组
件间的相互调用。
遵从这个规范的开发者将得到行业的广泛支持,使
企业级应用的开发变得简单、快速。
二、J2EE的组成
1、What is Java 2 Platform
2、J2EE的体系结构 √
3、J2EE架构及核心技术简介
2、J2EE的体系结构
J2EE体系结构是一个多层的、端到端的解
决方案,这个系统结构横跨客户层到表示层、
业务层,最终到达企业信息系统层(EIS)。
2、J2EE的体系结构
Tier)——通常是一台桌面计算机,
客户可以使用GUI与应用程序进行交互。
中间层(Middle Tier)——由表示层和业务层组成,
通常由一个或者多个Web服务器和应用服务器组成。
应用服务器处理客户的请求,执行复杂的表示形式和
业务逻辑,然后将结果返回给客户层。
客户层(Client
企业信息系统层(
Enterprise Information
System,EIS )——也称为数据层,是驻留业务数
据的地方。在处理业务逻辑时,由中间层访问EIS层。
二、J2EE的组成
1、What is Java 2 Platform
2、J2EE的体系结构
3、J2EE架构及核心技术简介 √
3、J2EE架构及核心技术简介
J2EE架构:
3、J2EE架构及核心技术简介
J2EE应用程序构成:
J2EE技术提供了一个基于组件的方法来设计、
开发、装配和部署企业级应用程序。
一个J2EE应用程序可能包含一个或多个EJB组件、
Web组件,或应用程序客户端组件。
组件技术:
组件(component)是一个应用程序级的软件单元。
J2EE组件:
客户端组件 :客户端应用程序和Applet
服务器端Web组件 :Java Servlet和JSP
服务器端的商业组件 :Enterprise JavaBeans
3、J2EE架构及核心技术简介
J2EE容器
容器是一种运行在服务器上的软件实体,用于管理
特定类型的组件。为开发的J2EE组件提供了执行环
境。通过容器, J2EE体系结构就能在开发和部署间
提供无关性,并在不同类型的中间层服务器间提供可
移植性。
容器还负责管理部署在其中的组件的生命周期,及
诸如资源汇集和强制执行安全之类的工作。
依赖于容器的类型,还可以访问一些或全部J2EE
API
所有的J2EE组件都部署于容器中并在容器中执行。
3、J2EE架构及核心技术简介
J2EE容器类型:
应用程序容器:管理独立的java应用程序
Applet容器:为Applet提供一个执行环境
Web容器:管理Web组件(
企业级容器:管理EJB组件
JSP页面和Servlet组件)
3、J2EE架构及核心技术简介
J2EE服务器和容器
部署时会将J2EE应用程序组件安装到J2EE容器中,
如图11.2所示。
3、J2EE架构及核心技术简介
J2EE服务器和容器
J2EE服务器是J2EE产品的运行部分,它提供EJB
容器和Web容器。
3、J2EE架构及核心技术简介
J2EE应用组件
3、J2EE架构及核心技术简介
3、J2EE架构及核心技术简介
J2EE容器和组件:
容器处理
•分布性
•可伸缩性
•可用性
•事务性
•安全性
• 生命周期管理
组件处理
•表示
•JSP, Servlet,
Applet
•业务逻辑
•EJB
•数据访问逻辑
•EJB
3、J2EE架构及核心技术简介
J2EE核心技术:13种
EJB、 CORBA、 RMI、JSP、
Java Servlet、JavaBean、JDBC
XML、JMS……
3、J2EE架构及核心技术简介
EJB — J2EE的基石:
EJB (Enterprise JavaBeans) :
EJB不是一个具体的产品,而是一个Java服务器端组件开
发的规范,软件厂商根据它来实现EJB服务器。
使用EJB,Java程序员可以将一些定义明确的程序块组合
到一起,从而方便、快捷地建构分布式应用程序。
使用EJB可以使整个程序分块明确,并且EJB可以使用其
它EJB或JDBC等服务,从而增强了分布式应用程序的可
扩展性和性能;
EJB规范在简化分布式应用程序开发复杂性方面做了大量
的工作,所以EJB程序员不必太担心事务处理、多线程、
资源管理等方面的问题,可以专注于支持应用所需的商业
逻辑,而不用担心周围框架的实现问题。
EJB的使用增强了整个系统程序的可靠性、可管理性和可
移植性。
3、J2EE架构及核心技术简介
EJB — J2EE的基石:
EJB容器是:
EJB的运行环境。它提供规范中定义的接口,使EJB类访问所需的服
务。容器厂商也可以在容器或服务器中提供额外服务的接口。 它的责任
包括:
3、J2EE架构及核心技术简介
EJB — J2EE的基石:
EJB服务器是:
管理EJB容器的高端进程或应用程序,并提供
对系统服务的访问。EJB服务器也可以提供厂商自
己的特性,如优化的数据库访问接口,对其他服务
(如CORBA服务)的访问。一个EJB服务器必须提
供支持对JNDI的名字服务和TS事务服务的可访问。
EJB分为两种:
会话EJB和实体EJB,会话EJB向客户提供一定
的服务,如:特定的商业逻辑、数据库查询等;而
实体EJB则代表数据对象,通常代表的是数据表记
录集的一行,一个实体EJB可以同时与多个客户进
行交互。
3、J2EE架构及核心技术简介
J2EE核心技术:
EJB、 CORBA、 RMI、JSP、
Java Servlet、JavaBean、JDBC、
XML、JMS……
3、J2EE架构及核心技术简介
CORBA体系结构:核心-ORB
3、J2EE架构及核心技术简介
CORBA技术:
CORBA(Common Object Request Broker
Architecture)是一个分布式对象体系结构,它独立
于平台,也独立于语言。
在这个体系结构中,一个对象可以被本机上的客户
或远程客户通过方法激活来存取。客户(一个对象
或应用)无须知道被调用对象(称为服务对象)的
运行环境,也无须知道实现这个对象的编程语言,
客户只要知道服务对象的逻辑地址和提供的接口。
这种互操作性的关键是IDL(Interface Definition
Language,接口定义语言),IDL说明对象接口中
的方法,这些方法可以被其它对象(或应用)激活。
3、J2EE架构及核心技术简介
J2EE核心技术:
EJB、 CORBA、 RMI、JSP、
Java Servlet、JavaBean、JDBC、
XML、JMS……
3、J2EE架构及核心技术简介
RMI技术:
RMI(Remote Method Invoke)是一种被EJB使用的更底层的协议,正如其
名字所表示的那样,RMI协议调用远程对象上的方法,使用序列化方式
在客户端和服务器端的对象之间传递数据。
RMI和CORBA相比:
两者的关键差别在于语言环境,Java RMI是一个分布式对象计算的纯Java
解决方案(如,在Java RMI中,对象的接口用Java定义,而不是用IDL);
其次,CORBA没有定义安全服务,而Java RMI继承了Java的安全性;
再者,CORBA有不同的实现,不同的独立软件开发商的不同实现均有独
特性,这使得在不同平台上的匹配比较困难,而且不是所有CORBA产品
开发商都支持所有平台,而几乎所有平台都支持Java虚拟机,因此Java
RMI具有更高的可移植性。如果客户对象和服务对象都基于Java虚拟机,
那么Java RMI是分布对象计算的最好选择。
最后,IIOP(Internet Inter-ORB Protocol,Internet内部ORB协议)已经
提供了Java RMI和CORBA的互操作能力,而且两者的发展有互相借鉴的
趋势。
3、J2EE架构及核心技术简介
J2EE核心技术:
EJB、 CORBA、 RMI、JSP、
Java Servlet、JavaBean、JDBC、
XML、JMS……
3、J2EE架构及核心技术简介
JSP技术:
JSP是服务器端的脚本语言,是以Java和Servlet为基础开发而
成的动态网页生成技术,它的底层实现是Java Servlet。
JSP(Java Server Pages)页面由HTML代码和嵌入其中的Java代
码所组成。服务器在页面被客户端所请求以后对这些Java代
码进行处理,然后将生成的HTML页面返回给客户端的浏览
器。
特点:面向对象,跨平台,和Servlet一样稳定,可以使用
Servlet提供的API,克服了Servlet的缺点。
应用:一般和JavaBeans结合使用,从而将界面表现和业务逻
辑分离。
3、J2EE架构及核心技术简介
JSP和ASP的比较(一):
相似:
都是运行于服务器端的脚本语言,两者都是动态网
页生成技术。
这两项技术都使用HTML来决定网页的版面,都是
在HTML 代码中混合某种程序代码,由语言引擎解
释执行程序代码。HTML代码主要负责描述信息的
显示样式,而程序代码则用来描述处理逻辑。
3、J2EE架构及核心技术简介
JSP和ASP的比较(二):
不同:
JSP是由Sun推出的一项技术,是基于JavaServlet以及整个java
体系的Web开发技术,利用这一技术可以建立先进、安全和
跨平台的动态网站。ASP是MS公司推出的技术,只能在MS
的平台上运行,无法实现跨平台,也无安全性保障。
ASP下的编程语言是 VBScript 之类的脚本语言,而JSP 使用
的是Java。
ASP 与 JSP 还有一个更为本质的区别:两种语言引擎用完全
不同的方式处理页面中嵌入的程序代码。在 ASP 下,
VBScript 代码被 ASP 引擎解释执行;在 JSP 下,代码被编译
成 Servlet 并由 Java 虚拟机执行,这种编译操作仅在对 JSP
页面的第一次请求时发生。
3、J2EE架构及核心技术简介
J2EE核心技术:
EJB、 CORBA、 RMI、JSP、
Java Servlet、JavaBean、JDBC、
XML、JMS……
3、J2EE架构及核心技术简介
Java Servlet技术:
Servlets(=Server +Applet):是一些运行于Web服务器端的
Java小程序,用来扩展Web服务器的功能。
Servlet是一种扩展Web服务器功能的技术,而且由于它是用
Java编写的,所以能够访问整个Java API库,包括用于访问企
业数据库的JDBC API。
Servlets用特定的Java解决方案替代了其它的Web服务器方编
程模式(如:CGI,ISAPI等),因而继承了Java的所有特性
(跨平台、多线程、OO)。
用来编写Servlets的Servlet API对于服务器环境和协议没有任
何特殊的要求,所以Servlets具有很强的可移植性,也不像利
用CGI程序等其它方式那样具有性能局限。
Servlets也同样使用HTTP协议与客户端进行通讯,所以有时
也称Sevlets为“HTTP Servlets”。
3、J2EE架构及核心技术简介
Java Servlet和JSP的比较:
相似:
两者都是基于Java的技术,所以都继承了Java的所有
特性(跨平台、多线程、OO ),都可以使用Java强
大的API。
两者工作方式相似:JSP代码先被JSP容器转换为
Servlet代码再编译为类。
两者在J2EE体系结构中的工作层次相同,都负责与
客户端的连接。
3、J2EE架构及核心技术简介
Java Servlet和JSP的比较:
不同:
编程方式不同。Servlets是一些运行于Web服务器端
的Java小程序;而JSP是脚本,编写起来更简单容易。
应用目的不同。Servlet主要用于从客户端接收请求
信息,而JSP主要负责将服务器端信息传送到客户端。
使用JSP的真正意义在于:可以将界面设计和业务逻
辑设计分离。
3、J2EE架构及核心技术简介
J2EE核心技术:
EJB、 CORBA、 RMI、JSP、
Java Servlet、JavaBean、JDBC、
XML、JMS……
3、J2EE架构及核心技术简介
JavaBean技术:
JavaBean是基于Java的组件模型,有点类似于Microsoft的
COM组件。
JavaBean通过Java虚拟机(Java Virtual Machine)执行,运行
JavaBean最小的需求是JDK1.1或者以上的版本。
在Java平台中,通过JavaBean可以无限扩充Java程序的功能,
通过JavaBean的组合可以快速的生成新的应用程序。
对于程序员来说,最好的一点就是JavaBean可以实现代码的
重复利用,另外对于程序的易维护性等等也有很重大的意义。
JavaBean传统的应用在于可视化的领域,如AWT(Abstract
window Toolkit, 抽象窗口工具包)下的应用。自从JSP诞生
后,JavaBean更多的应用在了非可视化领域,在服务器端应
用方面表现出来了越来越强的生命力。
3、J2EE架构及核心技术简介
J2EE核心技术:
EJB、 CORBA、 RMI、JSP、
Java Servlet、JavaBean、JDBC、
XML、JMS……
3、J2EE架构及核心技术简介
JDBC技术:
JDBC(Java Database Connectivity)是一组API,定
义了用来访问数据源的标准Java类库,使用这个类库
可以以一种标准的方法、方便地访问数据库资源。
JDBC对数据库的访问具有平台无关性。
JDBC API为访问不同的数据库提供了一种统一的途
径,象ODBC一样,JDBC对开发者屏蔽了一些细节
问题。
JDBC的目标是使应用程序开发人员使用JDBC可以
连接任何提供了JDBC驱动程序的数据库系统,这样
就使得程序员无需对特定的数据库系统的特点有过
多的了解,从而大大简化和加快了开发过程。
3、J2EE架构及核心技术简介
J2EE核心技术:
EJB、 CORBA、 RMI、JSP、
Java Servlet、JavaBean、JDBC、
XML、JMS……
3、J2EE架构及核心技术简介
XML技术:
XML(Extensible Markup Language)是一种可以用来
定义其它标记语言的语言,被用来在不同的商务过
程中共享数据。
XML的发展和Java是相互独立的,但是它和Java具有
的相同目标即平台独立性。通过将Java和XML的组
合,可以得到一个完美的具有平台独立性的解决方
案。
J2EE平台全面支持和实施XML,这种强大的组合可
使XML具备跨平台的兼容性,甚至用于对XML代码
进行语法检查和调试的工具也可与平台无关。
3、J2EE架构及核心技术简介
J2EE核心技术:
EJB、 CORBA、 RMI、JSP、
Java Servlet、JavaBean、JDBC、
XML、JMS、……
3、J2EE架构及核心技术简介
JMS技术:
JMS(Java 消息服务,Java Message Service)是一种基于 Java的技
术,因此是平台无关的。它为消息服务定义了通用 Java 语言接口,支持
最常见的消息传递模型(发布/订阅和点到点)。通过对JMS API的访问
可实现面向消息的通信 。 JMS通常用来实现异构系统之间的松散集成。
3、J2EE架构及核心技术简介
*关于消息技术:
消息系统的特点:
- 消息是异步的。
- 允许不同的应用程序之间进行通讯。
-消息应用程序之间是对等的,服务器与客户
机之间没有明显的界限。 消息的生产者可以消费
消息,消费消息的应用程序也可以生产消息。
3、J2EE架构及核心技术简介
*关于消息技术:
消息系统的优势:
-与平台无关,与在网络上所处的位置无关。
-是可伸缩,可扩展的。需更大的吞吐量,只需添加硬
件即可。可支持数万台客户机,每秒钟可处理事件的数目
可达几万。
-在异构的环境中可以很好地工作。
-是健壮的,发送接受可以失败,网络也可以失败,这
时Messaging System可以继续执行它的职责。
3、J2EE架构及核心技术简介
J2EE其它核心技术:
EJB、 CORBA、 RMI、JSP、JavaServlet、
JavaBean、JDBC、
XML、JMS、……
几个对应于几种服务的企业级API:
JNDI(Java Naming and Directory Interface)、
JMAPI(Java Management API)、
JTS/JTA(Java Transaction Service/API)、
Java Security API。
3、J2EE架构及核心技术简介
J2EE核心技术中最常用的技术:
EJB、 CORBA、 RMI、JSP、
Java Servlet、JavaBean、JDBC、XML、
JMS、……
开发大型企业级应用:异构、分布、数据交换
CORBA、 RMI、XML、JMS、……
内
一、J2EE的由来 √
二、J2EE的组成 √
容
附录
现在支持J2EE技术的AS:
BEA
WebLogic Server 7.0
IBM
WebSphere Application
Server 5.0
Borland
Enterprise Server, AppServer
Edition &
JBuilder 8.0
Oracle
9i Application Server
SunTM ONE
Application Server
Macromedia
JRun 4
谢谢!
11.2 Oracle9i的J2EE技术与OC4J
应用服务器 Oracle9iAS :提供J2EE容器OC4J,并且支
持JSP、Servlet、Enterprise JavaBeans、Web服务和所有的
J2EE服务
开发工具——Oracle推出的Oracle9i JDeveloper对开发和
部署J2EE应用程序提供百分之百的支持
数据库服务器——对于Java中的数据操作 ,Oracle数据
库环境允许用户用Java编写传统的数据存储过程、触发
器和抽象数据类型方法
从Java访问数据库
SQLJ—Oracle
返回章
11.3 Oracle9i Java商业组件(BC4J)
BC4J是一个服务器端的应用组件框架,可
用来开发和部署基于SQL表的Java应用
BC4J组件提供了与数据库的功能性接口,
并且可以使用内建的代码生成器或向导生
成代码
利用BC4J提供的关系映射工具,能够根据
数据库表格生成Java实体和视图组件
BC4J应用结构
BC4J的组件
BC4J组件主要应用于3个方面:
1. 数据定义及校验组件
2. 数据操作和过滤组件
3. 存储定位及容器
1.数据定义及校验组件
实体(Entity)
属性(Attribute)
关联(Association)
域(Domain)
特性(Property)
2. 数据处理和过滤组件
视图对象(View Objects):
用SQL查询来指定和过滤定义在实体对象中
的数据
视图链接(View Links):
用于描述视图对象之间的关系
3. 存储位置及容器
包(package)
应用模块
实例化与客户应用交互的BC4J视图对象和
视图链接
返回章
11.4 JDeveloper
快速应用开发环境
功能与特点
涵盖完整的产品开发周期
100% Java 应用程序
Oracle9i Java商业组件 :
具有建立和测试组件的逻辑功能
Java Servlet、JSP页面和瘦Java Swing客户端可以快速、
便捷地访问和更新数据视图
11.4 JDeveloper
11.4.1 创建基于BC4J的应用工程
11.4.2 BC4J JSP应用工程
返回章
11.4.1 创建基于BC4J的应用工程
在创建BC4J工程的过程中需要回答如下的
问题:
什么是实体对象和商业对象?
实体对之间如何关联?
确认规则是什么?
展示和操作什么数据?
基于BC4J的应用程序所需的基本组
成部分
基于BC4J的应用程序的开发过程
1. 基于数据库设计创建实体对象和关联
2. 创建或打开Oracle JDBC数据源
3. 创建工作区与BC4J工程
4. XML文件与Java文件
5. 测试商业组件工程
创建工作区与BC4J工程
(1)创建一个工作区Mybc4jWS.jws,在其中创建一个工程文件Mybc4jPR.jpr
(2)创建Business Components项,右击Mybc4jPR.jpr,选择“New Business
Components Package…”,则会显示创建BC4J工程向导
① 在向导第一步输入包的名称并选定Entity Objects mapped to database
schema objects单选按钮。
② 在向导第二步为要创建的商业组件选择一个Oracle9i数据库的连接如
“JDBCConnection1”,并以用户名SCOTT,密码tiger连接到数据库。
③ 在向导第三步的对话框中,最上端的下拉列表指明数据库用户
返回节
11.4.2 BC4J JSP应用工程
1.BC4J JSP应用体系结构
2.创建JSP应用工程
(1) 创建BC4J JSP应用:在 MyJSP.jpr工程中创建一个
BC4J JSP应用 . “Categories”中选择“JSP Business
Components”选项 , “Items”中选定Complete JSP Application
类型
(2) BC4J JSP向导
选择数据模型定义
选择创建的数据模型定义
确定每个视图对象是否产生JSP页面
针对每个视图链接对象是否产生JSP页面进行配置
(3) 分析BC4J JSP应用:HTML文件、GIF文件、部署
文件、JSP页面文件
3. 部署BC4J JSP应用
(1)初始化OC4J
① 初始化OC4J:可以单独作为J2EE窗口使用,也可以配置为
Oracle9i JDeveloper的J2EE窗口使用 。
OC4J单独作为J2EE容器 时,将下载的oc4j_extended.zip解压缩到
某一初始化目录中,然后在DOS窗口中执行如下命令:
CD\<oc4j_install-dir>\j2ee\home
java –jar oc4j.jar install
OC4J内嵌 时:
CD\<Oracle9i JDeveloper_root>/j2ee/home
java –jar oc4j.jar install
(1)初始化OC4J
② 启动OC4J
使用默认配置文件:Java -jar oc4j.jar
使用自定义配置文件:java-jar oc4j.jar-config/mypath/server.xml
③ 停止OC4J
Java -jar admin.jar ormi : //localhost admin <password> shutdown [force]
④ 测试OC4J
启动IE或者Netscape浏览器,在地址栏输入
http://localhost:8888/
(2)部署OC4J应用
① 启动OC4J
② 连接Web容器OC4J
③部署Web应用到服务器
(3)运行OC4J JSP应用
BC4J JSP应用部署完成后,可以在系统导航窗口中MyJSP.jpr工程
节点下,右击main.html并选择“Run main.html”启动OC4J JSP应
用,启动界面如图11.9所示
单击EmpView1视图对象的Browse超文本链接,
则执行结果如图11.10所示
图11.10 EmpView1视图对象页面
单击Edit按钮,执行结果如图11.11所
示
图11.11 EmpView1视图对象修改页面
在Empno(员工号)项输入7369,单
击Search按钮,则查询结果如图11.12所
示
图11.12 EmpView1视图对象查询页面
单击FkDeptnoLink视图链接的超文本链
接,执行结果如图11.13所示
返回节
图11.13部门.员工主从视图