天天看點

Delphi 三層開發基本概念介紹

三層客戶/伺服器 一:優點:靈活性和可擴充性。 應用三層開發技術(分布式)的原因 (參考書目: Delphi 5.x分布式多層應用系統篇) 一:解決客戶機/伺服器結構的維護成本問題,改善客戶機/伺服器結構延展性問題。 客戶機/伺服器結構支援的使用者人數有一定限度(200人以下)。則種結構限制了Internet/Intranet及電子商務的發展。三層開發應用Database Pooling, Object pooling,Resource Pooling,線程模式提供了高度延展性。 二:解決應用邏輯重複使用的問題。 例如:當企業要在原有的客戶機/伺服器結構上添加Web浏覽服務時,就需要配置Web伺服器,重新編寫所有應用邏輯,并且更新MIS系統。在三層結構中,用COM/DCOM, CORBA(Common Object Request Broker Architecture)對象,或Enterprise Java Bean等,封裝企業的邏輯程式代碼(稱之為企業對象),可以解決上述問題。大大降低開發和維護的成本。 三:整合不同系統結構的需要,及時應用新技術的需要。 二:Microsoft的三層服務模型 1:結構:是windows DNA(distributed internet applications,分布式内部網)COM(component object model ,構件對象模型)構件作為實作系統及應用程式服務的工具。 l         使用者服務 l         業務服務 l         資料服務 (1)使用者服務:windows DNA定義了四種可用于實作使用者服務層的客戶: n         标準浏覽客戶:依賴于簡單,基于頁面的HTML來管理資料表示和與使用者進行互動.其相容性 很好,功能不豐富。

特殊浏覽器(ex: Dynamic HTML ,腳本及ActiveX控件)的優點來最大化使用者接口的豐富性和功能 ,适用于公司intranet .

n         依賴型Internet客戶:能在客戶機器上将對Internet的通路和對作業系統的通路內建在一塊。 n         增強型Internet客戶:Microsoft Office 97和Microsoft Visual Studio. (2)業務服務:通過将基于伺服器的Microsoft産品與定制的COM構件運作環境內建在一塊來實作。 n         Web服務( Microfsoft Internet Information Server與Active Server Pages ). n         事務和構件服務 (Microsoft Transaction server和 COM) . n         消息服務(Microsoft消息隊列伺服器)。 n         通用資料通路(universal data access)(Microsoft資料通路過件) l       大型機環境的互操作(Microsoft SNA伺服器). 其詳細資訊在下面的專題中列出。 (3)資料服務:

n         Microsoft SQL Server7資料庫。 n         Microsoft Exchange server 5.5版本的目錄和資訊庫。 專題: 業務服務 一:Web服務( Microsoft Internet Information Server與Active Server Pages ). Web服務對象模型: 1,server對象:提供對伺服器上方法和屬性的通路.例:問(universal data access)(Microsoft資料通路構件)              setobjmyobject=server.createobject(“businessserver.myruleobject”) 2:Session對象: 用來存儲一個特定使用者會話所必須的資訊。 3:Application對象:用來使某個應用程式的所有使用者共享息。 4:Request對象:略。 5:Response對象:略.      二:事務和構件服務 (Microsoft Transaction server和 COM) 1:Microsoft事務伺服器(MTS)是基于構件的事務處理系統,用來滿足複雜事務處理。MTS支 持SQL Server和任 何基于X/open算法的XA協定的資料庫(見注釋)。 MTS提供的服務有: n         對分布事務的支援。 n         用于控制執行個體化和使用對象安全的服務。 n         過程和線程的自動管理。 n         對象執行個體的管理。 n         資料庫連接配接管理(連接配接池)。 在應用程式中可聲明相應的構件完成以上服務。 2:MTS和SQL server事務一樣,要求原子執行,或整個成功,整個失敗。Transaction Server與Microsoft Distributed Transaction Coordinator(MSDTC)互動确認事務滿足ACID(原子性Atomicity,一緻性Consistency,分離性Isolatation和耐久性Durability)。 3:MTS和SQL server事務的差別.MTS可以用visual basic ,visual c++ 等封裝的

