基于元数据的信息管理系统PPT课件

上传人:日度 文档编号:149815683 上传时间:2020-10-30 格式:PPT 页数:48 大小:425KB
返回 下载 相关 举报
基于元数据的信息管理系统PPT课件_第1页
第1页 / 共48页
基于元数据的信息管理系统PPT课件_第2页
第2页 / 共48页
基于元数据的信息管理系统PPT课件_第3页
第3页 / 共48页
基于元数据的信息管理系统PPT课件_第4页
第4页 / 共48页
基于元数据的信息管理系统PPT课件_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《基于元数据的信息管理系统PPT课件》由会员分享,可在线阅读,更多相关《基于元数据的信息管理系统PPT课件(48页珍藏版)》请在金锄头文库上搜索。

1、1,基于元数据的开发平台,胡 欣,2,元数据的概念理解,关于数据的数据,也就是用描述数据的数据。,事物,元数据1,数据1,数据2,数据3,.,元数据2,元数据3,3,元数据应用场景1,数据,元数据,4,基于元数据的开发平台的作用,通过配置方式快速搭建中小型信息管理系统 可用于分布式架构(权限管理 ),5,元数据系统中的信息类,信息类 通过元数据方式定义出来的一个信息节点就称为信息类,一个信息类对应数据库中的一张表,对应Hibernate中的一个实体类。一个信息类由多个信息属性组成,每个信息属性对应表中的一个字段,对应实体类中的一个成员变量。,6,基于元数据开发平台功能介绍,信息类的树形管理 信

2、息类的元数据定义 信息类的CRUD功能 信息类的访问控制 基于Spring Web Services的信息类服务接口,7,基于元数据开发平台功架构图,信息类元数据,平台引擎,信 息 类 服 务 接 口,访问控制服务,CRUD服务,管理控制台,信息类数据,UI组件,企 业 级 应 用 系 统,8,核心功能开发思路分析,Hibernate,元数据(XML),实体映射文件,实体类,velocity 模板引擎,javassist 框架,元数据系统,动态加载,元数据定义,9,树的两种存储方式比较,XML方式 加载时无需进行处理,天然就是树形结构 适合于后台的配置管理功能,并发性差 数据库表方式(id,t

3、ext,parentid) 加载时需进行排序处理 适合大量用户操作的树,并发性好,10,“信息目录管理” 业务用例分析,技术点: ExtJs tree控件 JAXB(Java Architecture for XML Binding) OXM Schema(是用于描述和规范XML文档的逻辑结构的一种语言),11,“信息元数据定义” 业务用例分析,技术点: Velocity模板框架 Javassist字节码框架 Hibernate动态加载,12,“信息数据维护” 业务用例分析,13,系统中使用到的相关技术点汇总,Schema JAXB Velocity Javassist springSecur

4、ity springWs Extjs,14,XML Schema 语言,XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD) XML Schema作用(定义 XML 文档的合法构建模块,类似 DTD) 定义可出现在文档中的元素 定义可出现在文档中的属性 定义哪个元素是子元素 定义子元素的次序 定义子元素的数目 定义元素是否为空,或者是否可包含文本 定义元素和属性的数据类型 定义元素和属性的默认值以及固定值,15,Schema文件的根元素, (1) xmlns=http:/www.w3.org/2001/XMLSchema 引入w3c

5、命名空间 (2)targetNamespace=. 指定当前Schema文件的命名空间,16,定义组成XML元素和属性,element 元素定义一个xml元素 element自身的主要属性 : id、name、type attribute 元素定义一个xml元素的属性 attribute 自身的主要属性: id、name、ref 、type、use,17,Schema语言(XSD)主要数据类型,基本类型 简单类型simpleType 复杂类型complexType,18,XSD 基本类型,最常用的类型是:string decimal integer boolean date time 例子:

6、Smith 28 1980-03-27 这是相应的简易元素定义: ,19,XSD的简单类型定义simpleType,值的限定(pattern和enumeration),Aud1,20,XSD的简单类型定义simpleType,合并了两个简单类型的简单类型,21,XSD的简单类型定义simpleType,定义单个 simpleType 定义的集合,22,XSD的复杂类型定义complexType,复杂类型的元素是包含其他元素和/或属性的 XML 元素。,23,XML对Schema进行引用,指定默认的命名空间 指定带前缀的命名空间 声明xsi标准命名空间 使用xsi:schemaLocation为

