基于元數(shù)據(jù)的信息管理系統(tǒng)_第1頁(yè)
基于元數(shù)據(jù)的信息管理系統(tǒng)_第2頁(yè)
基于元數(shù)據(jù)的信息管理系統(tǒng)_第3頁(yè)
基于元數(shù)據(jù)的信息管理系統(tǒng)_第4頁(yè)
基于元數(shù)據(jù)的信息管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 基于元數(shù)據(jù)的開(kāi)發(fā)平臺(tái)基于元數(shù)據(jù)的開(kāi)發(fā)平臺(tái)胡胡 欣欣高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 元數(shù)據(jù)的概念理解l關(guān)于數(shù)據(jù)的數(shù)據(jù),也就是用描述數(shù)據(jù)的數(shù)據(jù)。事物元數(shù)據(jù)1數(shù)據(jù)1數(shù)據(jù)2數(shù)據(jù)3.元數(shù)據(jù)2元數(shù)據(jù)3高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 元數(shù)據(jù)應(yīng)用場(chǎng)景1數(shù)據(jù)元數(shù)據(jù)高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 基于元數(shù)據(jù)的開(kāi)發(fā)平臺(tái)的作用l通過(guò)配置方式快速搭建中小型信息管理系統(tǒng)l可用于分布式架構(gòu)(權(quán)限管理 )高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件

2、人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 元數(shù)據(jù)系統(tǒng)中的信息類l信息類通過(guò)元數(shù)據(jù)方式定義出來(lái)的一個(gè)信息節(jié)點(diǎn)就稱為信息類,一個(gè)信息類對(duì)應(yīng)數(shù)據(jù)庫(kù)中的一張表,對(duì)應(yīng)Hibernate中的一個(gè)實(shí)體類。一個(gè)信息類由多個(gè)信息屬性組成,每個(gè)信息屬性對(duì)應(yīng)表中的一個(gè)字段,對(duì)應(yīng)實(shí)體類中的一個(gè)成員變量。高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 基于元數(shù)據(jù)開(kāi)發(fā)平臺(tái)功能介紹l信息類的樹(shù)形管理l信息類的元數(shù)據(jù)定義l信息類的CRUD功能l信息類的訪問(wèn)控制l基于Spring Web Services的信息類服務(wù)接口高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 基于元數(shù)據(jù)開(kāi)發(fā)

3、平臺(tái)功架構(gòu)圖信息類元數(shù)據(jù)平臺(tái)引擎信息類服務(wù)接口訪問(wèn)控制服務(wù)CRUD服務(wù)管理控制臺(tái)信息類數(shù)據(jù)UI組件企業(yè)級(jí)應(yīng)用系統(tǒng)高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 核心功能開(kāi)發(fā)思路分析Hibernate元數(shù)據(jù)(XML)實(shí)體映射文件實(shí)體類velocity模板引擎javassist框架元數(shù)據(jù)系統(tǒng)動(dòng)態(tài)加載元數(shù)據(jù)定義高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 樹(shù)的兩種存儲(chǔ)方式比較lXML方式加載時(shí)無(wú)需進(jìn)行處理,天然就是樹(shù)形結(jié)構(gòu)適合于后臺(tái)的配置管理功能,并發(fā)性差l數(shù)據(jù)庫(kù)表方式(id,text,parentid)加載時(shí)需進(jìn)行排序處理適合大量用戶操作的樹(shù),并發(fā)

4、性好高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 “信息目錄管理” 業(yè)務(wù)用例分析技術(shù)點(diǎn):技術(shù)點(diǎn):lExtJs tree控件lJAXB(Java Architecture for XML Binding) OXMlSchema(是用于描述和規(guī)范XML文檔的邏輯結(jié)構(gòu)的一種語(yǔ)言)高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 “信息元數(shù)據(jù)定義” 業(yè)務(wù)用例分析技術(shù)點(diǎn):技術(shù)點(diǎn):lVelocity模板框架lJavassist字節(jié)碼框架lHibernate動(dòng)態(tài)加載高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 “信息數(shù)據(jù)維護(hù)” 業(yè)務(wù)用

