基于RFID的库存管理系统设计的开发与实现.doc_第1页
基于RFID的库存管理系统设计的开发与实现.doc_第2页
基于RFID的库存管理系统设计的开发与实现.doc_第3页
基于RFID的库存管理系统设计的开发与实现.doc_第4页
基于RFID的库存管理系统设计的开发与实现.doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于基于 RFIDRFID 的库存管理系统的库存管理系统 InventoryInventory ManagementManagement SystemSystem BasedBased onon RFIDRFID 摘要摘要 射频识别(Radio Frequency Identification, RFID)作为一种快速、实时、 准确采集与处理信息的高新枝术和信息标准化的基础,被列为本世纪十人重要 技术之一。RFID 技术已逐渐成为企业提高物流供应链管理水平,降低成本,企 业管理信息化,参与国际经济大循环,增强企业核心竞争力不可缺少的技术工 具和手段。 本文首先介绍了了 RFID 的系统组成,工作原理,发展历史,技术标准现状 以及 RFID 在管理中的应用。然后通过对 ODBC 和 JDBC 的讨论,确定了两种中间 件的特点。本文利用 JBuilder 9.0,SQL Server 2000,JDBC 设计了基于 RFID 的库存管理系统。该系统分为登陆模块,查询模块,出库模块,入库模块。 文 中详细列出了各个模块的程序流程图,完成带有 RFID 的货物在库存中的流动模 拟。其中程序的核心部分是实现了数据库的建立和针对数据库的查询等操作。 本文的最后列写出了对于发展前景的展望。 关键词关键词:RFID,库存管理,JDBC,SQL Server 2000 Abstract As a speedy, real-time, accurate information collection and procession technology Radio Frequency Identification has been ranked as one of the most important technology in this century. RFID has gradually become a necessary technological means for manufacture to improve supply chain management, reduce cost, realize management information, joins in international economy circle, strength enterprises core compatibility. In this article, author first introduced RFIDs making up, working principle, improving history, the technical standard actuality and the application in the management. Then by discussing ODBC and JDBC, the author found out the characters of these two databases. In this article, author using JBuilder9.0, SQL Server 2000, JDBC designed a warehouse management system based on RFID. This system is made up with the login module, query module, shipment module. The flowcharts of these modules are detailed listed and the processes of the goods which are with RFID flowing in the warehouses are simulated. The core part of this system is the connection with the database and the operation such as query with he database. In the end, author listed the prospect of the development of RFID. Keyboard: RFID,Inventory management,JDBC,SQL Server 2000 目录目录 摘要摘要 .2 ABSTRACT3 1 1选题背景选题背景 .5 1.1 RFID 简介5 1.2 RFID 发展历史5 1.3 RFID 的系统组成6 1.4 RFID 工作原理6 1.5 RFID 技术标准现状7 1.6 RFID 在管理中的应用10 2 2 库存管理系统方法论证库存管理系统方法论证 .12 2.1 ODBC.12 2.2 JDBC.13 2.3 ODBC 和 JDBC 的比较19 3 3. RFIDRFID 库存管理系统设计过程库存管理系统设计过程 21 3.1 管理系统设计前提.21 3.2 程序使用的软件工具.21 3.3 数据库类型的选定.22 3.4 数据库的建立和连接.23 3.5 系统流程.25 4 4. 总结与展望总结与展望 40 致谢致谢 .41 参考文献参考文献: .42 1 1选题背景选题背景 1 1.1 1 RFIDRFID 简介简介 RFID 射频识别是一种非接触式的自动识别技术,它通过射频信号自动识别 目标对象并获取相关数据,识别工作无须人工干预,可工作于各种恶劣环境。 RFID 技术可识别高速运动物体并可同时识别多个标签,操作快捷方便。 埃森哲实验室首席科学家弗格森认为 RFID 是一种突破性的技术:“第一, 可以识别单个的非常具体的物体,而不是像条形码那样只能识别一类物体;第 二,其采用无线电射频,可以透过外部材料读取数据,而条形码必须靠激光来 读取信息;第三,可以同时对多个物体进行识读,而条形码只能一个一个地读。 此外,储存的信息量也非常大。1 1 1.2 2 RFIDRFID 发展历史发展历史 RFID 技术的发展最早可以追溯至第二次世界大战时期,那时它被用来在空 中作战行动中进行敌我识别。从历史上看,RFID 技术的发展基本可按 10 年期 划分为几个阶段(参见表 1)。因此 RFID 并不是一个崭新的技术。从分类上看, 因为经过多年的发展,13.56MHz 以下的 RFID 技术已相对成熟,目前业界最关注 的是位于中高频段的 RFID 技术,特别是 860MHz960MHz(UHF 频段)的远距离 RFID 技术发展最快;而 2.45GHz 和 5.8GHz 频段由于产品拥挤,易受干扰,技术 相对复杂,其相关的研究和应用仍处于探索的阶段。 表 1-1 RFID 技术发展的历程表 时间 RFID 技术发展 1941-1950 年 雷达的改进和应用催生了 RFID 技术,1948 年奠定了 RFID 技 术的理论基础。 1951-1960 年 早期 RFID 技术的探索阶段,主要处于实验室实验研究。 196l-1970 年 RFID 技术的理论得到了发展,开始了一些应用尝试。 1971-1980 年 RFID 技术与产品研发处于一个大发展时期,各种 RFID 技术 测试得到加速。出现了一些最早的 RFID 应用。 1981-1990 年 RFID 技术及产品进入商业应用阶段,各种封闭系统应用开始 出现。 1991-2000 年 RFID 技术标准化问题日趋得到重视,RFID 产品得到广泛采用。 2001-今 标准化问题日趋为人们所重视,RFID 产品种类更加丰富,有 源电子标签、无源电子标签及半无源电子标签均得到发展, 电子标签成本不断降低。 1 1.3 3 RFIDRFID 的系统组成的系统组成 一个典型的 RFID 系统一般由 RFID 标签、读写器以及计算机系统等部分组 成。其中 RFID 标签中一般保存有约定格式的编码数据,用以唯一标识标签所附 着的物体。与传统的识别方式相比,RFID 技术无需直接接触、无需光学可视、 无需人工干预即可完成信息输入和处理,且操作方便快捷。能够广泛应用于生 产、物流、交通、运输、医疗、防伪、跟踪、设备和资产管理等需要收集和处 理数据的应用领域,并被认为是条形码标签的未来替代品。 在具体的应用过程中,根据不同的目的和环境,RFID 系统的组成会有所不 同,但从其工作原理来看,系统一般都由信号发射机、信号接收机、发射接收 天线三部分组成。(1) 信号发射机:在 RFID 系统中,信号发射机为了不同的 应用目的,会以不同的形式存在,典型的形式是标签。标签相当于条形码技术 中的条形码符号,用来存储需要识别传输的信息。另外,与条形码不同的是, 标签必须能够自动或在外力的作用下,把存储的信息主动发射出去。标签一般 是带有线圈、天线、存储器与控制系统的低电集成电路。(2) 信号接收机: RFID 系统中,信号接收机一般叫做阅读器。阅读器基本的功能就是提供与标签 进行数据传输的途径。另外,阅读器还提供相当复杂的信号状态控制、奇偶错 误校验与更正功能等。(3) 发射接收天线:天线是标签与阅读器之间传输数据 的发射、接收装置。RFID 技术用于需要跟踪众多货物资源、而人手又有限的仓 库管理中是非常现实的。因为 RFID 系统基于人们熟悉的 Windows 或 UNIX 平台, 所以通常易于管理。 1 1.4 4 RFIDRFID 工作原理工作原理 RFID 系统的工作原理:读写器通过天线发送出一定频率的射频信号;当 RFID 标签进入读写器工作场时,其天线产生感应电流,从而 RFID 标签获得能 量被激活并向读写器发送出自身编码等信息;读写器接收到来自标签的载波信 号,对接收的信号进行解调和解码后送至计算机主机进行处理;计算机系统根 据逻辑运算判断该标签的合法性,针对不同的设定做出相应的处理和控制,发 出指令信号;RFID 标签的数据解调部分从接收到的射频脉冲中解调出数据并送 到控制逻辑,控制逻辑接收指令完成存储、发送数据或其他操作。2 1 1.5 5 RFIDRFID 技术标准现状技术标准现状 1 1.5 5.1 1 ISOISO 制定的制定的 RFIDRFID 标准体系标准体系 RFID 标准化工作最早可以追溯到 20 世纪 90 年代。1995 年国际标准化组织 ISO/IEC 联合技术委员会 JTCl 设立了子委员会 SC31(以下简称 SC31),负责 RFID 标准化研究工作。SC31 委员会由来自各个国家的代表组成,如英国的 BSI IST34 委员、欧洲 CEN TC225 成员。他们既是各大公司内部咨询者,也是不同 公司利益的代表者。因此在 ISO 标准化制定过程中,有企业、区域标准化组织 和国家三个层次的利益代表者。SC31 子委员会负责 RFID 标准可以分为四个方 面:数据标准(如编码标准 ISO/IEC 15691、数据协议 ISO/IEC 15692、ISO/IEC 15693,解决了应用程序、标签和空中接口多样性的要求,提 供了一套通用的通信机制)、空中接口标准(ISO/IEC 18000 系列)、测试标 准(性能测试 ISO/IEC 18047 和一致性测试标准 ISO/IEC 18046)、实时定位 (RTLS)(ISO/IEC 24730 系列应用接口与空中接口通信标准)方面的标准。 这些标准涉及到 RFID 标签、空中接口、测试标准、读写器与到应用程序之 间的数据协议,它们考虑的是所有应用领域的共性要求。 ISO 对于 RFID 的应用标准是由应用相关的子委员会制定。RFID 在物流供应 链领域中的应用方面标准由 ISO TC 122/104 联合工作组负责制定, 包括 ISO17358 应用要求、ISO 17363 货运集装箱、ISO 17364 装载单元、ISO 17365 运输单元、ISO 17366 产品包装、ISO 17367 产品标签。RFID 在动物追踪方面 的标准由 ISO TC 23 SC19 来制定,包括 ISO 11784/11785 动物 RFID 畜牧业的 应用,ISO 14223 动物 RFID 畜牧业的应用-高级标签的空中接口、协议定义。 从 ISO 制订的 RFID 标准内容来说,RFID 应用标准是在 RFID 编码、空中接 口协议、读写器协议等基础标准之上,针对不同使用对象,确定了使用条件、 标签尺寸、标签粘贴位置、数据内容格式、使用频段等方面特定应用要求的具 体规范,同时也包括数据的完整性、人工识别等其他一些要求。通用标准提供 了一个基本框架,应用标准是对它的补充和具体规定。这一标准制订思想,既 保证了 RFID 技术具有互通与互操作性,又兼顾了应用领域的特点,能够很好地 满足应用领域的具体要求。 1 1.5 5.2 2 EPCglobaEPCgloba l l 制定的制定的 RFID 标准体系与 ISO 通用性 RFID 标准相比,EPCglobal 标准体系是面向 物流供应链领域,可以看成是一个应用标准。EPCglobal 的目标是解决供应链 的透明性和追踪性,透明性和追踪性是指供应链各环节中所有合作伙伴都能够 了解单件物品的相关信息,如位置、生产日期信息。为此 EPCglobal 制定了 EPC 编码标准,它可以实现对所有物品提供单件惟一标识;也制定了空中接口 协议、读写器协议。这些协议与 ISO 标准体系类似。在空中接口协议方面,目 前 EPCglobal 的策略尽量与 ISO 兼容,如 C1Gen2 UHF RFID 标准递交 ISO 将成 为 ISO 18000 6C 标准。但 EPCglobal 空中接口协议有它的局限范围,仅仅关注 UHF 860930MHz。 除了信息采集以外,EPCglobal 非常强调供应链各方之间的信息共享,为 此制定了信息共享的物联网相关标准,包括 EPC 中间件规范、对象名解析服务 ONS(Object Naming Service)、物理标记语言(PhysicalMarkup Language)。 这样从信息的发布、信息资源的组织管理、信息服务的发现以及大量访问之间 的协调等方面作出规定。“物联网”的信息量和信息访问规模大大超过普通的 因特网。“物联网”系列标准是根据自身的特点参照因特网标准制订的。“物 联网”是基于因特网的,与因特网具有良好的兼容性。 物联网标准是 EPCglobal 所特有的,ISO 仅仅考虑自动身份识别与数据采 集的相关标准,数据采集以后如何处理、共享并没有作规定。物联网是未来的 一个目标,对当前应用系统建设来说具有指导意义。 1 1.5 5.3 3 日本日本 UIDUID 制定的制定的 RFIDRFID 标准体系标准体系 日本泛在中心制定 RFID 相关标准的思路类似于 EPCglobal,目标也是构建 一个完整的标准体系,编码体系、空中接口协议到泛在网络体系结构,但是每 一个部分的具体内容存在差异。 为了制定具有自主知识产权的 RFID 标准,在编码方面制定了 ucode 编码体 系,它能够兼容日本已有的编码体系,同时也能兼容国际其他的编码体系。在 空中接口方面积极参与 ISO 的标准制定工作,也尽量考虑与 ISO 相关标准兼容。 在信息共享方面主要依赖于日本的泛在网络它可以独立于因特网实现信息的共 享。 泛在网络与 EPCglobal 的物联网还是有区别的。EPC 采用业务链的方式, 面向企业,面向产品信息的流动(物联网),比较强调与互联网的结合。UID 采用扁平式信息采集分析方式,强调信息的获取与分析,比较强调前端的微型 化与集成。 1 1.5 5.4 4 三大标准体系空中接口协议的比较三大标准体系空中接口协议的比较 目前,ISO/IEC 18000、EPCglobal、日本 UID 三个空中接口协议正在完善 中。这三个标准相互之间并不兼容,主要差别在通讯方式、防冲突协议和数据 格式这三个方面,在技术上差距其实并不大。 这三个标准都按照 RFID 的工作频率分为多个部分。在这些频段中,以 13。56MHz 频段的产品最为成熟,处于 860960MHz 内的 UHF 频段的产品因为 工作距离远且最可能成为全球通用的频段而最受重视,发展最快。 ISO/IEC 18000 标准是最早开始制定的关于 RFID 的国际标准,按频段被划 分为 7 个部分。目前支持 ISO/IEC 18000 标准的 RFID 产品最多。EPCglobal 是 由 UCC 和 EAN 两大组织联合成立、吸收了麻省理工 AutoID 中心的研究成果后 推出的系列标准草案。EPCGlobal 最重视 UHF 频段的 RFID 产品,极力推广基于 EPC 编码标准的 RFID 产品。目前,EPC Global 标准的推广和发展十分迅速,许 多大公司如沃尔玛等都是 EPC 标准的支持者。日本的泛在中心(Ubiquitous ID)一直致力于本国标准的 RFID 产品开发和推广,拒绝采用美国的 EPC 编码标 准。与美国大力发展 UHF 频段 RFID 不同的是,日本对 2。4GHz 微波频段的 RFID 似乎更加青睐,目前日本已经开始了许多 2。4GHz RFID 产品的实验和推 广工作。标准的制定面临越来越多的知识产权纠纷。不同的企业都想为自己的 利益努力。同时,EPC 在努力成为 ISO 的标准,ISO 最终如何接受 EPC 的 RFID 标准,还有待观望。全球标准的不统一,硬件产品的兼容方面必然不理想,阻 碍应用。3 1 1.6 6 RFIDRFID 在管理中的应用在管理中的应用 电子标签因为其具有防冲撞性、封装任意性、使用寿命长、可重复利用等 特点,适合应用于现在科学的库存管理系统中。 现在的库存管理系统通常使用 条码标签或是人工库存管理单据书写等方式支持自有的库存管理。但是条码的 易复制、不防污、不防潮等特点,还有人工书写单据的烦琐性,容易造成人为 损失等无法避免的缺点,使得现在国内的库存管理供应链始终存在着缺陷。随 着电子标签这一最新科技产品的投入应用,可以从根本上解决上述的问题。 用电子标签支持现今的库存管理系统的优势在于: 有效管理货物装箱作业。(减少损失) 信息收集自动化。 产品来源之核对。 每阶段制程中产品品质之稽核。 可更改电子标签上的资料 而无须更改产品包装。 有效管理装货(减少丢失)。 自动化结果便能更有效品质监督。 可以全程跟踪库存货物的物流情况,将损失和失误降低到最低点。 下面是国内外常见的 RFID 管理的应用: 1 1.6 6.1 1 车辆自动识别管理车辆自动识别管理 高速公路自动收费系统是 RFID 技术最成功的应用之一。目前 ETC(Electronic Toll Collection,不停车收费系统)是世界上最先进的路桥收 费方式。当安装在车辆上的车载电子标签进收费站时,收费站上的无线射频装 置会自动激活车载电子标签,并完成相互间的认证识别过程,能将有关车辆信 息输入计算机收费处理系统,同时利用计算机联网技术与银行进行结算,完成 费用的收缴工作,从而达到无需停车即可交纳路桥费的目的。ETC 是国际上正 在努力开发并推广的一种用于公路、大桥和隧道的电子自动收费系统。该技术 在国外已有较长的发展历史,美国、欧洲等许多国家和地区的电子收费系统已 经局部联网并逐步形成规模效益。4 1 1.6 6.2 2 仓储管理仓储管理 将 RFID 系统用于智能仓库货物管理,有效地解决了仓库与货物流动有关 的信息管理。它不但增加了一天内处理货物的件数,而且还监看这些货物的一 切信息。射频天线安置在仓库相关的各个部位和货物所通过的仓库大门边上, 每辆叉车上都有读写器和天线,每个货物都贴有电子标签,所有电子标签信息 都被存储在仓库的中心计算机里,该货物的有关信息都能在计算机里查到。当 货物被装走运往别处时,相关的读写器就能识别并告知计算中心它被放在哪辆 拖车上。这样,管理中心可以实时地了解到已经入库了多少货物和发送了多少 货物或者货物在仓库转移的情况,并可自动识别货物,确定货物的位置。 2 2 库存管理系统方法论证库存管理系统方法论证 为了有利于库存系统的 webserver 发布,这里使用的编程工具为 java。库 存管理最重要,最核心的部分是与数据库的连接与对数据库的操作。这里我们 使用的 SQL Server 2000 数据库软件。 这里涉及到一个 ODBC 和 JDBC 的问题,下面我们来论述下这两种数据库的 优缺点。 2 2.1 1 ODBCODBC 2 2.1 1.1 1 ODBCODBC 简介简介 O D B C 的基本思想是为用户提供简单、标准、透明的数据库连接的公共 编程接口,开发厂商根据 ODBC 的标准去实现底层的驱动程序,这个驱动对用 户是透明的,并允许根据不同的 DBMS 采用不同的技术加以优化实现,这就利 于不断吸收新的技术而趋完善。 ODBC 出现以后,用户安装不同的 DBMS 驱动 就可用同样的 SQL 语句实现在不同 DBMS 上进行同样的操作,而且无需预编译。 ODBC 带来了数据库连接方式的变革。在传统方式中,开发人员要熟悉多个 D B M S 及其 API ,一旦 DBMS 端出现变动,则往往导致用户端系统重新编建或者 源代码的修改,这给开发和维护工作带来了很大困难。在 ODBC 方式中,不管 底层网络环境如何,也无论采用何种 DBMS,用户在程序中都使用同一套标准代 码,无需逐个了解各 DBMS 及其 API 的特点,源程序不因底层的变化而重新编 建或修改,从而减轻了开发维护的工作量,缩短了开发周期。 2 2.1 1.2 2 ODBCODBC 的特点:的特点: (1) 使用户程序有很高的互操作性,相同的目标代码适用于不同的 D B M S 。 (2) 由于 ODBC 的开放性,它为程序集成提供了便利,为客户机/ 服务器 结构提供了技术支持。 (3) 由于应用与底层网络环境和 DBMS 分开,简化了开发维护上的困难。 2 2.1 1.3 3 ODBCODBC 的体系结构和实现的体系结构和实现 O D B C 是依靠分层结构来实现的,如此可保证其标准性和开放性。它共 分为四层:应用程序、驱动程序管理器、驱动程序和数据源。下面我们详细介 绍各层的功能。 (1) 应用程序层(Application)使用 ODBC 接口的应用程序可执行以下任务: 1)请求与数据源的连接和会话(SQLConnect);2)向数据源发送 SQL 请求 (SQLExecDirct 或 SQLExecute); 3)对 SQL 请求的结果定义存储区和数据格式; 4)请求结果;5)处理错误;6)如果需要,把结果返回给用户; 7)对事务进行控 制,请求执行或回退操作(SQLTransact); 8)终止对数据源的连接 (SQLDisconnect)。 (2) 驱动程序管理器(Driver Manager) 由微软提供的驱动程序管理器是带 有输入库的动态连接库 ODBC。DLL ,其主要目的是装入驱动程序,此外还执行 以下工作: 1)处理几个 ODBC 初始化调用; 2)为每一个驱动程序提供 ODBC 函 数入口点; 3)为 O D B C 调用提供参数和次序验证。 (3) 驱动程序(Driver) 驱动程序是实现 ODBC 函数和数据源交互的 DLL, 当应用程序调用 SQL Connect 或者 SQLDriverConnect 函数时,驱动程序管理 器装入相应的驱动程序,它对来自应用程序的 ODBC 函数调用进行应答,按照 其要求执行以下任务: 1)建立与数据源的连接; 2)向数据源提交请求; 3)在 应用程序需求时,转换数据格式; 4)返回结果给应用程序; 5)将运行错误格 式化为标准代码返回; 6)在需要时说明和处理光标。 (4) 数据源5 2 2.2 2 JDBCJDBC 2 2.2 2.1 1 JDBCJDBC 简介简介 JDBC(Java Database Connectivity ,Java 数据库连接) 作为 Java 平台 的一个标准组成部分,是根据“与平台无关”的基本原则而设计的,对独立于数 据库的跨平台的数据库访问提供了有力的技术支持。 JDBC 是 Java 程序连接和访问各种数据库的 API(Application Programming Interface ,应用程序接口) ,它由一组类和接口构成,通过调用这 些类和接口所提供的方法,提供了 Java 程序与各种数据库服务器之间的连接服 务,它支持 ANSI SQL - 92 标准,实现了从 Java 程序内调用标准的 SQL 命令对 数据库进行查询、插入、删除和更新等操作,并确保数据事务的正常进行。JDBC 在 J2EE 平台中使用 JDBC 2.0 以上的 API 以及 JDBC 2.0 扩展 API ,它们提供了 在企业级开发应用中对异构数据库的连接和跨平台数据库访问的重要接口。 2 2.2 2.2 2 JDBCJDBC 的体系结构和实现的体系结构和实现 (1) Java 作为数据库前台 在信息时代,数据库是用于收集和处理数据的工具,数据库形成了许多公 司基础结构的基础。尽管数据库系统非常适合数据的存储和取得,但人类需要 某种前台应有程序以查阅和使用存放的数据。 Java 对建立数据库服务器前台应用程序的开发人员提供了几个好处。Java 是“一旦写成,到处运行”的语言,即 Java 程序不经改变即可部署到任何运行 Java 虚拟机的计算机结构和操作系统。对于大公司,有一个公用开发平台好处 很大,编程人员可以不再为大公司中的各个平台分别编程。Java 也很吸引第三 方开发者,单个 Java 程序即可满足大公司客户的需求。 建立公司系统中基于 Java 的应用程序和小程序的动力是巨大的。公司对于 将结构和操作系统相关模型变成针对网络的模型相当有兴趣。Java 代表着节约 资源成本的长期战略。 对于开发人员,Java 代表巨大的市场机会。大中型企业很少不用数据库进 行业务工作的,大部分公司将数据库应用到业务的各个方面,从人事资源到前 线客户销售。 (2) JDBC API JDBC API 使开发者不必不断重写程序而可以建立数据库前台。尽管 ANSI 委员会有个标准组,但每个数据库系统厂家的系统连接和通讯方法仍然五花八 门。 为了建立健全独立于平台的应用程序和基于 Web 的小程序,开发人员应考 虑用 Java 开发前台连接办法。从外部看,第三方软件开发者通过专用办法,通 过本地方法集成客户机方库或通过建立第三层和新协议来满足这种需求。 JavaSoft 是 Sun 公司负责开发 Java 产品的业务单位,和数据库与数据库 工具厂家一起建立独立于 DBMS 的机制,使开发人员不必考虑所用的特定数据库 而编写客户机方应用程序。产生的 JDBC API 第一版是核心 JDK 2 的一部分。 JDBC 向应用程序开发者提供了独立于数据库的统一的 API。这个 API 提供 了编写的标准和考虑所有不同应用程序设计的标准。其奥秘是一组由驱动程序 实现的 Java 接口。驱动程序负责标准 JDBC 调用向支持的数据库所要的具体调 用转变。 应用程序编写一次并移植到各种驱动程序上。应用程序不变,驱动程序则 各不相同。驱动程序可以用于开发多层数据库设计的中间层,也称中间件 (middleware)。 除了向开发者提供统一的独立于 DBMS 的框架外,JDBC 还提供了让开发者 保持数据库厂家提供的特定功能的办法。JDBC 驱动程序必须支持 ANSI AQL-2 项目层,但 JDBC 允许开发者直接将查询字符串传递到连接的驱动程序。这些字 段可能是 ANSI SQL 也可能不是,或者根本不是 AQL。这些字符串的使用是基础 驱动程序的事。 JDBC 不是 Mincrosoft 的 ODBC(开放式数据库连接)规范派生的,JDBC 完全 是用 Java 编写的,而 ODBC 是个 C 接口。但是,JDBC 和 ODBC 都是基于 X/开放 SQL 命令层接口(CLI),相同的概念性基础使 API 工作进展更快,使 API 的接受 更加容易。JavaSoft 提供了将 JDBC 变成 ODBC 的 JDBC-ODBC 桥。这个用本地方 法完成的版本很小很有效。 (3) JDBC 的组成 JDBC 是实现 Java 应用程序与各种不同数据库对话的一种机制。 JDBC 由 两部分与数据库独立的 API 组成,一部分是面向程序开发人员的 JDBCAPI ,另一 部分是面向底层的 JDBC Driver API。 JDBC 提供了一个通用的 JDBC Driver Manager ,用来管理各种数据库软件商提供的 JDBC 驱动程序,从而访问其数据 库。 此外,对没有提供相应 JDBC 驱动程序的数据库系统,开发了特殊的驱动程 序:JDBC -ODBC 桥,该驱动程序支持 JDBC 通过现有的 ODBC 驱动程序访问其数 据库系统。 JDBC 的基本层次结构由 Java 程序、JDBC 驱动程序管理器、驱动 程序和数据库四部分组成。 Java 程序:Java 程序包括 Java 应用程序和 Ja2va 小应用程序,主要是根 据 JDBC 方法实现对数据库的访问和操作。 其主要任务有:请求与数据库建立 连接;向数据库发送 SQL 请求;为结果集定义存储应用和数据类型;查询结果;处 理错误;控制传输、提交及关闭连接等操作。 JDBC 驱动程序管理器:它能够动态地管理和维护数据库查询所需要的所有 驱动程序对象,实现 Java 程序与特定驱动程序的连接,从而体现 JDBC 的“与平 台无关”这一特点。 其主要任务有:为特定数据库选择驱动程序;处理 JDBC 初 始化调用;为每个驱动程序提供 JDBC 功能的入口;为 JDBC 调用执行参数等。 驱动程序:驱动程序处理 JDBC 方法,向特定数据库发送 SQL 请求,并为 Java 程序获取结果。在必要的时候,驱动程序可以翻译或优化请求,使 SQL 请 求符合 DBMS 支持的语言。 其主要任务有:建立与数据库的连接;向数据库发送 请求;用户程序请求时,执行翻译;将错误代码格式化成标准的 JDBC 错误代码等。 JDBC 是独立于数据库管理系统的,而每个数据库系统均有自己的协议与客户机 通信,因此,JDBC 利用数据库驱动程序来使用这些数据库引擎。 JDBC 驱动程序由数据库软件商和第三方软件商提供,因此,根据编程所使用 的数据库系统不同,所需要的驱动程序也有所不同。 数据库:指 Java 程序需要访问的数据库及其数据库管理系统。 (3) JDBC 的工作机制 如果用户是从事软件领域工作的,不可能没有听说过 SQL(Structure Query Language:结构化查询语言),它是一种标准化的关系型数据库访问语言。 在 SQL 看来,数据库就是表的集合,其中包含了行和列。SQL 标准虽然也还处 在不断变革之中(任何一门标准如果已一成不变了,那只能说明这门学科已经停 止发展了),但其基本内容相对稳定。JDBC 定义了 Java 语言同 SQL 数据之间的 程序设计接口。 JDBC 有一个非常独特的动态连接结构,它使得系统模块化。使用 JDBC 来完 成对数据库的访问包括以下四个主要组件:Java 的应用程序、JDBC 驱动器管理 器、驱动器和数据源。 JavaSoft 公司开发了 JDBC API,JDBC API 是一个标准统一的 SQL 数据存取 接口。JDBC 在 Internet 中的作用与 ODBC 在 Windows 系列中的作用类似。它为 Java 程序提供了一个统一缝地操作各种数据库的接口,程序员编程时,可以不 关心它所要操作的数据库是哪个厂家的产品,从而提高了软件的通用性,而且 在 Internet 上确实无法预料你的用户想访问什么类型的数据库。只要系统上安 装了正确的驱动器组,JDBC 应用程序就可以访问其相关的数据库。 用 JDBC 来实现访问数据库记录可以采用下面的几个步骤: 1) 通过驱动器管理器获取连接接口。 2) 获得 Statement 或它的子类。 3) 限制 Statement 中的参数。 4) 执行 Statement。 5) 查看返回的行数是否超出范围。 6) 关闭 Statement。 7) 处理其它的 Statement 8) 关闭连接接口。 (4) JDBC 驱动程序的分类 JDBC 驱动程序实现在 JDBC API 中定义的所有抽象类和接口,为通用的 Driver Manager 提供 JD2BC API。JDBC 驱动程序通常由数据库厂商提供,目前 主流数据库产品都提供相关的 JDBC 驱动程序。根据访问数据库的技术不同, JDBC 驱动程序相应地分为四种类型,如图 1 所示。 不同类型的 JDBC 驱动程序 有着不一样的特性和使用方法。 第一类:JDBC - ODBC 桥驱动程序(JDBC - OD2BC Bridge) 。 此类驱动程 序提供了通过 ODBC 驱动程序的 JDBC 访问。 其特点是必须在本地计算机上先 安装好 ODBC 驱动程序,然后通过 JDBC - ODBCBridge 的转换,将 Java 程序中 使用的 JDBC API 访问指令转换成 ODBC API 指令,进而通过 ODBC 驱动程序调 用本地数据库驱动代码完成对数据库的访问。 这种方法的不足是:执行效率比 较低,不适合对大数据量存取的应用;要求客户端必须安装 ODBC 驱动,不适合基 于 InternetPIntranet 的应用。 第二类:部分 Java 的本地 JDBC API 桥驱动程序(JDBC - Native API Bridge) 。 同第一类一样,此类驱动程序也必须在本地计算机上先安装好特定 的驱动程序(类似 ODBC) ,然后通过 JDBC - NativeAPI Bridge 的转换, 把 Java 程序中使用的 JDBCAPI 转换成 Native API ,进而存取数据库。 这种方法 效率比第一类驱动程序效率虽然高一些,但仍然需要在每台客户机上预先安装本 地 API 库,因此不利于维护和使用。 第三类:纯 Java 的 JDBC 中间件驱动程序(JD2BC - Middleware) 。 使用 这类驱动程序时不需要在本地计算机上安装任何附加软件,但是必须在安装数据 库管理系统的服务器端加装中间件(Middle2ware) ,这个中间件负责所有存取数 据库时必要的转换。 此类驱动程序能将 JDBC 访问转换成与数据库无关的标准 网络协议(通常是 HTTP 或 HTTPS) 送出,然后由一个中间件服务器再将其转换成 数据专用的访问指令,完成对数据库的操作。 中间件服务器能支持对多种数据 库的访问。 由于是基于中间件服务器的,这类驱动程序的体积最小,效率较高, 具有最大的灵活性,缺点是需要一个中间服务器的支持。 此类驱动采用标准的 网络协议,可以被防火墙支持,是 Internet 应用理想的解决方案。 第四类:纯 Java 的 JDBC 驱动程序(Pure JDBCDriver) 。 使用这类驱动程 序时无需安装任何附加的软件(无论是本地计算机或是数据库服务器端) ,所有 存取数据库的操作都直接由 JDBC 驱动程序来完成。 此类驱动程序能将 JDBC 调用转换成 DBMS 专用的网络协议。 数据库厂商是这一类驱动程序的主要提供 者。 它允许从客户机到数据库服务器的直接调用。 这种驱动程序的效率最高, 但由于采用 DBMS 专用的网络协议,可能不被防火墙支持。 在 Internet 应用中 会存在潜在安全隐患。 综上所述,最佳的 JDBC 驱动程序类型是第四类,它不会增加任何额外的开 销,并且由纯 Java 语言开发而成,拥有最佳的兼容性。 由于第一类和第二类的 JDBC 驱动程序都必须事先安装其他附加的软件,有损 Java 数据库程序的兼容 性。 第三类 JDBC 驱动程序也是不错的选择,它也是由纯 Java 语言开发而成的,并 且中间件也仅需要在服务器上安装。 因此,建议最好以第三类和第四类 JDBC 驱动程序为主要选择,第一类和第二类的 JDBC 驱动程序为次要选择。 (5) 利用 JDBC 代替 CGI 迄今为止,通过 Java 访问数据库的唯一方法就是利用 Java 中的流调和访 问 Common Gateway Interface(CGI,公用网关接口)程序。通过 Java 调用 CGI 脚本其实是执行一个访问数据库并返回结果的独立程序。 使用这种方法速度很慢,而且会在应用程序中引入更多的错误。这是由于 利用两种不同的开发语言开发程序,需要掌握两种不同的技术。使用 JDBC,用 户只要了解 Java 语言即可,而使用 CGI,用户必须同时使用 Java 和另一种编 程语言。 使用 JDBC 的另一个原因是它的速度比 CGI 方法更快。使用 CGI 方法通常要 求计算机执行另一个独立的程序。这个独立的程序访问数据库,处理数据,并 将结果返回给调用程序。这就需要多级处理,因而增加了等待时间和出错概率。 调用 CGI 脚本通常是通过 Web 服务器执行一个新的脚本,而执行 JDBC 的数 据库命令只需要某种将 SQL 命令发送给数据库的服务器。这就大大缩短了执行 SQL 语句的时间,CGI 脚本必须独立地连接数据库,处理执行结构,而 JDBC 的 解决方案使应用程序直接与数据库相连,执行各种操作。6 2 2.3 3 ODBCODBC 和和 JDBCJDBC 的比较的比较 JDBC API 用于连接 Java 应用程序与各种关系数据库。这使得人们在建立 客户/服务器应用程序时,通常把 Java 作为编程语言,把任何一种浏览器作为 应用程序的友好界面,把 Internet 或 Intranet 作为网络主干,把有关的数据 库作为数据库后端。以下是使用 JDBC 的优缺点。 优点如下: (1) JDBC API 与 ODBC 十分相似,有利于用户理解。 (2) JDBC 使得编程人员从复杂的驱动器调用命令和函数中解脱出来,可以 致力于应用程序中的关键地方。 (3) JDBC 支持不同的关系数据库,使得程序的可移植性大大加强。 (4) 用户可以使用 JDBC-ODBC 桥驱动器将 JDBC 函数调用转换为 ODBC。 (5) JDBC API 是面向对象的,可以让用户把常用的方法封装为一个类,备 后用。 缺点如下: (1) 使用 JDBC,访问数据记录的速度会受到一定程度的影响。 (2) JDBC 结构中包含了不同厂家的产品,这就给更改数据源带来了很大的 麻烦。 3 3. RFIDRFID 库存管理系统设计过程库存管理系统设计过程 3 3.1 1 管理系统设计前提管理系统设计前提 该 RFID 库存管理系统是一个建立在 RFID 读取接收器以上的系统。该系统 中所有有关货物的信息都是来自于 RFID 读取器和远端服务器。读取器将在库存 中流通的货物的 RFID 码读出后交给管理系统,管理系统再利用 web servers 获取该 RFID 码对应货物的详细信息并放入数据库,从而获得数据信息。故该管 理系统的设计前提是 RFID 读取器和 web servers 能够正常合作进行。但由于 时间有限,在本文中并未涉及到该管理系统和两者的合作协调。 3 3.2 2 程序使用的软件工具程序使用的软件工具 3 3.2 2.1 1 JBuilderJBuilder 9 9.0 0 JBulider 是目前最好的 java 开发工具之一,在协同管理,对 J2EE 和 XML 的支持均走在其他产品的前面。 JBuilder 的主要特性: (1) 提供与 Tomcat 的集成,使 Web 开发更容易。 (2) 提供了对企业应用的开发功能,可以集成多种应用服务器。 (3) 提供了更简单的程序发布功能,所有的应用都可以打包。 (4) 提供了团队开发能力,可以集成多种版本控制产品。 JBuilder 是遵循 Sun 公司 J2EE 标准的可视化集成开发工具。JBuilder 是 一种处于市场领先地位的跨平台环境,主要用于构建具有行业实力的企业 Java 应用程序。JBuilder 继承了 Borland 公司开发工具系列的优秀特性,这使得用 过 Delphi,C+Builder 的程序员很容易过渡到 JBuilder 的开发环境中。 JBuilder 实际上包括了用户在 Java 集成开发环境中所需要的一切东西。由 于 JBuilder 和几种单独源代码处理产品集成在一起的,所以它就能够支持多种 Java 开发工具包版本。它对于 JavaDoc 的支持是无可挑剔的:JBuilder 软件能 够自动生成 JavaDoc 文件。7 3 3.2 2.2 2 SQLSQL ServerServer 20002000 SQL Server 2000 是建立在 SQL Server 7.0 在可伸缩性、可用性、可管理 性和数据仓库成功的基础上,并且引入了针对电子商务的重要新功能。 在高性能和企业级可伸缩性领域,SQL Server 2000 设计成利用 Windows 2000 对更多处理器、更大的系统内存的支持,最终达到支持 64 位硬件平台。 在不断提升可用性的努力过程中,SQL Server 2000 采用 Windows 2000 四路 群集,提供了大大改进的群集支持。SQL Server 7.0 已经在可管理性和易用性 方面在行业内领先,SQL Server 2000 通过与 Windows 2000 活动目录紧密结 合进一步改进了这些功能。而且,SQL Server 2000 还包含对现有管理工具和 实用程序的重大改进,并引入更具自我调节和自我管理的引擎功能。 通过与 OLAP 服务、数据转换服务、存储库和英文查询的紧密结合,SQL Server 7.0 代表了行业内最全面的数据仓库和决策支持平台。SQL Server 2000 继续了这种创新,在整个系统内进行了重要的改进。特别重要的是,SQL Server 2000 关系引擎增加了实质化的视图,改善了在特大型数据库环境中执 行复杂查询的性能。同时,SQL Server 2000 引入了新的数据挖掘功能,可自 动发现在大量数据之间隐藏的关系并可基于历史数据作出预测。这些数据挖掘 功能将要实施,以向最终用户隐藏这种尖端技术的复杂性,并允许开发人员将 第三方的数据挖掘产品轻松集成进客户的应用程序中。最后,在电子商务领域, SQL Server 2000 高度集成了对 XML 和通过 Web 访问数据库的支持。 3 3.3 3 数据库类型的选定数据库类型的选定 从上面的方法论证中,我们可以看出 JDBC 可以利用驱动程序直接对 SQL Server 进行操作,这样的操作比使用 JDBC-ODBC 桥要迅速而且简单。因为我们 使用的是 java 编程,直接使用 JDBC 可以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论