申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114
Kmpro系統(tǒng)為了適應(yīng)快速定制開發(fā)的需求,采用了
MVC(Model View Controller)模型-視圖-控制器架構(gòu),從根本上強(qiáng)制性的將數(shù)據(jù)和表現(xiàn)分開。MVC是一個(gè)設(shè)計(jì)模式,它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開。使用MVC應(yīng)用程序被分成三個(gè)核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。
視圖是用戶看到并與之交互的界面。對(duì)老式的
Web應(yīng)用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應(yīng)用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術(shù)已層出不窮,它們包括Adobe Flash和象XHTML,XML/XSL,WML等一些標(biāo)識(shí)語言和Web services.
如何處理應(yīng)用程序的界面變得越來越有挑戰(zhàn)性。
MVC一個(gè)大的好處是它能為你的應(yīng)用程序處理很多不同的視圖。在視圖中其實(shí)沒有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機(jī)存儲(chǔ)的還是一個(gè)雇員列表,作為視圖來講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。
模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在
MVC的三個(gè)部件中,模型擁有最多的處理任務(wù)。例如它可能用象EJBs和ColdFusion Components這樣的構(gòu)件對(duì)象來處理數(shù)據(jù)庫。被模型返回的數(shù)據(jù)是中立的,就是說模型與數(shù)據(jù)格式無關(guān),這樣一個(gè)模型能為多個(gè)視圖提供數(shù)據(jù)。由于應(yīng)用于模型的代碼只需寫一次就可以被多個(gè)視圖重用,所以減少了代碼的重復(fù)性?! ?/span>
控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。所以當(dāng)單擊Web頁面中的超鏈接和發(fā)送HTML表單時(shí),控制器(例如:servlet)本身不輸出任何東西和做任何處理。它只是接收請(qǐng)求并決定調(diào)用哪個(gè)模型構(gòu)件去處理請(qǐng)求,然后確定用哪個(gè)視圖來顯示模型處理返回的數(shù)據(jù)。
采用MVC模式,可以很好的實(shí)現(xiàn)系統(tǒng)的可擴(kuò)展性和快速開發(fā),因?yàn)?span>MVC模式具備以下優(yōu)點(diǎn):
低耦合性。視圖層和業(yè)務(wù)層分離,這樣就允許更改視圖層代碼而不用重新編譯模型和控制器代碼,同樣,一個(gè)應(yīng)用的業(yè)務(wù)流程或者業(yè)務(wù)規(guī)則的改變只需要改動(dòng)
MVC的模型層即可。因?yàn)槟P团c控制器和視圖相分離,所以很容易改變應(yīng)用程序的數(shù)據(jù)層和業(yè)務(wù)規(guī)則。
高重用性和可適用性。隨著技術(shù)的不斷進(jìn)步,現(xiàn)在需要用越來越多的方式來訪問應(yīng)用程序。
MVC模式允許你使用各種不同樣式的視圖來訪問同一個(gè)服務(wù)器端的代碼。它包括任何WEB(HTTP)瀏覽器或者無線瀏覽器(wap),比如,用戶可以通過電腦也可通過手機(jī)來訂購某樣產(chǎn)品,雖然訂購的方式不一樣,但處理訂購產(chǎn)品的方式是一樣的。由于模型返回的數(shù)據(jù)沒有進(jìn)行格式化,所以同樣的構(gòu)件能被不同的界面使用。例如,很多數(shù)據(jù)可能用HTML來表示,但是也有可能用WAP來表示,而這些表示所需要的僅令是改變視圖層的實(shí)現(xiàn)方式,而控制層和模型層無需做任何改變。
較低的生命周期成本。MVC使降低開發(fā)和維護(hù)用戶接口的技術(shù)含量成為可能。
快速的部署。使用
MVC模式使開發(fā)時(shí)間得到相當(dāng)大的縮減,它使程序員(Java開發(fā)人員)集中精力于業(yè)務(wù)邏輯,界面程序員(HTML和JSP開發(fā)人員)集中精力于表現(xiàn)形式上。
可維護(hù)性。分熟視圖層和業(yè)務(wù)邏輯層也使得
WEB應(yīng)用更易于維護(hù)和修改。
利于軟件工程化管理。由于不同的層各司其職,每一層不同的應(yīng)用具有某些相同的特征,有利于通過工程化、工具化管理程序代碼。
在
API方面,泛普軟件通過以下方式完成對(duì)其他系統(tǒng)的對(duì)接與調(diào)用。
Web Service:Web Service主要是為了使原來各孤立的站點(diǎn)之間的信息能夠相互通信、共享而提出的一種接口。
Web Service所使用的是Internet上統(tǒng)一、開放的標(biāo)準(zhǔn),如HTTP、XML、SOAP(簡單對(duì)象訪問協(xié)議)、WSDL等,所以Web Service可以在任何支持這些標(biāo)準(zhǔn)的環(huán)境(Windows,Linux)中使用。注:SOAP協(xié)議(Simple Object Access Protocal,簡單對(duì)象訪問協(xié)議),它是一個(gè)用于分散和分布式環(huán)境下網(wǎng)絡(luò)信息交換的基于XML的通訊協(xié)議。在此協(xié)議下,軟件組件或應(yīng)用程序能夠通過標(biāo)準(zhǔn)的HTTP協(xié)議進(jìn)行通訊。它的設(shè)計(jì)目標(biāo)就是簡單性和擴(kuò)展性,這有助于大量異構(gòu)程序和平臺(tái)之間的互操作性,從而使存在的應(yīng)用程序能夠被廣泛的用戶訪問。
RPC:遠(yuǎn)程過程調(diào)用
(RPC) 是一種協(xié)議,程序可使用這種協(xié)議向網(wǎng)絡(luò)中的另一臺(tái)計(jì)算機(jī)上的程序請(qǐng)求服務(wù)。由于使用 RPC 的程序不必了解支持通信的網(wǎng)絡(luò)協(xié)議的情況,因此 RPC 提高了程序的互操作性。
JDBC:JDBC(
Java Data Base Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純 Java API 編寫數(shù)據(jù)庫應(yīng)用程序.
常用接口節(jié)選
熱點(diǎn)知識(shí)列表
接口名稱
|
熱點(diǎn)知識(shí)列表
|
|
輸入
|
參數(shù)1:維度ID 參數(shù)2:條目數(shù)量
|
參數(shù)1可為空,參數(shù)2默認(rèn)為10條
|
輸出
|
知識(shí)列表
|
|
實(shí)現(xiàn)方式
|
Web Service,RPC
|
|
典型場景
|
首頁熱點(diǎn)知識(shí)列表
|
|
備注
|
|
|
最新知識(shí)列表
接口名稱
|
最新知識(shí)列表
|
|
輸入
|
參數(shù)1:維度ID 參數(shù)2:條目數(shù)量
|
參數(shù)1可為空,參數(shù)2默認(rèn)為10條
|
輸出
|
知識(shí)列表
|
|
實(shí)現(xiàn)方式
|
Web Service,RPC
|
|
典型場景
|
首頁熱點(diǎn)知識(shí)列表
|
|
備注
|
|
|
維度列表
接口名稱
|
維度列表
|
|
輸入
|
參數(shù)1:上級(jí)維度ID
|
參數(shù)1可為空
|
輸出
|
維度列表
|
|
實(shí)現(xiàn)方式
|
Web Service,RPC
|
|
典型場景
|
首頁維度列表
|
|
備注
|
|
|
最新征詢問答列表
接口名稱
|
最新征詢列表
|
|
輸入
|
參數(shù)1:條目數(shù)量
|
參數(shù)1默認(rèn)為10條
|
輸出
|
知識(shí)列表
|
|
實(shí)現(xiàn)方式
|
Web Service,RPC
|
|
典型場景
|
首頁熱點(diǎn)知識(shí)列表
|
|
備注
|
|
|
知識(shí)搜索
接口名稱
|
知識(shí)搜索
|
|
輸入
|
參數(shù)1:搜索范圍
參數(shù)2:搜索條件
|
參數(shù)1可為空,參數(shù)2默認(rèn)為10條
|
輸出
|
知識(shí)列表
|
|
實(shí)現(xiàn)方式
|
Web Service,RPC
|
|
典型場景
|
首頁搜索欄
|
|
備注
|
|
|
高級(jí)知識(shí)搜索
接口名稱
|
知識(shí)搜索
|
|
輸入
|
參數(shù)1:搜索范圍
參數(shù)2:搜索條件(多項(xiàng))
參數(shù)3:搜索邏輯
|
參數(shù)1可為空,參數(shù)2默認(rèn)為10條
|
輸出
|
知識(shí)列表
|
|
實(shí)現(xiàn)方式
|
Web Service,RPC
|
|
典型場景
|
首頁搜索欄高級(jí)搜索
|
|
備注
|
|
|
知識(shí)庫資產(chǎn)量統(tǒng)計(jì)
接口名稱
|
知識(shí)庫資產(chǎn)量統(tǒng)計(jì)
|
|
輸入
|
參數(shù)1:統(tǒng)計(jì)日期范圍
|
|
輸出
|
知識(shí)庫資產(chǎn)統(tǒng)計(jì)
|
|
實(shí)現(xiàn)方式
|
Web Service
|
|
典型場景
|
系統(tǒng)統(tǒng)計(jì)頁面
|
|
備注
|
|
|
知識(shí)庫使用率統(tǒng)計(jì)
接口名稱
|
知識(shí)庫使用率統(tǒng)計(jì)
|
|
輸入
|
參數(shù)1:統(tǒng)計(jì)日期范圍
|
|
輸出
|
知識(shí)庫使用率統(tǒng)計(jì)
|
|
實(shí)現(xiàn)方式
|
Web Service
|
|
典型場景
|
系統(tǒng)統(tǒng)計(jì)頁面
|
|
備注
|
|
|
用戶信息接口
接口名稱
|
用戶信息接口
|
|
輸入
|
用戶ID
|
|
輸出
|
用戶基本信息,最新狀態(tài)
|
|
實(shí)現(xiàn)方式
|
Web Service
|
|
典型場景
|
個(gè)人信息頁面
|
|
備注
|
|
|
|