J2EE工作流管理系統(tǒng)jBPM詳解_第1頁
J2EE工作流管理系統(tǒng)jBPM詳解_第2頁
J2EE工作流管理系統(tǒng)jBPM詳解_第3頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、一、jBPM入門簡介概述工作流業(yè)務(wù)流程管理技術(shù)是基于SOA技術(shù)實(shí)現(xiàn)的一個(gè)核心部分。使用工作流能夠在軟件開發(fā)和業(yè)務(wù)兩個(gè)層次受益:1、方便開發(fā)工作流管理系統(tǒng)能夠簡化企業(yè)級(jí)軟件開發(fā)甚至維護(hù)。降低開發(fā)風(fēng)險(xiǎn)-通過使用狀態(tài)和動(dòng)作這樣的術(shù)語,業(yè)務(wù)分析師和開發(fā)人員使用同一種語言交談。這樣開發(fā)人員就不必將用戶需求轉(zhuǎn)化成軟件設(shè)計(jì)了。實(shí)現(xiàn)的集中統(tǒng)一-業(yè)務(wù)流程經(jīng)常變化,使用工作流系統(tǒng)的最大好處是:業(yè)務(wù)流程的實(shí)現(xiàn)代碼,不再是散落在各種各樣的系統(tǒng)中。加快使用開發(fā)-你的軟件不用再關(guān)注流程的參和者,開發(fā)起來更快,代碼更容易維護(hù)。2、業(yè)務(wù)流程管理(BPM)在自動(dòng)化業(yè)務(wù)流程之前,分析并將它們規(guī)格化是一件艱苦但會(huì)有很好回報(bào)的工作:

2、提高效率-許多流程在自動(dòng)化過程中會(huì)去除一些不必要的步驟較好的流程控制-通過標(biāo)準(zhǔn)的工作方法和跟蹤審計(jì),提高了業(yè)務(wù)流程的管理改進(jìn)客戶服務(wù)-因?yàn)榱鞒痰囊恢滦?,提高了?duì)客戶響應(yīng)的可預(yù)見性靈活-跨越流程的軟件控制,使流程可以按照業(yè)務(wù)的需要重新設(shè)計(jì)。業(yè)務(wù)流程改進(jìn)-對(duì)流程的關(guān)注,使它們趨向于流暢和簡單但從長遠(yuǎn)的角度,工作流流程管理技術(shù)的研究可為兩個(gè)階段進(jìn)行:1目前解決華研今后新項(xiàng)目中復(fù)雜業(yè)務(wù)流程如何使用工作流引擎技術(shù)進(jìn)行實(shí)現(xiàn)的問題。2.上升到面向服務(wù)體系架構(gòu),實(shí)現(xiàn)各個(gè)服務(wù)之間的業(yè)務(wù)流程。jBPM,全稱是JavaBusinessProcessManagement,是一種基于J2EE的輕量級(jí)工作流管理系統(tǒng)。jB

3、PM是公開源代碼項(xiàng)目,它使用要遵循ApacheLicense。jBPM在2004年10月18日,發(fā)布了2.0版本,并在同一天加入了JBoss,成為了JBoss企業(yè)中間件平臺(tái)的一個(gè)組成部分,它的名稱也改成JBossjBPM。隨著jBPM加入JBoss組織,jBPM也將進(jìn)入一個(gè)全新的發(fā)展時(shí)代,它的前景是十分光明的。JBossjBPM只有最小的倚賴性,它可以很容易的作為java庫來使用.當(dāng)然它也可以用在訪問量很大的J2EE群使用服務(wù)器環(huán)境中JBossjBPM可以同任何數(shù)據(jù)庫配置可以部署在任何使用服務(wù)器上jBPM最大的特色就是它的商務(wù)邏輯定義沒有采用目前的一些規(guī)范,如WfMCXPDL,BPML,ebX

