前言
屈指一數,涉足web應用的開發都有三四年的日子了,從最初的一些類似于word文檔的網頁編寫,到現在一些MIS(manage information System)應用系統的開發。當中的確經歷許多,早已準備寫點文字總結些東西,最終還是拖到現在才打起精神來細寫。
何為web應用
web應用是指基于瀏覽器(browser)的應用,用戶使用用簡單的瀏覽工具(常用的如IE)。
通過http協議, 發出請求(request),服務器接收作出響應(response),返回請求需要結果或是進行相關的目標操作,這種架構也可以稱為B/S架構( Brower/Server 模式)。
本人懂事之年正遇上internet盛行之際,因此非科班出身的我也進入了IT軟件開發的行業,這多得于當時3p(asp,php,jsp)技術的入門門檻不高,以及自己一直以來的興趣所在。
web應用的優勢所在
web應用系統使用客戶端采用的是瀏覽器, 基本上每一臺PC機都會有的大眾軟件,免去類似于C/S系統中的升級麻煩的問題。
應用服務器采用 Web 服務器。只要在一臺或若干臺服務器即可,對客戶端信賴十分少。
適合于一些分布式的應用。對網絡用戶跨平臺支持,可跨平臺共享數據、文本、以及一些多媒體文件等多種形式的信息。
web 應用分類
關于web應用的開發實在太廣泛,在這里以靜態web應用以及動態web應用劃分
A 按效果分
這里的靜態是指純粹的html(超文本標記語言)頁面,或許現在這種web的應用可能不再存在,這里只作一個分類說明;
而動態是增加了一些dhtml(動態html),javascript等腳本語言技術以及flash動畫技術,其實可以這樣定義,就算增加的是一些動畫效果的GIF圖片以使頁面不再給人靜的感覺也屬于這里的范疇。
B 按內容分
按內容分靜態web應用以及動態web應用
這里的靜態應用是指頁面所展示的內容是hardcode在頁面中的,不可再變化(通俗點來講是寫死在頁面中),除非從服務器download下來修改再upload上去。主要適合一些簡單的應用,以及一些固定內容的展示。
現網絡上不少公司企業網站屬于這一類,主要是其開發簡單快捷,以及國人對于這方面的應用峽窄所至。
而動態是指頁面中顯示的關鍵內容是保存在數據庫中的(簡單的應用或許保存在文本文件中,例如bat,txt等),授權用戶通過交互操作動態新增,修改,刪除相關的內容或紀錄。通過控件輸入相關信息而動態地請求出所需要的內容。以達到真正的人機互動。是過去幾年來最受歡迎的應用,當然也少不了asp,php,jsp服務器語言技術的成熟與發展的一份功勞!
技術要點
通過以上的介紹,我們已接觸到相關的技術點,但是它們是散亂的以及不全的。
在這里我通過使用java 世界中講得比較流行的的MVC模式 來進行層次劃分說明一下可使大家了解其中的技術點更為清晰:
V (view) - 表現層
負責頁面的展示,提供用戶操作的界面。這里包含的細節主要是
頁面的導航(navigation)
UI 控件( UI component)
數據的有效性檢測( Validator)
事件及監聽 (Events and listeners )
信息的返回(Messages)
…………等
這方面的技術點主要包括展示語言html,xhtml,css,xml,xslt,script語言,RIA方面的(FLEX,XUL, XAML),jsp,jstl,tab lib,strtus等等。
C (controll) - 控制層
1、負責接受客戶端的請求,調用Model層商業方法
2、接收DAO執行商業方法的執行結果,將其現給客戶端。
這方面的技術點主要包括:java world中的 spring,strtus框架提供了這方面的封裝支持等
M (model) - 業務層
主要負責商業邏輯,所以也叫商業邏輯層,包括簡單的CURD的操作,以及一此復雜的邏輯。
應用領域
1、一般網站應用,主要面向的所有瀏覽用戶或注冊用戶
包括一些門市網站,企業(產品)形象的展示,電子商務站點等
2、 企業信息化應用,主要面向的企業內部員工以及管理層
包括一些日常辦公,生產,管理信息化的操作平臺。典型的有
|
英文簡稱 |
中文 |
|
OA |
協同辦公 |
|
CMS |
內容管理系統 |
|
CRM |
客戶關系管理
|
|
SCM |
供應鏈管理
|
|
|
財務系統 |
|
|
生產管理 |
|
|
人力資源管理
|
|
KM |
知識管理 |
技術表格
sort |
common |
java world |
view 層 |
HTML,XML,XHTML, CSS, script語言,xmlhttp, htc, RIA(FLEX,XUL,XAML) graphic deign 動畫技術 …… |
jstl,tag lib,strtus,jsf,Tapestry,webwork…… |
controller 層 |
|
strtus,spring |
model層 |
|
transactions ,java |
數據庫技術 |
標準sql,db,dba,特定sql,pl/sql |
jdbc,ORM(hibernate,ibatis)等 |
web Containers |
|
tomcat,weblogic,Webspace ,jboss,Resin |
Security |
|
|
os |
window,linux |
|
browser |
IE,firefox |
|
EAI(企業應用整合) |
|
Web Service, Portal …… |
其它 |
Design Pattern,算法,優化技巧 |
|
后注
帖些學習資料,主要針對java平臺開發
1、Struts User and Developer Guides 分類得不錯,step by step 對MVC各層的知識點也提供了介紹以及學習資源
2、All About Java 關于Java的一切 : 工具, 類庫, 框架