第13章數(shù)據(jù)庫應(yīng)用的開發(fā)環(huán)境(2)_第1頁
第13章數(shù)據(jù)庫應(yīng)用的開發(fā)環(huán)境(2)_第2頁
第13章數(shù)據(jù)庫應(yīng)用的開發(fā)環(huán)境(2)_第3頁
第13章數(shù)據(jù)庫應(yīng)用的開發(fā)環(huán)境(2)_第4頁
第13章數(shù)據(jù)庫應(yīng)用的開發(fā)環(huán)境(2)_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1數(shù)據(jù)庫原理及應(yīng)用數(shù)據(jù)庫原理及應(yīng)用數(shù)據(jù)庫原理及應(yīng)用數(shù)據(jù)庫原理及應(yīng)用Principle and Application of Database第十三章第十三章 數(shù)據(jù)庫應(yīng)用的開發(fā)環(huán)境數(shù)據(jù)庫應(yīng)用的開發(fā)環(huán)境( (續(xù)續(xù)) )2數(shù)據(jù)庫原理及應(yīng)用數(shù)據(jù)庫原理及應(yīng)用n掌握掌握PB數(shù)據(jù)庫應(yīng)用開發(fā)數(shù)據(jù)庫應(yīng)用開發(fā)n掌握掌握Web數(shù)據(jù)庫應(yīng)用開發(fā)數(shù)據(jù)庫應(yīng)用開發(fā)3數(shù)據(jù)庫原理及應(yīng)用數(shù)據(jù)庫原理及應(yīng)用nPB數(shù)據(jù)庫應(yīng)用開發(fā)步驟數(shù)據(jù)庫應(yīng)用開發(fā)步驟n建立工作空間:建立工作空間:在在PB中用工作空間來管理應(yīng)用程序,一個工作空間中可以中用工作空間來管理應(yīng)用程序,一個工作空間中可以建立多個應(yīng)用程序。開發(fā)應(yīng)用程序首先要建立工作空間,建立的方法

2、是:建立多個應(yīng)用程序。開發(fā)應(yīng)用程序首先要建立工作空間,建立的方法是:在在New對話框中選擇工作空間對話框中選擇工作空間(Workspace)。建立工作空間后可以在相應(yīng)。建立工作空間后可以在相應(yīng)的目錄下找到擴展名為的目錄下找到擴展名為.pbw的工作空間。的工作空間。n建立目標(biāo)和應(yīng)用對象:建立目標(biāo)和應(yīng)用對象:在在PB中工作空間管理的是目標(biāo)中工作空間管理的是目標(biāo)(Target),每個目標(biāo),每個目標(biāo)對應(yīng)一個應(yīng)用程序,建立應(yīng)用程序時將自動建立一個應(yīng)用對象。通過在對應(yīng)一個應(yīng)用程序,建立應(yīng)用程序時將自動建立一個應(yīng)用對象。通過在New對話框中選擇對話框中選擇Target,從中選擇,從中選擇Applicatio

3、n建立一般的應(yīng)用程序目標(biāo)建立一般的應(yīng)用程序目標(biāo)。建立目標(biāo)時需指定應(yīng)用程序名。建立目標(biāo)時需指定應(yīng)用程序名(如如first_pro)以及庫文件名和目標(biāo)文件名。以及庫文件名和目標(biāo)文件名。目標(biāo)文件名的擴展名是目標(biāo)文件名的擴展名是.pbt,庫文件名的擴展名是,庫文件名的擴展名是.pbl。n建立應(yīng)用程序的主窗口:建立應(yīng)用程序的主窗口:窗口是窗口是Windows應(yīng)用的基礎(chǔ),它是人與應(yīng)用程序應(yīng)用的基礎(chǔ),它是人與應(yīng)用程序間的界面,用戶通過窗口向應(yīng)用程序提交請求,應(yīng)用程序通過窗口向用戶間的界面,用戶通過窗口向應(yīng)用程序提交請求,應(yīng)用程序通過窗口向用戶提供信息。通過在提供信息。通過在New對話框中選擇對話框中選擇PB

