﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-&lt;h1&gt;efa's blog&lt;/h1&gt;-文章分类-Design &amp;Thinking </title><link>http://www.blogjava.net/davidxu/category/1850.html</link><description>以用户角度出发,你就已经成功一半了.</description><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 00:22:27 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 00:22:27 GMT</pubDate><ttl>60</ttl><item><title>[Design &amp;Thinking ]基于WEB应用的开发的个人总结 </title><link>http://www.blogjava.net/davidxu/articles/6787.html</link><dc:creator>一凡@ITO</dc:creator><author>一凡@ITO</author><pubDate>Mon, 27 Jun 2005 14:01:00 GMT</pubDate><guid>http://www.blogjava.net/davidxu/articles/6787.html</guid><wfw:comment>http://www.blogjava.net/davidxu/comments/6787.html</wfw:comment><comments>http://www.blogjava.net/davidxu/articles/6787.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/davidxu/comments/commentRss/6787.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/davidxu/services/trackbacks/6787.html</trackback:ping><description><![CDATA[<P><STRONG>前言<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </STRONG>屈指一数，涉足web应用的开发都有三四年的日子了，从最初的一些类似于word文档的网页编写,到现在一些MIS(manage information System)应用系统的开发。当中的确经历许多，早已准备写点文字总结些东西，最终还是拖到现在才打起精神来细写。</P>
<P><STRONG>何为web应用<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </STRONG><STRONG>&nbsp;</STRONG>web应用是指基于浏览器（<FONT color=#ff0000>browser</FONT>）的应用，用户使用用简单的<FONT color=#ff0000>浏览工具(</FONT>常用的如IE)。<BR>通过<FONT color=#ff0000>http协议</FONT>， 发出请求(<FONT color=#ff0000>request</FONT>)，服务器接收作出响应(<FONT color=#ff0000>response</FONT>)，返回请求需要结果或是进行相关的目标操作，这种架构也可以称为B/S架构（ Brower/Server 模式）。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 本人懂事之年正遇上internet盛行之际,因此非科班出身的我也进入了IT软件开发的行业，这多得于当时3p（<FONT color=#ff0000>asp,php,jsp</FONT>）技术的入门门槛不高，以及自己一直以来的兴趣所在。</P>
<P><BR><STRONG>web应用的优势所在</STRONG><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; web应用系统使用客户端采用的是浏览器，&nbsp;基本上每一台PC机都会有的大众软件，免去类似于C/S系统中的升级麻烦的问题。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 应用服务器采用 Web 服务器。只要在一台或若干台服务器即可，对客户端信赖十分少。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 适合于一些分布式的应用。对网络用户跨平台支持，可跨平台共享数据、文本、以及一些多媒体文件等多种形式的信息。</P>
<P><BR><STRONG>web 应用分类</STRONG><BR>&nbsp;&nbsp;&nbsp; 关于web应用的开发实在太广泛，在这里以静态web应用以及动态web应用划分<BR>&nbsp;&nbsp;&nbsp; <STRONG>&nbsp;A&nbsp; 按效果分<BR></STRONG>&nbsp;&nbsp;&nbsp;&nbsp; 这里的静态是指纯粹的<FONT color=#ff0000>html</FONT>(超文本标记语言)页面,或许现在这种web的应用可能不再存在，这里只作一个分类说明;<BR>&nbsp;&nbsp;&nbsp; 而动态是增加了一些<FONT color=#ff0000>dhtml</FONT>(动态html)，<FONT color=#ff0000>javascript等脚本语言</FONT>技术以及<FONT color=#ff0000>flash动画技术</FONT>,其实可以这样定义，就算增加的是一些动画效果的<FONT color=#ff0000>GIF图片</FONT>以使页面不再给人静的感觉也属于这里的范畴。<BR>&nbsp;&nbsp;&nbsp; <STRONG>B&nbsp; 按内容分</STRONG><BR>&nbsp;&nbsp;&nbsp;&nbsp; 按内容分静态web应用以及动态web应用<BR>&nbsp;&nbsp;&nbsp;&nbsp; 这里的静态应用是指页面所展示的内容是hardcode在页面中的，不可再变化（通俗点来讲是写死在页面中），除非从服务器download下来修改再upload上去。主要适合一些简单的应用，以及一些固定内容的展示。<BR>&nbsp;&nbsp;&nbsp;&nbsp; 现网络上不少公司企业网站属于这一类，主要是其开发简单快捷，以及国人对于这方面的应用峡窄所至。<BR>&nbsp;&nbsp;&nbsp;&nbsp; 而动态是指页面中显示的关键内容是保存在<FONT color=#ff0000>数据库</FONT>中的（简单的应用或许保存在文本文件中,例如bat，txt等）,授权用户通过交互操作动态新增，修改，删除相关的内容或纪录。通过控件输入相关信息而动态地请求出所需要的内容。以达到真正的人机互动。是过去几年来最受欢迎的应用，当然也少不了asp,php,jsp服务器语言技术的成熟与发展的一份功劳!</P>
<P><BR><STRONG>技术要点</STRONG><BR>&nbsp;&nbsp;&nbsp;&nbsp; 通过以上的介绍，我们已接触到相关的技术点，但是它们是散乱的以及不全的。<BR>&nbsp;&nbsp;&nbsp;&nbsp; 在这里我通过使用java 世界中讲得比较流行的的MVC模式 来进行层次划分说明一下可使大家了解其中的技术点更为清晰:<BR>&nbsp;&nbsp;&nbsp;&nbsp; <STRONG>V (view) - 表现层<BR></STRONG>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 负责页面的展示，提供用户操作的界面。这里包含的细节主要是<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;页面的导航（navigation）&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UI 控件（ UI component）&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;数据的有效性检测（ Validator）<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;事件及监听&nbsp;（Events and listeners ）<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 信息的返回（Messages）&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; …………等<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这方面的技术点主要包括展示语言html，xhtml,css,xml,xslt,script语言,RIA方面的(FLEX,XUL, XAML)，jsp,jstl,tab lib,strtus等等。 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<STRONG> C (controll) - 控制层<BR></STRONG>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1、负责接受客户端的请求，调用Model层商业方法<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2、接收DAO执行商业方法的执行结果，将其现给客户端。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这方面的技术点主要包括：java world中的&nbsp;<FONT color=#ff0000>spring</FONT>,<FONT color=#ff0000>strtus</FONT>框架提供了这方面的封装支持等<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <STRONG>M (model) - 业务层<BR></STRONG>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 主要负责商业逻辑，所以也叫商业逻辑层，包括简单的<FONT color=#ff0000>CURD</FONT>的操作，以及一此复杂的逻辑。</P>
<P><BR><STRONG>应用领域</STRONG><BR>&nbsp;&nbsp;&nbsp; 1、<STRONG>一般网站应用</STRONG>,主要面向的所有浏览用户或注册用户<BR>&nbsp;&nbsp;&nbsp; 包括一些门市网站，企业（产品）形象的展示,电子商务站点等&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; 2、&nbsp; <STRONG>企业信息化应用</STRONG>,主要面向的企业内部员工以及管理层<BR>&nbsp;&nbsp;&nbsp;&nbsp; 包括一些日常办公，生产，管理信息化的操作平台。典型的有&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P>
<TABLE height=100 cellSpacing=0 cellPadding=0 width=400 border=1>
<TBODY>
<TR>
<TD></TD>
<TD><STRONG>英文简称</STRONG></TD>
<TD><STRONG>中文</STRONG></TD></TR>
<TR>
<TD><BR></TD>
<TD>OA</TD>
<TD>协同办公</TD></TR>
<TR>
<TD></TD>
<TD>CMS</TD>
<TD>内容管理系统</TD></TR>
<TR>
<TD></TD>
<TD>CRM</TD>
<TD>客户关系管理<BR></TD></TR>
<TR>
<TD></TD>
<TD>SCM </TD>
<TD>供应链管理<BR></TD></TR>
<TR>
<TD></TD>
<TD>&nbsp; </TD>
<TD>财务系统</TD></TR>
<TR>
<TD></TD>
<TD>&nbsp; </TD>
<TD>生产管理</TD></TR>
<TR>
<TD></TD>
<TD>&nbsp; </TD>
<TD>人力资源管理<BR></TD></TR>
<TR>
<TD></TD>
<TD>KM</TD>
<TD>知识管理</TD></TR></TBODY></TABLE></P>
<P><BR><BR><STRONG>技术表格<BR></P>
<P>
<TABLE height="100%" cellSpacing=0 cellPadding=0 width="100%" border=1>
<TBODY>
<TR>
<TD>&nbsp;<STRONG>sort</STRONG></TD>
<TD>&nbsp;<STRONG>common</STRONG></TD>
<TD>&nbsp;<STRONG>java world</STRONG> </TD></TR>
<TR>
<TD>view 层</TD>
<TD>
<P>HTML,XML,XHTML,<BR>CSS，<BR>script语言，xmlhttp, <BR>htc,<BR>RIA（FLEX，XUL，XAML）<BR>graphic deign<BR>动画技术<BR>……</P></TD>
<TD>jstl,tag lib,strtus,jsf,Tapestry,webwork……</TD></TR>
<TR>
<TD>controller 层&nbsp;</TD>
<TD>&nbsp;</TD>
<TD>strtus,spring</TD></TR>
<TR>
<TD>model层</TD>
<TD>&nbsp;</TD>
<TD>transactions&nbsp; ,java&nbsp;</TD></TR>
<TR>
<TD>数据库技术</TD>
<TD>标准sql,db，dba,特定sql，pl/sql&nbsp;</TD>
<TD>jdbc,ORM(hibernate,ibatis)等</TD></TR>
<TR>
<TD>web Containers&nbsp;&nbsp; </TD>
<TD>&nbsp;</TD>
<TD>tomcat,weblogic,<FONT size=2><FONT color=#000000>Webspace</FONT> </FONT>,jboss,Resin </TD></TR>
<TR>
<TD>Security&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </TD>
<TD>&nbsp;</TD>
<TD>&nbsp;</TD></TR>
<TR>
<TD>os</TD>
<TD>window,linux&nbsp;</TD>
<TD>&nbsp;</TD></TR>
<TR>
<TD>browser</TD>
<TD>&nbsp;IE，firefox&nbsp;</TD>
<TD>&nbsp;</TD></TR>
<TR>
<TD>EAI(企业应用整合)</TD>
<TD>&nbsp;</TD>
<TD>Web Service,<BR>Portal <BR>……</TD></TR>
<TR>
<TD>其它</TD>
<TD>&nbsp;Design Pattern，算法,优化技巧</TD>
<TD>&nbsp;</TD></TR></TBODY></TABLE></P></STRONG>
<P><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR><STRONG>后注<BR></STRONG>帖些学习资料，主要针对java平台开发<BR>1、Struts <A href="http://struts.apache.org/userGuide/index.html"><FONT color=#002c99>User and Developer Guides</FONT></A> 分类得不错，step by step 对MVC各层的知识点也提供了介绍以及学习资源<BR>2、<A href="http://blog.csdn.net/calvinxiu/archive/2005/02/01/277075.aspx">All About Java 关于Java的一切 : 工具, 类库, 框架</A> </P><img src ="http://www.blogjava.net/davidxu/aggbug/6787.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/davidxu/" target="_blank">一凡@ITO</a> 2005-06-27 22:01 <a href="http://www.blogjava.net/davidxu/articles/6787.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>