4、ML,BPEL4WS等,而是采用了它自己定義的JBossjBPMProcessdefinitionIanguage(jPdl)。jPdl認(rèn)為一個(gè)商務(wù)流程可以被看作是一個(gè)UML狀態(tài)圖。jPdl就是詳細(xì)定義了這個(gè)狀態(tài)圖的每個(gè)部分,如起始、結(jié)束狀態(tài),狀態(tài)之間的轉(zhuǎn)換等。jBPM的另一個(gè)特色是它使用Hibernate來管理它的數(shù)據(jù)庫。Hibernate是目前Java領(lǐng)域最好的一種數(shù)據(jù)持久層解決方案。通過Hibernate,jBPM將數(shù)據(jù)的管理職能分離出去,自己專注于商務(wù)邏輯的處理。(具體選型報(bào)告可參考工作流技術(shù)選型評(píng)估報(bào)告)。本文檔主要是工作流研究小組關(guān)于開源工作流引擎jbpm的研究成果總結(jié)。內(nèi)容包括工

5、作流研究場景的介紹、jbpm的環(huán)境配置,并包括以下六個(gè)研究主題: JBPM同開發(fā)如何結(jié)合,又如何保持獨(dú)立性;對(duì)使用系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)有什么樣的制約用戶/角色如何同使用系統(tǒng)結(jié)合,變化又如何處理流程中每個(gè)活動(dòng),如何動(dòng)態(tài)指定執(zhí)行者類似傳閱功能如何實(shí)現(xiàn)子流程如何實(shí)現(xiàn)流程執(zhí)行步驟耗時(shí)閥值和自動(dòng)提醒設(shè)置 jBPM當(dāng)前版本的穩(wěn)定性評(píng)估術(shù)語、定義和縮略語II序號(hào)術(shù)語或縮略語說明性定義業(yè)務(wù)if(businessprocessJ6PM-Jip汕公司的開源工作流引輦使用場景本場景是從房地產(chǎn)營銷系統(tǒng)的需求中提取出來的,在房地產(chǎn)項(xiàng)目中,客戶選戶購房的過程是一個(gè)非常典型的工作流場景。我們將這一過程提取出來,作為jbpm技術(shù)研

6、究的場景。在購房過程中,會(huì)有以下人員參和。客戶:購房的主體銷售人員:在購房過程中指導(dǎo)看房,購房。銷售經(jīng)理:確定認(rèn)購信息。財(cái)務(wù)人員:收取定金??头藛T:打印收據(jù),打印客戶認(rèn)購書。客戶購房的過程可以描述如下??蛻魜淼绞蹣侵行?,銷售人員進(jìn)行接待??蛻粝蜾N售人員提供預(yù)先申請(qǐng)的服務(wù)號(hào)。銷售人員確認(rèn)服務(wù)號(hào)是否有效,如果無效現(xiàn)場給出一個(gè)新的服務(wù)號(hào)。銷售人員引導(dǎo)客戶選房??蛻舸_定戶型,房號(hào)。銷售人員錄入客戶認(rèn)購資料。銷售人員確認(rèn)認(rèn)購資料填寫完整。銷售人員將認(rèn)購資料提交給銷售經(jīng)理審批。確定是否可以獲得優(yōu)惠,如果客戶是一次交清房款,獲得0.1%優(yōu)惠。交上級(jí)經(jīng)理審批。銷售人員引導(dǎo)客戶到財(cái)務(wù)處交納定金。交納定金后,客

7、服人員打印收據(jù)??头藛T打印認(rèn)購書。為了使用研究的場景更有代表性,揉合其他典型的工作流使用場景,將上面的流程作一些刪改??蛻粽J(rèn)購的流程改為:客戶確定購房,銷售人員錄入認(rèn)購資料。提交認(rèn)購資料,必須保證錄入資料的完整性。提交審核,按總金額進(jìn)行分類審核。如果金額小于50萬銷售經(jīng)理審核即可,大于50萬還要上級(jí)經(jīng)理兩人同時(shí)審核通過。審批完成,客戶到財(cái)務(wù)處交納定金??头藛T為客戶打印收據(jù),打印認(rèn)購書,認(rèn)購?fù)瓿?。PP打低壊話SHU席襄第于鐘萬IJI交饑晦編上面的流程中一些異常情況(流程中的一些分支),在這里先不作考慮,女口,客戶在交納定金之前可以隨時(shí)放棄認(rèn)購??蛻舻恼J(rèn)購要錄入的資料內(nèi)容包括:客戶姓名,房號(hào),