4、 Object,從中選擇,從中選擇Window圖標(biāo)項圖標(biāo)項打開窗口畫板,然后在該畫板中完成窗口界面的設(shè)計。這時可以通過打開窗口畫板,然后在該畫板中完成窗口界面的設(shè)計。這時可以通過Properties窗口設(shè)置窗口屬性,本例將窗口標(biāo)題窗口設(shè)置窗口屬性,本例將窗口標(biāo)題Title輸入為:我的第一個輸入為:我的第一個PB程序,并從程序,并從Icon(圖標(biāo)圖標(biāo))下拉列表框為窗口選擇一個適當(dāng)?shù)膱D標(biāo)下拉列表框為窗口選擇一個適當(dāng)?shù)膱D標(biāo)(窗口左上窗口左上角的圖標(biāo)角的圖標(biāo)),其他屬性暫取默認值。選擇菜單,其他屬性暫取默認值。選擇菜單FileSave按鈕,保存建立的按鈕,保存建立的窗口對象名為窗口對象名為w_main

5、,單擊,單擊OK按鈕,退出窗口畫板。按鈕,退出窗口畫板。4數(shù)據(jù)庫原理及應(yīng)用數(shù)據(jù)庫原理及應(yīng)用n建立查詢職工信息的數(shù)據(jù)窗口對象:建立查詢職工信息的數(shù)據(jù)窗口對象:數(shù)據(jù)窗口又分為數(shù)據(jù)窗口對象和數(shù)據(jù)窗數(shù)據(jù)窗口又分為數(shù)據(jù)窗口對象和數(shù)據(jù)窗口控件,前者用于展示數(shù)據(jù)庫中的數(shù)據(jù)并允許用戶進行增刪操作,后者則把口控件,前者用于展示數(shù)據(jù)庫中的數(shù)據(jù)并允許用戶進行增刪操作,后者則把數(shù)據(jù)窗口對象放置到窗口上并呈現(xiàn)在用戶面前。建立數(shù)據(jù)窗口對象的步驟是數(shù)據(jù)窗口對象放置到窗口上并呈現(xiàn)在用戶面前。建立數(shù)據(jù)窗口對象的步驟是:在:在New對話框中選擇對話框中選擇DataWindow 選擇數(shù)據(jù)窗口的顯示風(fēng)格選擇數(shù)據(jù)窗口的顯示風(fēng)格(本例設(shè)

6、為本例設(shè)為Grid) 打開選擇數(shù)據(jù)源對話框打開選擇數(shù)據(jù)源對話框(本例選擇本例選擇Quick Select,注意選中,注意選中Retrieve on Preview復(fù)選框復(fù)選框) 在在Quick Select 對話框中選擇表和列對話框中選擇表和列(本例選擇職工表本例選擇職工表的倉庫號、職工號、姓名三個字段,并選擇按倉庫號升序排列的倉庫號、職工號、姓名三個字段,并選擇按倉庫號升序排列)保存建立的保存建立的數(shù)據(jù)窗口對象名為數(shù)據(jù)窗口對象名為d_emp。n修改建立好的數(shù)據(jù)窗口對象:修改建立好的數(shù)據(jù)窗口對象:DataWindow畫板有畫板有Design、Properties、Preview窗口。數(shù)據(jù)窗口對

