您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 基于pureXML的Java应用系统开发探讨
IBMSoftwareGroup©2006IBMCorporation基于pureXML的Java应用系统开发探讨IBM中国开发中心IBMSoftwareGroup|InformationManagementIBMInformationManagement|2006©2006IBMCorporation议程什么是pureXML开发pureXML应用程序的若干模式基于XXX系统的一些设想Demo演示及讨论IBMSoftwareGroup|InformationManagementIBMInformationManagement|2006©2006IBMCorporation什么是pureXML?简而言之,pureXML是IBMDB2的一个管理XML数据的创新技术,以内在层次型结构存储的一种新数据类型–XML。IBMSoftwareGroup|InformationManagementIBMInformationManagement|2006©2006IBMCorporationpureXML的操作接口SQL/XML–SQL/XML是ANSI/ISOSQL2003标准的扩展–SELECTCidFROMCUSTOMERWHEREXMLEXISTS('declaredefaultelementnamespace[city=Toronto]'passingINFOasd)XQuery–XQuery是W3C组织设计的用于查询XML及其他数据类型的语言–xquerydb2-fn:xmlcolumn(‘CUSTOMER.INFO’)/customer/nameIBMSoftwareGroup|InformationManagementIBMInformationManagement|2006©2006IBMCorporationDB2SQL/XML全局XQueryDatamodelXMLValidate()0XMLCast()XMLParse()1BindinXMLDB2Engine213456789Application文本型XML二进制XMLRelationalXML0XMLQuery()XMLExists()XMLElement()XMLDocument()XMLConcat()XMLNamespace()2StoreasXMLXMLAttribute()XML2Clob()3ShredintoSQL4RetrieveXML5PublishXML6BindoutXML7XMLtoXML8XMLtoSQL9SQLtoXMLXMLTable()IBMSoftwareGroup|InformationManagementIBMInformationManagement|2006©2006IBMCorporationFLWOR表达式FOR:遍历序列,并将序列的每个项目绑定到变量LET:绑定一个序列到一个变量WHERE:过滤条件ORDERBY:排序RETURN:构造查询结果xqueryfor$cindb2-fn:xmlcolumn(“customer.info)/customerwhere$c/addr/@country=UnitedStatesorderby$c/nameascendingreturnaddress{$c/name,$c/addr/street,$c/addr/city,$c/addr/pcode-zip}/addressaddressnameFatmaÖzcan/namestreet650HarryRoad/streetcitySanJose/citypcode-zip95120/pcode-zip/addressIBMSoftwareGroup|InformationManagementIBMInformationManagement|2006©2006IBMCorporationXML节点更新示例更新节点值节点插入IBMSoftwareGroup|InformationManagementIBMInformationManagement|2006©2006IBMCorporationpureXML特性内联(inlining)提高查询性能行压缩(RowCompression)提高IO效率快速Schema校验XML节点更新(节点值修改,节点插入,删除,重命名等)支持参数化编程IBMSoftwareGroup|InformationManagementIBMInformationManagement|2006©2006IBMCorporation哪些场景适合采用pureXML?原先为XML数据,但是并未将其存储进而管理起来–档案管理系统复杂结构数据模型–医疗领域EMR系统–税务灵活表单定制化需求强烈,最终用户参与–元数据管理系统–电子病历系统需要对XML数据进行检索–XML节点索引–XML全文检索实体之间需要建立关联–政府监管,企业档案(税务,公安,海关等信息集成)等等…存储管理复杂结构定制化,参与检索关联IBMSoftwareGroup|InformationManagementIBMInformationManagement|2006©2006IBMCorporationpureXML性能实践XML索引–XML节点索引–三因素:包含,数据类型,文本或节点XML执行计划customerinfoCid=1004nameMattForeman/nameaddrcountry=Canadastreet1596Baseline/streetcityToronto/citystateOntario/statepcodeM3Z-5H9/pcode/addrphonetype=work905-555-4789/phonephonetype=home416-555-3376/phoneassistantnamePeterSmith/namephonetype=home416-555-3426/phone/assistant/customerinfocreateuniqueindexidx1oncustomer(info)generatekeyusingxmlpattern'/customerinfo/@Cid'assqldouble;1index,onCidRETURN|NLJOIN|/-+-\/\FETCHXSCAN|/---+---\/\RIDSCNTABLE:|CUSTOMERSORT|XISCANIBMSoftwareGroup|InformationManagementIBMInformationManagement|2006©2006IBMCorporationpureXML性能实践NSE全文检索–单词,词组搜索–布尔搜索And,Or,Not–近似搜索–模糊查询–通配符查询(‘%’,‘_’)?textSELECTcolumnFROMtableWHERECONTAINS(column-name,‘search-criteria’)=1SELECTproductFROMproductTWHERECONTAINS(product,‘SECTION(/product/description/details”)“lovely”’)=1IBMSoftwareGroup|InformationManagementIBMInformationManagement|2006©2006IBMCorporationFurtherReading:DB2pureXMLPerformance15bestpracticesforpureXMLperformanceinDB29://:“TransactionProcessingoverXML(TPoX)”://tpox.sourceforge.net/Sigmod2007_TPoX.pdfDB29XMLperformancecharacteristics®Xeon®MPPlatformsUsingIBMNSeriesStorageByIntel:://://|InformationManagementIBMInformationManagement|2006©2006IBMCorporation议程什么是pureXML开发pureXML应用程序的若干模式基于XXX系统的一些设想Demo演示及讨论IBMSoftwareGroup|InformationManagementIBMInformationManagement|2006©2006IBMCorporation开发pureXML应用程序的若干模式-1XSLT形式,处理XML文档DB2XML数据访问动态UI视图业务逻辑XSLT优点:程序编写简单劣势:个性化不足–解决办法,将XSLT放开给最终用户IBMSoftwareGroup|InformationManagementIBMInformationManagement|2006©2006IBMCorporation开发pureXML应用程序的若干模式-2通过映射机制,将XML映射为Java实体(iBatis,SDO,Hibernate等)DB2XMLXML映射Java实体类业务逻辑数据访问UI视图优点:减少编码量,直接映射为实体对象劣势:需要配置,部分ORM不支持SQL/XML和XQuery解决办法:对于SQL/XML和XQuery采取NativeSQL的方式,或采用iBatis动态生成SQL/XML和XQueryIBMSoftwareGroup|InformationManagementIBMInformationManagement|2006©2006IBMCorporation开发pureXML应用程序的若干模式-3动态Java类(BeanUtils,Javassist,Java反射)DB2XML类生成器动态Java类业务逻辑数据访问UI视图优点:能适应XML节点变化劣势:对XML的格式有要求,不允许层次结构变化的XML格式解决办法:将XML的层次结构固定IBMSoftwareGroup|InformationManagementIBMInformationMan
本文标题:基于pureXML的Java应用系统开发探讨
链接地址:https://www.777doc.com/doc-4546253 .html