8、定金,總金額,流程號(hào)等,這里僅選取幾個(gè)重要的數(shù)據(jù)作為保存對(duì)象。僅選取幾個(gè)重要的數(shù)據(jù)作為保存對(duì)象。保存錄入資料時(shí)自動(dòng)取得一個(gè)流程號(hào),任何時(shí)候,可以根據(jù)此流程號(hào)跟蹤流程狀態(tài),所以在保存認(rèn)購資料時(shí)要記錄流程號(hào)。通用的標(biāo)準(zhǔn)規(guī)范jBPM是個(gè)功能全面的WorkflowEngine,融合了4大功能:Workflow,BPMBPELPageFlow。它自己有個(gè)BPEL擴(kuò)展,采用jbossHibernate實(shí)現(xiàn),它使用自定義的自定義標(biāo)準(zhǔn)jpdl,不支持目前公開的工作流(業(yè)務(wù)流程)標(biāo)準(zhǔn),如: JCPJSR208JavaBusinessIntegration JSR207ProcessDefinitionforJa

9、vaOASIS WS-BPELWorkflowManagementCoalition(WFMC)WFMCXPDLBusinessProcessManagementInitiative(BPMI)BPMN ObjectManagementGroup(OMG)StateChartXML(SCXML)處理測試階段的JBossjBPMBPEL擴(kuò)展準(zhǔn)備支持BPEL1.1標(biāo)準(zhǔn)(非標(biāo)準(zhǔn)組織通過的標(biāo)準(zhǔn))。技術(shù)方案由于公司采取的架構(gòu)是ejb3+tapestry4架構(gòu),所以我們的場景實(shí)現(xiàn)架構(gòu)也是基于以上架構(gòu)進(jìn)行實(shí)現(xiàn)的(tapestry4+ejb3+jbpm3.2),我們所采取的jbpm版本是3.2,這也是目前jb

10、pm最新的版本。這里我們使用jboss作為我們的web服務(wù)器開發(fā)環(huán)境這里我們是采用eclipse3.2開發(fā)工具進(jìn)行開發(fā),Tapestry4+ejb3的開發(fā)環(huán)境配置和以往的項(xiàng)目配置基本保持一致,這里就不再進(jìn)行詳細(xì)介紹,關(guān)鍵就是jbpm3.2的配置方法。我們從jBoss官方網(wǎng)站()上下載jbpm-jpdl-suite-32GA.zip,最新的版本是,這個(gè)包括: jbpm-server,預(yù)先配置的jboss使用服務(wù)器. jbpm-designer,jBPM流程圖形化設(shè)計(jì)器的eclipse插件jbpm-db,jBPM數(shù)據(jù)庫兼容包(參看下面). jbpm,核心jbpm組件包括庫和用戶手冊(cè). jbpm-b

11、pel,JBossjBPMBPEL擴(kuò)展參考.預(yù)配置的JBoss使用服務(wù)器有下列安裝組件:核心jBPM組件,打包作為JBoss服務(wù)檔案一個(gè)包括所有jBPM表格的完整數(shù)據(jù)庫:默認(rèn)的hypersonic數(shù)據(jù)庫包含所有的jBPM表格和已經(jīng)定義的流程.jBPM控制臺(tái)web使用程序這個(gè)可以用來為jBPM管理員.jBPM調(diào)度程序所有定時(shí)器的執(zhí)行.調(diào)度程序在新手工具箱里配置成了一個(gè)servlet.這個(gè)Servlet會(huì)為產(chǎn)生一個(gè)線程來監(jiān)視每個(gè)定時(shí)器的執(zhí)行一個(gè)流程例子已經(jīng)發(fā)布進(jìn)了jBPM數(shù)據(jù)庫,關(guān)于jbpm-jpdl-suite-3.2套件包的具體介紹,可以參考JBossjBPMCookbook手冊(cè)。JBossj

