CSP應(yīng)用服務(wù)端開發(fā)快速入門手冊_第1頁
CSP應(yīng)用服務(wù)端開發(fā)快速入門手冊_第2頁
CSP應(yīng)用服務(wù)端開發(fā)快速入門手冊_第3頁
CSP應(yīng)用服務(wù)端開發(fā)快速入門手冊_第4頁
CSP應(yīng)用服務(wù)端開發(fā)快速入門手冊_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、CSP應(yīng)用服務(wù)端開發(fā)快速入門手冊CSP應(yīng)用服務(wù)端開發(fā)快速入門手冊包括以下幾個主題:環(huán)境搭建創(chuàng)建工程EO建模BO建模數(shù)據(jù)初始化部署測試1. 環(huán)境搭建JDK:1.7 (64位)下載地址: HYPERLINK /technetwork/java/javase/downloads/jdk7-downloads-1880260.html/technetwork/java/javase/downloads/jdk7-downloads-1880260.html設(shè)置環(huán)境變量:JAVA_HOME,指向 JDK安裝目錄, Path環(huán)境變量中增加:%JAVA_HOME%bin;具體可參考: HYPERLINK /

2、article/f96699bb8b38e0894e3c1bef.html/article/f96699bb8b38e0894e3c1bef.htmlMaven:3.0.5下載地址: HYPERLINK /download.cgi/download.cgi1、配置環(huán)境變量:MAVEN_HOME,指向 MAVEN安裝目錄,Path環(huán)境變量中增加:%MAVEN_HOME%bin;具體可參考: HYPERLINK /article/cb5d61050b8ee7005d2fe04e.html/article/cb5d61050b8ee7005d2fe04e.html2、請使用 HYPERLINK ./

3、files/settings.xml附件./files/settings.xml覆蓋%MAVEN_HOME%/conf/settings.xmlGeronimo:3.0.1下載地址: HYPERLINK /downloads.html/downloads.html1、 修改geronimo設(shè)置:geronimo安裝目錄bingeronimo: JAVA_OPTS=-Xmx2048m -XX:MaxPermSize=512m2、 安裝postgresql的JDBC驅(qū)動包jdbc41-9.3.1100.jar,安裝路徑為:geronimo安裝目錄repositoryorgpostgresqljdb

4、c419.3.1100jdbc41-9.3.1100.jar3、 安裝jar包geronimo-system-3.0.1.jar,安裝路徑為: repositoryorgapachegeronimoframeworkgeronimo-kernel3.0.1geronimo-kernel-3.0.1.jar;下載地址: HYPERLINK ./files/geronimo-system-3.0.1.jar./files/geronimo-system-3.0.1.jar 4、安裝jar包geronimo-system-3.0.1.jar,安裝路徑為:repositoryorgapachegero

5、nimoframeworkgeronimo-system3.0.1geronimo-system-3.0.1.jar;下載地址: HYPERLINK ./files/geronimo-system-3.0.1.jar./files/geronimo-system-3.0.1.jar5、 打開geronimo安裝目錄varconfigconfig.xml,修改下列幾行,不加載這些moduleEclipse:4.2+ (推薦4.3+,已集成Maven插件,64位、JAVAEE版本)下載地址: HYPERLINK /downloads/downloads/1、 安裝maven插件:通常已集成mave

6、n插件,判斷是否集成maven插件:Windows-Preferences-Maven是否存在。如果沒有集成,請安裝maven插件:Help-Install New Software-Add-Locaton,Name設(shè)置插件名稱(可隨意),location為插件地址: HYPERLINK /sites/m2e/sites/m2e2、 配置maven:Preferences-Maven-User Settings3、 安裝geronimo插件:Help-Install New Software-Add-Locaton,Name設(shè)置插件名稱(可隨意),location為插件地址: HYPERLIN