7、象生成后,一般要通過窗口。數(shù)據(jù)窗口對象生成后,一般要通過Design、Properties窗口窗口進行一些美化和修改。進行一些美化和修改。 Design窗口可以增刪字段窗口可以增刪字段(本例新增一個年薪字段,本例新增一個年薪字段,通過基本工資通過基本工資12計算求得計算求得)、屏蔽不要顯示的字段、調(diào)整字體、顏色等。、屏蔽不要顯示的字段、調(diào)整字體、顏色等。n在主窗口中添加控件在主窗口中添加控件 :重新打開主窗口重新打開主窗口w_main,添加一個,添加一個“退出退出”命令按命令按鈕控件鈕控件cb_1和一個數(shù)據(jù)窗口控件和一個數(shù)據(jù)窗口控件dw_1 ,為,為dw_1指定數(shù)據(jù)窗口對象指定數(shù)據(jù)窗口對象(d

8、_emp)。n編寫事件驅(qū)動程序:編寫事件驅(qū)動程序:n應(yīng)用對象的應(yīng)用對象的Open事件程序:事件程序:應(yīng)用對象的應(yīng)用對象的Open事件是在應(yīng)用程序啟動時執(zhí)行事件是在應(yīng)用程序啟動時執(zhí)行的事件,它是真正的程序入口,至少要有一條打開主窗口的語句的事件,它是真正的程序入口,至少要有一條打開主窗口的語句OPEN(w_main),本例為:,本例為:5數(shù)據(jù)庫原理及應(yīng)用數(shù)據(jù)庫原理及應(yīng)用 SQLCA.DBMS=“ODBC” SQLCA.AutoCommit=False SQLCA.DBParm=“ConnectString=DSN=stock” CONNECT; OPEN(w_main) 其中,前三條語句為全局事

9、務(wù)對象變量其中,前三條語句為全局事務(wù)對象變量SQLCA的有關(guān)屬性賦值的有關(guān)屬性賦值(準備連接數(shù)準備連接數(shù)據(jù)庫據(jù)庫); CONNECT是根據(jù)事務(wù)對象的屬性連接數(shù)據(jù)庫,它是是根據(jù)事務(wù)對象的屬性連接數(shù)據(jù)庫,它是SQL語句,必語句,必須以分號結(jié)束;須以分號結(jié)束; OPEN(w_main)的打開主窗口的語句。的打開主窗口的語句。n應(yīng)用對象的應(yīng)用對象的Close事件程序:事件程序:應(yīng)用對象的應(yīng)用對象的Close事件是在應(yīng)用程序結(jié)束時執(zhí)行事件是在應(yīng)用程序結(jié)束時執(zhí)行的事件,一般要關(guān)閉數(shù)據(jù)庫或斷開與數(shù)據(jù)庫的連接的事件,一般要關(guān)閉數(shù)據(jù)庫或斷開與數(shù)據(jù)庫的連接DISCONNECT;n窗口對象窗口對象w_main的的O

10、pen事件程序:事件程序:窗口對象的窗口對象的Open事件發(fā)生在窗口打開事件發(fā)生在窗口打開時,由于應(yīng)用打開時已建立了與數(shù)據(jù)庫的連接,所以此時執(zhí)行檢索命令就可時,由于應(yīng)用打開時已建立了與數(shù)據(jù)庫的連接,所以此時執(zhí)行檢索命令就可以將數(shù)據(jù)庫中數(shù)據(jù)提取到數(shù)據(jù)窗口以將數(shù)據(jù)庫中數(shù)據(jù)提取到數(shù)據(jù)窗口 dw_1.SetTransObject(SQLCA) /使數(shù)據(jù)窗口與事務(wù)對象相連使數(shù)據(jù)窗口與事務(wù)對象相連 dw_1.retrieve( ) /完成完成dw_1數(shù)據(jù)窗口的檢索數(shù)據(jù)窗口的檢索6數(shù)據(jù)庫原理及應(yīng)用數(shù)據(jù)庫原理及應(yīng)用n命令按鈕的命令按鈕的clicked(單擊單擊)事件程序:事件程序:CLOSE(Parent)或

