企業Web應用以誰為中心:服務器?瀏覽器?

作者: liujunsong  來源: 博客園  發布時間: 2009-08-19 11:20  閱讀: 1779 次  推薦: 0   原文鏈接   [收藏]  

企業Web應用以誰為中心:服務器?瀏覽器?
前言
企業Web應用,指的是企業內部使用B/S架構搭建的企業信息系統,用戶一般局限在企業內部,為了適應企業某個業務流程而設計開發使用的系統。
出于跨地域部署升級的考慮,一般采用B/S模式進行開發,避免在每個客戶端安裝配置的麻煩。
一般情況下,前臺瀏覽器特指IE瀏覽器,前臺操作系統選擇Windows操作系統。
非Windows操作系統的客戶機與非IE的瀏覽器不在本文討論范圍之內。
本文主要討論以J2ee架構為基礎的Web應用,其他架構的暫不討論。

在這種情況下,數據存儲在數據庫上,一般沒有多大疑問。而附件文件一般存放在Web服務器上,也沒有太大疑問。
最主要的問題是:整個應用應該是以瀏覽器為中心,還是以服務器為中心?

在J2ee出現的早期,這一問題是不存在的,當時的瀏覽器,基本上可以看成是互聯網時代的終端機。當時的計算模式,是完全基于后臺服務器的計算。
B/S的歷史發展沿革
計算時代劃分 瀏覽器 服務器 總結
史前時代/靜態頁面的時代 僅支持Html,只能顯示文本和圖片 靜態文件存儲;
靜態時代,沒有動態內容
史前時代/CGI動態頁面時代 僅支持Html 利用CGI方式動態生成一個HTML文件給瀏覽器 動態時代,動態信息由后臺服務器計算產生,與前臺無關
Java Applet
ActiveX控件時代 瀏覽器里面可以嵌入其他應用程序來顯示動態內容
JavaScript出現 瀏覽器第一次擁有了計算能力,把計算資源從服務器上解放了出來
J2EE時代
應用服務器時代 Applet被廢棄
Javascript開始發展 后臺采用J2EE架構,JSP等多種方式生成動態頁面 J2EE架構把系統的重心牢牢地綁定在后臺的應用服務器上
后J2EE時代
開源運動時代 Javascript開始大發展,Ajax出現 J2EE開始走向沒落,為彌補其缺陷,開源框架出現。
SSH大行其道 應用服務器不堪重負,輕量級別的框架開始出現作為替代品。
客戶端王者歸來
Ajax時代 Ajax風靡一時
Javascript框架大量出現。
Flex/SL/ExtJs各行其道 服務器端處于停滯狀態,JSF曇花一現 后臺的問題已經基本解決,現在關注的重點又轉向前臺,解決用戶界面和友好性問題。
未來
自定義瀏覽器時代 瀏覽器中的瀏覽器
Flex大發展
SL大發展
自定義ActiveX 大發展
JavaScript逐漸衰退 服務器進一步弱化,弱化為為前臺提供必要服務,應用中心轉移 通過Ajax技術,利用DWR等工具。
瀏覽器終于把握了應用的全面主動權。
從整體上來看,整個應用架構的發展,體現了從理想的B/S架構到C/S架構的回歸過程。
計算模式歷史


初步結論
核心問題在與瀏覽器和服務器的合理分工。
把所有問題壓在瀏覽器或者都壓在服務器并不合適。
新模式技術架構
按照上面的演化過程,可以提出一種全新的,以瀏覽器為中心的技術架構模式。
序號 通用功能 瀏覽器功能 服務器功能 備注
1 用戶界面渲染 渲染Html為標準用戶界面;
可能內嵌一個自定義的界面渲染工具;
以純靜態HTML頁面為主
少數以JSP形式提供,動態生成 以瀏覽器為主,服務器為輔助功能。
訪問采用標準HTTP協議進行
2 動態數據訪問
(數據庫讀取/存儲) 調用后臺功能接口,得到標準格式的數據包信息;
并對這些數據進行渲染 提供標準訪問接口,供瀏覽器進行調用 前臺發送調用要求,后臺響應返回結果。
調用方式可采用DWR模式進行
3 界面跳轉 瀏覽器根據本身狀態變化主動跳轉 存儲頁面跳轉規則,將此規則以標準方式發送給瀏覽器
4 SQL生成 可以在瀏覽器生成 可以在服務器生成 兩面都可生成,后臺生成SQL,前臺可以看到
5 業務邏輯 可以在瀏覽器實現 可以在服務器實現 如果在后臺實現,前臺通過Ajax或者DWR方式調用
6 開發語言工具 JavaScript
ExtJs
ActiveX控件
COM調用 Pure Java開發
SSH等開源框架
EasyCare開發平臺 根據需要選擇
7 核心問題 數據交換規范 數據交換規范 數據交換的標準化是系統框架的核心問題



新模式技術范圍
序號 運行點 所使用技術 說明
1 數據庫服務器 SQL
Oracle 標準SQL語句在服務器端編程開發,創建,維護數據表
2 應用服務器 Java
Servlet
JSP 采用標準Java語言,在應用服務器上編寫Servlet,對外提供標準服務
3 瀏覽器 HTML
CSS 標準的HTML,CSS樣式來實現渲染,此功能要弱化
4 瀏覽器 JavaScript
ExtJS JavaScript調用Extjs等來實現數據處理,動態界面內容的渲染
5 瀏覽器 ActiveX
Flex 采用插件形式來實現對界面動態數據的界面渲染
6 瀏覽器 JavaScript
Ajax
DWR 通過DWR等Ajax技術實現前后臺的功能調用,后臺提供數據,前臺負責對返回數據的動態界面渲染

新模式下人員分工
序號 角色 技術特長 說明 技術難度
1 項目經理 負責項目進度管理 中級
2 架構師 ALL 確定系統技術架構,明確那些技術可用于此項目,如何使用此技術 中級
3 DBA 數據庫管理 數據庫規范設計,編寫數據字典 中級
4 后臺服務開發 Java
Servlet
JSP 利用Java語言,編寫后臺的通用服務功能,編寫前后臺的標準數據訪問規范 高級
5 前臺界面開發人員 JavaScript
DWR 利用JavaScript,調用后臺提供服務,編寫前臺的顯示界面,主要語言為JavaScript,可能嵌入其他ActiveX控件,JS控件 初級
6 前臺控件開發人員 JavaScript
ExtJS
ActiveX
VB,VC 利用JavaScript, VB, VC等工具,編寫前臺通用的頁面級別的控件。
這一控件專注于對數據顯示的界面渲染以及對數據的處理過程,但此過程不涉及與后臺的數據信息交互。 高級
7 項目秘書 Word 編寫各種文檔,將原始文檔歸檔,格式化。 初級

0
0
 
 
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()