和屬性的通路.例:問(universal data access)(Microsoft資料通路構件)              setobjmyobject=server.createobject(“businessserver.myruleobject”) 2:Session對象: 用來存儲一個特定使用者會話所必須的資訊。 3:Application對象:用來使某個應用程式的所有使用者共享息。 4:Request對象:略。 5:Response對象:略.      二:事務和構件服務 (Microsoft Transaction server和 COM) 1:Microsoft事務伺服器(MTS)是基于構件的事務處理系統,用來滿足複雜事務處理。MTS支 持SQL Server和任 何基于X/open算法的XA協定的資料庫(見注釋)。 MTS提供的服務有: n         對分布事務的支援。 n         用于控制執行個體化和使用對象安全的服務。 n         過程和線程的自動管理。 n         對象執行個體的管理。 n         資料庫連接配接管理(連接配接池)。 在應用程式中可聲明相應的構件完成以上服務。 2:MTS和SQL server事務一樣,要求原子執行,或整個成功,整個失敗。Transaction Server與Microsoft Distributed Transaction Coordinator(MSDTC)互動确認事務滿足ACID(原子性Atomicity,一緻性Consistency,分離性Isolatation和耐久性Durability)。 3:MTS和SQL server事務的差別.MTS可以用visual basic ,visual c++ 等封裝的MTS構件實作 , Recordset對 象的addnew方法添加新行。SQL server事務隻能由Transact-SQL代碼編寫,如 (ADO). 4:Windows DNA(windows distributed internet application architecture):将客戶/服務模式開發與web和在一起的戰略 . 使用HTML,DHTML,Active server pages向使用者提供第一層(表達層), MTS和MTS的構件, 如IIS(internet               information server),IIS/ASP構件及ASP腳本占據中間層(業務邏輯層),SQL server作為資料服務層。 5:MTS使用分布事務協調者(Distributed Transaction Coordinator , DTC)事務引擎.DTC使用兩級段傳遞标準。 關于DTC的資訊可通過一下方法得到:用MMC(Microsoft Management Console)打開c:/winnt/system32/services.msc, 在右邊的清單中找到DTC服務,察看其屬性。 6:使用MTS最大化系統性能。(注意事項) n         避免傳遞或傳回對象。 n         盡可能通過值(BY VAL)來傳遞參數。(By Val關鍵字使網絡間的旅程最小) n         避免建立資料庫遊标。少用RecordSet對象。 n         通過使對象包容器線程化(Apartment Threaded),MTS可以在多個對象中執行并發的客戶請求。 7: 注釋:XA是一種由X/Open組織定義的兩相送出協定,允許多個資料庫服務期間的事務協同,并将其看作一個事務。(Unix資料庫,包括oracle ,informix,db2都支援) 三:消息服務(Microsoft消息隊列伺服器)。 1:Microsoft消息隊列(Microsoft Message Queue ,MSMQ)為應用程式提供了異步通信功能.MSMQ被認為是連接配接分布式應用程式中業務與資料服務層的橋梁。 2:MSMQ自動與MTS內建。應用程式可以将MSMQ消息封裝在MTS事務中。 3:MSMQ與Microsoft exchange伺服器的不同.exchange提供使用者到使用者(person -to -person)的消息傳送.而MSMQ提供應用程式到應用程式(application - to -application)的消息傳送. 四:通用資料通路(universal data access)(Microsoft資料通路構件) 資料通路構件跨越了業務服務層和資料服務層之間的界限。ADO,OLE DB(嵌入式資料庫)以及ODBC共同組成了Microsoft資料通路構件(MDAC). 五:大型機環境的互操作(Microsoft SNA伺服器) Microsoft的COM &DCOM(簡介)