11、或CLOSE(w_main)n 至此,第一個目標(biāo)實現(xiàn)了,單擊至此,第一個目標(biāo)實現(xiàn)了,單擊PowerBar上的上的Select and Run按鈕,按鈕,選擇并執(zhí)行應(yīng)用程序選擇并執(zhí)行應(yīng)用程序first_pro,就可以看到下圖所示的界面。,就可以看到下圖所示的界面。n增加排序功能增加排序功能 :在上述基礎(chǔ)上增加一個在上述基礎(chǔ)上增加一個CheckBox控件控件cbx_1(用于確定是用于確定是否排序否排序)和兩個和兩個RadioButton控件控件rb_1、rb_2(用于確定是升序或降序用于確定是升序或降序)ncbx_1的的Clicked事件程序事件程序n if cbx_1.checked=TRUE

12、thenn if rb_1.checked=TRUE then dw_1.setsort(“#4 A”) else dw_1.setsort(“#4 D”)n end ifn dw_1.sort( )n end ifnrb_1的的Clicked事件程序事件程序(rb_2的的Clicked事件程序略事件程序略)n if cbx_1.checked=TRUE then dw_1.setsort(“#4 A”)n dw_1.sort( )n end if n 存盤后,運行結(jié)果如下圖所示存盤后,運行結(jié)果如下圖所示7數(shù)據(jù)庫原理及應(yīng)用數(shù)據(jù)庫原理及應(yīng)用n關(guān)聯(lián)與條件查詢:關(guān)聯(lián)與條件查詢:若在上述的職工信息數(shù)據(jù)

13、窗口右側(cè)添加一個數(shù)據(jù)窗口控若在上述的職工信息數(shù)據(jù)窗口右側(cè)添加一個數(shù)據(jù)窗口控件,當(dāng)單擊選擇左邊窗口的職工信息時,右邊數(shù)據(jù)窗口則顯示與對應(yīng)職工件,當(dāng)單擊選擇左邊窗口的職工信息時,右邊數(shù)據(jù)窗口則顯示與對應(yīng)職工有業(yè)務(wù)往來的供應(yīng)商信息,如下圖所示。有業(yè)務(wù)往來的供應(yīng)商信息,如下圖所示。n帶參數(shù)的數(shù)據(jù)窗口對象:帶參數(shù)的數(shù)據(jù)窗口對象:先建立職工表、供應(yīng)商表和訂購單表,為了要在先建立職工表、供應(yīng)商表和訂購單表,為了要在供應(yīng)商數(shù)據(jù)窗口中顯示供應(yīng)商名稱和所在城市兩個字段值,需要從供應(yīng)商供應(yīng)商數(shù)據(jù)窗口中顯示供應(yīng)商名稱和所在城市兩個字段值,需要從供應(yīng)商表中提取這兩個字段,另外用職工號作為檢索參數(shù)據(jù)表中提取這兩個字段,另

14、外用職工號作為檢索參數(shù)據(jù)(通過訂購單反映職工通過訂購單反映職工表和供應(yīng)商表之間的關(guān)聯(lián)表和供應(yīng)商表之間的關(guān)聯(lián))。由此,確定供應(yīng)商數(shù)據(jù)窗口對象具有特征:顯。由此,確定供應(yīng)商數(shù)據(jù)窗口對象具有特征:顯示風(fēng)格為示風(fēng)格為Grid;數(shù)據(jù)源形式是;數(shù)據(jù)源形式是SQL Select;包含的字段是供應(yīng)商名稱、地;包含的字段是供應(yīng)商名稱、地址、職工號址、職工號(但職工號不顯示但職工號不顯示);連接字段是供應(yīng)商號;檢索參數(shù)是職工號。;連接字段是供應(yīng)商號;檢索參數(shù)是職工號。將建立的帶參數(shù)的數(shù)據(jù)窗口對象保存為將建立的帶參數(shù)的數(shù)據(jù)窗口對象保存為d_sup。n添加一個數(shù)據(jù)窗口控件:添加一個數(shù)據(jù)窗口控件:在在w_main窗口對

15、象中再添加一個數(shù)據(jù)窗口控件,窗口對象中再添加一個數(shù)據(jù)窗口控件,使之與數(shù)據(jù)窗口對象使之與數(shù)據(jù)窗口對象d_sup相關(guān)聯(lián)。相關(guān)聯(lián)。n編寫第一個數(shù)據(jù)窗口控件的改變行事件編寫第一個數(shù)據(jù)窗口控件的改變行事件(RowFocusChanged)驅(qū)動程序:驅(qū)動程序:當(dāng)單擊或修改該數(shù)據(jù)窗口時執(zhí)行相關(guān)檢索操作,即在第二個數(shù)據(jù)窗口中顯當(dāng)單擊或修改該數(shù)據(jù)窗口時執(zhí)行相關(guān)檢索操作,即在第二個數(shù)據(jù)窗口中顯示與對應(yīng)職工有業(yè)務(wù)往來的供應(yīng)商信息。示與對應(yīng)職工有業(yè)務(wù)往來的供應(yīng)商信息。8數(shù)據(jù)庫原理及應(yīng)用數(shù)據(jù)庫原理及應(yīng)用/參數(shù)參數(shù)currentrow給出數(shù)據(jù)窗口的當(dāng)前行號給出數(shù)據(jù)窗口的當(dāng)前行號String s1 /變量說明變量說明if

16、currentrow1 then return /如果鼠標(biāo)點在范圍之外,返回如果鼠標(biāo)點在范圍之外,返回dw_1.SelectRow(0,False) /置顯示方式:原行選擇為假置顯示方式:原行選擇為假(取消光帶取消光帶)dw_1.SelectRow(currentrow,True) /置顯示方式:當(dāng)前行選為假置顯示方式:當(dāng)前行選為假(設(shè)置光帶設(shè)置光帶)s1=dw_1.GetItemString(currentrow,2)/取數(shù)據(jù)窗口指定行的第二列數(shù)據(jù)即職工號取數(shù)據(jù)窗口指定行的第二列數(shù)據(jù)即職工號dw_2.settransobject(sqlca)/數(shù)據(jù)窗口控件數(shù)據(jù)窗口控件dw_2建立與建立與SQ

17、LCA事務(wù)的連接事務(wù)的連接dw_2.retrieve(s1) /根據(jù)參數(shù)根據(jù)參數(shù)s1完成檢索完成檢索9數(shù)據(jù)庫原理及應(yīng)用數(shù)據(jù)庫原理及應(yīng)用10數(shù)據(jù)庫原理及應(yīng)用數(shù)據(jù)庫原理及應(yīng)用nWeb數(shù)據(jù)庫是指在數(shù)據(jù)庫是指在Intenet上使用的數(shù)據(jù)庫,上使用的數(shù)據(jù)庫, Intenet是典型的是典型的B/S(Brower/Server)結(jié)構(gòu),這種結(jié)構(gòu)正在越來越多地應(yīng)用于企結(jié)構(gòu),這種結(jié)構(gòu)正在越來越多地應(yīng)用于企業(yè)應(yīng)用,并且部分取代了業(yè)應(yīng)用,并且部分取代了C/S結(jié)構(gòu)。結(jié)構(gòu)。n實現(xiàn)實現(xiàn)Web數(shù)據(jù)庫應(yīng)用的兩種方法數(shù)據(jù)庫應(yīng)用的兩種方法n應(yīng)用中間件技術(shù):應(yīng)用中間件技術(shù):中間件負責(zé)管理中間件負責(zé)管理Web服務(wù)器和數(shù)據(jù)庫服務(wù)器服務(wù)器

18、和數(shù)據(jù)庫服務(wù)器間的通信并提供應(yīng)用程序服務(wù),它能夠直接訪問數(shù)據(jù)庫或調(diào)用間的通信并提供應(yīng)用程序服務(wù),它能夠直接訪問數(shù)據(jù)庫或調(diào)用外部程序或利用腳本代碼來訪問數(shù)據(jù)庫,可以提供與數(shù)據(jù)庫相外部程序或利用腳本代碼來訪問數(shù)據(jù)庫,可以提供與數(shù)據(jù)庫相關(guān)的動態(tài)關(guān)的動態(tài)HTML頁面,或執(zhí)行用戶查詢并將查詢結(jié)果格式化成頁面,或執(zhí)行用戶查詢并將查詢結(jié)果格式化成HTML頁面,然后通過頁面,然后通過Web服務(wù)器返回給用戶瀏覽器。服務(wù)器返回給用戶瀏覽器。11數(shù)據(jù)庫原理及應(yīng)用數(shù)據(jù)庫原理及應(yīng)用n將應(yīng)用程序下載到客戶端運行,并在客戶端直接訪問數(shù)據(jù)庫:將應(yīng)用程序下載到客戶端運行,并在客戶端直接訪問數(shù)據(jù)庫:客戶端應(yīng)用包括:客戶端應(yīng)用包括

19、:Java Applet、ActiveX、Plug-in等,其中等,其中最典型的就是最典型的就是Java Applet。Java是一種與平臺無關(guān)的編程語是一種與平臺無關(guān)的編程語言,因而具有極強的可移植性。在言,因而具有極強的可移植性。在Java Applet中訪問數(shù)據(jù)庫中訪問數(shù)據(jù)庫,可以使用,可以使用JDBC技術(shù),通過技術(shù),通過JDBC提供的提供的API來實現(xiàn)對分布在來實現(xiàn)對分布在網(wǎng)上的不同數(shù)據(jù)庫的各種操作。網(wǎng)上的不同數(shù)據(jù)庫的各種操作。12數(shù)據(jù)庫原理及應(yīng)用數(shù)據(jù)庫原理及應(yīng)用ComponentsBrowser or C/SComponentsClient/ServerApplicationBrow

20、serProductionDataProductionDataProductionDataProductionDataProductionDataEnterprise JavaBeans, COM, CORBA, PB NVOsTemplates,ScriptsPageServerHTML PagesFileSystemVery ThinThinRichWeb ServerComponentsTransactionServerClientMiddle TierData13數(shù)據(jù)庫原理及應(yīng)用數(shù)據(jù)庫原理及應(yīng)用n使用使用PB和和EAServer建立建立Web應(yīng)用應(yīng)用nEAServer(Enterpri

21、se Application Server):是是Sybase公司公司推出的企業(yè)級應(yīng)用服務(wù)器,由推出的企業(yè)級應(yīng)用服務(wù)器,由Jaguar CTS(Component Transaction Server)和和Power Dynamo兩部分組成,前者是兩部分組成,前者是組件事務(wù)服務(wù)器,是組件事務(wù)服務(wù)器,是Sybase適應(yīng)性組件體系結(jié)構(gòu)的核心產(chǎn)品適應(yīng)性組件體系結(jié)構(gòu)的核心產(chǎn)品;后者是將與數(shù)據(jù)庫與;后者是將與數(shù)據(jù)庫與Web站點的管理統(tǒng)一起來的專業(yè)應(yīng)用服站點的管理統(tǒng)一起來的專業(yè)應(yīng)用服務(wù)器產(chǎn)品,用于創(chuàng)建數(shù)據(jù)驅(qū)動的務(wù)器產(chǎn)品,用于創(chuàng)建數(shù)據(jù)驅(qū)動的Web應(yīng)用服務(wù),提供應(yīng)用服務(wù),提供Web服務(wù)服務(wù)器和數(shù)據(jù)庫間的一個解

22、釋型網(wǎng)關(guān)。參見下圖器和數(shù)據(jù)庫間的一個解釋型網(wǎng)關(guān)。參見下圖 ,Jaguar CTS相當(dāng)于其中的相當(dāng)于其中的Transaction Server, Power Dynamo相相當(dāng)于其中的當(dāng)于其中的Page Server, Power Dynamo的核心是一個解釋的核心是一個解釋器,負責(zé)處理嵌入在器,負責(zé)處理嵌入在HTML頁面和其他文檔中的標(biāo)記頁面和其他文檔中的標(biāo)記Tags指令指令(如嵌入的如嵌入的SQL語句等語句等),并將結(jié)果嵌入在,并將結(jié)果嵌入在HTML頁面中返回給頁面中返回給Web服務(wù)器,可以處理靜態(tài)服務(wù)器,可以處理靜態(tài)Web頁面,還可以處理頁面,還可以處理HTML模板模板和和Script腳本

23、兩種動態(tài)頁面。腳本兩種動態(tài)頁面。 14數(shù)據(jù)庫原理及應(yīng)用數(shù)據(jù)庫原理及應(yīng)用ComponentsBrowser or C/SComponentsClient/ServerApplicationBrowserProductionDataProductionDataProductionDataProductionDataProductionDataEnterprise JavaBeans, COM, CORBA, PB NVOsTemplates,ScriptsPageServerHTML PagesFileSystemVery ThinThinRichWeb ServerComponentsTrans

24、actionServerClientMiddle TierData15數(shù)據(jù)庫原理及應(yīng)用數(shù)據(jù)庫原理及應(yīng)用nPower Dynamo工作流程工作流程nWeb服務(wù)器將請求傳送給服務(wù)器將請求傳送給Power Dynamo;nPower Dynamo從模板庫中取出相應(yīng)的從模板庫中取出相應(yīng)的HTML模板,處理嵌入模板,處理嵌入在模板中的指令;在模板中的指令;n根據(jù)要求從數(shù)據(jù)庫中提取數(shù)據(jù),然后繼續(xù)處理腳本;根據(jù)要求從數(shù)據(jù)庫中提取數(shù)據(jù),然后繼續(xù)處理腳本;n如果有如果有Jaguar CTS組件調(diào)用,則完成相應(yīng)的組件方法調(diào)用和組件調(diào)用,則完成相應(yīng)的組件方法調(diào)用和執(zhí)行,執(zhí)行結(jié)果返回給執(zhí)行,執(zhí)行結(jié)果返回給Power

25、Dynamo; nPower Dynamo頁面服務(wù)器將結(jié)果以頁面服務(wù)器將結(jié)果以HTML格式返回給格式返回給Web服服務(wù)器;務(wù)器;nWeb服務(wù)器將最終結(jié)果返回給客戶端瀏覽器。服務(wù)器將最終結(jié)果返回給客戶端瀏覽器。 16數(shù)據(jù)庫原理及應(yīng)用數(shù)據(jù)庫原理及應(yīng)用17數(shù)據(jù)庫原理及應(yīng)用數(shù)據(jù)庫原理及應(yīng)用nWeb數(shù)據(jù)窗口數(shù)據(jù)窗口(DataWindow):是用于是用于HTML的數(shù)據(jù)窗口,提供了一種瘦客的數(shù)據(jù)窗口,提供了一種瘦客戶端解決方案,具有戶端解決方案,具有PB數(shù)據(jù)窗口的大多數(shù)據(jù)操作功能,且不需在數(shù)據(jù)窗口的大多數(shù)據(jù)操作功能,且不需在Web客戶客戶端安裝任何端安裝任何PB的的DLL或其他組件?;蚱渌M件。 其工作流程

26、:其工作流程:n在客戶端瀏覽器中用戶發(fā)出一個頁面請求在客戶端瀏覽器中用戶發(fā)出一個頁面請求(含有含有Web數(shù)據(jù)窗口數(shù)據(jù)窗口)。nWeb服務(wù)器將請求傳遞給頁面服務(wù)器,然后由頁面服務(wù)器查找請求頁面的服務(wù)器將請求傳遞給頁面服務(wù)器,然后由頁面服務(wù)器查找請求頁面的模板并執(zhí)行模板中的服務(wù)器端腳本。模板并執(zhí)行模板中的服務(wù)器端腳本。n服務(wù)器端腳本連接到服務(wù)器組件,并將數(shù)據(jù)窗口和數(shù)據(jù)庫連接的信息傳遞服務(wù)器端腳本連接到服務(wù)器組件,并將數(shù)據(jù)窗口和數(shù)據(jù)庫連接的信息傳遞給組件。給組件。n服務(wù)器組件的方法從數(shù)據(jù)庫中為數(shù)據(jù)窗口檢索數(shù)據(jù),并根據(jù)數(shù)據(jù)窗口的定服務(wù)器組件的方法從數(shù)據(jù)庫中為數(shù)據(jù)窗口檢索數(shù)據(jù),并根據(jù)數(shù)據(jù)窗口的定義、數(shù)據(jù)

27、和狀態(tài)等生成義、數(shù)據(jù)和狀態(tài)等生成HTML或或JavaScript頁面。頁面。n服務(wù)器組件將服務(wù)器組件將HTML或或JavaScript頁面返回給頁面服務(wù)器。頁面返回給頁面服務(wù)器。n頁面服務(wù)器使用生成的頁面服務(wù)器使用生成的HTML或或JavaScript頁面替換頁面替換Web請求頁面中服務(wù)請求頁面中服務(wù)器端的腳本,并通過器端的腳本,并通過Web服務(wù)器將這個頁面?zhèn)魉徒o服務(wù)器將這個頁面?zhèn)魉徒oWeb客戶端瀏覽器??蛻舳藶g覽器。n用戶通過數(shù)據(jù)窗口進行信息交互,如修改數(shù)據(jù)或請求下一頁數(shù)據(jù)等。用戶通過數(shù)據(jù)窗口進行信息交互,如修改數(shù)據(jù)或請求下一頁數(shù)據(jù)等。nWeb服務(wù)器接收帶有用戶需求行為參數(shù)的服務(wù)器接收帶有用