7、K /dist/geronimo/eclipse/updates/dist/geronimo/eclipse/updates4、 配置geronimo:Preferences-Server-Runtime Environments-Add/edit5、 安裝cspide插件com.chanjet.csp.ide.2.0.0.jar,安裝路徑:eclipsedropins;下載地址: HYPERLINK ./files/com.chanjet.csp.ide.2.0.0.jar./files/com.chanjet.csp.ide.2.0.0.jar;安裝geronimo server depl

8、oy app功能擴展包com.chanjet.csp.geronimo_3.0.1.jar,安裝路徑:eclipsedropins;下載地址: HYPERLINK ./files/com.chanjet.csp.geronimo_3.0.1.jar./files/com.chanjet.csp.geronimo_3.0.1.jar;安裝jar包geronimo-kernel-3.0.1.jar,安裝路徑:eclipsepluginsorg.apache.geronimo.runtime.v30_3.0.1libgeronimo-kernel-3.0.1.jar;下載地址 HYPERLINK .

9、/files/geronimo-system-3.0.1.jar./files/geronimo-system-3.0.1.jar;安裝jar包geronimo-system-3.0.1.jar,安裝路徑:eclipsepluginsorg.apache.geronimo.runtime.v30_3.0.1libgeronimo-system-3.0.1.jar;下載地址 HYPERLINK ./files/geronimo-system-3.0.1.jar./files/geronimo-system-3.0.1.jar。PostgreSQL:9.2+ (64位)下載地址: HYPERLIN

10、K /download/download/, 安裝結(jié)束后,勾選stack builder下載和安裝附加工具Spatial Extensions/PostGIS 2.0 for PostgreSQL,以便數(shù)據(jù)庫支持PostGIS模板,安裝過程中需要輸入用戶名和密碼,本例創(chuàng)建了一個用戶名postgres,密碼1。GIT1、安裝Git: HYPERLINK http:/msysgit.github.io/http:/msysgit.github.io/, 配置環(huán)境變量:Path中增加:git安裝目錄bin;2、安裝TortoiseGit: HYPERLINK /2. 創(chuàng)建工程本工程以貨物查詢?yōu)槔?,?/p>

11、單說明具體CSP應(yīng)用服務(wù)器端的開發(fā)流程。 貨物是一個物流公司具體存儲的客戶產(chǎn)品,是物流公司與客戶之間的協(xié)議,貨物信息具體包括貨物編碼,貨物名稱,貨物類型,收貨時間、送貨時間、備注以及所屬客戶等信息。2.1 準備工作1、創(chuàng)建postgresql數(shù)據(jù)庫(截圖來自pgAdmin)如下圖所示:名稱為csp_test,如下圖所示:模板必須選擇gis模板,如下圖所示:2、啟動eclipse后,配置一下自己的開發(fā)信息:點擊windows-preferences菜單,選擇CSP-App: Archetype選擇releases版本。輸入enterpriseId和isv code,如下圖所示:3、創(chuàng)建geron

12、imo server,如下圖所示:點擊 create new server,選擇geronimo v3.0-finish。2.2 創(chuàng)建新工程創(chuàng)建一個名稱為testCSP的項目2.2.1 創(chuàng)建testCSP項目點擊菜單:File-New-Other,選擇Chanjet CSP - 創(chuàng)建一個CSP APP工程-Next輸入App名稱testCSP,并點擊更新按鈕后在下拉框中選擇最新的App模板,如下圖所示,其中2.1.22為目前最新版本,其他的可以選擇默認,點擊Next字段說明如下:App名稱:必填,同時也會作為eclipse工程的名字;Location:App工程的上級目錄,比如說截圖里的APP

13、會生成到D:worktestCSP;App模板:請選擇最新的模板。模板是緩存到本地的,想獲取最新的模板時,請單擊后邊的“更新”按鈕,再進行選擇;App版本號:要開發(fā)的app的版本號,默認1.0;模型布局共享給所有開發(fā)者:csp插件提供了可視化的建模工具,可視化視圖中的節(jié)點擺放的位置等信息是否所有人共用同一配置,不勾選的話,節(jié)點的位置信息只會保存在各個開發(fā)者自己本地機器上。2.1.2 配置app在配置app的對話框中進行配置:這一步要輸入申請創(chuàng)建app時,由CSP平臺提供給開發(fā)者的一些信息(申請方法請參考開發(fā)者社區(qū)上的app開發(fā)流程),如果只是隨意測試的話,可以勾選上“使用測試專用的默認配置”,