12、BPM是一個(gè)Java庫.因此,它可以用在任何java環(huán)境比如web使用程序,Swing使用程序,EJB,WebService等等,JBossjBPM核心組件被打包成一個(gè)簡單的Java庫文件.它依賴你所使用的功能性,庫jbpm-jpdl.jar及一些相關(guān)的第三方的庫比如.hibernate3.2,dom4j等等在我們實(shí)現(xiàn)場景中。要使用jbpm,我們首先需要將jbpm3.2的包導(dǎo)入我們的項(xiàng)目當(dāng)中,jbpm3.2的主要包括兩個(gè)包jbpm-jpdl.jar禾口jbpm-identity.jar。而jbpm-jpdl.jar是jbpm的核心包,jbpm-identity.jar則是jbpm自帶的用戶角色

13、權(quán)限管理包。我們將這兩個(gè)包導(dǎo)入我們的項(xiàng)目中。(具體可參考jbpm的用戶手冊(cè))在jbpm中,流程的定義主要是編寫在xml文件中的,我們需要將具體的業(yè)務(wù)流程在xml中定義。所以我們需要在項(xiàng)目的根目錄上新建一個(gè)源目錄,這里我們命名為“processes”,在該目錄我們可以保存流程定義xml文件。JBossjBPM包括一個(gè)圖形化的流程設(shè)計(jì)工具.這個(gè)設(shè)計(jì)器是用來創(chuàng)作商業(yè)流程的,該圖形設(shè)計(jì)器是一個(gè)Eclipse插件,圖形化設(shè)計(jì)工具最重要的特性是它同時(shí)支持業(yè)務(wù)分析員和技術(shù)開發(fā)人員.這樣就可以在業(yè)務(wù)流程建模和實(shí)際執(zhí)行之間平滑轉(zhuǎn)換。使用該插件你可以通過界面來拖拉描繪你的業(yè)務(wù)流程,而不需要靠手寫編碼來設(shè)計(jì)。該插件

14、位于jbpm-jpdl-suite-32GA.zip中,插件的安裝方法可以參考elipse插件的安裝方法。安裝完畢后,我們下面可以通過該插件新建流程設(shè)計(jì)文件。步驟如下:1、在processes目錄中右建選擇“NeW'“other”£NevSelectawizardAwiiardthitcrtat«tprocessdi直飯側(cè),wizardsQjSherAllVievdiNext輸入Processname,點(diǎn)擊完成。打開設(shè)計(jì)界面,我們就可以在上面根據(jù)我們的業(yè)務(wù)來設(shè)計(jì)工作流流程文件。Jbpm本身包含很多自己的jbpm數(shù)據(jù)庫表,jBPM內(nèi)部使用hibernate來管理它的數(shù)

15、據(jù)庫,通過Hibernate,jBPM將數(shù)據(jù)的管理職能分離出去,自己專注于商務(wù)邏輯的處理,而且我們可以使jBPM移植在不同的數(shù)據(jù)庫.。我們進(jìn)行的每一步流程操作都保存在jbpm數(shù)據(jù)表中,通過調(diào)用jbpm提供的接口,我們可以對(duì)jBPM數(shù)據(jù)庫進(jìn)行存儲(chǔ),更新和檢索流程信息的服務(wù)。這里我們使用Mysql5.0數(shù)據(jù)庫,下面我們?cè)陧?xiàng)目中新建一個(gè)源目錄"config.files",名字可以任意,在該目錄建立文件:<?xmlversion='1.0'encoding='utf-8'?><!DOCTYPEhibernate-configurat

16、ionPUBLIC"-/Hibernate/HibernateConfigurationDTD3.0/EN"Illi<hibernate-configuration><session-factory><!-hibernatedialect-< -propertyname="hibernate.dialect"/property->< /property>< !-JDBCconnectionproperties(begin)=propertyname="hibernate.connect

17、ion.driver_class"/property>propertyname="hibernate.connection.url"< propertyname="hibernate.connection.username"propertyname="hibernate.connection.password"=JDBCconnectionproperties(end)-<< /property>propertyname="connection.url">jdbc:my

18、sql:/localhost/myjbpm/property>< propertyname="connection.username"propertyname="connection.password"< !-JDBCconnectionpool(usethebuilt-in)->>>jdbc:hsqldb:mem:jbpm</property>sa</property>></property>>root</property>>1234</prop

19、erty>>1</property><propertyname="connection.pool_size"<</property><!-usedatasource-<!-DataSourceproperties(begin)<propertyname="hibernate.connection.datasource"java:comp/env/JbpmDS</property>DataSourceproperties(end)-<!-Dropandre-createth

