已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 论文题目:j d fm i s 模块及其支撑技术的研究与开发 学科名称:信号与信息处理 研究生:任传洁签 名:4 趣旌 指导教师:顾桓副教授签名: 摘要 随着科学技术的发展,越来越多的印刷企业采用先进的管理技术来增强自身的竞争 力。c i p 于2 0 0 1 年4 月正式推出印刷工业通用文件交换和数据共享格式j d f 。j d f 定义了 一个开放的、可扩展的、基于x m l 的印刷作业传票标准和流程处理机制。因此,开发多层 次的基于灵活的自描述数据格式j d f 的m i s ,一方面可以满足印刷企业管理复杂生产流程 的需求,适应印刷企业生产管理与生产过程控制信息的频繁变化,另一方面提供一部分可 重用资源,将这些资源调整、重新组装或稍加修改即可被新的系统使用,提高了软件开发 的效率。 本课题通过研究j d f 标准对活件及其生产控制的描述和分析x m l 数据的操作方法,采 用面向对象软件工程方法开发出封装了j d f 部分通用操作的数据层,在数据层的结构上运 用领域建模的方法构建出业务模块,并搭建b s 结构的印刷m i s 。 在具体研究内容上,首先本课题通过对存储管理) ( m l 数据的方法进行分析,选择了 s o ls e r v e r2 0 0 5 作为存储管理j d f 传票平台,在分析s o ls e r v e r2 0 0 5 对j d f 数据处理 方法的基础上,针对j d f 数据的基本操作构建了数据库操作模型。其次课题通过分析j d f 标准对生产流程控制及节点处理时状态的迁移,设计实现了状态模块从三个角度对j 淤 传票的状态进行操作。第三,本课题使用面向对象方法,通过需求分析、领域建模以及绘 制顺序图,得到最终类图,实现了业务科和印前车间模块及其底层数据支持。最后,本课 题通过实现客户关系自定义控件和基于工厂模式的订单创建功能,探索了用于模块重用的 工厂设计模式和自定义控件技术。 关键词:j d f ;数据库;模块 a b s t r a c t t i t l e :r e s e a r c ha n dd e v e l o p m e n to fj d fm i sm o d u l ea n d s u p p o r t i n gt e c h n o l o g y m a j o r :s i g n a la n di n f o r m a t i o np r o c e s s i n g n a m e :c h u a n j i er e n s i g n a t u r e :墨纽也坐j 宅2 s u p e r v i s o r :a s s o c i a t ep r o f h u a ng u s i g n a t u r e :鱼竖望儿 a b s t r a c t w i t ht h ed e v e l o p m e n to ft e c h n o l o g y , m o r ea n dm o r e p r i n t i n ge n t e r p r i s e si m p r o v e c o m p e t i t i v ep o w e rw i t ha d v a n c e dm a n a g e m e n t c i pa n n o u n c e dj d f - - d o c u m e n te x c h a n g ea n d d a t as h a r i n gf o r m a ti np r e s si na p r i l2 0 01 j d fd e f i n e sa no p e na n de x p a n d a b l es t a n d a r do f p r i n t i n gt i c k e ta n df l o wp r o c e s s i n gb a s e do nx m l m u l t i l e v e lj d fm i s ,o nt h eo n eh a n d , m e e t st h ed e m a n dw h i c ht h ef a c t o r ym a n a g e st h ec o m p l e xp r o d u c t i o np r o c e s sa n da d a p t s f r e q u e n ti n f o r m a t i o nc h a n g eb e t w e e nm a n a g e m e n ta n dp r o d u c t i o n o nt h eo t h e rh a n d ,i to f f e r s s o m er e u s e dr e s o u r c e sw h i c hc a np r o m o t ee f f i c i e n c yo fd e v e l o p i n gs o f t w a r e t h i sp a p e rr e s e a r c h e sd e f i n i t i o no faj o ba n di t sw o r k i n gf l o wi nj d fa n dp r o c e s s i n gx m l d a t a , a n dr e a l i z e sp r i n t i n gm i ss t r u t t e di nb s w i t hd o m a i nm o d e l ,s e r v i c el e v e lo ft h ep r i n t i n g m i si sb a s e do nd a t al e v e lw h i c hh a sc o m m o nj d f o p e r a t i o n 、 ,i t ho b j e c tm o d e l i n gt e c h n i q u e f i r s t ,c h o o s es q ls e r v e r2 0 0 5a sas t o r ea n dm a n a g ej d ft i c k e tp l a t f o r mb yt a l k i n ga b o u t t h ep l a no f p r o c e s s i n gx m ld a t a , a n dr e a l i z et h ed a t ao p e r a t i o nm o d e lb a s eo nr e s e a r c h i n gh o w s q ls e r v e r2 0 0 5o p e r a t e sj d ft i c k e t s e c o n d ,a n a l y z eh o w j d fs t a n d a r dc o n t r o lp r o d u c t i o n a n dh o wt h en o d ec h a n g ew h e ni ti so p e r a t e d ,t h e n ,d e s i g ns t a t u sm o d u l eb yw h i c hj d ft i c k e t s t a t u sc a nb ec h a n g e df r o mt h r e ea n g l e s t h i r d ,a n a l y z ed e m a n d ,s e tu pd o m a i nm o d e l ,d r a w s e q u e n c ep i c t u r ea n dt h e ng e tt h ef i n a lc l a s sp i c t u r e ,a n dc o m p l e t et h eb u s i n e s ss e c t i o nm o d u l e , p r e p r e s sm o d u l ea n dt h e i rc o r r e s p o n d e n c ed a t al e v e lc l a s s e s a tl a s t ,d i s c u s st h er e u s e t e c h n o l o g yb yr e a l i z i n go r d e rc r e a t i o ni nf a c t o r y p a t t e r na n dac u s t o mr e l a t i o nu s e rc o n t r 0 1 k e yw o r d s :j d f ;d a t a b a s e ; m o d u l e 独创性声明 秉承祖国优良道德传统和学校的严谨学风郑重申明:本人所呈交的学位论文是我 个人在导师指导下进行的研究工作及取得的成果。尽我所知,除特别加以标注和致谢 的地方外,论文中不包含其他人的研究成果。与我一同工作的同志对本文所研究的工 作和成果的任何贡献均已在论文中作了明确的说明并己致谢。 本论文及其相关资料若有不实之处,由本人承担一切相关责任 论文作者签名:篮圭蒸 j 口谚年弓月夕7 日 学位论文使用授权声明 本人 4 主焦至叁 在导师的指导下创作完成毕业论文。本人已通过论文的答辩, 并已经在西安理工大学申请博士硕士学位。本人作为学位论文著作权拥有者,同意 授权西安理工大学拥有学位论文的部分使用权,即:1 ) 已获学位的研究生按学校规定 提交印刷版和电子版学位论文,学校可以采用影印、缩印或其他复制手段保存研究生 上交的学位论文,可以将学位论文的全部或部分内容编入有关数据库进行检索;2 ) 为 教学和科研目的,学校可以将公开的学位论文或解密后的学位论文作为资料在图书馆、 资料室等场所或在校园网上供校内师生阅读、浏览。 本人学位论文全部或部分内容的公布( 包括刊登) 授权西安理工大学研究生部办 理。 ( 保密的学位论文在解密后,适用本授权说明) 论文作者签名: 兰堡菇 导师签名: 脚了月叫日 1 绪论 1 绪论 1 1 课题背景 数字化印刷工作流程及其核心数字化工作流程是以数字化的生产控制信息和管理信 息,将印前、印刷、印后三个过程整合成一个不可分割的全自动化系统,使数字化的图文 信息完整、准确地流通,并最终加工制作成印刷成品。流程软件随着印刷业的进步也不 断得到发展,流程软件的内部文件格式也从p s 向? d f 及目前最新的j d f ( j o bd e f i n i t i o n f o r m a t ,活件描述格式) 转变,其中j d f 包含的信息量最大涵盖了整个印刷的过程,使得 整个工序操作都有统一的文件格式,避免了不同文件格式之间的转换带来的不必要的错 误,而且由于它包含了整个印刷过程的信息也使得操作简单化。 j d f 定义了一个开放的、可扩展的、基于x m l ( 可扩展标志语言) 的印刷作业传票标 准和流程处理机制,以下介绍两种基于j d f 的生产流程软件。 ( 1 ) 柯达企业管理解决方案( e m s ) 软件 柯达e 淤软件的基本模块强调核心商务运作,如销售兵力自动分配、报价和估价、作 业管理、采购、生产规划、以及财务能力。柯达e m s 软件是一个应用并管理商务智慧的崭 新方式,创造出了完全集成的商务环境,并且完全支持中文,将显著提升商务决策能力。 借助j d f 的连接性,再配合柯达印前工作流程,柯达e m s 软件就可提供最高级别的集成能 力及功能乜。此外,软件还可集成柯达p r e p s 拼大版软件和柯达u p f r o n t 生产规划软件, 对生产的每个细节进行完整的预测和规划,并驱动整个生产处理过程。 ( 2 ) 方正畅流 方正畅流工作流程管理系统全面兼容各种通用设计、排版软件格式和方正的各种排版 格式,采用国际标准的p d f 作为流程内部格式,在全球率先采用c i p 4 组织最新制定的j d f 规范( 北大方正是c i p 4 组织的成员) 作为电子工作传票在整个流程中传递作业参数,对作 业进行规范化处理、预飞检查、陷印、色彩管理、屏幕预览、折手拼版、数码打样、数码 印刷输出、软片或印版输出、c i p 4 油墨控制输出、作业管理追踪、数据统计存档等处理, 不仅大大减少了传统生产流程中的操作冗余和错误,而且帮助用户实现团队协作的网络生 产,完善了业务管理,确保全速驱动高性能的输出设备达到最大的生产效率。方正畅流具 备最完善的中文本地化、个性化解决方案,可以满足客户个性化开发和支持的需求。 以上两种软件都具有各自的特点,总的来说,一个好的印刷流程软件必须要具备几点 要素:工作流程要具备可扩展性,它应该是随着需求的不断增加功能也在不断的得到扩充; 工作流程要提供完整的功能模块;具备c i p 3 4 功能;可以对于不同印刷方式提供不同的 解决方案,这样提供给客户以更多的选择,也更贴近实际印刷环境。 因此,开发多层次的基于灵活的自描述数据格式j d f 的m i s ( m a n a g ei n f o r m a t i o n 西安理工大学硕士学位论文 s y s t e m ,管理信息系统) 将十分具有意义。一方面可以满足印刷企业对复杂生产流程进行 管理的需求,适应印刷企业生产管理与生产过程控制信息的频繁变化,使生产管理软件能 充分满足客户的需求,并随着企业的规模、产品、市场、管理等要素的不断发展和变化, 软件可以适时适应或阶段性适应。另一方面提供一部分可重用资源,将这些资源调整、重 新组装或稍加修改即可被新的系统使用,提高了软件开发的效率,当一个印刷企业进行 m i s 构建的时候,不必一切都要从零开始,避免造成开发效率的降低和资源的浪费3 。 1 2 课题主要内容 本课题主要研究j d f 标准对印刷活件及其生产流程的描述,以及x m l 数据的操作方法, 采用面向对象的软件工程方法开发出封装了j d f 通用操作的数据层,在数据层的结构上运 用领域建模的方法构建出业务模块,并搭建b s 结构的印刷m i s 。 本课题主要设计数据层中的数据库操作模型,业务层的状态模块、业务科模块和印前 车间模块。具体研究内容如下: ( 1 ) 分析x m l 数据存储管理的方法,研究j d f 规范和s o ls e r v e r2 0 0 5 对j d f 文档 的处理方法,并与n e td o m 对j d f 文档处理方法进行比较和分析,构建数据库操作模型: ( 2 ) 分析j d f 标准对活件的描述方法以及j d f 传票如何指导控制生产流程,研究在 生产过程中j d f 节点状态属性的变化规则,在此基础上,设计实现可从三个角度对j d f 传票的状态进行操作的状态模块; ( 3 ) 运用面向对象的软件工程方法,以j d f 数据格式为数据支持,设计实现业务科 和印前车间模块,并且设计界面搭建出具体业务流程; ( 4 ) 设计实现基于工厂模式的订单创建程序和客户关系自定义控件,对可用于模块 重用的工厂设计模式和自定义控件技术进行了探索。 1 3j d fmis 的架构分析 本课题实现的j d fm i s 主要分为用户界面层、业务逻辑层和数据层。 通过对印刷流程进行面向对象的分析,将系统的业务逻辑划分成以下模块:业务科模 块、生产科模块、印前车间模块、印刷车间模块、印后车间模块和状态模块。 数据层主要有基于d o m 的j d f 对象模型和数据库操作模型两个模块,整个m i s 通过这 两个模块可以对j d f 传票进行各种操作。 2 1 绪论 测 业务科t f 日】前n l 】0 $ 目e t 阑 裟望篓蛩模块 4 8 + 8 4 。4 ”。4 l 数据库操作栏型g f d o m j d f i t 图i - i 各层模块示意图 f i 目l r e i 一1c o m p o n e n t o f t h r e ei o w l s 如图卜l 所示,本课题主要负责数据层的数据库操作模型和业务逻辑层的状态模块 业务科模块和印前车间模块。 2 相关技术研究 2 相关技术研究 2 1 j d f 标准 印刷业应用计算机集成制造( c i m ) 技术的步伐相对比较缓慢,自动控制技术的应用 也出现一些问题。主要问题源于在多供应商的环境中缺乏一致的通信标准,该标准允许互 异的系统在作业被处理的过程中可以方便地交流。这也就是j d f 诞生的原因。 1 9 9 9 年初,c i p 3 协会中的四个成员海德堡、曼罗兰、爱克发及a d o b e 公司 共同研制开发出j d f 的第一个版本并成立j d f 联盟。在2 0 0 0 年,该联盟与c i p 3 协会达 成协议叫i p 4 协会由此成立,同时c i p 4 协会也拥有j d f 的知识产权。j d f 这一全自 动的工作流程,因其具有使印刷生产效率更高、灵活性更强、透明度更大的优势得到快速 发展。这一标准为在印刷业内应用计算机集成制造奠定了里程碑。 j d f 是一种全面的、基于x m l 的文件格式。j d f 的目标旨在创建一个数字化的“活 件包”,用来实现印刷活件在流程的不同部分、不同阶段的信息的描述和交换,并且描述 在所有存在状态中的印刷活件h 3 。与其他的活件传票格式不同的是,j d f 能对活件任务从 提交到印前、印刷、印后的所有过程进行描述。其方法是把活件生产中的每一个步骤转化 成j d f 文件中的节点( n o d e ) ,一个j d f 节点就是一个x m l 元素,它可以是有关生产过程 的相关信息,例如折页、装订、裁切;可以是有关产品的信息,例如最终的印刷成品;也 可以同时是这两种信息。每一单个的节点,即每一过程,由输入和输出资源来进行决定。 一个过程的输入包括该过程所使用的各种资源和控制该过程的各种参数。 j d f 是用于工作流程中作业票据说明的一种工业标准,j d f 规范说明中包括信息描述 标准和信息交换协议,它简化了印艺行业中不同应用软件和系统间的信息交换。从这一点 来讲,j d f 源于先前存在的解决方案,又超越了这些方案,如c i p 3 的印刷生产格式和a d o b e 公司的可携带作业票据格式凸1 。j d f 是一种灵活性极高的综合解决方案,无论印刷作业需 要多少台设备,也不论印刷作业多么复杂,j d f 都可以在印刷流程的各个环节之间建立起 有效的沟通渠道。j d f 能实现数码工作流程的全面应用,媒体、设计、印艺、个性化服务 和电子商务等公司都可融入到工作流程中,从顾客下订单到最终成品送到客户手中,j d f 都能够将印刷程序中的管理信息系统和实际生产流程连接起来。j d f 将实现不同厂家产品 间的整合,实现无缝的工作流程解决方案。 概括说,j d f 主要具有以下功能: ( 1 ) 从活件开始到结束,j d f 携带一个印刷活件,它详细描述了设计创意、印前、 印刷、印后和交货工序的信息; ( 2 ) 它架起了印刷生产与管理信息系统问通信的桥梁。此功能可实现作业和设备的 实时跟踪,即在印前和印后的活件计算; 西安理工大学硕士学位论文 ( 3 ) 它消除了印刷客户与印刷厂家间的隔阂,因为j d f 从印刷品角度定义了一种与 工艺无关的信息,而从印刷生产的角度定义了一种与工艺相关的工艺: ( 4 ) 它能够定义和跟踪任何用户的工作流程,对j d f 支持的工作流程模式,没有任 何限制。 由此可以看出j d f 能有效地沟通现有的各种工作流程,并允许平行工作。j d f 支持 动态的数据交换,让使用者了解每个不同的生产环节中所使用的各种材料以及使用量,相 关设备信息、作业进展和作业等候管理的信息,大大提高生产的透明度。它既在生产层面 又在顾客层面对印刷活件进行详细的描述,同时充分利用现有的技术,在现存的各种标准 之间起到一个杠杆的作用。而且由于采用x m l 语言,进行以对象为导向的设计,执行起 来会比较简单。 2 2 n e t 框架的x m la p1 n e t 框架为w 3 c 支持的x m l 标准提供了一流的支持,x m l 在整个n e t 框架中的应用 是很普遍的,其中包括在配置文件、c # 源代码注释和w e bs e r v i c e s 中的应用。n e t f r a m e w o r k 通过包含在s y s t e m x m l 命名空间中的一系列类来处理x m l 文档和文档片段。 在应用程序的开头部分使用u s i n gs y s t e m x m l 语句,就可以在c # 应用程序中应用这些类。 n e t 框架中的x m l “精华 在于两个抽象类一x m l r e a d e r 和x m l w r i t e r 。这两个类是 所有其他n e t 框架的x m l 类的核心,包括x m ld o m 类,而且通过不同的子系统,可以扩 展用于解析或生成x m l 文本订1 。例如,a d o n e t 数据适配器使用数据库读取器将得到的数 据存储到d a t a s e t 对象中,而且使用x m l t e x t w r i t e r 对象( 派生自x m l w r i t e r ) ,d a t a s e t 对象可以将其内容串行化为d i f f g r a m 格式。 x m l 读取器和编写器提供了针对x m l 文档的基本i o 功能,并且用于建立更复杂的功 能。因此,大体上说,在处理x m l 数据时,有两种可能的方法:使用任何建立在x m l r e a d e r 和x m l w r i t e r 之上的专门的类或者通过熟知的经典x m ld o m 表示内容的文档类。 直接使用读取器代表了一种基于流的x m l 处理方式,但它也是一种快速的和无状态的 处理方式。x m ld o m 类的使用代表了传统的x m ld o m 解析模型。这种读取器表示了p u l l 模型,与此相对的是s a x 解析器一般的p u s h 模型1 。当然可以在基于p u l l 模型的a p i 之 上建立一个p u s h 模型。 n e t 框架的x m la p i 由下列功能组成: x m l 读取器( r e a d e r ) x m l 编写器( w r i t e r ) ) ( m l 文档类 所有这些功能都必须克服类型影射的问题。n e t 框架的x m l 类型系统有些方面与x s d 模式类型系统相同,而且特别是n e t 框架中的一些转换类提供了应用程序转换。 6 2 相关技术研究 读取器和编写器代表两种比较通用的软件组件,通过n e t 框架可以发现几个具体的 并且功能强大的实现方式。读取器组件提供了一种相对通用的编程接口,从文件或流中读 出信息。而编写器组件提供了组通用的方法,以一种与格式无关的方式,将信息写入文 件或流中。读取器的运行模式是只读模式,而编写器的运行模式则是只写模式。 图2 - 1 n e t 中处理x m l 的类 f i g u r e 2 - ic l a s sp r o c e s s i n gx m li n n e t 图2 - 1 就是其中专门用于处理x m l 的类。如前所述,两个主要类是x m l r e a d e r 和 x m l w r i t e r 。x m l t e x t r e a d e r 类可以读取x m l 文档,不用进行任何有效性验证,只检查x m l 是否格式良好。也就是说它确保x m l 文档符合w 3 cx m l1 o 推荐标准中提出的规则,如每 个打开的元素都必须有一个表示结束的元素。它是只读的且速度很快,是读取x m l 文档时 最常用的类。 x m l n o d e r e a d e r 类可以将文档传入d 伽片段,传入现有x m ld o m 文档的子树或单个节 点。这个类只检查片段是否格式良好,而不进行任何有效性验证。 最后,x m l n o d e r e a d e r 类的功能非常强大,使用它可以根据d t d 或x m ls c h e m a ,对 x m l 实例文档或片段进行验证四1 。这个类并没有与x m l t e x t r e a d e r 类和 x m l v a l i d a t i n g r e a d e r 类分离,事实上,) ( i i l l v a l i d a t i n g r e a d e r 类也使用这两个类读取文 档数据,然后进行有效性验证。这种有效性验证确保x i v i l 结构符合与文档相关的d t d 或模 式所定义的规则。 另一个主类x m l w r i t e r 类可以将x m l 文档写入流或文件。流是字节的一般序列,但n e t f r a m e w o r k 中的s t r e a m 类属于抽象类,它应实现几种不同s t r e a m 类型中的一种,如 m e m o r y s t r e a m ( 可以将流存储到内存中) 、f i l e s t r e a m ( 可以将s t r e a m 发送到物理文件) 和n e t w o r k s t r e a m ( 可以使用套接字在网络之间发送s t r e a m ) 。 x m l r e a d e r 使用拉模型告诉解析器,它对哪些节点感兴趣,与之相对的就是过渡性的 s a x 推模型,它会给出内容处理程序要处理的所有节点。 西安理工大学硕士学位论文 2 3 面向对象的软件工程方法 当前计算机业界最流行的几个单词就是分布式、并行和面向对象这几个术语。由此可 以看到面向对象这个概念在当前计算机业界的地位。比如当前流行的两大面向对象技术 d c o m 和c o r b a 就是例子。不可否认,面向对象技术是软件技术的一次革命,在软件开发 史上具有里程碑的意义。 随着o o p ( 面向对象编程) 向o o d ( 面向对象设计) 和o o a ( 面向对象分析) 的发展, 最终形成面向对象的软件开发方法o m t ( o b j e c tm o d e l i n gt e c h n i q u e ) 。这是一种自底向 上和自顶向下相结合的方法,而且它以对象建模为基础,从而不仅考虑了输入、输出数据 结构,实际上也包含了所有对象的数据结构n 们。0 0 技术在需求分析、可维护性和可靠性 这三个软件开发的关键环节和质量指标上有了实质性的突破,基本地解决了在这些方面存 在的严重问题。 面向对象分析的目的是对客观世界的系统进行建模。分析模型有三种用途:用来明确 问题需求;为用户和开发人员提供明确需求;为用户和开发人员提供一个协商的基础,作 为后继的设计和实现的框架。 面向对象设计是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实 现方案的过程。从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程。瀑布模型 把设计进一步划分成概要设计和详细设计两个阶段,类似地,也可以把面向对象设计再细 分为系统设计和对象设计。系统设计确定实现系统的策略和目标系统的高层结构。对象设 计确定了解空间中的类、关联、接口形式及实现操作的算法。 综上所述,面向对象系统采用了自底向上的归纳、自顶向下的分解的方法,它通过对 对象模型的建立,能够真正建立基于用户的需求,而且系统的可维护性大大改善。当前业 界关于面向对象建模的标准是u m l ( u n i f i e dm o d e l i n gl a n g u a g e ) 。 面向对象的模型主要有对象模型、动态模型和功能模型n 。 对象模型表示了静态的、结构化的系统数据性质,描述了系统的静态结构,它是从客 观世晃实体的对象关系角度来描述,表现了对象的相互关系。该模型主要关心系统中对象 的结构、属性和操作,它是分析阶段三个模型的核心,是其他两个模型的框架。 动态模型是与时间和变化有关的系统性质。该模型描述了系统的控制结构,它表示了 瞬间的、行为化的系统控制性质,它关心的是系统的控制和操作的执行顺序,它表示从对 象的事件和状态的角度出发,表现了对象的相互行为。该模型描述的系统属性是触发事件、 事件序列、状态、事件与状态的组织。使用状态图作为描述工具。它涉及到事件、状态、 操作等重要概念。 功能模型描述了系统的所有计算。功能模型指出发生了什么,动态模型确定什么时候 发生,而对象模型确定发生的客体。功能模型表明一个计算如何从输入值得到输出值,它 不考虑计算的次序。功能模型由多张数据流图组成。数据流图用来表示从源对象到目标对 8 2 相关技术研究 象的数据值的流向,它不包含控制信息,控制信息在动态模型中表示,同时数据流图也不 表示对象中值的组织,值的组织在对象模型中表示。 9 3 数据库操作模型的设计 3 数据库操作模型的设计 3 1j d f 存储管理平台的选择 任何一笔印刷业务也就是活件均可用j d f 描述,每一笔印刷业务都具有不同的形态, 描述其的j d f 文档必然结构也不完全相同,在实际生产中需要有效合理的管理这些结构不 完全相同的j d f 文档。目前,c i p 4 官方网站也并没有对j d f 存储管理平台进行任何相关 报道。现针对如何保存和管理j d f 作业传票的问题做一个探讨,由于j d f 是x m l 在印刷行 业应用的一个实例,因而一种合理、有效存储管理x m l 的方法也同样适合管理j d f 传票。 目前有4 种存储管理x m l 数据的方法n 羽: ( 1 ) 将其保存为文件系统管理; ( 2 ) 建立专门的数据库系统即纯x m l 数据库管理; ( 3 ) 转换到对象数据库中管理; ( 4 ) 使用关系数据库管理。 这4 种方式中,使用文件系统来存储和检索x m l 数据是管理x m l 最简单直接的方式, 基于文件的x m l 存储系统将x m l 直接存储为文本文件,在处理查询时需要将x m l 文档解析 为内存中的d o m 树结构n 引。该存储系统容易实现,但是这种存储方式在每次浏览和查询文 档时都要重复地解析文档,且整个文档在查询处理过程中都要占用大量内存;第二种方式 是针对x m l 专门设计的,有许多优点,但技术非常不成熟,且操作复杂,因而应用不广泛; 第三种方式中,由于当前的面向对象数据库系统的性能仍不足以支持对大规模数据的复杂 查询,所以使用也很有限;第四种方法备受关注,因为关系数据库技术已经十分成熟,现 有的大多数数据都是以关系数据库的形式存放的 1 4 o 如果x m l 能充分地利用现有的关系数 据库技术成果,可以像其他数据一样在关系数据库中存储管理,而不是将x m l 数据影射到 关系表中,那么将会对其管理和查询访问带来方便。 2 0 0 5 年1 1 月微软正式发布的s q ls e r v e r2 0 0 5 不仅继承了对于关系型数据的强大的 查询和数据修改功能,而且将这些功能已扩展到能够查询和修改x m l 数据,很好的加强了 对x m l 的支持,为开发丰富的应用程序和半结构化、无结构化的数据管理提供了强大的平 台。因而可以选择关系型数据库s o ls e r v e r2 0 0 5 作为j d f 工作传票的管理开发平台,通 过这个平台就可灵活地实现对单个j d f 传票以及对多个j d f 传票的保存、查询和修改等基 本操作。 西安理工大学硕士学位论文 3 。2s q ls e r v e r2 0 0 5 存储管理j d f 传票 3 2 1s q ls e r v e r2 0 0 5 对x m l 的支持 s q ls e r v e r2 0 0 5 为x m l 数据处理提供了广泛支持,关键的一点是,s q ls e r v e r2 0 0 5 中提供了一个新的数据类型,即x m l 数据类型。这种新的数据类型支持在s q ls e r v e r 数 据库中存储x m l 文档,允许创建只保存x m l 或者同时保存x m l 和关系型数据的表。x m l 数 据类型的出现提供了大量对x m l 数据处理的支持,x m l 文档、片段和值可以用x m l 数据类 型存入s q ls e r v e r 。这个新的数据类型让s q ls e r v e r 引擎用其读懂整数或者字符串数据 的方式来读懂x m l 数据,可以将x m l 值以本机方式存储在x m l 数据类型列中,可以根据 x m l 架构的集合进行类型化和对x m ly u 仓s j 建索引n5 1 。这样可灵活地最大限度地使用结构 化数据的关系型模型,并用x m l 的半结构化数据增强这些结构化数据。除了x m l 数据类型 以外,s q ls e r v e r2 0 0 5 还支持诸如x q u e r y 、x m ld m l ( d a t am a n i p u l a t i o nl a n g u a g e , 数据操纵语言) 之类的技术,提供了对x m l 数据类型执行完全的查询和数据修改的能力。 总体来说,x m l 数据类型有4 种主要的用法:用作列类型、用作变量类型、用作参数 类型、用作函数类型。因此,以后x m l 数据可以直接保存到数据表的一个字段中了。 3 2 2 使用s o ls e r v e r2 0 0 5 处理j d f 文档 x m l 数据类型有5 种方法支持x m l 实例的查询和修改。这5 种方法是:q u e r y 0 、 v a l u e0 、e x i s t ( ) 、n o d e s0 、m o d i f y ( ) 。很少单独使用这些方法,只有当这些方法一起 使用时才能够体现出x m l 数据类型真正的威力和灵活性。m i c r o s o f t 通过创建) ( m ld m l 来 支持修改x m l 文档和片段。启用x m ld m l 的功能,必须使用三个大小写敏感的关键字 ( i n s e r t 、d e l e t e 、r e p l a c ev a l u eo f ) 。下面将分析如何使用以上的方法和关键字来具 体操作j d f 文档: ( 1 ) 在数据库中增加一个j d f 文档 1 2 图3 - 1s q ls e r v e r2 0 0 5 中列类型设置界面 f i g u r e 3 1s e t t i n gr o wt y p ei ns q ls e r v e r2 0 0 5 3 数据库操作模型的设计 首先创建一个表t b ,将其列x 1 设置成x m l 数据类型。在一个表中添加一列时,处理 x m l 数据类型和处理i n t 或v a r c h a r 数据类型是一样的。因为它和其他数据类型一样也是 内置的数据类型,如图3 - 1 所示。如果不擅长用可视化的界面或者说更愿意自己敲代码也 是可以的,这里采用的可视化界面。 程序3 - 1 在数据库中插入x m l 文档 p r o g r a m 3 - 1i n s e r tx m l d o c u m e n tt od a t a b a s e 通过程序3 一l 可以向表t b 中插入一个j d f 文档,可以看出,在s q ls e r v e r2 0 0 5 中 添加一个新的j d f 文档,也就是x m l 数据类型的数据,跟使用i n s e r ti n t ov a l u e 插入一 个其他类型数据的语句是一样的。图3 - 2 显示了j d f 文档在数据库中的存储形态。 ”科j := 。i j 。;妇。;,:j i = ,一。“? ? ? 一_ ”_ :“_ _ :0 j 、一湖3df x m | n s t h t 中:f 秘w w 。c i p 辱o r g t j d f s c h e m a 一1 一l x m l n s :x m = ”n t t p :形 23df x m l n s = h t t 0 1 i 哦琳c i p 4 o r g p d f s c h e m a t rx m l n s :x s i = “n t t p :限。 l 一9 ”一j 。 33df x m l n s = n t t p : w w w 。c i p 4 。o r g 3 d f s c b e m a i l x m l n s :x 螽= h t t p :h 羔 辱3df x m t n s = 、t 中:胁w w c i p 4 o r g d d f s c h e m a 一1 一rx m l n s :x s i = n t 中:f f 53df x m l n q = m t t p :w w w 。c i p 4 。o r g 3 d f s c h e m a 一1 - 1 x r n l n s :x m = h t t p :。 袭。 巳壮朋噱z 图3 - 2s q l s e r v e r 2 0 0 5 中x m l 数据表 f i g u r e 3 - 2x m ld a t at a b l ei ns q ls e r v e r2 0 0 5 ( 2 ) 生成j d f 节点和资源 j d f 文档的主要元素是资源和j d f 节点,在数据库中对这两种元素的操作是一样的, 没有任何区分。对于j d f 文档是生成j d f 节点和资源,而对于表t b 是更新了x 1 列的数据, 所以结合要使用u p d a t e 关键字。对于x m l 数据类型,需要使用m o d i f y0 方法和i n s e r t 关键字来完成上述功能。m o d i f y0 方法是用于修改x m l 类型变量或列,这个方法把一个 x l d ld m l 语句作为一个参数来执行必要的操作( 插入、更新或删除) 。i n s e r t 关键字可以 向一个现有的x m l 文档中插入一个或多个元素。d e c l a r e 关键字声明了j d f 文档的命名空 间,i n s e r t 关键字后的表达式代表了要插入到k m l 文档中的元素,i n t o 后面的表达式表 示要插入元素的x m l 文档的相对位置。程序3 2 进行的操作就是,在j d f 根节点中插入或 者说生成一个r e s o u r c e p o o l 。 程序3 - 2 生成x m l 节点 p r o g r a m 3 - 2c r e a t ex m le l e m e m 西安理工大学硕士学位论文 ( 3 ) 更新删除j d f 节点和资源 更新删除j d f 节点和资源仍然是对x m l 类型变量或列进行修改,所以仍然使用 m o d i f y0 方法。关键字d e l e t e 用于从一个x m l 实例中删除元素,r e p l a c ev a l u eo f 关键 字可以在x m l 实例中原位更新元素值。这里还增加了一个限制条件,所以还使用了e x i s t 0 方法。e x i s to 方法能够检查x m l 实例中某个指定的x m l 片段是否存在。如果存在,返回 值为1 :如果不存在,返回值为0 。所以,程序3 3 进行的操作是,将i d 值是r i p 的j d f 节点的属性s t a t u s 的值设置成r e a d y 。 u p d a t et bs e tx 1 m o d i f y ( d e c l a r en a m e s p a c em s a w = ”h t t p :w w w c i p 4 。r g j d f s c h e m a l 一1 ; r e p l a c ev a l u eo f ( m s a w :j d f s t a t u s ) 【1 】w i t h ”r e a d y ”) w h e r ex 1 e x i s t ( d e c l a r e n a m e s p a c em s a w = ”h t t p :w w w c i p 4 o r g j d f s c h e m a 一1 1 ”;m s a w :j d f 【 i d = r i p ”】) = 1 程序3 3 更新x m l 兀素的属性 p r o 掣a m 3 - 3u p d a t ex m l e l e m e n t ( 4 ) 搜索 在对j d f 文档处理中要多次读取某些属性值,这就要使用v a l u e0 方法。v a l u e0 方法 可以提取一个x m l 实例的某个元素的值。程序3 4 是读取i d 为j o b 5 的j d f 传票根节点的属性 s t a t u s 的值,并且返回字符型。 程序3 - 4 搜索指定j d f 传票的状态 p r o g r a m 3 - 4s e a r c hs o m ej d ft i c k e ts t a t e 3 3 数据库操作模型的功能分析与实现 数据层主要有基于d o m 的j d f 对象模型和数据库操作模型两个模块,m i s 的业务逻 辑层对j d f 的各种操作都通过这两个模型进行,且不需要了解具体的操作是如何实现的。 本课题主要研究数据库操作模型,数据库操作模型主要封装了m i s 对s q ls e r v e r2 0 0 5 的各种操作。 3 3 1 数据库操作模型的功能分析 1 4 首先以业务科主要功能为例,分析业务模块对数据层的需求。业务科主要有生成订单、 3 数据库操作模型的设计 修改更新订单、读取订单和删除订单等功能。将这几个功能映射到数据层:生成订单,在 数据操作上就是创建一个j d f 传票,将客户要求和客户信息记录到意图资源,并将j d f 传票保存到数据库中;修改更新订单,体现在j d f 传票处理就是重新设置各j d f 节点和资 源的属性值;读取订单,就是显示j d f 传票中订单的信息;删除订单,要求可以将整个 j d f 传票删除。 当然整个m i s 不仅在这几个方面对数据进行操作,但通过对业务科的功能的分析,可 以总结数据层需要实现生成、删除、更新和搜索的功能。通过已掌握的知识,现比较使用 数据库操作语句和n e td o m 实现上述各种功能的特点,从而得出数据库操作模型的功能: ( 1 ) 生成功能 这里讨论的生成功能有两
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年中级社会工作者考试真题及答案
- 2026年事业单位联考综合应用能力A类考情分析
- 2026年事业单位结构化面试真题
- 2026江西上饶市余干县司法局招聘1人笔试备考试题及答案详解
- 关于新产品上线市场推广的通知函(3篇范文)
- 2026年外科护理急救试题附答案
- 2026年成人高考专升本政治极简试题及答案
- 江苏省徐州市2024-2025学年高一上学期期末考试化学试题(解析版)
- 2025山东枣庄市滕州东诚建设投资集团招聘11人笔试历年参考题库附带答案详解
- 2025届浙江交工集团股份有限公司春季校园招聘笔试历年参考题库附带答案详解
- 中国艺术研究院2025年博士入学英语考试题
- 网络安全漏洞扫描与修复记录表
- 2025年新型停车场建设与管理项目可行性研究报告
- 货车维修保养知识
- DB34∕T 4315-2022 甜叶菊组培快繁技术规程
- 全国农产品质量安全检测技能竞赛理论知识考试试题题库2025年附答案
- 隧道有机硅防水涂料施工方案
- 沥青混凝土施工现场技术服务方案
- 厂房搭建阁楼申请书
- 行政事业单位资产清查报表(清查明细表)
- 上海市2018-2020年中考满分作文68篇
评论
0/150
提交评论