SOA從應(yīng)用開始暨SOA新平臺(tái)發(fā)布_第1頁
SOA從應(yīng)用開始暨SOA新平臺(tái)發(fā)布_第2頁
SOA從應(yīng)用開始暨SOA新平臺(tái)發(fā)布_第3頁
SOA從應(yīng)用開始暨SOA新平臺(tái)發(fā)布_第4頁
SOA從應(yīng)用開始暨SOA新平臺(tái)發(fā)布_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

陳光耀

2010-11EOS6.3新特性培訓(xùn)EOS6.3的新特性EOS6.3的新特性融合開源Spring框架開發(fā)期支持功能向?qū)ё詣?dòng)生成實(shí)現(xiàn)代碼純Java的業(yè)務(wù)構(gòu)件開發(fā)方式與EOS的事務(wù)無縫集成提供更強(qiáng)的裝配功能,將Spring構(gòu)件發(fā)布為服務(wù),引用其他服務(wù)輕量化的標(biāo)準(zhǔn)EAR部署方式支持應(yīng)用部署模式輕量化、標(biāo)準(zhǔn)化管理模式輕量化安裝包提供了最佳實(shí)踐對應(yīng)用服務(wù)器的侵入性降低產(chǎn)品定位開發(fā)工具技術(shù)平臺(tái)封閉性開放性新特性一:Spring支持目錄新特性一:Spring支持概述SpringBean開發(fā)SpringBean調(diào)用SpringBean的裝配Spring支持–概述基本功能SpringBean開發(fā)新建Bean向?qū)?、資源樹顯示、功能向?qū)pringBean調(diào)用Spring圖元、API調(diào)用統(tǒng)計(jì)監(jiān)控、日志SpringBean的裝配(服務(wù)發(fā)布、引用)SpringBean和邏輯構(gòu)件關(guān)系可完全替代邏輯構(gòu)件,開發(fā)業(yè)務(wù)邏輯SpringBean邏輯構(gòu)件SpringBean的方法邏輯流邏輯流可以作為編排工具,將小粒度構(gòu)件組裝成大粒度構(gòu)件Spring支持SpringBean開發(fā)新建SpringBean向?qū)?、功能向?qū)pringBean配置(應(yīng)用級(jí)和構(gòu)件包級(jí))使用DAOTemplate開發(fā)基于數(shù)據(jù)庫程序使用事務(wù)配置多數(shù)據(jù)源Spring支持–SpringBean開發(fā)SpringBean開發(fā)創(chuàng)建SpringBean向?qū)ё詣?dòng)創(chuàng)建SpringBean的Java文件自動(dòng)生成SpringBean的配置文件注冊項(xiàng)SpringBean開發(fā)SpringBean開發(fā)資源視圖、構(gòu)件庫視圖顯示Spring配置文件和Bean、方法應(yīng)用級(jí)、構(gòu)件包級(jí)兩級(jí)配置文件應(yīng)用級(jí):exf/config/spring.xml構(gòu)件包級(jí):META-INF/spring/beans.xml支持手工編輯Spring配置文件配置文件支持編譯檢查SpringBean開發(fā)Spring功能向?qū)г鰟h改查向?qū)В―AO向?qū)В┘僇ava方式,不含頁面流單表維護(hù)向?qū)е鲝谋砭S護(hù)向?qū)pringBean配置應(yīng)用級(jí)、構(gòu)件包級(jí)兩級(jí)配置應(yīng)用級(jí)配置(exf/config/spring.xml)公共Bean數(shù)據(jù)源(DefaultDataSource)事務(wù)管理器(DefaultTransactionManager)事務(wù)傳播屬性(DefaultNamingTransactionAttribute)事務(wù)代理(DefaultBaseTransactionProxy)擴(kuò)展事務(wù)代理的Bean,可以使用數(shù)據(jù)庫事務(wù)默認(rèn)Bean攔截器(BeanInterceptor)Bean調(diào)用系統(tǒng)日志、引擎日志Bean調(diào)用的統(tǒng)計(jì)監(jiān)控Bean名稱的自動(dòng)代理(BeanNameAutoProxy)自動(dòng)匹配所有的Bean,對所有的Bean調(diào)用使用攔截器(如BeanInterceptor)可以縮小匹配范圍,改beanName屬性值:*Abc*Spring事務(wù)務(wù)采用用AOP事務(wù)務(wù)代代理理聲明明父父類類為為DefaultBaseTransactionProxy的Bean通過過方方法法名名稱稱匹匹配配事事務(wù)務(wù)((如如insert*,update*)是否否需需要要事事務(wù)務(wù)有有事事務(wù)務(wù)傳傳播播屬屬性性Bean配置置確確定定采用用邏邏輯輯流流的的事事務(wù)務(wù)((必必須須使使用用邏邏輯輯流流))Spring事務(wù)務(wù)—事務(wù)務(wù)傳傳播播屬屬性性<beanid="DefaultNamingTransactionAttribute"class="erceptor.NameMatchTransactionAttributeSource"><propertyname="properties"><props><propkey="insert*">PROPAGATION_REQUIRED</prop><propkey="create*">PROPAGATION_REQUIRED</prop><propkey="update*">PROPAGATION_REQUIRED</prop><propkey="delete*">PROPAGATION_REQUIRED</prop><propkey="save*">PROPAGATION_REQUIRED</prop><propkey="remove*">PROPAGATION_REQUIRED</prop><propkey="query*">PROPAGATION_REQUIRED,readOnly</prop><propkey="*">PROPAGATION_REQUIRED,readOnly</prop></props></property></bean>說明明:insert*:匹匹配配insertEntity、insertData等方方法法create*:匹匹配配createEntity、createData等方方法法update*:匹匹配配updateEntity等方方法法*:匹匹配配所所有有方方法法注意意::功功能能向向?qū)?dǎo)生生成成的的方方法法是是addXXX(),與模模板板的的不不一一致致((bug),,請請修修改改配配置置文文件件,,增增加加add*匹配配項(xiàng)項(xiàng)。。SpringBean事務(wù)務(wù)—事務(wù)務(wù)傳傳播播屬屬性性事務(wù)務(wù)傳傳播播屬屬性性((TransactionDefinition接口口中中定定義義))屬性值屬性含義PROPAGATION_REQUIRED需要事務(wù),外部不存在事務(wù)則創(chuàng)建新事務(wù),否則加入外部事務(wù)。(最常用)PROPAGATION_SUPPORTS支持事務(wù),外部有事務(wù)則加入事務(wù);無外部事務(wù)也不創(chuàng)建新事務(wù),以非事務(wù)方式運(yùn)行。PROPAGATION_MANDATORY強(qiáng)制使用事務(wù),外部無事務(wù)則拋異常。PROPAGATION_REQUIRES_NEW需要新事務(wù);外部無事務(wù)就創(chuàng)建新事務(wù),外部有事務(wù)則被掛起,并創(chuàng)建新事務(wù)。PROPAGATION_NOT_SUPPORTED不支持當(dāng)前事務(wù),外部有事務(wù)則掛起外部事務(wù),以非事務(wù)方式運(yùn)行PROPAGATION_NEVER不支持當(dāng)前事務(wù),外部有事務(wù)則拋異常PROPAGATION_NESTED(Spring特有)事務(wù)嵌套,外部有事務(wù)時(shí),運(yùn)行在嵌套事務(wù)中。外部無事務(wù),則新建事務(wù)(類似REQUIRED)Spring開發(fā)發(fā)示示例例示例例1.利用用EOS提供供的的DASTemplate開發(fā)發(fā)Bean創(chuàng)建建數(shù)數(shù)據(jù)據(jù)實(shí)實(shí)體體::Oorg生成成靜靜態(tài)態(tài)SDO:OOrg.java/OOrgImpl.java創(chuàng)建建Bean,OrgService,擴(kuò)擴(kuò)展展DASDaoSupport類publicclassOrgServiceextendsDASDaoSupport{publicvoidinsertOrg(OOrgorg){getDASTemplate().getPrimaryKey(org);getDASTemplate().insertEntity(org);}publicvoidupdateOrg(OOrgorg){getDASTemplate().updateEntity(org);}}Spring開發(fā)示示例示例1.利用EOS提供的的DASTemplate開發(fā)Bean1)使用用邏輯輯流的的事務(wù)務(wù)Spring開發(fā)示示例示例2.利用EOS提供的的DASTemplate開發(fā)Bean2)使用用事務(wù)務(wù)代理理Spring開發(fā)示示例示例3.使用多多數(shù)據(jù)據(jù)源進(jìn)進(jìn)行開開發(fā)通過governor配置多多數(shù)據(jù)據(jù)源,,default,ds2更改應(yīng)應(yīng)用級(jí)級(jí)配置置:系系統(tǒng)配配置/config/spring.xml<beanid="DataSource2"class="com.eos.spring.DASDataSource"><propertyname="dataSourceName"><value>ds2</value></property></bean>增加新新數(shù)據(jù)據(jù)源表表的數(shù)數(shù)據(jù)實(shí)實(shí)體((Log)將Log轉(zhuǎn)為靜靜態(tài)SDO對象增加數(shù)數(shù)據(jù)庫庫記錄錄日志志的Bean(LogServiceBean)Spring開發(fā)示示例示例3.使用多多數(shù)據(jù)據(jù)源進(jìn)進(jìn)行開開發(fā)增加數(shù)數(shù)據(jù)庫庫記錄錄日志志的Bean(LogServiceBean)增加新新的BeanOrgServiceWithLogBean保存業(yè)業(yè)務(wù)數(shù)數(shù)據(jù)+記錄DB日志publicclassLogServiceextendsDASDaoSupport{publicvoidlog(Stringmessage){Loglog=newLogImpl();log.setLog(message);getDASTemplate().getPrimaryKey(log);getDASTemplate().insertEntity(log);}}Spring開發(fā)示示例2.使用多多數(shù)據(jù)據(jù)源進(jìn)進(jìn)行開開發(fā)使用一一個(gè)事務(wù)攔攔代理理,創(chuàng)創(chuàng)建一一個(gè)facidebean使用邏邏輯流流(insertWithLog)調(diào)用用新的的OrgServiceWithLogFacideBean<beanid="OrgServiceWithLogBean"class="com.primeton.sample.dao.OrgServiceWithLog"><constructor-argindex="0"><refbean="OrgServiceBean"/></constructor-arg><constructor-argindex="1"><refbean="LogServiceBean"/></constructor-arg></bean><beanid="OrgServiceWithLogFacideBean"parent="DefaultBaseTransactionProxy"><propertyname="proxyInterfaces"><list><value>com.primeton.sample.dao.IOrgService</value></list></property><propertyname="target"><refbean="OrgServiceWithLogBean"/></property></bean>Spring開發(fā)示示例示例4.開發(fā)一一個(gè)Bean攔截器器開發(fā)一一個(gè)MyInterceptorBean,實(shí)現(xiàn)現(xiàn)ercept.MethodInterceptor接口修改spring.xml右鍵部部署調(diào)試運(yùn)運(yùn)行ercept.MethodInterceptor;ercept.MethodInvocation;publicclassMyInterceptorimplementsMethodInterceptor{publicObjectinvoke(MethodInvocationinvocation)throwsThrowable{System.out.println("Beforeinvoke"+invocation.getMethod());Objectret=ceed();System.out.println("Afterinvoke"+invocation.getMethod());returnret;}}Spring支持Spring調(diào)用頁面流流、邏邏輯流流調(diào)用用Spring圖元API方式調(diào)調(diào)用::BeanFactory.getBean(StringbeanID)Spring調(diào)用的的系統(tǒng)統(tǒng)日志志、引引擎日日志Spring調(diào)用的的統(tǒng)計(jì)計(jì)監(jiān)控控Spring調(diào)用—示例((API調(diào)用))示例5:API方式調(diào)調(diào)用Bean創(chuàng)建調(diào)調(diào)用Client程序((為方方便,,使用用運(yùn)算算邏輯輯)BeanCallerDemo.java邏輯流流(apiDemo)調(diào)用用運(yùn)算算邏輯輯邏輯流流調(diào)試試運(yùn)行行@Bizlet("")publicclassBeanCallerDemo{@Bizlet("")publicvoiddemo(){IOrgServiceorgService=(IOrgService)BeanFactory.newInstance().getBean("OrgServiceBean");OOrgorg=newOOrgImpl();org.setOrgName("廣發(fā)證證券");org.setOrgCode("GFZQ");orgService.insertOrg(org);}}Spring支持Spring裝配將SpringBean發(fā)布為為服務(wù)務(wù)SpringBean引用其其他服服務(wù)SpringBean裝配–示例示例6.將LogServiceBean裝配發(fā)發(fā)布為為服務(wù)務(wù)將LogServiceBan發(fā)布為為WebService注意::要選選擇bean.xml下的Bean,右鍵菜菜單““封裝裝為WebService”使用IE測試服服務(wù)發(fā)發(fā)布的的wsdl使用soapUI測試SpringBean裝配–示例示例7.引用外外部的的WebService引用一一個(gè)外外部的的HelloWebService,打印印一段段祝賀賀語演示helloWebService導(dǎo)入wsdl新建HelloFacideBean(com.primeton.sample.serviceref)添加IHello引用將HelloFacideBean拖入裝裝配圖圖綁定引引用Promote服務(wù),,并綁綁定WebService使用soapUI測試服服務(wù)SpringBean裝配–示例@RemotablepublicclassHelloFacide{privateIHellohelloReference;publicStringhello(Stringname,Stringgreeting){returnthis.helloReference.hello(name,greeting);}publicIHellogetHelloReference(){returnhelloReference;}publicvoidsetHelloReference(IHellohelloReference){this.helloReference=helloReference;}}<beanclass="com.primeton.sample.serviceref.HelloFacide"id="HelloFacideBean"><propertyname="helloReference"ref="HelloReference"/></bean><sca:servicename="HelloFacideService"target="HelloFacideBean"type="com.primeton.sample.serviceref.HelloFacide"/><sca:referencename="HelloReference"type="com.primeton.sample.serviceref.IHello"/>新特性性二::標(biāo)準(zhǔn)EAR部署模模式支支持目錄新特性性二::標(biāo)準(zhǔn)準(zhǔn)EAR部署模模式支支持什么是是標(biāo)準(zhǔn)準(zhǔn)EAR部署模模式EOS6.1存在什什么問問題EOS6.3部署模模式、、管理理模式式和6.1的區(qū)別別EOS6.3的項(xiàng)目目開發(fā)發(fā)EOS6.3的應(yīng)用用部署署集群應(yīng)應(yīng)用的的安裝裝(WebLogic、WebSPhere)EOS6.1應(yīng)用升升級(jí)到到6.3標(biāo)準(zhǔn)EAR支持什么是是標(biāo)準(zhǔn)準(zhǔn)EAR部署模模式使用標(biāo)標(biāo)準(zhǔn)J2EE應(yīng)用部部署方方式部部署應(yīng)應(yīng)用控制臺(tái)臺(tái)部署署EAR/WAR(WebLogic、WebSphere)Ear/WAR目錄/文件復(fù)復(fù)制到到應(yīng)用用部署署目錄錄(Tomcat、JBoss)EOS6.1存在的的問題題非標(biāo)準(zhǔn)準(zhǔn)EAR方式部部署部署模模式重重,Server+應(yīng)用不支持持文件件方式式部署署(Jboss、WebLogic)對應(yīng)用用服務(wù)務(wù)器侵侵入性性強(qiáng)系統(tǒng)級(jí)級(jí)jar系統(tǒng)級(jí)級(jí)配置置更改改管理模模式重重,管管理服服務(wù)器器+被管服服務(wù)器器嵌入式式標(biāo)準(zhǔn)EAR支持EOS6.3部署模模式、、管理理模式式和6.1的區(qū)別別部署和和管理理模式式的變變革(輕量化化、簡簡化)標(biāo)準(zhǔn)EAR支持EOS6.3和嵌入式BPS的區(qū)別1、嵌入式BPS只支持war部署,6.3對war、ear部署都支持持2、對于jboss和weblogic,嵌入式BPS只支持目錄錄方式部署署,而6.3支持目錄、、文件兩種種方式部署3、嵌入式BPS不支持和EJB和JMS,異步調(diào)用用只能使用用線程,性性能差;6.3支持EJB、JMS。3、嵌入式BPS改造的不夠夠徹底,對對websphere還使用共享享庫方式,,對server有侵入性;;6.3改造較為徹徹底,系統(tǒng)統(tǒng)級(jí)的jar很少(基本本是jdbc等),對was不使用共享享庫,只改改動(dòng)EAR的類加載模模式為PARENT_LAST。4、6.3的目錄結(jié)構(gòu)構(gòu)和嵌入式式BPS有較大的不不同,6.3目錄結(jié)構(gòu)調(diào)調(diào)整的更合合理,路徑徑長度更短,因此可可以避免window平臺(tái)因過長長路徑而無無法部署的的問題。5、6.3有g(shù)ovenror,可以管控控6.3的標(biāo)準(zhǔn)ear應(yīng)用;嵌入入式BPS無governor可以管控。。6、6.3支持集群,,嵌入式BPS不支持集群群。7、6.3原有安裝包包,可以安安裝單機(jī)和和集群環(huán)境境,嵌入入式BPS不提供安裝裝包,只能能手工安裝war。8、嵌入式BPS支持配置外外部目錄,,但外部目目錄包含了了所有的應(yīng)應(yīng)用程序和和配置;6.3也支持外置目錄錄,但目錄錄只包含配配置文件和和啟動(dòng)參數(shù)數(shù)。9、嵌入式BPS通過web.xml設(shè)置一些啟啟動(dòng)參數(shù),,如IP和端口,6.3仍然兼容,,但不推薦薦;6.3提供一套外外置配置的的啟動(dòng)設(shè)置置,并結(jié)合合安裝包提提供最佳實(shí)實(shí)踐。6.3的配置較嵌嵌入式BPS更靈活。10、嵌入式BPS不提供工具具導(dǎo)出war文件功能,,開發(fā)過程程需要手工工打war,即困難又又容易出錯(cuò)。6.3提供Studio工具,可以以直接將項(xiàng)項(xiàng)目導(dǎo)出war或ear。標(biāo)準(zhǔn)EAR支持EOS6.3部署模式、、管理模式式和6.1的區(qū)別EOS6.1哪些功能在在6.3沒有服務(wù)器管理理應(yīng)用管理組管理集群管理組內(nèi)應(yīng)用管管理應(yīng)用管理((創(chuàng)建、部部署、卸載載、刪除、、導(dǎo)入、導(dǎo)導(dǎo)出、啟動(dòng)動(dòng))構(gòu)件包版本本切換系統(tǒng)構(gòu)件包包平臺(tái)模塊管管理構(gòu)件包配置置(數(shù)據(jù)源源、日志))事務(wù)配置、、資源訪問問權(quán)限配置置、流程引引擎配置、、構(gòu)件運(yùn)行行環(huán)境配置置、MUO配置、服務(wù)務(wù)變量Handler配置標(biāo)準(zhǔn)EAR支持應(yīng)用部署目目錄說明標(biāo)準(zhǔn)EAR支持外置目錄說說明無外置目錄錄可以運(yùn)行行,但不推推薦AdminPort=6200LocalIP=8Why外置目錄?標(biāo)準(zhǔn)EAR支持EOS6.3的項(xiàng)目開發(fā)發(fā)項(xiàng)目開發(fā),,新增應(yīng)用用配置文件件目錄和web.xmlexf/config,WEB-INF/web.xml配置文件的的說明,聯(lián)聯(lián)機(jī)幫助—技術(shù)參考—EOS基礎(chǔ)參考手手冊—附錄(EOS配置文件說說明)服務(wù)器應(yīng)用用關(guān)聯(lián)JBoss、Weblogic注意要配置置外置目錄錄,這樣才才和安裝包包安裝的一一致配置文件開開發(fā)期部署署、刪除規(guī)規(guī)則配置文件不不自動(dòng)部署署,只能手手工部署配置文件可可以刪除,,但不自動(dòng)動(dòng)刪除服務(wù)務(wù)器上資源源導(dǎo)出EAR多項(xiàng)目開發(fā)發(fā)最佳實(shí)踐踐設(shè)定一個(gè)主主項(xiàng)目,保保存所有應(yīng)應(yīng)用配置文文件導(dǎo)出EAR時(shí)選擇該主主項(xiàng)目,作作為包含配配置文件的的基準(zhǔn)項(xiàng)目目標(biāo)準(zhǔn)EAR支持EOS6.3的應(yīng)用部署署兩種應(yīng)用部部署方式安裝企業(yè)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論