20、edatabaseschemaonstartup-<propertyname="hbm2ddl.auto">create</property<!-JTAtransactionproperties(begin)=<propertyname="hibernate.transaction.factory_class"</property<</property=JTAtransactionproperties(end)-<!-CMTtransactionproperties(begin)=<proper

21、tyname="hibernate.transaction.factory_class"</property<propertyname="hibernate.transaction.manager_lookup_class"=cmttransactionproperties(end)->!-loggingproperties(begin)=< propertyname="hibernate.show_sql">true</property>propertyname="hibernat

22、e.format_sql">true</property>< propertyname="hibernate.use_sql_comments">true</property>=loggingproperties(end)->< !-#->!-#mappingfileswithexternaldependencies#->< !-#->!-followingmappingfilehasadependendyon-><!-'bsh-version.jar'.-&

23、gt;!-uncommentthisifyoudon'thavebshonyour->< !-classpath.youwon'tbeabletousethe->!-scriptelementinprocessdefinitionfiles->< mappingresource="org/jbpm/graph/action/Script.hbm.xml"/>!-followingmappingfileshaveadependendyon-><!-'jbpm-identity.jar',mappi

24、ngfiles->!-ofthepluggablejbpmidentitycomponent.->< !-Uncommentthefollowing3linesifyou->!-wanttousethejBPMidentitymgmgt<!-component.<!-identitymappings(begin)-><mappingresource="org/jbpm/identity/User.hbm.xml"/><mappingresource="org/jbpm/identity/Group.hbm

25、.xml"/><mappingresource="org/jbpm/identity/Membership.hbm.xml"/<!-identitymappings(end)-><!-followingmappingfileshaveadependendyon-><!-theJCRAPI->!-jcrmappings(begin)=< mappingresource="org/jbpm/context/exe/variableinstanc/JcrNodelnstance.hbm.xml"/

26、>=jcrmappings(end)->!-#->< !-#jbpmmappingfiles#->!-#->< !-hqlqueriesandtypedefs->mappingresource="org/jbpm/db/hibernate.queries.hbm.xml"/< !-graph.defmappingfiles->mappingresource="org/jbpm/graph/def/ProcessDefinition.hbm.xml"/>mappingresource=&qu

27、ot;org/jbpm/graph/def/Node.hbm.xml"/>< mappingresource="org/jbpm/graph/def/Transition.hbm.xml"/>mappingresource="org/jbpm/graph/def/Event.hbm.xml"/>< mappingresource="org/jbpm/graph/def/Action.hbm.xml"/>mappingresource="org/jbpm/graph/def/Sup

28、erState.hbm.xml"/>< mappingresource="org/jbpm/graph/def/ExceptionHandler.hbm.xml"/>mappingresource="org/jbpm/instantiation/Delegation.hbm.xml"/><!-graph.nodemappingfiles->mappingresource="org/jbpm/graph/node/StartState.hbm.xml"/>< mappingres

29、ource="org/jbpm/graph/node/EndState.hbm.xml"/>mappingresource="org/jbpm/graph/node/ProcessState.hbm.xml"/>< mappingresource="org/jbpm/graph/node/Decision.hbm.xml"/>mappingresource="org/jbpm/graph/node/Fork.hbm.xml"/>< mappingresource="or

30、g/jbpm/graph/node/Join.hbm.xml"/>mappingresource="org/jbpm/graph/node/State.hbm.xml"/>< mappingresource="org/jbpm/graph/node/TaskNode.hbm.xml"/><!-context.defmappingfiles-><mappingresource="org/jbpm/context/def/ContextDefinition.hbm.xml"/>&l

31、t;mappingresource="org/jbpm/context/def/VariableAccess.hbm.xml"/><mapping< mappingresource="org/jbpm/taskmgmt/def/Swimlane.hbm.xml"/>mappingresource="org/jbpm/taskmgmt/def/Task.hbm.xml"/>< mappingresource="org/jbpm/taskmgmt/def/TaskController.hbm.