一:COM是一種定義對象伺服器如何與對象客戶進行互動的協定。對象伺服器(object server)是實作COM類的子產品。對象客戶(object consumer)是使用COM對象的子產品。 DCOM擴充了COM協定,使得對象伺服器可以位于一台與客戶不同的計算機。 通過RPC向對象伺服器調用。(CORBA也是分布對象協定) COM通過SSPI(Security Support Provider Interface,安全支援提供者接口)來管理對象的安全性。 二:應用伺服器(中間層)應具備的特性: n       遠層啟動,監視和中止的能力。 n       可擴充的能力。 lang=EN-US>MTS構件實作 , Recordset對 象的addnew方法添加新行。SQL server事務隻能由Transact-SQL代碼編寫,如 (ADO). 4:Windows DNA(windows distributed internet application architecture):将客戶/服務模式開發與web和在一起的戰略 . 使用HTML,DHTML,Active server pages向使用者提供第一層(表達層), MTS和MTS的構件, 如IIS(internet               information server),IIS/ASP構件及ASP腳本占據中間層(業務邏輯層),SQL server作為資料服務層。 5:MTS使用分布事務協調者(Distributed Transaction Coordinator , DTC)事務引擎.DTC使用兩級段傳遞标準。 關于DTC的資訊可通過一下方法得到:用MMC(Microsoft Management Console)打開c:/winnt/system32/services.msc, 在右邊的清單中找到DTC服務,察看其屬性。 6:使用MTS最大化系統性能。(注意事項) n         避免傳遞或傳回對象。 n         盡可能通過值(BY VAL)來傳遞參數。(By Val關鍵字使網絡間的旅程最小) n         避免建立資料庫遊标。少用RecordSet對象。 n         通過使對象包容器線程化(Apartment Threaded),MTS可以在多個對象中執行并發的客戶請求。 7: 注釋:XA是一種由X/Open組織定義的兩相送出協定,允許多個資料庫服務期間的事務協同,并将其看作一個事務。(Unix資料庫,包括oracle ,informix,db2都支援) 三:消息服務(Microsoft消息隊列伺服器)。 1:Microsoft消息隊列(Microsoft Message Queue ,MSMQ)為應用程式提供了異步通信功能.MSMQ被認為是連接配接分布式應用程式中業務與資料服務層的橋梁。 2:MSMQ自動與MTS內建。應用程式可以将MSMQ消息封裝在MTS事務中。 3:MSMQ與Microsoft exchange伺服器的不同.exchange提供使用者到使用者(person -to -person)的消息傳送.而MSMQ提供應用程式到應用程式(application - to -application)的消息傳送. 四:通用資料通路(universal data access)(Microsoft資料通路構件) 資料通路構件跨越了業務服務層和資料服務層之間的界限。ADO,OLE DB(嵌入式資料庫)以及ODBC共同組成了Microsoft資料通路構件(MDAC). 五:大型機環境的互操作(Microsoft SNA伺服器) Microsoft的COM &DCOM(簡介)

一:COM是一種定義對象伺服器如何與對象客戶進行互動的協定。對象伺服器(object server)是實作COM類的子產品。對象客戶(object consumer)是使用COM對象的子產品。 DCOM擴充了COM協定,使得對象伺服器可以位于一台與客戶不同的計算機。 通過RPC向對象伺服器調用。(CORBA也是分布對象協定) COM通過SSPI(Security Support Provider Interface,安全支援提供者接口)來管理對象的安全性。 二:應用伺服器(中間層)應具備的特性: n       遠層啟動,監視和中止的能力。 n       可擴充的能力。 n       易于配置的能力。 n       安全失效的能力。 遠層啟動功能:如果使用者想在遠端計算機上建立一個COM對象,遠端機上的DCOM服務控制管理器(Service Control Manager ,SCM)會自動啟動COM伺服器并使COM對象可用。具體資訊可在開始菜單中運作DCOMCNFG指令。 易于配置的能力:在Windows資料總管中右擊一個COM DLL或EXE就可激活注冊或撤銷注冊。 可擴充的能力:可擴充的第一等級和第二等級。DCOM提供的兩種負載均衡。1),靜态負載均衡(指定應用伺服器的運作機器),可在DCOMCNFG中的應用程式的屬性中指定。2):動态負載均衡,由排程程式進行配置設定。 Delphi提供的相關技術: u       COM / DCOM / COM+企業對象。 u       CORBA企業對象。 u       XML / HTML u       CGI / SAPI/NSAPI u       ASP u       Active X (Active Form) u       ADO / OLE DB u       BDE / IDAPI SQL Links u       MTS對象 u       MIDAS伺服器 u       CORBA伺服器。 相關元件在1) File菜單/new/ Multitier和ActiveX頁中。 2)在元件面闆中的ADO, Midas, Internet Express, ActiveX等頁中。 Corba簡介

