第三讲 JNDI.ppt
《第三讲 JNDI.ppt》由会员分享,可在线阅读,更多相关《第三讲 JNDI.ppt(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三讲第三讲 JNDI内容回顾内容回顾J2EE体系结构体系结构本课程应用环境本课程应用环境l开发工具开发工具:MyEclipsel数据库服务器:数据库服务器:MySQL 5.0l应用服务器:应用服务器:BEA Weblogic Server 9.2本讲教学本讲教学教学目标:教学目标:3.1 JNDI简介简介3.2 JNDI的体系结构的体系结构3.3 命名服务的应用编程命名服务的应用编程教学重点:教学重点:JNDI的的API;应用编程;应用编程教学难点:教学难点:创建上下文创建上下文3.1 JNDI简介简介为什么需要为什么需要JNDI?应应用用程程序序必必须须能能在在不不知知道道外外部部信信息息
2、是是如如何何命命名名和和组组织织在在其其运运行行环环境境中中的的情情况况下下来来存存取取资资源源和和外外部部信信息息,JNDI命名上下文命名上下文和和Java语言的语言的注释注释提供了这种能力提供了这种能力JNDI和和注注释释(Annotation)是是存存取取外外部部资资源源和和信信息息的的机机制制应应用用程程序序在在运运行行环环境境中中查查找找的的资资源源(如如数数据据源源、Servlet、EJB)和和外外部部信信息息必必须须在在命命名名服服务务中中注注册册,否否则无法找到则无法找到用用一一个个有有意意义义的的文文本本名名与与对对象象关关联联。通通过过分分布布式式系系统统的的命命名名和和目
3、目录录服服务务能能够够对对分分布布式式系系统统中中的的资资源源(文文件件、分布式对象、服务)进行方便的访问和管理分布式对象、服务)进行方便的访问和管理3.1 JNDI简介简介JNDI(Java Naming and Directory Interface)JNDI是是Java EE中中的的核核心心技技术术之之一一,它它允允许许组组件件定定位位其其他他组组件件和和资资源源,提提供供了了企企业业级级应应用用所所需需要要的的资资源源和和外外部部信信息息的的注注册册、存存储储以以及及获获取取组组件件等等功功能能,许许多多J2EE组组件的使用需要件的使用需要JNDI 的支持的支持在在JMS、JMail、
4、JDBC、EJB等等技技术术中中,大大量量应应用用这这种技术种技术l例例如如,要要定定位位JDBC资资源源,EJB调调用用JNDI的的lookup方方法法,lookup方方法法传传递递一一个个JNDI名名称称参参数数,返返回回相相关关的的对对象象3.1.1 访问对象的基本方式访问对象的基本方式 凭借对象名称(name)与对象体(object)的绑定(binding),使用者通过上下文(context)来存取欲使用的对象 命名服务系统示例命名服务系统示例 yRMI注册表注册表 远程对象名远程对象名远程对象远程对象yDNS 主机名称主机名称IP Address202.120.144.2y文件系统文
5、件系统 文件名或路径文件名或路径文件句柄文件句柄3.1.1 访问对象的基本方式访问对象的基本方式目录服务 目目录录服服务务是是命命名名服服务务的的扩扩充充,也也是是凭凭借借名名称称 与与对对象象 的的绑绑定定来来存存取取欲欲使使用用的的对对象象。但但允允许许对对象象拥拥有有属属性性(attributes)以以记记录录额额外外的的信信息息。于于是是,使使用用者者可可以以通通过过名名称称来来查查看看(look up)对对象象并并获获得得该该对对象象的的属属性性信信息息,或是利用或是利用属性属性作为搜寻的作为搜寻的过滤条件过滤条件(search filter)目录服务是目录服务是命名服务命名服务,命
6、名服务命名服务不需要是目录不需要是目录服务服务 3.1.1 访问对象的基本方式访问对象的基本方式例如:电话公司的电话服务系统,记录每个单位登记的电话号码。对于单位对象,有地址等属性可利用 名字名字电话电话地址地址东华大学东华大学6779367867793678 人民北路人民北路29992999号号对对象象属性属性名名属性值属性值什么是目录?什么是目录?目目录录类类似似于于一一个个数数据据库库,它它通通常常包包含含一一些些基基于于属性属性(名名-值值结构)的描述性信息结构)的描述性信息由由于于目目录录中中的的信信息息被被读读的的频频率率比比写写的的频频率率高高许多,所以目录没有复杂的许多,所以目
7、录没有复杂的事务事务和和回滚回滚机制机制3.1.1 访问对象的基本方式访问对象的基本方式3.1.1 访问对象的基本方式访问对象的基本方式目录与数据库的区别目录与数据库的区别(目录服务的特殊性目录服务的特殊性)检检索索功功能能强强大大,而而增增、删删、改改等等数数据据库库更更新新功功能能则则较较弱弱,更更新新只只是是简简单单的的更更改改操操作作。因因为为目目录录服服务务器器是是专专门为那些检索频率多于更新频率的数据服务而设计的门为那些检索频率多于更新频率的数据服务而设计的对对大大量量的的信信息息查查找找或或信信息息检检索索,目目录录应应该该快快速速给给出出应答应答为为提提高高性性能能和和可可靠靠
8、性性,并并降降低低应应答答时时间间,分分布布式式的的目目录录信信息息要要在在广广阔阔的的网网络络范范围围内内进进行行复复制制。复复制制点点之之间间,暂时的不一致是难免的,只要最终能同步即可暂时的不一致是难免的,只要最终能同步即可3.1.1 访问对象的基本方式访问对象的基本方式目前使用目前使用DirectoryDirectory较著名的应用系统与架构较著名的应用系统与架构lNovell公司的公司的 NDS(Novell Directory Services)lSun公司的公司的NIS(Network Information Service)lLDAP(Lightweight Directory
9、Access Protocol)3.1.2 JNDI基本概念基本概念名称名称l描述对象的名称字符串描述对象的名称字符串 一一个个名名称称空空间间中中所所有有的的命命名名必必须须遵遵循循相相应应的的规规则则该该名名称称空空间间的的命名惯例命名惯例,如,如DNS的命名惯例的命名惯例l类型类型l原子名字:原子名字:不可再分不可再分的名字的名字l混合名字(混合名字(Compound Name):按照按照命名约定命名约定组成的零个或多个原子名字序列组成的零个或多个原子名字序列l复合名字(复合名字(Composite Name):跨跨越越多多个个命命名名系系统统的的名名字字,由由多多个个部部分分组组成成,
10、每每个个部部分分处处于于不不同的命名空间同的命名空间 3.1.2 JNDI基本概念基本概念绑定(binding)JNDI命名服务有一组将命名服务有一组将原子名字原子名字与与对象对象关联在一起关联在一起的绑定的绑定上下文(Context)JNDI提提供供了了一一个个命命名名上上下下文文对对象象,即即一一组组名名称称到到对对象象绑绑定定,被被绑绑定定在在一一个个上上下下文文中中的的名名称称是是对对象象的的JNDI名名称称,所所有有的的命命名名操操作作相相对对于于一一个个上上下下文文。其其状状态态是是不不同同原原子子名名字字到到对对象象的的绑绑定定集集合合,其其操操作作有有解解析析名名字字、绑绑定定
11、名名字字、解解绑绑定定名名字字、列列举举绑绑定定名名字字、注注销销名名字字、重重新新命命名对象等名对象等3.1.2 JNDI基本概念基本概念命名系统命名系统l一一个个具具有有相相同同类类型型(有有相相同同命命名名约约定定)的的上上下下文文对对象的集合象的集合l命命名名系系统统的的主主要要功功能能是是从从名名字字映映射射到到对对象象,对对象象可可以是任何类型以是任何类型l一一个个目目录录系系统统用用于于表表现现一一个个计计算算机机环环境境中中各各种种信信息息的的特特殊殊类类型型的的对对象象。一一个个目目录录对对象象和和它它的的属属性性相相关关联,属性表现为一个标识符和一个值的集合联,属性表现为一
12、个标识符和一个值的集合名称空间名称空间 一个一个命名命名/目录目录系统中系统中名字名字的集合的集合3.1.2 JNDI基本概念基本概念目录的属性与子上下文目录的属性与子上下文l一一个个上上下下文文内内部部可可以以具具有有另另一一个个上上下下文文,称称为为子子上上下下文文,与与文文件件系系统统中中的的目目录录非非常常相相象象,这这种种分分层层结结构构可可以更好地组织信息以更好地组织信息l子子上上下下文文仅仅在在目目录录服服务务中中有有效效,而而在在命命名名服服务务中中无无效效,因为命名服务未安排在类似分层树的结构中因为命名服务未安排在类似分层树的结构中l对对于于支支持持子子上上下下文文的的命命名
13、名服服务务,Context类类也也提提供供创创建和销毁子上下文的方法建和销毁子上下文的方法3.1.2 JNDI基本概念基本概念为避免与为避免与JNDI名称空间中的其他企业资源的名称空间中的其他企业资源的名称冲突,并且避免可移植性问题,名称冲突,并且避免可移植性问题,J2EE应应用程序中的所有名称应该以字符串用程序中的所有名称应该以字符串java:comp/env开始开始3.2 JNDI的体系结构的体系结构JNDI包含一组包含一组API和一组和一组SPI(Service Provider Interface)Java程序通过程序通过JNDI API 存取各种存取各种naming和和directo
14、ry 服务服务3.2 JNDI的体系结构的体系结构JNDI的的思思想想是是提提供供一一个个通通用用的的接接口口。底底层层的的名名字字服服务务实实现现可可以以是是各各种种类类型,型,JNDI通过通过SPI实现代码实现代码屏蔽了各种名字和目录服务实现的区别屏蔽了各种名字和目录服务实现的区别3.2.1 JNDI的包和类的包和类JNDI由由若干个若干个独立的独立的包组成包组成l基础包基础包javax.naming 从中获得从中获得JNDI核心概念核心概念的定义的定义l服务提供程序包服务提供程序包javax.naming.spil特定服务提供程序的实际实现存放在特定服务提供程序的实际实现存放在独立的独立
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三讲 JNDI 第三
限制150内