
網上辦稅服務平臺是為企業及社會公眾提供網上辦稅服務的操作平臺。系統通過對接稅務系統相關接口,實現辦稅桌面、涉稅查詢、辦稅服務、征納互動、用戶中心等5大類80多項功能,讓企業能夠一站式完成所有的稅務業務辦理。
win7系統及以上版本的操作系統,IE版本要求IE8及以上版本,瀏覽器兼容IE瀏覽器、360安全瀏覽器、chrome瀏覽器等主流瀏覽器。
辦稅桌面:提供申報代辦、文書代辦、提醒、通知等4類消息服務;
涉稅查詢:提供一戶式查詢、公眾查詢2大類功能;
辦稅服務:提供原國地稅相關的所有辦稅服務功能;
征納互動:提供滿意度調查、納稅人學堂、涉稅查詢、在線訪談、服務投訴、廉政舉報等6項功能;
賬戶中心:提供實名認證信息、我的企業、辦稅人員管理、修改密碼等4項功能。
系統選用市場應用已經非常成熟的基于J2EE的多層分布式應用和基于SOA架構的總體技術路線。這樣的技術路線先天性的就已經保障了系統具備了平臺無關性、可擴展性、先進性等優良指標。
基于J2EE架構的技術路線是在參考了多種體系架構軟件的特性,并結合稅務信息化建設的現狀之后,整個技術方案設計將圍繞選定的技術路線,并以此作為實現的技術基礎。
J2EE架構是當前主流的架構之一,目前大多數企業采用J2EE技術的結構設計與解決方案。J2EE體系結構提供中間層集成框架用來滿足無需太多費用而又需要高可用性、高可靠性以及可擴展性的應用的需求。通過提供統一的開發平臺,J2EE降低了開發多層應用的費用和復雜性,同時提供對現有應用程序集成強有力支持,完全支持Enterprise JavaBeans,有良好的向導支持打包和部署應用,添加目錄支持,增強了安全機制,提高了性能。
J2EE架構具有以下優點:
1. 高效的開發:J2EE允許開發商把一些通用的、很繁瑣的服務端任務交給中間件供應商去完成。這樣開發人員可以集中精力在如何創建商業邏輯上,相應地縮短了開發時間。高級中間件供應商提供了很多成熟的復雜的中間件服務。
2. 狀態管理服務:開發人員只需要寫很少的代碼,而不用關心如何管理狀態,這樣能夠更快地完成程序開發。
3. 持續性服務:開發人員不用對數據訪問邏輯進行編碼就能編寫應用程序,能生成更輕巧,與數據庫無關的應用程序,這種應用程序更易于開發與維護。
4. 分布式共享數據對象CACHE服務:開發人員能夠編制高性能的系統,極大提高整體部署的伸縮性。
5. 支持異構環境:J2EE能夠開發部署在異構環境中的可移植程序。基于J2EE的應用程序不依賴特定操作系統、中間件、硬件。因此設計合理的基于J2EE的程序只需開發一次就可部署到多種平臺。這在典型的異構企業計算環境中是十分關鍵的。J2EE標準也允許客戶訂購與J2EE兼容的第三方的現成的組件,把他們部署到異構環境中,節了由自己制訂整個方案所需的費用。
6. 可擴展性:基于J2EE平臺的應用程序可被部署到多種操作系統上。例如可被部署到高端UNIX與大型機系統,這種系統單機可支持64至256個處理器。J2EE領域的供應商提供了更為廣泛的負載平衡策略。能消除系統中的瓶頸,允許多臺服務器集成部署。這種部署可達數千個處理器,實現可高度伸縮的系統,滿足未來商業應用的需要。
7. 穩定的可用性:一個服務器端平臺必須能全天候運轉以滿足公司客戶、合作伙伴的需要。若是意外停機,那會有災難性后果。J2EE 部署到可靠的操作環境中,他們支持長期的可用性。
J2EE使用多層的分布式應用模型,應用邏輯按功能劃分為組件,各個應用組件根據他們所在的層分布在不同的機器上。傳統的J2EE多層企業級應用模型將兩層化模型中的不同層面切分成許多層。一個多層化應用能夠為不同的每種服務提供一個獨立的層,以下是 J2EE 典型的四層結構:
n 運行在客戶端機器上的客戶層組件
n 運行在J2EE服務器上的Web層組件
n 運行在J2EE服務器上的業務邏輯層組件
n 運行在EIS服務器上的企業信息系統層軟件
基于層次化組件模式的J2EE 平臺把業務邏輯和底層網絡技術分離開來,具有可擴展性、擴展性、易開發性和易維護性,已經成為企業級分布式網絡計算的事實標準。
面向服務的體系架構(SOA)可以讓不同組織的軟件實現無縫銜接,為端到端稅務流程提供支持。 SOA將大量的IT功能或“服務”加以綜合,為業務流程提供支持。 在稅務領域,其服務實例包括進行納稅申報、新客戶稅務代理登記或查看個人稅單。 服務可以進行綜合,因為它們含有介紹服務的元數據和推動服務的數據,從而免除了經常變更源代碼以適應另一系統變化的必要。 此外,SOA對服務和部件的重復使用,不僅可以降低風險,而且還可以使現有應用軟件的投資回報率最大化。
隨著業務模式的轉型,面臨一系列的信息化挑戰。其一是要利用盡量少的IT建設經費,滿足不斷增長的業務對IT的需求,更多的新業務迫切需要IT系統的支持;其二是必須加快IT系統對業務需求的響應速度,加緊IT系統的建設和更新;其三是IT部門的人員資源有限,缺少充足的IT開發、維護人員;其四是必須更快、更好且成本更低地完成IT系統建設。因此,僅靠傳統的IT技術策略和實踐是難以應對這些挑戰的,必須尋求創新的架構思維。
面向服務的架構(SOA)正是這樣一種創新思維。它是一種不局限于任何特定技術或廠商的架構方法,屏蔽了不同平臺、編程語言、操作系統和硬件架構之間的差異,將企業應用系統中的分散功能組合成可互操作的、基于標準的服務,使其能被重新組合和重用,從而快速滿足業務的需求,幫助彌合業務需求與企業IT支持能力之間的鴻溝。從技術角度看,SOA之所以獲得IT業界的青睞,能夠在企業實際應用中獲得成功有兩個最重要的因素:“靈活性”和“與業務緊密相關”。
針對靈活性而言,SOA是第一個考慮了業務發展長期性的IT架構方法。從本質上說,SOA是一組松耦合的服務,每一個服務的建立和替換都是相對便宜的。與傳統的緊耦合架構相比,松耦合架構更能適應業務的變化。在SOA中,應用系統可以用一個服務替換另一個服務,而無須關心其底層的實現技術,唯一要考慮的就是服務接口,而它采用了通用的Web服務和XML標準。靈活性帶來的另一個好處是可以充分利用現有的IT資產,包括國地稅目前已有應用和數據庫等眾多IT系統,新的業務系統可以通過將遺留應用和數據納入SOA基礎架構,而不是替換它們來使其成為整體IT資產的一部分。這種架構最終將使本系統的IT架構能夠更快速、更便宜、更有效地適應業務需求的變化。
第二個重要因素是業務相關。SOA與其他傳統IT架構的最大區別在于它與業務的密切關聯性。它以服務為基本單元來組織IT資源,其中的每一項服務都可以完成實際業務流程中的一項任務。例如,可以把一項服務叫做“更新審核狀態”,它可能包含一系列操作。如此一來,服務立刻與業務發生了密切的關系,業務人員可以參與服務的創建,并且用它們定義新的業務流程,從而實現服務驅動型企業(Service-Driven Enterprise)的目標。由于Web服務屏蔽了底層的技術細節,因此業務人員和IT人員都可以專注于業務邏輯的實現,二者的共同語言就是“服務”。
MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設計典范,用一種業務邏輯、數據、界面顯示分離的方法組織代碼,將業務邏輯聚集到一個部件里面,在改進和個性化定制界面及用戶交互的同時,不需要重新編寫業務邏輯。MVC被獨特的發展起來用于映射傳統的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結構中。
MVC指MVC模式的某種框架,它強制性的使應用程序的輸入、處理和輸出分開。使用MVC應用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務。最典型的MVC就是JSP + servlet + javabean的模式。
視圖是用戶看到并與之交互的界面。對老式的Web應用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術已層出不窮,它們包括Adobe Flash和像XHTML,XML/XSL,WML等一些標識語言和Web services.
MVC好處是它能為應用程序處理很多不同的視圖。在視圖中其實沒有真正的處理發生,不管這些數據是聯機存儲的還是一個雇員列表,作為視圖來講,它只是作為一種輸出數據并允許用戶操縱的方式。
模型表示企業數據和業務規則。在MVC的三個部件中,模型擁有最多的處理任務。例如它可能用像EJBs和ColdFusion Components這樣的構件對象來處理數據庫,被模型返回的數據是中立的,就是說模型與數據格式無關,這樣一個模型能為多個視圖提供數據,由于應用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復性。
控制器接受用戶的輸入并調用模型和視圖去完成用戶的需求,所以當單擊Web頁面中的超鏈接和發送HTML表單時,控制器本身不輸出任何東西和做任何處理。它只是接收請求并決定調用哪個模型構件去處理請求,然后再確定用哪個視圖來顯示返回的數據。
MVC軟件設計優點
1、耦合性低
視圖層和業務層分離,這樣就允許更改視圖層代碼而不用重新編譯模型和控制器代碼,同樣,一個應用的業務流程或者業務規則的改變只需要改動MVC的模型層即可。因為模型與控制器和視圖相分離,所以很容易改變應用程序的數據層和業務規則。
模型是自包含的,并且與控制器和視圖相分離,所以很容易改變應用程序的數據層和業務規則。如果把數據庫從MySQL移植到Oracle,或者改變基于RDBMS數據源到LDAP,只需改變模型即可。一旦正確的實現了模型,不管數據來自數據庫或是LDAP服務器,視圖將會正確的顯示它們。由于運用MVC的應用程序的三個部件是相互獨立,改變其中一個不會影響其它兩個,所以依據這種設計思想能構造良好的松耦合的構件。
2、重用性高
隨著技術的不斷進步,需要用越來越多的方式來訪問應用程序。MVC模式允許使用各種不同樣式的視圖來訪問同一個服務器端的代碼,因為多個視圖能共享一個模型,它包括任何WEB(HTTP)瀏覽器或者無線瀏覽器(wap),比如,用戶可以通過電腦也可通過手機來訂購某樣產品,雖然訂購的方式不一樣,但處理訂購產品的方式是一樣的。由于模型返回的數據沒有進行格式化,所以同樣的構件能被不同的界面使用。例如,很多數據可能用HTML來表示,但是也有可能用WAP來表示,而這些表示所需要的命令是改變視圖層的實現方式,而控制層和模型層無需做任何改變。由于已經將數據和業務規則從表示層分開,所以可以最大化的重用代碼了。模型也有狀態管理和數據持久性處理的功能,例如,基于會話的購物車和電子商務過程也能被Flash網站或者無線聯網的應用程序所重用。
3、生命周期成本低
MVC使開發和維護用戶接口的技術含量降低。
4、部署快
使用MVC模式使開發時間得到相當大的縮減,它使程序員(Java開發人員)集中精力于業務邏輯,界面程序員(HTML和JSP開發人員)集中精力于表現形式上。
5、可維護性高
分離視圖層和業務邏輯層也使得WEB應用更易于維護和修改。
6、有利軟件工程化管理
由于不同的層各司其職,每一層不同的應用具有某些相同的特征,有利于通過工程化、工具化管理程序代碼。控制器也提供了一個好處,就是可以使用控制器來聯接不同的模型和視圖去完成用戶的需求,這樣控制器可以為構造應用程序提供強有力的手段。給定一些可重用的模型和視圖,控制器可以根據用戶的需求選擇模型進行處理,然后選擇視圖將處理結果顯示給用戶。
B/S結構(Browser/Server,瀏覽器/服務器模式),是WEB興起后的一種網絡結構模式,WEB瀏覽器是客戶端最主要的應用軟件。這種模式統一了客戶端,將系統功能實現的核心部分集中到服務器上,簡化了系統的開發、維護和使用。客戶機上只要安裝一個瀏覽器,如Netscape Navigator或Internet Explorer,服務器安裝SQL Server、Oracle、MYSQL等數據庫。瀏覽器通過Web Server 同數據庫進行數據交互。
Browser/Server結構主要是利用了不斷成熟的Web瀏覽器技術:結合瀏覽器的多種腳本語言和ActiveX技術,用通用瀏覽器實現原來需要復雜專用軟件才能實現的強大功能,同時節約了開發成本。
B/S最大的優點就是可以在任何地方進行操作而不用安裝任何專門的軟件,只要有一臺能上網的電腦就能使用,客戶端零安裝、零維護。系統的擴展非常容易。
B/S結構的使用越來越多,特別是由需求推動了AJAX技術的發展,它的程序也能在客戶端電腦上進行部分處理,從而大大的減輕了服務器的負擔;并增加了交互性,能進行局部實時刷新。
1) 架構特點
(1)維護和升級方式簡單。當前,軟件系統的改進和升級越發頻繁,B/S架構的產品明顯體現著更為方便的特性。對一個稍微大一點單位來說,系統管理人員如果需要在幾百甚至上千部電腦之間來回奔跑,效率和工作量是可想而知的,但B/S架構的軟件只需要管理服務器就行了,所有的客戶端只是瀏覽器,根本不需要做任何的維護。無論用戶的規模有多大,有多少分支機構都不會增加任何維護升級的工作量,所有的操作只需要針對服務器進行;如果是異地,只需要把服務器連接專網即可,實現遠程維護、升級和共享。所以客戶機越來越“瘦”,而服務器越來越“胖”是將來信息化發展的主流方向。今后,軟件升級和維護會越來越容易,而使用起來會越來越簡單,這對用戶人力、物力、時間、費用的節是顯而易見的,驚人的。因此,維護和升級革命的方式是“瘦”客戶機,“胖”服務器。
(2)成本降低,選擇更多。大家都知道windows在桌面電腦上幾乎一統天下,瀏覽器成為了標準配置,但在服務器操作系統上windows并不是處于絕對的統治地位。 當前的趨勢是凡使用B/S架構的應用管理軟件,只需安裝在Linux服務器上即可,而且安全性高。所以服務器操作系統的選擇是很多的,不管選用哪種操作系統都可以讓大部分人使用windows作為桌面電腦操作系統不受影響,這就使得最流行免費的Linux操作系統快速發展起來,Linux除了操作系統是免費的以外,連數據庫也是免費的,這種選擇非常盛行。
比如說很多人每天上“新浪”網,只要安裝了瀏覽器就可以了,并不需要了解“新浪”的服務器用的是什么操作系統,而事實上大部分網站確實沒有使用windows操作系統,但用戶的電腦本身安裝的大部分是windows操作系統。
(3)應用服務器運行數據負荷較重。由于B/S架構管理軟件只安裝在服務器端(Server)上,網絡管理人員只需要管理服務器就行了,用戶界面主要事務邏輯在服務器(Server)端完全通過WWW瀏覽器實現,極少部分事務邏輯在前端(Browser)實現,所有的客戶端只有瀏覽器,網絡管理人員只需要做硬件維護。但是,應用服務器運行數據負荷較重,一旦發生服務器“崩潰”等問題,后果不堪設想。因此,許多單位都備有數據庫存儲服務器,以防萬一。
2) 與C/S的區別
1.硬件環境不同:
C/S 一般建立在專用的網絡上,小范圍里的網絡環境,局域網之間再通過專門服務器提供連接和數據交換服務。
B/S 建立在廣域網之上的,不必是專門的網絡硬件環境,例如電話上網,租用設備. 信息自己管理. 有比C/S更強的適應范圍,一般只要有操作系統和瀏覽器就行。
網上辦稅服務平臺是為企業及社會公眾提供網上辦稅服務的操作平臺。系統通過對接稅務系統相關接口,實現辦稅桌面、涉稅查詢、辦稅服務、征納互動、用戶中心等5大類80多項功能,讓企業能夠一站式完成所有的稅務業務辦理。
win7系統及以上版本的操作系統,IE版本要求IE8及以上版本,瀏覽器兼容IE瀏覽器、360安全瀏覽器、chrome瀏覽器等主流瀏覽器。
辦稅桌面:提供申報代辦、文書代辦、提醒、通知等4類消息服務;
涉稅查詢:提供一戶式查詢、公眾查詢2大類功能;
辦稅服務:提供原國地稅相關的所有辦稅服務功能;
征納互動:提供滿意度調查、納稅人學堂、涉稅查詢、在線訪談、服務投訴、廉政舉報等6項功能;
賬戶中心:提供實名認證信息、我的企業、辦稅人員管理、修改密碼等4項功能。
系統選用市場應用已經非常成熟的基于J2EE的多層分布式應用和基于SOA架構的總體技術路線。這樣的技術路線先天性的就已經保障了系統具備了平臺無關性、可擴展性、先進性等優良指標。
基于J2EE架構的技術路線是在參考了多種體系架構軟件的特性,并結合稅務信息化建設的現狀之后,整個技術方案設計將圍繞選定的技術路線,并以此作為實現的技術基礎。
J2EE架構是當前主流的架構之一,目前大多數企業采用J2EE技術的結構設計與解決方案。J2EE體系結構提供中間層集成框架用來滿足無需太多費用而又需要高可用性、高可靠性以及可擴展性的應用的需求。通過提供統一的開發平臺,J2EE降低了開發多層應用的費用和復雜性,同時提供對現有應用程序集成強有力支持,完全支持Enterprise JavaBeans,有良好的向導支持打包和部署應用,添加目錄支持,增強了安全機制,提高了性能。
J2EE架構具有以下優點:
1. 高效的開發:J2EE允許開發商把一些通用的、很繁瑣的服務端任務交給中間件供應商去完成。這樣開發人員可以集中精力在如何創建商業邏輯上,相應地縮短了開發時間。高級中間件供應商提供了很多成熟的復雜的中間件服務。
2. 狀態管理服務:開發人員只需要寫很少的代碼,而不用關心如何管理狀態,這樣能夠更快地完成程序開發。
3. 持續性服務:開發人員不用對數據訪問邏輯進行編碼就能編寫應用程序,能生成更輕巧,與數據庫無關的應用程序,這種應用程序更易于開發與維護。
4. 分布式共享數據對象CACHE服務:開發人員能夠編制高性能的系統,極大提高整體部署的伸縮性。
5. 支持異構環境:J2EE能夠開發部署在異構環境中的可移植程序。基于J2EE的應用程序不依賴特定操作系統、中間件、硬件。因此設計合理的基于J2EE的程序只需開發一次就可部署到多種平臺。這在典型的異構企業計算環境中是十分關鍵的。J2EE標準也允許客戶訂購與J2EE兼容的第三方的現成的組件,把他們部署到異構環境中,節了由自己制訂整個方案所需的費用。
6. 可擴展性:基于J2EE平臺的應用程序可被部署到多種操作系統上。例如可被部署到高端UNIX與大型機系統,這種系統單機可支持64至256個處理器。J2EE領域的供應商提供了更為廣泛的負載平衡策略。能消除系統中的瓶頸,允許多臺服務器集成部署。這種部署可達數千個處理器,實現可高度伸縮的系統,滿足未來商業應用的需要。
7. 穩定的可用性:一個服務器端平臺必須能全天候運轉以滿足公司客戶、合作伙伴的需要。若是意外停機,那會有災難性后果。J2EE 部署到可靠的操作環境中,他們支持長期的可用性。
J2EE使用多層的分布式應用模型,應用邏輯按功能劃分為組件,各個應用組件根據他們所在的層分布在不同的機器上。傳統的J2EE多層企業級應用模型將兩層化模型中的不同層面切分成許多層。一個多層化應用能夠為不同的每種服務提供一個獨立的層,以下是 J2EE 典型的四層結構:
n 運行在客戶端機器上的客戶層組件
n 運行在J2EE服務器上的Web層組件
n 運行在J2EE服務器上的業務邏輯層組件
n 運行在EIS服務器上的企業信息系統層軟件
基于層次化組件模式的J2EE 平臺把業務邏輯和底層網絡技術分離開來,具有可擴展性、擴展性、易開發性和易維護性,已經成為企業級分布式網絡計算的事實標準。
面向服務的體系架構(SOA)可以讓不同組織的軟件實現無縫銜接,為端到端稅務流程提供支持。 SOA將大量的IT功能或“服務”加以綜合,為業務流程提供支持。 在稅務領域,其服務實例包括進行納稅申報、新客戶稅務代理登記或查看個人稅單。 服務可以進行綜合,因為它們含有介紹服務的元數據和推動服務的數據,從而免除了經常變更源代碼以適應另一系統變化的必要。 此外,SOA對服務和部件的重復使用,不僅可以降低風險,而且還可以使現有應用軟件的投資回報率最大化。
隨著業務模式的轉型,面臨一系列的信息化挑戰。其一是要利用盡量少的IT建設經費,滿足不斷增長的業務對IT的需求,更多的新業務迫切需要IT系統的支持;其二是必須加快IT系統對業務需求的響應速度,加緊IT系統的建設和更新;其三是IT部門的人員資源有限,缺少充足的IT開發、維護人員;其四是必須更快、更好且成本更低地完成IT系統建設。因此,僅靠傳統的IT技術策略和實踐是難以應對這些挑戰的,必須尋求創新的架構思維。
面向服務的架構(SOA)正是這樣一種創新思維。它是一種不局限于任何特定技術或廠商的架構方法,屏蔽了不同平臺、編程語言、操作系統和硬件架構之間的差異,將企業應用系統中的分散功能組合成可互操作的、基于標準的服務,使其能被重新組合和重用,從而快速滿足業務的需求,幫助彌合業務需求與企業IT支持能力之間的鴻溝。從技術角度看,SOA之所以獲得IT業界的青睞,能夠在企業實際應用中獲得成功有兩個最重要的因素:“靈活性”和“與業務緊密相關”。
針對靈活性而言,SOA是第一個考慮了業務發展長期性的IT架構方法。從本質上說,SOA是一組松耦合的服務,每一個服務的建立和替換都是相對便宜的。與傳統的緊耦合架構相比,松耦合架構更能適應業務的變化。在SOA中,應用系統可以用一個服務替換另一個服務,而無須關心其底層的實現技術,唯一要考慮的就是服務接口,而它采用了通用的Web服務和XML標準。靈活性帶來的另一個好處是可以充分利用現有的IT資產,包括國地稅目前已有應用和數據庫等眾多IT系統,新的業務系統可以通過將遺留應用和數據納入SOA基礎架構,而不是替換它們來使其成為整體IT資產的一部分。這種架構最終將使本系統的IT架構能夠更快速、更便宜、更有效地適應業務需求的變化。
第二個重要因素是業務相關。SOA與其他傳統IT架構的最大區別在于它與業務的密切關聯性。它以服務為基本單元來組織IT資源,其中的每一項服務都可以完成實際業務流程中的一項任務。例如,可以把一項服務叫做“更新審核狀態”,它可能包含一系列操作。如此一來,服務立刻與業務發生了密切的關系,業務人員可以參與服務的創建,并且用它們定義新的業務流程,從而實現服務驅動型企業(Service-Driven Enterprise)的目標。由于Web服務屏蔽了底層的技術細節,因此業務人員和IT人員都可以專注于業務邏輯的實現,二者的共同語言就是“服務”。
MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設計典范,用一種業務邏輯、數據、界面顯示分離的方法組織代碼,將業務邏輯聚集到一個部件里面,在改進和個性化定制界面及用戶交互的同時,不需要重新編寫業務邏輯。MVC被獨特的發展起來用于映射傳統的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結構中。
MVC指MVC模式的某種框架,它強制性的使應用程序的輸入、處理和輸出分開。使用MVC應用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務。最典型的MVC就是JSP + servlet + javabean的模式。
視圖是用戶看到并與之交互的界面。對老式的Web應用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應用程序中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術已層出不窮,它們包括Adobe Flash和像XHTML,XML/XSL,WML等一些標識語言和Web services.
MVC好處是它能為應用程序處理很多不同的視圖。在視圖中其實沒有真正的處理發生,不管這些數據是聯機存儲的還是一個雇員列表,作為視圖來講,它只是作為一種輸出數據并允許用戶操縱的方式。
模型表示企業數據和業務規則。在MVC的三個部件中,模型擁有最多的處理任務。例如它可能用像EJBs和ColdFusion Components這樣的構件對象來處理數據庫,被模型返回的數據是中立的,就是說模型與數據格式無關,這樣一個模型能為多個視圖提供數據,由于應用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復性。
控制器接受用戶的輸入并調用模型和視圖去完成用戶的需求,所以當單擊Web頁面中的超鏈接和發送HTML表單時,控制器本身不輸出任何東西和做任何處理。它只是接收請求并決定調用哪個模型構件去處理請求,然后再確定用哪個視圖來顯示返回的數據。
MVC軟件設計優點
1、耦合性低
視圖層和業務層分離,這樣就允許更改視圖層代碼而不用重新編譯模型和控制器代碼,同樣,一個應用的業務流程或者業務規則的改變只需要改動MVC的模型層即可。因為模型與控制器和視圖相分離,所以很容易改變應用程序的數據層和業務規則。
模型是自包含的,并且與控制器和視圖相分離,所以很容易改變應用程序的數據層和業務規則。如果把數據庫從MySQL移植到Oracle,或者改變基于RDBMS數據源到LDAP,只需改變模型即可。一旦正確的實現了模型,不管數據來自數據庫或是LDAP服務器,視圖將會正確的顯示它們。由于運用MVC的應用程序的三個部件是相互獨立,改變其中一個不會影響其它兩個,所以依據這種設計思想能構造良好的松耦合的構件。
2、重用性高
隨著技術的不斷進步,需要用越來越多的方式來訪問應用程序。MVC模式允許使用各種不同樣式的視圖來訪問同一個服務器端的代碼,因為多個視圖能共享一個模型,它包括任何WEB(HTTP)瀏覽器或者無線瀏覽器(wap),比如,用戶可以通過電腦也可通過手機來訂購某樣產品,雖然訂購的方式不一樣,但處理訂購產品的方式是一樣的。由于模型返回的數據沒有進行格式化,所以同樣的構件能被不同的界面使用。例如,很多數據可能用HTML來表示,但是也有可能用WAP來表示,而這些表示所需要的命令是改變視圖層的實現方式,而控制層和模型層無需做任何改變。由于已經將數據和業務規則從表示層分開,所以可以最大化的重用代碼了。模型也有狀態管理和數據持久性處理的功能,例如,基于會話的購物車和電子商務過程也能被Flash網站或者無線聯網的應用程序所重用。
3、生命周期成本低
MVC使開發和維護用戶接口的技術含量降低。
4、部署快
使用MVC模式使開發時間得到相當大的縮減,它使程序員(Java開發人員)集中精力于業務邏輯,界面程序員(HTML和JSP開發人員)集中精力于表現形式上。
5、可維護性高
分離視圖層和業務邏輯層也使得WEB應用更易于維護和修改。
6、有利軟件工程化管理
由于不同的層各司其職,每一層不同的應用具有某些相同的特征,有利于通過工程化、工具化管理程序代碼。控制器也提供了一個好處,就是可以使用控制器來聯接不同的模型和視圖去完成用戶的需求,這樣控制器可以為構造應用程序提供強有力的手段。給定一些可重用的模型和視圖,控制器可以根據用戶的需求選擇模型進行處理,然后選擇視圖將處理結果顯示給用戶。
B/S結構(Browser/Server,瀏覽器/服務器模式),是WEB興起后的一種網絡結構模式,WEB瀏覽器是客戶端最主要的應用軟件。這種模式統一了客戶端,將系統功能實現的核心部分集中到服務器上,簡化了系統的開發、維護和使用。客戶機上只要安裝一個瀏覽器,如Netscape Navigator或Internet Explorer,服務器安裝SQL Server、Oracle、MYSQL等數據庫。瀏覽器通過Web Server 同數據庫進行數據交互。
Browser/Server結構主要是利用了不斷成熟的Web瀏覽器技術:結合瀏覽器的多種腳本語言和ActiveX技術,用通用瀏覽器實現原來需要復雜專用軟件才能實現的強大功能,同時節約了開發成本。
B/S最大的優點就是可以在任何地方進行操作而不用安裝任何專門的軟件,只要有一臺能上網的電腦就能使用,客戶端零安裝、零維護。系統的擴展非常容易。
B/S結構的使用越來越多,特別是由需求推動了AJAX技術的發展,它的程序也能在客戶端電腦上進行部分處理,從而大大的減輕了服務器的負擔;并增加了交互性,能進行局部實時刷新。
1) 架構特點
(1)維護和升級方式簡單。當前,軟件系統的改進和升級越發頻繁,B/S架構的產品明顯體現著更為方便的特性。對一個稍微大一點單位來說,系統管理人員如果需要在幾百甚至上千部電腦之間來回奔跑,效率和工作量是可想而知的,但B/S架構的軟件只需要管理服務器就行了,所有的客戶端只是瀏覽器,根本不需要做任何的維護。無論用戶的規模有多大,有多少分支機構都不會增加任何維護升級的工作量,所有的操作只需要針對服務器進行;如果是異地,只需要把服務器連接專網即可,實現遠程維護、升級和共享。所以客戶機越來越“瘦”,而服務器越來越“胖”是將來信息化發展的主流方向。今后,軟件升級和維護會越來越容易,而使用起來會越來越簡單,這對用戶人力、物力、時間、費用的節是顯而易見的,驚人的。因此,維護和升級革命的方式是“瘦”客戶機,“胖”服務器。
(2)成本降低,選擇更多。大家都知道windows在桌面電腦上幾乎一統天下,瀏覽器成為了標準配置,但在服務器操作系統上windows并不是處于絕對的統治地位。 當前的趨勢是凡使用B/S架構的應用管理軟件,只需安裝在Linux服務器上即可,而且安全性高。所以服務器操作系統的選擇是很多的,不管選用哪種操作系統都可以讓大部分人使用windows作為桌面電腦操作系統不受影響,這就使得最流行免費的Linux操作系統快速發展起來,Linux除了操作系統是免費的以外,連數據庫也是免費的,這種選擇非常盛行。
比如說很多人每天上“新浪”網,只要安裝了瀏覽器就可以了,并不需要了解“新浪”的服務器用的是什么操作系統,而事實上大部分網站確實沒有使用windows操作系統,但用戶的電腦本身安裝的大部分是windows操作系統。
(3)應用服務器運行數據負荷較重。由于B/S架構管理軟件只安裝在服務器端(Server)上,網絡管理人員只需要管理服務器就行了,用戶界面主要事務邏輯在服務器(Server)端完全通過WWW瀏覽器實現,極少部分事務邏輯在前端(Browser)實現,所有的客戶端只有瀏覽器,網絡管理人員只需要做硬件維護。但是,應用服務器運行數據負荷較重,一旦發生服務器“崩潰”等問題,后果不堪設想。因此,許多單位都備有數據庫存儲服務器,以防萬一。
2) 與C/S的區別
1.硬件環境不同:
C/S 一般建立在專用的網絡上,小范圍里的網絡環境,局域網之間再通過專門服務器提供連接和數據交換服務。
B/S 建立在廣域網之上的,不必是專門的網絡硬件環境,例如電話上網,租用設備. 信息自己管理. 有比C/S更強的適應范圍,一般只要有操作系統和瀏覽器就行。
版權所有?杭州倔強科技有限公司
浙ICP備20010181號 sitemap
135-8739-0800
35582673
juejg@juejg.com
地圖導航