1:什麼是corba(common object request broker architecture)? Corba是由object manangement group(OMG)定義的分布式對象标準結構。語言中立,使用了面向對象的設計結構,允許軟體對象在不同的作業系統平台和應用程式中重複使用。 如果想實作一下功能,corba是較好的解決方案: l         應用系統要整合異質平台和作業系統。 l         應用程式伺服器必須執行在linux/unix機器中。 l         應用系統必須執行關鍵性任務,具備安全強固的容錯能力,必須穩定,有效率。 l         想開發使用Web對象的Internet/Intranet解決方案。 l         應用系統未來想和Java整合。 2:corba的結構

corba對象是一個提供特定服務的元件,它通過定義一組輸出接口來聲明可以提供的服務。在這個輸出接口中,corba對象定義了用戶端可以調用的方法和存取屬性。用戶端隻要指明提供服務的corba

si-font-family: Times New Roman>消息隊列伺服器)。 1:Microsoft消息隊列(Microsoft Message Queue ,MSMQ)為應用程式提供了異步通信功能.MSMQ被認為是連接配接分布式應用程式中業務與資料服務層的橋梁。 2:MSMQ自動與MTS內建。應用程式可以将MSMQ消息封裝在MTS事務中。 3:MSMQ與Microsoft exchange伺服器的不同.exchange提供使用者到使用者(person -to -person)的消息傳送.而MSMQ提供應用程式到應用程式(application - to -application)的消息傳送. 四:通用資料通路(universal data access)(Microsoft資料通路構件) 資料通路構件跨越了業務服務層和資料服務層之間的界限。ADO,OLE DB(嵌入式資料庫)以及ODBC共同組成了Microsoft資料通路構件(MDAC). 五:大型機環境的互操作(Microsoft SNA伺服器) Microsoft的COM &DCOM(簡介)

一:COM是一種定義對象伺服器如何與對象客戶進行互動的協定。對象伺服器(object server)是實作COM類的子產品。對象客戶(object consumer)是使用COM對象的子產品。 DCOM擴充了COM協定,使得對象伺服器可以位于一台與客戶不同的計算機。 通過RPC向對象伺服器調用。(CORBA也是分布對象協定) COM通過SSPI(Security Support Provider Interface,安全支援提供者接口)來管理對象的安全性。 二:應用伺服器(中間層)應具備的特性: n       遠層啟動,監視和中止的能力。 n       可擴充的能力。 n       易于配置的能力。 n       安全失效的能力。 遠層啟動功能:如果使用者想在遠端計算機上建立一個COM對象,遠端機上的DCOM服務控制管理器(Service Control Manager ,SCM)會自動啟動COM伺服器并使COM對象可用。具體資訊可在開始菜單中運作DCOMCNFG指令。 易于配置的能力:在Windows資料總管中右擊一個COM DLL或EXE就可激活注冊或撤銷注冊。 可擴充的能力:可擴充的第一等級和第二等級。DCOM提供的兩種負載均衡。1),靜态負載均衡(指定應用伺服器的運作機器),可在DCOMCNFG中的應用程式的屬性中指定。2):動态負載均衡,由排程程式進行配置設定。 Delphi提供的相關技術: u       COM / DCOM / COM+企業對象。 u       CORBA企業對象。 u       XML / HTML u       CGI / SAPI/NSAPI u       ASP u       Active X (Active Form) u       ADO / OLE DB u       BDE / IDAPI SQL Links u       MTS對象 u       MIDAS伺服器 u       CORBA伺服器。 相關元件在1) File菜單/new/ Multitier和ActiveX頁中。 2)在元件面闆中的ADO, Midas, Internet Express, ActiveX等頁中。 Corba簡介