14、CSP平臺提供了一個默認的testisv賬號供開發(fā)者測試使用。這里我們選擇使用測試專用的默認配置,效果如下,點擊Next2.1.3 配置數(shù)據(jù)庫連接這里配置的數(shù)據(jù)庫,則為準備工作時創(chuàng)建數(shù)據(jù)庫所用到的信息,見圖2.1.4 創(chuàng)建完成Finish:工程創(chuàng)建完成,工程會自動加入到geronimo server中。創(chuàng)建出工程后的視圖如下:注:工程創(chuàng)建完,第一次build all前,pom.xml文件報錯屬于正?,F(xiàn)象,如圖所示:3 EO建模從生成的項目結(jié)構(gòu)圖中可以看到,工程的根目錄下有兩個文件:entities.cspeo和entities.cspbo,其中cspeo用來eo建模,cspbo用來bo建模。E

15、O建模:創(chuàng)建 實體對象、實體關(guān)聯(lián)、枚舉;BO建模:在EO的基礎(chǔ)上,對EO增加業(yè)務(wù)操作、關(guān)聯(lián)字段引用、屬性校驗規(guī)則、創(chuàng)建Picker、創(chuàng)建NameQuery等等。本工程的主要功能是對貨物進行相關(guān)查詢等功能,故需要先創(chuàng)建貨物的實體,進行EO建模。打開工程下的entities.cspeo,下圖標出了設(shè)計器的各個區(qū)塊:新建項目后生成的entities.cspeo中包括了一些實體內(nèi)容,如不需要可以直接刪除。在本項目中將其中內(nèi)容清空,如下圖:3.1 創(chuàng)建實體和枚舉根據(jù)需求創(chuàng)建Goods(貨物)和Customer(客戶)實體。 新建實體:點擊右側(cè)的菜單創(chuàng)建對象-實體創(chuàng)建,并將鼠標移至設(shè)計器主面板單擊,則創(chuàng)建

16、一個新的視圖,如下圖所示:雙擊圖形節(jié)點編輯實體的基本信息,實體名稱為Goods,標簽為貨物,如下圖所示:選中節(jié)點,在屬性視圖中編輯節(jié)點的具體信息如下:類似的創(chuàng)建一個Customer實體,如下圖所示:3.2 創(chuàng)建實體字段和枚舉值為Goods實體創(chuàng)建貨物名稱、貨物編碼、收貨時間、送貨時間、備注、數(shù)量等屬性。為Customer實體創(chuàng)建客戶名稱、客戶編碼、性別、地址等屬性。選中對象節(jié)點,節(jié)點上方會出現(xiàn)圖標,如下圖所示,點擊增加實體字段:字段name屬性視圖如下,索引、索引唯一、默認值、啟用屬性可以默認:類似的編輯實體其他字段和屬性信息:具體屬性信息如下表所示:Goods:名稱 類型 標簽name Te

17、xt 名稱code Text 編碼receiptTime Date 收貨時間setTime Date 發(fā)貨時間note Text 備注count Integer 數(shù)量Customer:名稱 類型 標簽name Text 名稱code Text 編碼address Text 地址email Email 郵箱注:系統(tǒng)已預(yù)置部分系統(tǒng)字段,不需開發(fā)者創(chuàng)建,創(chuàng)建字段時請不要使用這些名稱createdBy=創(chuàng)建人createdDate=創(chuàng)建時間lastModifiedBy=修改人lastModifiedDate=修改時間owner=所有者ownerDepartment=創(chuàng)建部門isDeleted=刪除標記