32、xml"/>< !-module.defmappingfiles->mappingresource="org/jbpm/module/def/ModuleDefinition.hbm.xml"/>!-bytesmappingfiles->< mappingresource="org/jbpm/bytes/ByteArray.hbm.xml"/>!-file.defmappingfiles->< mappingresource="org/jbpm/file/def/FileDefin

33、ition.hbm.xml"/>!-scheduler.defmappingfiles->< mappingresource="org/jbpm/scheduler/def/CreateTimerAction.hbm.xml"/>< mappingresource="org/jbpm/scheduler/def/CancelTimerAction.hbm.xml"/>< !-graph.exemappingfiles->mappingresource="org/jbpm/graph/ex

34、e/Comment.hbm.xml"/>< mappingresource="org/jbpm/graph/exe/Processlnstance.hbm.xml"/><mappingresource="org/jbpm/graph/exe/Token.hbm.xml"/v!-module.exemappingfiles-vmappingresource="org/jbpm/module/exe/Modulelnstance.hbm.xml"/v!-context.exemappingfiles-vm

35、appingresource="org/jbpm/context/exe/Contextlnstance.hbm.xml"/vmappingresource="org/jbpm/context/exe/TokenVariableMap.hbm.xml"/vmappingresource="org/jbpm/context/exe/VariableInstance.hbm.xml"/vmappingresource="org/jbpm/context/exe/variableinstance/ByteArraylnstance

36、.hbm.xml"/>vmappingresource="org/jbpm/context/exe/variableinstance/Datelnstance.hbm.xml"/vmappingresource="org/jbpm/context/exe/variableinstance/DoubleInstance.hbm.xml"/vl"/>xml"/>mappingresource="org/jbpm/context/exe/variableinstance/Longlnstance.hbm

37、.xml"/< mappingresource="org/jbpm/context/exe/variableinstance/Nulllnstance.hbm.xml"/mappingresource="org/jbpm/context/exe/variableinstance/Stringlnstance.hbm.xml"/< !-jobmappingfiles->mappingresource="org/jbpm/job/Job.hbm.xml"/>< mappingresource=&qu

38、ot;org/jbpm/job/Timer.hbm.xml"/>mappingresource="org/jbpm/job/ExecuteNodeJob.hbm.xml"/>< mappingresource="org/jbpm/job/ExecuteActionJob.hbm.xml"/>!-taskmgmt.exemappingfiles-><mappingresource="org/jbpm/taskmgmt/exe/TaskMgmtlnstance.hbm.xml"/<map

39、pingresource="org/jbpm/taskmgmt/exe/Tasklnstance.hbm.xml"/<mappingresource="org/jbpm/taskmgmt/exe/PooledActor.hbm.xml"/<mappingresource="org/jbpm/taskmgmt/exe/Swimlanelnstance.hbm.xml"/<mappingresource="org/jbpm/logging/log/ProcessLog.hbm.xml"/><

40、;mappingresource="org/jbpm/logging/log/MessageLog.hbm.xml"/><mappingresource="org/jbpm/logging/log/CompositeLog.hbm.xml"/><mappingresource="org/jbpm/graph/log/ActionLog.hbm.xml"/><mappingresource="org/jbpm/graph/log/NodeLog.hbm.xml"/><m

41、appingresource="org/jbpm/graph/log/ProcesslnstanceCreateLog.hbm.xml"/><mappingresource="org/jbpm/graph/log/ProcesslnstanceEndLog.hbm.xml"/><mappingresource="org/jbpm/graph/log/ProcessStateLog.hbm.xml"/><mappingresource="org/jbpm/graph/log/SignalLo

42、g.hbm.xml"/><mappingresource="org/jbpm/graph/log/TokenCreateLog.hbm.xml"/><mappingresource="org/jbpm/graph/log/TokenEndLog.hbm.xml"/><mappingresource="org/jbpm/graph/log/TransitionLog.hbm.xml"/><mappingresource="org/jbpm/context/log/Var

43、iableLog.hbm.xml"/><mappingresource="org/jbpm/context/log/VariableCreateLog.hbm.xml"/><mappingresource="org/jbpm/context/log/VariableDeleteLog.hbm.xml"/><mappingresource="org/jbpm/context/log/VariableUpdateLog.hbm.xml"/>< mappingresource="org/jbpm/context/log/variableinstance/B

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論