7、每个命名空间指定具体的schema文件,24,JAXB概述,JAXB(Java Architecture for XML Binding,Java XML绑定架构)是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。 该技术可以提供将XML实例文档反向生成Java对象树的方法。能将Java对象树的内容重新写到XML实例文档。 另一方面来讲,JAXB提供了快速而简便的方法将XML模式绑定到Java对象,从而使得Java开发者在Java应用程序中能方便加载XML数据,并以XML文件作为数据存储方式。,25,JAXB架构图,26,JAXB实现包括以下组件,Schema编译器(x

8、jc.exe) xjc -d java类目录路径 -p 包名 schema文件名 Schema生成器 (schemagen.exe) 绑定运行时框架 (rt.jar下的javax.xml.bind包) JAXBContext、Marshaller、Unmarshaller,27,JAXB序列化(对象转xml),JAXBContext context = JAXBContext.newInstance(clazz); Marshaller m = context.createMarshaller(); m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,

9、 true); m.setProperty(Marshaller.JAXB_ENCODING, charsetName); m.setProperty(Marshaller.JAXB_FRAGMENT, false); if( schemaLocation != null ,28,JAXB反序列化(xml转对象),JAXBContext jaxbContext ; Object object = null ; jaxbContext = JAXBContext.newInstance(clazz); StreamSource stremSource = new StreamSource(inp

10、utStream) ; /反序列化 Unmarshaller unmarshaller = jaxbContext.createUnmarshaller() ; object = unmarshaller.unmarshal(stremSource) ;,29,在Spring中使用JAXB,30,Velocity概述,Velocity是一个基于java的模板引擎。它使得开发人员通过强大的模版语言来与Java中定义的对象进行交互。 模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档

11、。 生成源代码(rapidFramework) 生成配置文件 veloeclipse - ,31,模板引擎运行原理,模板引擎,模板文件,数据,输出,32,Velocity基本语法,变量定义、引用 #set变量名 定义变量 ,例如:#set( $foo = bar ) $变量名 用来输出引用的变量, 例如:$foo 用来明确标识Velocity变量 ! 用来强制把不存在的变量显示为空白 java对象的引用 $对象.属性 用来输出对象的属性 $对象.方法 调用对象的方法 $对象 调用对象的toString()方法输出 用来明确标识对象 ! 用来强制把不存在的对象显示为空白 条件判断语句 #if 、

12、#elseif 、#else、#end 循环语句 #foreach、in #end 注释 # 和 #* *#,33,Velocity基本开发步骤,当Velocity应用于开发时的基本步骤 设置模板文件的基准目录 初始化Velocity 创建Context对象 添加数据到Context 选择模板 合并模板和数据产生输出页面或文件,34,Spring整合Velocity,引入velocity.jar和velocity-tool.jar spring配置文件加入如下配置,35,Javassist概述,什么是Javassist (asm、cglib) Javassist是一个开源的分析、编辑和创建Ja

13、va字节码的类库。是jboss的一个子项目,其主要的优点,在于简单,而且快速。直接使用java编码的形式,而不需要了解虚拟机指令,就能动态改变类的结构,或者动态生成类,36,ClassPool和CtClass,CtClass实例是用来描述一个java的class文件的抽象,可以与一个class文件相关联,并获得一个操作句柄 ClassPool类的实例是CtClass对象的容器,37,Javassist例子(创建新的类),ClassPool pool = ClassPool.getDefault(); CtClass cc = pool.makeClass(Point);,38,Javassis

14、t例子(copy方式创建新的类),ClassPool pool = ClassPool.getDefault(); CtClass cc = pool.get(Point); cc.setName(Pair);,39,Javassist例子(继承方式创建子类),ClassPool pool = ClassPool.getDefault(); CtClass cc = pool.get(test.Rectangle); cc.setSuperclass(pool.get(test.Point); cc.writeFile();,40,Hibernate实体映射文件动态加载,spring容器启动时

15、自定义加载实体映射文件,41,Hibernate实体映射文件热加载,系统运行中,热加载实体映射文件,42,Web Service,Web service 就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,你能够用编程的方法通过Web来调用这个应用程序。 Web Service的三要素: wsdl soap uuid,43,什么是WSDL,WSDL 全称Web Services Description Language,是一种接口定义语言 WSDL 是一种使用 XML 编写的文档。这种文档可描述某个 Web service。它可规定服务的位置,以及此服务提供的操作(或

16、方法)。,44,简单对象访问协议SOAP,简单对象访问协议(SOAP)提供了标准的方法来调用Web service。SOAP规范定义了SOAP消息的格式,以及怎样通过HTTP协议来使用SOAP。SOAP也是基于XML和XSD的,XML是SOAP的数据编码方式。,45,Spring-WS,基于文档驱动来创建Web service 支持WS-Security 集成Acegi Security,46,Spring-WS相关模块,47,开发Web Service的方法,代码优先(自下而上) 契约优先(自上而下),48,使用Spring-WS 创建Web Service,using the Spring-WS archetype In Spring-WS, you will implement Endpoints to handle incoming XML messages,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 演讲稿/致辞

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号