18、id=唯一IDobjectId=對象IDversion=版本號3.3 創(chuàng)建關(guān)聯(lián)貨物必定屬于某個客戶,所以貨物與客戶見存在關(guān)聯(lián)關(guān)系1、實體關(guān)聯(lián)實體關(guān)聯(lián)是用來為EO創(chuàng)建ForeignKey類型字段,用來引用其它實體。例如由Goods引用實體Customer;在Goods點擊創(chuàng)建ForeignKey型字段, 如下圖所示彈出選擇實體窗口,選擇Customer點擊OK,自動生成字段名和關(guān)聯(lián)關(guān)系連線:2、枚舉關(guān)聯(lián)與實體關(guān)聯(lián)類似,枚舉關(guān)聯(lián)用來引用枚舉。創(chuàng)建枚舉Type(類型),創(chuàng)建液體、固體字段,選擇右側(cè)的枚舉關(guān)聯(lián),從Goods指向枚舉Type,此操作需要為關(guān)聯(lián)關(guān)系連線設(shè)置名稱,并自動為EO生成相應(yīng)的枚舉型

19、字段,如下圖所示,并需要手動為生成的枚舉字段填寫label。4 BO建模創(chuàng)建貨物實體需要進行相關(guān)查詢等操作,故需創(chuàng)建BO。BO建模:在EO的基礎(chǔ)上,對EO增加業(yè)務(wù)操作、關(guān)聯(lián)字段引用、屬性校驗規(guī)則、創(chuàng)建Picker、創(chuàng)建NameQuery等等。打開工程下的entities.cspbo文件,BO設(shè)計器的布局與EO設(shè)計器基本一致。4.1 創(chuàng)建BOBO在EO的基礎(chǔ)上增加了operation(業(yè)務(wù)接口),并可以使用引用的其他EO的字段;選擇右側(cè)BO創(chuàng)建BO對象,創(chuàng)建BO時,需選擇一個EO作為 BO對應(yīng)的主EO,點擊ok。分別為Goods和Customer創(chuàng)建BO對象,并可以在BO的屬性視圖中編輯BO的具

20、體信息。每個BO都會有一個相應(yīng)的主EO,此外還可以為BO添加關(guān)聯(lián)EO,通過在BO右上方點擊,選擇JionerEO進行加入:彈出關(guān)聯(lián)關(guān)系窗口,選擇Customer。為BO添加Field,通過在BO右上方點擊 ,選擇Field進行添加字段。選擇要為BO添加的字段,這里我們選中全部字段,選擇OK,如下圖所示:可以為BO添加Operation,Operation為業(yè)務(wù)操作,提供用戶自定義操作。通過在BO右上方點擊 ,選擇Operation進行添加點擊operation,并在其屬性視圖中設(shè)置方法參數(shù)。本項目中為貨物BO增加一個查找貨物所屬客戶的操作,如下圖所示因此BO可分為如下三部分:EO1、Prima

21、ryEO(BO對應(yīng)的主EO),不允許修改和刪除;2、JoinedEO(主EO通過關(guān)聯(lián)關(guān)系關(guān)聯(lián)的EO),通過在BO圖元上游擊加入;Field1、來源于選擇的PrimaryEO和JoinedEO,BO右鍵選擇Field進行添加;2、系統(tǒng)字段:EO中不顯示系統(tǒng)默認創(chuàng)建的字段,通過BO右鍵選擇SystemField進行添加3、虛擬字段:也叫計算型字段,這種字段不對應(yīng)EO中實際存的的任何字段,它的值要自己寫一個表達式,通過BO右鍵選擇VirtualField進行添加Operation業(yè)務(wù)操作,實際是定義的一些Java方法,并會生成可對外訪問的restful服務(wù)接口,build后,這些方法會生成到BO的H