1:什麼是corba(common object request broker architecture)? Corba是由object manangement group(OMG)定義的分布式對象标準結構。語言中立,使用了面向對象的設計結構,允許軟體對象在不同的作業系統平台和應用程式中重複使用。 如果想實作一下功能,corba是較好的解決方案: l         應用系統要整合異質平台和作業系統。 l         應用程式伺服器必須執行在linux/unix機器中。 l         應用系統必須執行關鍵性任務,具備安全強固的容錯能力,必須穩定,有效率。 l         想開發使用Web對象的Internet/Intranet解決方案。 l         應用系統未來想和Java整合。 2:corba的結構

corba對象是一個提供特定服務的元件,它通過定義一組輸出接口來聲明可以提供的服務。在這個輸出接口中,corba對象定義了用戶端可以調用的方法和存取屬性。用戶端隻要指明提供服務的corba

;   易于配置的能力。 n       安全失效的能力。 遠層啟動功能:如果使用者想在遠端計算機上建立一個COM對象,遠端機上的DCOM服務控制管理器(Service Control Manager ,SCM)會自動啟動COM伺服器并使COM對象可用。具體資訊可在開始菜單中運作DCOMCNFG指令。 易于配置的能力:在Windows資料總管中右擊一個COM DLL或EXE就可激活注冊或撤銷注冊。 可擴充的能力:可擴充的第一等級和第二等級。DCOM提供的兩種負載均衡。1),靜态負載均衡(指定應用伺服器的運作機器),可在DCOMCNFG中的應用程式的屬性中指定。2):動态負載均衡,由排程程式進行配置設定。 Delphi提供的相關技術: u       COM / DCOM / COM+企業對象。 u       CORBA企業對象。 u       XML / HTML u       CGI / SAPI/NSAPI u       ASP u       Active X (Active Form) u       ADO / OLE DB u       BDE / IDAPI SQL Links u       MTS對象 u       MIDAS伺服器 u       CORBA伺服器。 相關元件在1) File菜單/new/ Multitier和ActiveX頁中。 2)在元件面闆中的ADO, Midas, Internet Express, ActiveX等頁中。 Corba簡介

1:什麼是corba(common object request broker architecture)? Corba是由object manangement group(OMG)定義的分布式對象标準結構。語言中立,使用了面向對象的設計結構,允許軟體對象在不同的作業系統平台和應用程式中重複使用。 如果想實作一下功能,corba是較好的解決方案: l         應用系統要整合異質平台和作業系統。 l         應用程式伺服器必須執行在linux/unix機器中。 l         應用系統必須執行關鍵性任務,具備安全強固的容錯能力,必須穩定,有效率。 l         想開發使用Web對象的Internet/Intranet解決方案。 l         應用系統未來想和Java整合。 2:corba的結構

corba對象是一個提供特定服務的元件,它通過定義一組輸出接口來聲明可以提供的服務。在這個輸出接口中,corba對象定義了用戶端可以調用的方法和存取屬性。用戶端隻要指明提供服務的corba

ly: Arial>簡介

1:什麼是corba(common object request broker architecture)? Corba是由object manangement group(OMG)定義的分布式對象标準結構。語言中立,使用了面向對象的設計結構,允許軟體對象在不同的作業系統平台和應用程式中重複使用。 如果想實作一下功能,corba是較好的解決方案: l         應用系統要整合異質平台和作業系統。 l         應用程式伺服器必須執行在linux/unix機器中。 l         應用系統必須執行關鍵性任務,具備安全強固的容錯能力,必須穩定,有效率。 l         想開發使用Web對象的Internet/Intranet解決方案。 l         應用系統未來想和Java整合。 2:corba的結構

corba對象是一個提供特定服務的元件,它通過定義一組輸出接口來聲明可以提供的服務。在這個輸出接口中,corba對象定義了用戶端可以調用的方法和存取屬性。用戶端隻要指明提供服務的corba

繼續閱讀