前言
屈指一数,涉足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的一切 : 工具, 类库, 框架