22、omeClass對應(yīng)的Java類中(因此BO的HomeClass必須填寫,否則Operation無效),例如Goods.java中findCustomerByGoods()方法則可通過如下接口訪問:http:/localhost:8080/cspdemo/testCSP/services/1.0/appext/Contact/findCustomerByGoods?goods=abc4.2 創(chuàng)建PickerPicker為針對BO設(shè)計的一個數(shù)據(jù)查詢器,可以通過創(chuàng)建的Picker查詢BO的數(shù)據(jù)。1、為Goods創(chuàng)建Picker,為貨物實體提供相應(yīng)的過濾查詢操作。選中畫板中的Picker圖標,拖拽至

23、主面板中并在彈出的對話框中選擇Goods,點擊Next,選擇字段選中name、code、receiptTime、serTime字段,點擊Finish,效果如下:2、在屬性視圖中查看編輯GoodsPicker的具體查詢條件RefBOName:表示這個Picker查詢的是哪個BO的數(shù)據(jù);JsonQuerySpec:是Picker的默認查詢條件。通過點擊輸入框右側(cè)的按鈕對查詢條件可進行可視化設(shè)計;單擊上圖中紅色標記的圖標,進入具體的查詢條件設(shè)置對話框。在字段區(qū)域,選中name和code字段,表示我們需要查詢的數(shù)據(jù)為name和code。在查詢條件區(qū)域中,單擊增加字段,并如上圖填寫字段值,表示我們需要查

24、詢name值為aaa的數(shù)據(jù)。單擊OK,則已創(chuàng)建完成我們需要的picker查詢過濾條件。3、此外,Picker允許指定額外的查詢條件,并與JsonQuerySpec 進行AND,一起作為查詢條件。 對外提供的restful接口類似于:http:/localhost:8080/cspdemo/testCSP/services /1.0/bo/query/picker/GoodsPicker?JsonQuerySpec=查詢條件的格式。4.3 創(chuàng)建QueryQuery跟Picker的設(shè)置方式基本一致,也要通過選擇一個BO來創(chuàng)建。Query用來擴展BO的查詢服務(wù),支持自定義查詢條件和字段、以及查詢報表

25、。1、為Goods創(chuàng)建Picker,在畫板中拖拽Query圖標至主面板。點擊Next,添加customer、name、code字段,主界面如下:2、屬性視圖中編輯GoodsQuery的詳細信息:RefBOName:表示這個Query查詢的是哪個BO的數(shù)據(jù)JsonQuerySpec:與Picker有點不一樣,通過點擊輸入框右側(cè)的按鈕對查詢條件可進行可視化設(shè)計;查詢條件的Values中可以指定參數(shù),外部傳入后,底層會自動替換,點擊右側(cè)的圖標,可進入編輯查詢條件的對話框,如圖所示:JsonReportSpec:用來設(shè)置報表查詢的,點擊輸入框右側(cè)的 按鈕對查詢條件可進行可視化設(shè)計;指定維度和指標后,會

26、自動產(chǎn)生報表需要的查詢。對外提供的restful接口類似于: http:/localhost:8080/cspdemo/testCSP/services/1.0/bo/namedquery/GoodsQuery?$param1=參數(shù)的格式。5 數(shù)據(jù)初始化在project上點擊右鍵,Csp Config菜單,提供如下配置功能:數(shù)據(jù)庫配置:可以設(shè)置或修改數(shù)據(jù)數(shù)據(jù)庫連接信息。初始化數(shù)據(jù)(SYS):系統(tǒng)EO表,設(shè)置如下初始化數(shù)據(jù)(APP):開發(fā)者建的EO表,添加數(shù)據(jù)如下6 部署B(yǎng)uild在project上右擊,Csp Tools菜單,提供如下功能:Build All: 對整個APP執(zhí)行mvn build命令,當模型定義或初始化數(shù)據(jù)有變動時執(zhí)行Build Web:只build webapp目錄;Build BO:只build app-bo-extension目錄選擇Build All命令,如下圖所示:當build的進度框為100%時表示build結(jié)束。發(fā)

溫馨提示

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

最新文檔

評論

0/150

提交評論