5、例分析高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 系統(tǒng)中使用到的相關(guān)技術(shù)點(diǎn)匯總lSchemalJAXBlVelocitylJavassistlspringSecuritylspringWslExtjs高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 XML Schema 語(yǔ)言lXML Schema 語(yǔ)言也稱作 XML Schema 定義(XML Schema Definition,XSD)lXML Schema作用(作用(定義 XML 文檔的合法構(gòu)建模塊,類似 DTD)定義可出現(xiàn)在文檔中的元素定義可出現(xiàn)在文檔中的屬性定義哪個(gè)元素是子元素定義子元

6、素的次序定義子元素的數(shù)目定義元素是否為空,或者是否可包含文本定義元素和屬性的數(shù)據(jù)類型定義元素和屬性的默認(rèn)值以及固定值高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 Schema文件的根元素 (1) xmlns=/2001/XMLSchema 引入w3c命名空間 (2)targetNamespace=. 指定當(dāng)前Schema文件的命名空間高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 定義組成XML元素和屬性lelement 元素定義一個(gè)xml元素element自身的主要屬性 :id、name、type lattri

7、bute 元素定義一個(gè)xml元素的屬性attribute 自身的主要屬性:id、name、ref 、type、use高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 Schema語(yǔ)言(XSD)主要數(shù)據(jù)類型l基本類型l簡(jiǎn)單類型simpleTypel復(fù)雜類型complexType高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 XSD 基本類型最常用的類型是:string decimal integer boolean date time例子:Smith281980-03-27這是相應(yīng)的簡(jiǎn)易元素定義: 高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家!

8、!北京傳智播客教育 XSD的簡(jiǎn)單類型定義simpleTypel值的限定(pattern和enumeration)Aud1高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 XSD的簡(jiǎn)單類型定義simpleTypel合并了兩個(gè)簡(jiǎn)單類型的簡(jiǎn)單類型高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 XSD的簡(jiǎn)單類型定義simpleTypel定義單個(gè) simpleType 定義的集合高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 XSD的復(fù)雜類型定義complexTypel復(fù)雜類型的元素是包含其他元素和/或?qū)傩缘?XML 元素。高級(jí)軟件人

9、才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 XML對(duì)Schema進(jìn)行引用指定默認(rèn)的命名空間指定帶前綴的命名空間聲明xsi標(biāo)準(zhǔn)命名空間使用xsi:schemaLocation為每個(gè)命名空間指定具體的schema文件高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 JAXB概述JAXB(Java Architecture for XML Binding,Java XML綁定架構(gòu))是一個(gè)業(yè)界的標(biāo)準(zhǔn),是一項(xiàng)可以根據(jù)XML Schema產(chǎn)生Java類的技術(shù)。該技術(shù)可以提供將XML實(shí)例文檔反向生成Java對(duì)象樹(shù)的方法。能將Java對(duì)象樹(shù)的內(nèi)容重新寫到XML實(shí)例文檔。

10、另一方面來(lái)講,JAXB提供了快速而簡(jiǎn)便的方法將XML模式綁定到Java對(duì)象,從而使得Java開(kāi)發(fā)者在Java應(yīng)用程序中能方便加載XML數(shù)據(jù),并以XML文件作為數(shù)據(jù)存儲(chǔ)方式。高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 JAXB架構(gòu)圖高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 JAXB實(shí)現(xiàn)包括以下組件lSchema編譯器(xjc.exe)xjc -d java類目錄路徑 -p 包名 schema文件名 lSchema生成器 (schemagen.exe)l綁定運(yùn)行時(shí)框架 (rt.jar下的javax.xml.bind包)JAXBContext

11、、Marshaller、Unmarshaller高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 JAXB序列化(對(duì)象轉(zhuǎn)xml)JAXBContext context = JAXBContext.newInstance(clazz);Marshaller m = context.createMarshaller();m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);m.setProperty(Marshaller.JAXB_ENCODING, charsetName);m.setProperty(Marshalle

12、r.JAXB_FRAGMENT, false);if( schemaLocation != null & schemaLocation.trim()!=)m.setProperty(Marshaller.JAXB_SCHEMA_LOCATION, schemaLocation); outputStream = new FileOutputStream(f:/temp/xxx.xml);m.marshal(object, outputStream);高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 JAXB反序列化(xml轉(zhuǎn)對(duì)象)JAXBContext jaxbCo

13、ntext ;Object object = null ;jaxbContext = JAXBContext.newInstance(clazz);StreamSource stremSource = new StreamSource(inputStream) ;/反序列化Unmarshaller unmarshaller = jaxbContext.createUnmarshaller() ;object = unmarshaller.unmarshal(stremSource) ;高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 在Spring中使用JAXB高級(jí)軟件人