28、戶需求行為參數(shù)的URL,并傳送給頁面服務(wù)器,然,并傳送給頁面服務(wù)器,然后開始以上各步驟的循環(huán)。后開始以上各步驟的循環(huán)。18數(shù)據(jù)庫原理及應(yīng)用數(shù)據(jù)庫原理及應(yīng)用19數(shù)據(jù)庫原理及應(yīng)用數(shù)據(jù)庫原理及應(yīng)用nWeb Target(Web目標(biāo)目標(biāo)) :由建立由建立Web應(yīng)用的一組文件和組件應(yīng)用的一組文件和組件構(gòu)成,使用構(gòu)成,使用PB建立的建立的Web應(yīng)用可以提供交互的、動態(tài)的內(nèi)容應(yīng)用可以提供交互的、動態(tài)的內(nèi)容,這是通過集成數(shù)據(jù)庫中的數(shù)據(jù)、客戶和服務(wù)器端的腳本以及,這是通過集成數(shù)據(jù)庫中的數(shù)據(jù)、客戶和服務(wù)器端的腳本以及訪問事務(wù)服務(wù)器上的組件來實現(xiàn)的。使用訪問事務(wù)服務(wù)器上的組件來實現(xiàn)的。使用PB開發(fā)環(huán)境可以簡化開發(fā)環(huán)境可以簡化對各種類型對各種類型Web應(yīng)用的開發(fā)和維護。應(yīng)用的開發(fā)和維護。n Web目標(biāo)中包含的文件類型目標(biāo)中包含的文件類型nHTML文件:文件:HTML文件確定文件確定Web應(yīng)用的顯示風(fēng)格,也提供將應(yīng)用的顯示風(fēng)格,也提供將組件應(yīng)用于網(wǎng)頁的結(jié)構(gòu)。組件應(yīng)用于網(wǎng)頁的結(jié)構(gòu)。n腳本文件:腳本文件: W

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論