14、才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 Velocity概述lVelocity是一個(gè)基于java的模板引擎。它使得開(kāi)發(fā)人員通過(guò)強(qiáng)大的模版語(yǔ)言來(lái)與Java中定義的對(duì)象進(jìn)行交互。l模板引擎(這里特指用于Web開(kāi)發(fā)的模板引擎)是為了使用戶界面與業(yè)務(wù)數(shù)據(jù)(內(nèi)容)分離而產(chǎn)生的,它可以生成特定格式的文檔,用于網(wǎng)站的模板引擎就會(huì)生成一個(gè)標(biāo)準(zhǔn)的HTML文檔。l生成源代碼(rapidFramework)l生成配置文件veloeclipse - http:/ !北京傳智播客教育 模板引擎運(yùn)行原理模板引擎模板文件數(shù)據(jù)輸出高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 V

15、elocity基本語(yǔ)法l變量定義、引用變量定義、引用#set變量名變量名 定義變量 ,例如:#set( $foo = bar )$變量名變量名 用來(lái)輸出引用的變量, 例如:$foo 用來(lái)明確標(biāo)識(shí)Velocity變量! 用來(lái)強(qiáng)制把不存在的變量顯示為空白ljava對(duì)象的引用對(duì)象的引用$對(duì)象對(duì)象.屬性屬性 用來(lái)輸出對(duì)象的屬性 $對(duì)象對(duì)象.方法方法 調(diào)用對(duì)象的方法 $對(duì)象對(duì)象 調(diào)用對(duì)象的toString()方法輸出 用來(lái)明確標(biāo)識(shí)對(duì)象 ! 用來(lái)強(qiáng)制把不存在的對(duì)象顯示為空白l條件判斷語(yǔ)句#if 、#elseif 、#else、#endl循環(huán)語(yǔ)句#foreach、in #endl注釋# 和和 #* *#高級(jí)

16、軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 Velocity基本開(kāi)發(fā)步驟當(dāng)Velocity應(yīng)用于開(kāi)發(fā)時(shí)的基本步驟設(shè)置模板文件的基準(zhǔn)目錄初始化Velocity創(chuàng)建Context對(duì)象添加數(shù)據(jù)到Context選擇模板合并模板和數(shù)據(jù)產(chǎn)生輸出頁(yè)面或文件高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 Spring整合Velocityl引入velocity.jar和velocity-tool.jarlspring配置文件加入如下配置高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 Javassist概述l什么是什么是Javassist (

17、asm、cglib) Javassist是一個(gè)開(kāi)源的分析、編輯和創(chuàng)建Java字節(jié)碼的類庫(kù)。是jboss的一個(gè)子項(xiàng)目,其主要的優(yōu)點(diǎn),在于簡(jiǎn)單,而且快速。直接使用java編碼的形式,而不需要了解虛擬機(jī)指令,就能動(dòng)態(tài)改變類的結(jié)構(gòu),或者動(dòng)態(tài)生成類高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 ClassPool和CtClasslCtClass實(shí)例是用來(lái)描述一個(gè)java的class文件的抽象,可以與一個(gè)class文件相關(guān)聯(lián),并獲得一個(gè)操作句柄lClassPool類的實(shí)例是CtClass對(duì)象的容器高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 Javassi

18、st例子(創(chuàng)建新的類)ClassPool pool = ClassPool.getDefault();CtClass cc = pool.makeClass(Point);高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 Javassist例子(copy方式創(chuàng)建新的類)ClassPool pool = ClassPool.getDefault();CtClass cc = pool.get(Point);cc.setName(Pair);高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 Javassist例子(繼承方式創(chuàng)建子類)ClassPool p

19、ool = ClassPool.getDefault();CtClass cc = pool.get(test.Rectangle);cc.setSuperclass(pool.get(test.Point);cc.writeFile();高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 Hibernate實(shí)體映射文件動(dòng)態(tài)加載lspring容器啟動(dòng)時(shí)自定義加載實(shí)體映射文件高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 Hibernate實(shí)體映射文件熱加載l系統(tǒng)運(yùn)行中,熱加載實(shí)體映射文件高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 Web ServicelWeb service 就是一個(gè)應(yīng)用程序,它向外界暴露出一個(gè)能夠通過(guò)Web進(jìn)行調(diào)用的API。這就是說(shuō),你能夠用編程的方法通過(guò)Web來(lái)調(diào)用這個(gè)應(yīng)用程序。lWeb Service的三要素:wsdlsoapuuid高級(jí)軟件人才實(shí)作培訓(xùn)專家高級(jí)軟件人才實(shí)作培訓(xùn)專家! !北京傳智播客教育 什么是WSDLlWSDL 全稱Web S

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論