企业级Web应用

2024-07-05

企业级Web应用(通用12篇)

企业级Web应用 篇1

1 引言

MVC(Model View Controller的缩写)是一种常用的设计模式,它有效地减弱了业务逻辑接口和数据接口之间的耦合,提高了软件的可扩展性、可维护性。Struts+Spring+Hibernate开源组合框架为开发基于J2EE的企业级Web应用提供了一种轻量级解决方案。它不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率。本文通过我们为浙江杭州某知名服装公司开发的一个较为大型的进销存系统展示了如何进行基于SSH框架的Web应用开发。

2 MVC设计模式

MVC即Model-View-Controller的缩写,MVC设计模式将应用程序进行了分层,视图和模型通过控制器连接,从而减少了用户界面和业务逻辑之间的耦合,使程序设计更加清晰、灵活,也提高了软件的可扩展性、可维护性。MVC的工作原理,如图1所示。

2.1 视图(View)

视图提供了用户界面,是用户和应用程序的交互的窗口,既接受用户输入,也把模型数据状态显示给用户,但是视图不负责任何业务逻辑处理,仅仅是将用户输入数据传递给控制器或将模型数据显示给用户。

2.2 控制器(Controller)

控制器连接了模型和视图,根据用户请求判断将请求交给哪个模型来完成,然后调用视图来显示模型处理后的用户请求结果。

2.3 模型(Model)

模型封装了用户数据和处理数据的业务逻辑,体现了应用程序的当前状态,而且可以将用户数据状态的变化提供给多个显示该数据的视图共用。模型是应用程序的核心。

3 开源框架

3.1 Struts开源框架

Struts框架主要分为模型(Model)、视图(Viewer)和控制器(Controller)三部分,其主要的设计理念是通过控制器实现表现逻辑和业务逻辑松耦合,从而提高系统的可重用性、可扩展性和可维护性。

3.1.1 Struts中的视图(View)

Struts构架主要采用了JSP作为视图的实现。Struts自身包含了一组标记库(Tag Lib),这也是Struts的精华之一,灵活运用它们可以简化JSP页面的代码,提高开发效率。而且引入了Action Form组件(实质为Java Bean)作为用户表单的封装来完成数据的传输。

3.1.2 Struts中的控制器(Controller)

Struts框架中采用了Action Servlet和Action类以及Struts-config.XML配置文件作为控制器的实现。当用户提出请求,ActionServlet类最先对请求进行处理,它将根据Struts-config.xml配置文件将用户请求映射到具体的Action类;而当Action类调用模型组件处理好用户请求,并返回了处理结果后,仍然由Action Servlet类根据Struts-config.xml配置文件将结果转发到视图提供给用户,或者转发另外一个Action做进一步处理。

3.1.3 Struts中的模型(Model)

模型以一个或多个Java bean的形式存在。Struts没有定义具体Model层的实现,Model层通常是和业务逻辑紧密相关的,有持久化的要求。Struts框架实现了MVC设计模式,但是它是典型的表现层框架,对模型的实现是不足的,所以有必要引入其他架构加强对模型的实现。这也就是说开发人员有更多自由来选择合适量级的持久化技术,比如Hibernate、EJB等等。

3.2 Spring开源框架

Spring是一个解决了许多J2EE开发中常见问题并能够替代EJB技术的强大的轻量级框架。Spring框架的核心是控制翻转Io C(Inversion of Control)/依赖注入DI(Dependence Injection)机制。Io C是指由容器中控制组件之间的关系而非传统实现中由程序代码直接操控,这种将控制权由程序代码到外部容器的转移,称为“翻转”。DI是对Io C更形象的解释,即由容器在运行期间动态地将依赖关系注入到组件之中。Spring采用设值注入和构造子注入的机制,通过配置文件管理组建的协作对象,创建可以构造组件的Io C容器。Spring框架的结构如图2所示。

Spring框架可以成为企业级应用程序一站式的解决方案,同时它也是模块化的框架,允许开发人员自由地挑选适合自己应用的模块进行开发。Spring框架式是一个松耦合的框架,框架的部分耦合度被设计为最小,在各个层次上具体选用哪个框架取决于开发者的需要。

3.3 数据持久层框架Hibernate

O/R mapping技术是为了解决关系型数据库和面向对象的程序设计之间不匹配的矛盾而产生的。Hibernate是目前最为流行的O/R mapping框架,它在关系型数据库和Java对象之间做了一个自动映射,使得程序员可以以非常简单的方式实现对数据库的操作。Hibernate工作原理如图3所示。

Hibernate通过对JDBC的封装,向程序员屏蔽了底层的数据库操作,使程序员专注于OO程序的开发,有助于提高开发效率。程序员访问数据库所需要做的就是为持久化对象编制xml映射文件。

底层数据库的改变只需要简单地更改初始化配置文件(hibernate.cfg.xml或者hibernate.properties)即可,不会对应用程序产生影响。

Hibernate有自己的面向对象的查询语言HQL,HQL功能强大,支持目前大部分主流的数据库,如Oracle、DB2、My SQL、Microsoft SQL Server等,是目前应用最广泛的O/R映射工具。Hibernate为快速开发应用程序提供了底层的支持。

4 基于SSH组合框架的Web应用开发实例

下面将通过我们为浙江杭州某知名服装公司所开发的一个大型的进销存系统来展示如何进行基于SSH框架的Web应用开发。由于本系统功能模块较多、业务逻辑复杂,限于篇幅原因,下面我们将以“渠道管理模块”为例来概要地说明系统的开发与实现过程。

4.1 数据持久层的实现

本系统的数据持久层由Hibernate实现。Hibernate通过映射(Mapping)文件将对象(Object)与关系型数据(Relational)相关联。有了Java持久化类后就可以在此基础上实现数据访问类。在Spring框架中,数据访问类可以从辅助类Hibernate Dao Support继承,这极大地方便了Hibernate框架在Spring中的使用,相应的部分代码如下:

4.2 业务逻辑层的实现

业务逻辑层由Spring框架支持。由于数据持久层实现了Java持久化类并且封装了数据访问对象(DAO),因此可以在Model组件中方便地调用DAO组件来存取数据。Spring的Io C容器负责统一管理Model组件和DAO组件以及Spring所提供的事务处理、缓冲连接池等服务组件。

在用户管理模块中,通过业务建模创建了用户模型Channel Service类,封装了对用户的权限管理以及积分管理等功能。Channel Service类通过调用数据访问类Channel Dao实现对用户数据的操作。这些组件的关系将通过配置Spring框架的application Context.xml联系起来,配置文件的主要内容如下:

4.3 表示层的实现

表示层结合JSP和Struts的Tag Lib库处理显示功能,利用Action Servlet将请求(*.do)映射到相应的Action,并由Action调用业务逻辑的服务组件,然后根据处理结果跳转到Forward对象指定的响应页面。

业务流程的部署由struts-config.xml完成。下面以一个显示所有渠道信息的请求(List Channel.do)为例来说明配置文件的使用。

一个好的架构可以避免重复设计,减少开发风险,增强软件的可扩展性、可维护性及可移植性,提高软件质量和性能效率。本文通过整合Struts+Spring+Hibernate开源框架,提出了一种利用轻量级开源框架来快速搭建Web应用的解决方案,并且通过其在实际项目中的应用,证明了采用此方案可以帮助开发人员在短时间内建立结构清晰、可重用性好、维护扩展方便的Web应用程序。

摘要:主要研究了如何整合当前比较流行的基于MVC模式的Struts开源框架、基于IoC模式的Spring开源框架和基于ORM模式的Hibernate开源框架来共同构建企业级的Web应用,为企业级Web应用提供了一种轻量级J2EE解决方案。通过一个实际的项目案例展示了如何基于开源组合框架进行实际的企业级Web应用开发。

关键词:企业级Web应用,开源,框架,J2EE

参考文献

[1]JOHNSON R,HOELLER J,ARENDSEN A,et al.Java/J2EE application framework reference document V1.1[M].2004.

[2]CRAIG WALLS,RYAN BREIDENBACH.Spring in Action[M].2005.

[3]Matt Raibler.Spring Live[S].SourceBeat,LLC,2004.

[4]夏昕,曹晓钢,唐勇.深入浅出Hibernate[M].北京:电子工业出版社,2005.

[5]孙卫琴.精通Struts:基于MVC的Java Web设计与开发[M].北京:电子工业出版社,2004.

企业级Web应用 篇2

一、不同:

1、前者在添加aspx窗体时会有一个默认的命名空间,而web网站Web网站在引用后出现一个bin文件夹那里存放dll

2、前者有重新生成和发布两项;Web网站只有一个发布网站。

3、前者可以作为类库被引用;Web网站则不可以作为类库被引用。

4、前者可以添加ASP.Net文件夹中不包括bin、App_Code;Web网站可以添加ASP.Net文件夹包括bin、App_Code。

5、前者序添加网页后页面文件中默认codeBehind,而网站中则是coddfile

至此我中间遇到的疑惑都消除了,为什么我的网页下面多了designer.cs文件,为什么我的cs代码中有命名空间,页面文件中是codebehind。vcD4KPHA+PGltZyBzcmM9”www.2cto.com/uploadfile/Collfiles/1031/20141031090204126.jpg“ alt=”“>

二、各自优点:

1、网站:

动态编译该页面,马上可以看到效果,不用编译整个站点(主要优势);可以使错误的部分和使用的部分不相干扰(可以要求只有编译通过才能签入);可以每个页面生成一个程序集(不会采用这种方式);可以把一个目录当做一个Web应用来处理,直接复制文件就可以发布,不需要项目文件;可以把页面也编译到程序集中

2、应用程序:

编译和发布速度中,明显变快,发布的时候一开始就可以设置是否覆盖,

原来的网站要升级过来,需要生成一个设计类代码页。有了此文件,编译的时候,编译器就不用再分析aspx页面了。明显加快了编译速度。且只生成一个程序集。执行的速度页快了 。

参考:web应用程序与web网站区别,aspx.designer.cs文件

三、相互转化

1、网站转化为应用程序:

VSSP1内置了转换程序,可以非常方便的从WebSite转换到WebApplication,只需要复制文件,右键执行“转换为Web应用程序”即可。

2、应用程序转化为网站:

删除所有*.designer.cs,将*.aspx、*.ascx、*.master页面文件中的Codebehind=”FileList.aspx.cs“ 批量替换CodeFile=”FileList.aspx.cs“即可。

最后就是大网站比较适合用WebApplication项目,小网站比较适合用WebSite项目。

企业级Web应用 篇3

关键词:Web安全威胁NetContinuum应用层防火墙

近几年,Web网站的安全事件频频发生,究其根源,关键原因有二:一是Web网站自身存在技术上的安全漏洞和安全隐患;二是相关的防护设备和防护手段欠缺。 Web网站的体系架构一般分为三层,底层是操作系统,中间层是Web服务程序、数据库服务等通用组件,上层是内容和业务相关的网页程序。这三层架构中任何一层出现了安全问题都会导致整个Web网站受到威胁,然而,这三层架构中任何一层都不可避免地存在安全漏洞,底层的操作系统(不管是Windows还是Linux)都不时会有黑客可以远程利用的安全漏洞被发现和公布;中间层的Web服务器(IIS或Apache等)、ASP、PHP等也常会有漏洞爆出;上层的网页程序有SQL注入漏洞、跨站脚本漏洞等Web相关的漏洞。另一方面,目前很多Web网站的防护设备和防护手段不够完善,虽然大部分网站都部署了防火墙,但针对Web网站漏洞的攻击都是应用层的攻击,都可以通过80端口完成,所以防火墙对这类攻击无能为力;另外,有些网站除了部署防火墙外还部署了IDS,但IDS无法实时阻断攻击,并且检测精度有限,仅能起到一定的事后查看作用。

目前,要提高Web网站的安全性,首先,要尽量减少网站的安全漏洞,如通过及时给网站进行补丁更新,或通过网页代码检视来减少网页漏洞,但这方面的作用还是有限的,因为获得补丁的时间往往会迟于漏洞发现的时间,并且Web网站有时还会因为业务连续性或兼容性而不方便打补丁,另外,很多网站的网页程序开发工作量大,很难通过代码检视来避免漏洞。其次,使用SSL加密方法保护通信流量,或者使用SSL VPN来确保经过授权的人才能连接Web应用程序。但是,SSL加密和解密过程需要耗费系统大量的开销,严重降低机器的性能,相关测试数据表明使用HTTPS协议传输数据的工作效率只有使用HTTP协议传输的十分之一。所以,要提高Web网站的安全性,还必须同时从增强防御手段入手。

Web应用防火墙是将与负载均衡设备和确保Web应用程序可用性的应用交换机集成在一起,以创造出可同时解决可访问性和安全性的产品。Yankee Group的分析师Andrew Jaquith认为,这样的平台可保持服务器对终端用户的可用性和免受攻击,还可确保进出数据中心的流。

下面我们就用一款梭子鱼NetContinuum应用防火墙来举例,来看看应用防火墙是如何保护网站防止被恶意注入和篡改的。

工作原理:NetContinuum应用防火墙通过代理(Proxy)帮助Web建起防线,基于会话的双向代理不仅能应用在网络层,同时还能应用在HTTP应用层上,确保内部服务器操作系统和TCP堆栈不直接暴露在Internet,保障web应用的安全。

NetContinuum网络架构和部署:包括单臂模式、桥模式、代理模式及主动被动 安全性增强四种部署方式。

在应用中,Netcontinuum会对应用流量(向内和向外)进行全面的检查,并管理每一个会话。通过TCP握手切断任何基于TCP的DOS攻击。在终止会话的同时,应用防火墙可以提供网络层的NAT、PAT 、ACL 策略和SSL 密码系统。系统对于HTTP内容有着完全的访问权和控制权,检查所有的HTTP 内容,解释和建立规则。

一旦某个会话被NetContinuum应用防火墙终止并被控制,将会对向内或向外的流量进行多种检查,以阻止内嵌的攻击、数据窃取和身份窃取。 可以指定各种策略对URL、 参数和格式等进行检查。除了WEB应用的安全性,数据中心还负责应用的可用性和响应时间。将加速功能 (TCP 池,缓存,GZIP压缩)和可用性功能(负载均衡,内容交换,健康检查)在一个单一的节点处结合起来会显著地简化数据中心的体系结构,以此来降低成本。

企业级Web应用 篇4

一、Web2.0的概述

Web2.0 (也有人称为互联网2.0) 是相对Web1.0 (2003年以前的Internet模式) 的新的Internet应用的统称, 它是以SNS、TAG、Blog、RSS、Wiki等社会软件的应用为核心, 依据六度关系理论、XML、AJAX等新理论和技术实现的Internet的新一代应用, 是以此从核心内容到外部应用的革命。

二、Web2.0营销

从网络经济学的角度来看, 网络营销降低了流通成本, 增加了产品价值。网络贸易的巨大发展潜力, 就在于可以极大地降低物流成本, 节约企业开支, 提高企业效益。因此, Web2.0在网络营销中的应用已经成为网络营销的崭新领域。

(一) Web2.0营销的概念

Web2.0营销是指对Blog营销, RSS营销, 维克 (Wiki) 等Web2.0应用, 技术, 理论的一个综合表现。它的核心是注重用户的交互作用, 让用户即是网站的浏览者, 也是网站内容的建设者。由于用户能够方便地为自己所消费的产品表达意见, 因此这些内容先天具备再次推广产品的价值。

(二) Web2.0营销的主要工具

1. 博客

Blog最早被称为网络日志, 具有“人人可以用来传播自己的观点与声音”的属性。2002年, 博客的概念被引入中国后得到快速发展。2005年, 博客得到规模性增长。2006年, 网民注册的博客空间更是超过3300万个。

2. 微博客营销

所谓微博客营销 (micro bloging) 就是一种非正式的迷你型博客, 简称微博客或者一句话博客。它是一种可以及时发布消息的类似博客的系统, 它最大的特点就是集成化和开放化, 你可以通过手机, IM软件 (MSN, QQ, SKype) 等途径向你的微博客发布消息。微博客的另一个点点还在于“微”, 即一般发布的消息只能是只言片语, 且每次只能发送140个字符。

3. 播客营销

简单来说, 播客就是以视频或音频为主要内容的博客。播客和博客一样, 都具备网络特点, 强调个性与分享, 支持RSS等, 只不过播客的主要内容的表现形式不是以文字, 图片为主, 而是以视频、声音为主。

4. 视频分享

视频分享在运营方式上以网站形式为主, 在视频长度上以短片片断福多, 在视频内容上以用户自创制作为主。其优点是用户参与度高;缺点是内容审核机制要求高。国内有名的视频媒体网站有土豆网、优酷网、酷6网等。

5. WIKI——百科全书

Wiki——一种多人协作的写作工具。Wiki站点可以有多人 (甚至任何访问者) 维护, 每个人都可以发表自己的意见, 或者对共同的主题进行扩展或者探讨。

三、Web2.0的营销优势——中小型企业如何搭乘Web2.0的营销快车?

相对于大企业而言, 中小企业可以更细致地照顾到细分后顾客的需求, 对顾客的需求具有更快的反应速度。

(一) 以快制慢, 化“流量“为”留量“

在互联网时代, 以快制慢成为中小企业强化自身优势的一个方向。中小企业由于信息的搜寻成本过高或自身实力的限制, 无法找到最佳交易对象。现在通过像阿里巴巴、慧聪这类专业网站, 降低交易成本。而借助淘宝、eBay等在线拍卖网站, 中小企业可以以很低的成本建立网上商店, 获得更多商业机会。

(二) 精准营销, 提高顾客忠诚度

传统商业模式下, 顾客可能因为搜索成本较高等原因, 不愿轻易改变自己的购买习惯。而在Web2.0的营销环境下, 寻找替代商品只需点击鼠标即可轻松实现, 这种成本低的行为, 导致顾客忠诚度的不断下降。因此, 如何提高顾客忠诚度, 成为中小企业管理人士目前最需要考虑的问题。

(三) 补缺营销, 寻找市场机会

Web2.0时代的信息传播速度加快, 通过博客, 播客等传播媒介, 普通人也能够成为信息发布中心。与传统媒介比, 新媒介更加及时, 真实地将发生于各地的事件呈现在人们眼前, 企业的失误更容易被发现和传播。与大企业容易被关注相反, 中小企业不易被关注, 也不易成为被攻击对象。

四、博客营销

(一) 博客营销的概念

博客营销就是利用博客这种网络应用形式开展网络营销, 是公司或者企业利用博客这种网络交互性平台, 发布并更新企业或公司的相关概况及信息, 并且密切关注并及时回复平台上客户对于企业的咨询和疑问, 并通过较强的博客平台帮助企业或公司零成本获得搜索引擎的较前排位, 以达到宣传目的的营销手段。

(二) 博客营销的优势

博客这种网络日记的内容是公开的, 自己可以发表自己的网络日记, 也可以阅读他人的日记, 因此是一种个人思想、观点、知识等在互联网上的共享。

1. 精准有效

博客大多有所分类, 因而每个博客的受众人群有所区别, 广告主可根据不同类别博客分类投放不同性质的广告, 因而投放广告更为精准, 且细分程度越高, 投放广告越有效。

2. 流传互动性好

每个博客都拥有相同兴趣爱好的博客圈子, 而且此圈子内部的博客之间相互影响力大, 可信程度较高, 朋友之间互动性强, 因此创造的口碑效应和品牌价值非常大。品牌价值远非传统方式的广告能比。

3. 影响力大, 可引导网络舆论

随着用户规模扩大, 博客的威力也越来越明显, 特别是高端用户对评论影响面和影响力越来越大, 博客渐渐成为网民们的“意见领袖“, 引导网民的舆论潮流, 他们所发表的评价会在极短时间内在互联网上迅速传播开来, 对企业品牌造成巨大影响。

结论

本文主要论述了web2.0营销的相关概念, 特别论述了博客营销及微博客营销对于中小型企业乃至个人在商业社会的重要作用。综上, 本文结合了当前网络营销的最新理念, 目的旨在通过理论联系实际, 阐述了web2.0时代, 博客营销的导入将是现代化企业提升自我知名度、获得最大利润的最优途径。

摘要:本文概述了现代中小型企业的前沿课题——如何应用Web2.0营销工具之博客营销进行中小型企业的商业运作, 特别分析了业界近年来高度关注的Web2.0的概念及特点, 论述了Web2.0营销的概念及主要工具, 分析了博客营销在当今社会中的发展和优势, 得出了以下结论:在Web2.0时代, 互联网给中小型企业乃至个人带来了很强的竞争优势, 利用博客营销或微博客营销, 可以使中小型企业走出固有的营销模式, 有利于增强企业的国际竞争力, 有利于获得消费者的认同。综上所述, 现代化的企业应善于利用互联网提供的良好平台, 利用web2.0营销工具如口碑营销, 网络社区营销, 特别是博客营销进行行之有效的营销策略, 这样才有利于中小型企业赶超世界著名的国际化大型企业。

关键词:Web2.0营销,博客,微博客,播客营销,及时通信,视频分享

参考文献

[1]宋沛军.网络营销理论与实务.[M].西安:西安电子科技大学出版社, 2010。

[2]李甫民.网络营销教程[M].北京:机械工业出版社, 2005。

[3] (美) 拜瑞.斯瓦斯丁.B to B营销.[M].成都:中国三峡出版社, 2002。

[4]刘朔.品牌命名的十种方法.[J].中国中小企业, 2006, (04) 。

企业级Web应用 篇5

策略三:启用Apache自带安全模块保护

Apache的一个优势便是其灵活的模块结构,其设计思想也是围绕模块(module)概念而展开的。安全模块是Apache Server中的极其重要的组成部分。这些安全模块负责提供Apache server的访问控制和认证,授权等一系列至关重要的安全服务。

Apache下有如下几类与安全相关的模块:

mod_access模块能够根据访问者的IP地址(或域名,主机名等)来控制对Apache服务器的访问,称之为基于主机的访问控制。

mod_auth模块用来控制用户和组的认证授权(Authentication)。用户名和口令存于纯文本文件中。

mod_auth_db和mod_auth_dbm模块则分别将用户信息(如名称、组属和口令等)存于Berkeley-DB及DBM型的小型数据库中,便于管理及提高应用效率。

mod_auth_digest模块则采用MD5数字签名的方式来进行用户的认证,但它相应的需要客户端的支持。

mod_auth_anon模块的功能和mod_auth的功能类似,只是它允许匿名登录,将用户输入的E-mail地址作为口令。

mod_ssl被Apache用于支持安全套接字层协议,提供Internet上安全交易服务,如电子商务中的一项安全措施。通过对通信字节流加密来防止敏感信息的泄漏。但是,Apache这种支持是建立在对Apache的API扩展来实现的,相当于一个外部模块,通过与第三方程序(如openssl)的结合提供安全的网上交易支持。

为了能够使用模块功能,模块通常以DSO(Dynamic Shared Object)的方式构建,用户应该在httpd.conf文件中使用LoadModule指令,使得能够在使用前获得模块的功能。下面是主配置文件中各个模块的情况,开启安全模块非常简单,即去掉在各安全模块所在行前的“#”符号即可,如下所示:

LoadModule auth_basic_module modules/mod_auth_basic.so

LoadModule auth_digest_module modules/mod_auth_digest.so

LoadModule authn_file_module modules/mod_authn_file.so

LoadModule authn_alias_module modules/mod_authn_alias.so

。。。。。。

只有将上述安全模块进行开启后,Apache才能实现相应的访问控制和通信加密功能。

策略四:访问控制策略设置

在开启了相应的安全模块后,还需要对Apache的访问控制策略进行设定。

1.认证和授权指令

目前,有两种常见的认证类型,基本认证和摘要认证:

(1)基本认证(Basic):使用最基本的用户名和密码方式进行用户认证。

(2)摘要认证(Digest):该认证方式比基本认证要安全得多,在认证过程中额外使用了一个针对客户端的挑战(challenge)信息,可以有效地避免基本认证方式可能遇到的“重放攻击”。值得注意的是:目前并非所有的浏览器都支持摘要认证方式。

所有的认证配置指令既可以出现在主配置文件httpd.conf中的Directory容器中,也可以出现在单独的.htaccess文件中,这个可以由用户灵活地选择使用。在认证配置过程中,需要用到如下指令选项:

AuthName:用于定义受保护区域的名称。

AuthType:用于指定使用的认证方式,包括上面所述的Basic和Digest两种方式。

AuthGroupFile:用于指定认证组文件的位置。

AuthUserFile:用户指定认证口令文件的位置。

使用上述的认证指令配置认证后,需要为Apache服务器的访问对象,也就是指定的用户和组进行相应的授权,以便于他们对Apache服务器提供的目录和文件进行访问。为用户和组进行授权需要使用Require指令,主要可以使用以下三种方式进行授权:

授权给指定的一个或者多个用户:使用Require user 用户名1 用户名2 …,

授权给指定的一个或者多个组:使用Require group 用户名1 用户名2 …。

授权给指定口令文件中的所有用户:使用Require valid-user。

2.管理认证口令文件和认证组文件

要实现用户认证功能,首先要建立保存用户名和口令的文件。Apache自带的htpasswd命令提供了建立和更新存储用户名、密码的文本文件的功能。需要注意的是,这个文件必须放在不能被网络访问的位置,以避免被下载和信息泄漏。建议将口令文件放在/etc/httpd/目录或者其子目录下。

下面的例子在/etc/httpd目录下创建一个文件名为passwd_auth的口令文件,并将用户rhel5添加入认证口令文件。使用以下命令建立口令文件(过程中还会提示输入该用户的口令):

# touch passwd_auth

# htpasswd -c /etc/httpd/passwd_auth rhel5

New password:

Re-type new password:

Adding password for user rhel5

命令执行的过程中系统会要求用户为rhel5用户输入密码。上述命令中的-c选项表示无论口令文件是否已经存在,都会重新写入文件并删去原有内容。所以在添加第2个用户到口令文件时,就不需要使用-c选项了,如下命令所示

# htpasswd /etc/httpd/passwd_auth testuser

3.认证和授权使用实例

(1)使用主配置文件配置用户认证及授权

在本例子中,用户可以在Apache的主配置文件httpd.conf中加入以下语句建立对目录/var/www/html/rhel5访问的用户认证和授权机制:

AllowOverride None

AuthType Basic

AuthName “rhel5”

AuthUserFile /etc/httpd/passwd_auth

Require user rhel5 testuser

在上述例子中,使用了如下指令:

AllowOverride:该选项定义了不使用.htaccess文件。

AuthType Basic:AuthType选项定义了对用户实施认证的类型,最常用的是由mod_auth提供的Basic。

AuthName:定义了Web浏览器显示输入用户/密码对话框时的领域内容。

AuthUserFile:定义了口令文件的路径,即使用htpasswd建立的口令文件。

Require user:定义了允许哪些用户访问,各用户之间用空格分开。

需要注意的是:在AuthUserFile选项定义中,还需要使用如下语句事先建立认证用户patterson和testuser,该选项中的定义才能生效:

#htpasswd -c /etc/httpd/passwd_auth rhel5

#htpasswd /etc/httpd/passwd_auth testuser

(2)使用.htaccess文件配置用户认证和授权

在本例子中,为了完成如上述例子同样的功能,需要先在主配置文件中加入如下语句:

AllowOverride AuthConfig

上述语句中的AllowOverride选项允许在.htaccess文件中使用认证和授权指令。

然后,在.htaccess文件中添加如下语句即可:

AuthType Basic

AuthName “Please Login:”

AuthUserFile /etc/httpd/passwd_auth

Require user rhel5 testuser

同理,在AuthUserFile选项定义中,还需要使用如下语句事先建立认证用户patterson和testuser,该选项中的定义才能生效:

#htpasswd -c /etc/httpd/passwd_auth rhel5

面向企业的Web使用挖掘研究 篇6

关键词:Web使用挖掘 日志 数据挖掘

现代企业在决策、管理、营销等环节变得越来越依赖于快速膨胀的互联网,很多公司和机构都架设了Web服务器开展电子商务和提供在线服务,有的大公司还通过互联网实施全球化管理,协同各个部门的工作。对企业Web服务器上保存的数据进行数据挖掘能够发现隐藏在海量数据下的知识与信息,对于提高企业競争力有重要的价值。

1、Web使用挖掘

Web使用挖掘是Web数据挖掘的一种,与常规的数据挖掘不同,它的数据来源不是数据库而是Web服务器上的日志,故而又被称为Web日志挖掘。根据W3C组织的规定,标准Web日志格式中的各个域为:

IP Address访问者IP

User ID访问者ID

Date本次请求的日期/时间

Request请求方法

Status状态代码

Size本次请求的文件长度

有的Web服务器还会加上

Referer引用者

User Agent浏览器类型

这两个域。客户在浏览企业网站时,每次向服务器请求阅读一个Web页面,服务器都会依据这些信息生成一个记录保存在日志文件里。企业Web服务器日志文件通常积累了大量访问记录,对这些记录进行数据挖掘,可以分析出各种客户访问的模式以及他们对不同产品的兴趣,这些信息对于企业的客户管理、网站建设、产品研发具有重要的价值。

2、Web使用挖掘流程及算法

Web日志的数据挖掘过程分为数据采集、预处理、数据挖掘三个阶段。由于Web服务器上的日志文件有多种,如访问日志和错误日志等,而同一种日志文件又可能被分割成多个数据文件。所以数据采集工作将多个原始日志文件融合成待处理的数据源文件。

2.1 数据预处理 预处理阶段的任务是过滤掉无用数据并识别用户。在日志中一般会存在与挖掘无关的数据,如网络搜索引擎对服务器的访问记录,所以这一阶段先要将这些无效记录从原始日志中删去,仅仅留下真实的用户访问记录。由于挖掘算法所需的数据是基于用户访问的,过滤后的原始记录需要按用户重新组织。

尽管在Web日志格式中含有用户名和用户IP域,但用户可能处于防火墙后或使用代理上网,使得不同用户的访问记录具有相同IP,因此难以直接从日志记录识别用户。目前工程中常用的用户识别技术有:使用登录名、Java Servlet、Cookie,也可以使用启发式规则来辨别用户。当某用户访问的所有页面被搜集后使用会话识别算法将其分割成会话(Session),例如,当时间上相邻的两条用户访问记录的时间差相差超过一个阈值则认为它们属于不同的会话,反之则属于同一会话。

2.2 数据挖掘 Web日志数据挖掘的目的是分析用户的访问模式、内容,进而获得对企业经营、决策有价值的知识,包括用户的身份、年龄、教育程度,他们对各种产品的兴趣,商业事务之间的关联关系,企业部门之间的互动规律等等。相应的挖掘算法有统计分析、聚类分析、关联规则发现、序列模式分析。

2.2.1 统计分析 统计分析用以提取日志中基本信息,包括:访问站点用户数,各个页面的被请求的数量和频率等,这些信息对提高网络服务质量、企业市场决策很有帮助。联机分析处理(OLAP)是基于多维信息的快速统计数据分析技术,目前已有许多成熟的商业化OLAP产品,即使用户对这类技术不熟悉也可直接使用。

2.2.2 聚类分析 聚类是数据挖掘工程中一项常见的任务,例如将浏览模式相近的用户归类,发现他们的消费习惯。聚类分析是一种无监督的模式识别方法,它能在模式的种类与数量未知的情况下把样本按相似性划分成若干有意义的子集。样本的相似性在聚类算法中以所谓的“距离”来衡量,例如,两个Web页面的相似性也称为Web页面距离,计算Web页面距离首先要将Web页面按照一定的关键字映射成矢量,然后计算矢量距离。常见的数据挖掘聚类算法有K-means、神经网络聚类、模糊聚类等[1]。

2.2.3 关联规则 关联规则也称购物篮分析,目的是寻找数据仓库中数据项之间所存在的关系。Web挖掘中常用的关联规则挖掘算法是1993年提出的Apriori及其改进算法,数据库中出现次数大于一定比例的集合称为大项集或频繁集,Apriori算法循环扫描数据仓库中的记录,搜索第一个大项集,然后每次以刚得到大项集为基础搜索下一个大项集,进而发现这些大项集之间的关系[1]。

2.2.4 序列模式挖掘 序列指时间上有先后的事务,序列模式挖掘不但寻找事务之间的关联,而且分析这些事务在时间上的顺序,挖掘成果可以应用在消费预测、疾病诊断等领域中。常见的序列模式挖掘有Apriori类算法、Markov模型、GSP算法等。

3、Web使用挖掘应用

3.1 企业客户关系管理 忠诚的客户群是企业最有价值的资产,现代企业的经营方式正由原来的以企业自己为中心转变为以客户为中心。企业互联网网站是企业与客户便捷的联系纽带,如何吸引客户浏览,将随机浏览客户变为消费顾客,偶尔消费型客户变为忠诚客户是企业电子商务的宗旨。通过对企业网站日志进行访问模式挖掘,可以在许多方面帮助企业:

(1)对于已注册用户,他们消费记录一般会记录在系统的事务数据库中,对这些数据进行统计,能够了解顾客的消费偏好,有针对性的开展广告宣传与顾客调查活动。

(2)提供个性化的网络服务和推荐系统,能够有效的吸引用户注意力,延长他们在企业网站上的停留时间。例如用聚类分析和关联规则挖掘普通用户的浏览路径,可以得知在线用户可能属于哪类顾客,对何种产品感兴趣,从而动态推荐企业产品与服务。

(3)优化网站组织结构。如分析用户离开网站的页面,可以发现他们离开的原因,或减少他们浪费在无关网页上的时间,增加他们的浏览时间。

一个成功的CRM案例是网上软件商店ASK|net GmbH的Web服务器日志挖掘实践[2],他们使用序列模式分析、决策树、神经网络等方法来分析用户的浏览路径,试图发现网站所提供服务是否简单而有效,实验得出了许多有价值的信息如:购买流程太长,太复杂,用户需至少点击七次才能完成一次购买事务;付款网页提供的信息不够清晰,许多用户在此网页频繁点击了求助网页;许多用户因无法找回密码而不得不重新注册成为新用户。该网站根据这些信息重新调整了网站结构,设计了新的密码找回系统,明显的改善了服务质量。

3.2 优化网站性能 网络访问模式挖掘可以提高Web服务器软件的响应速度和安全性。利用挖掘结果可以建立一个用户访问路径的预测模型,负荷较重的企业网站可以根据该模型预测在线用户将要访问的网页,从而实现网络负载均衡和数据预取功能,提高服务性能。文献[3]中还提出了通过挖掘日志中异常的访问记录来发现脚本信息泄漏。

3.3 产品研发 传统的企业产品研发过程是由企业自行发起并主导的串行流程,包含如下步骤:

(1)产品定义;(2)概念设计;(3)细节设计;(4)测试与评估;(5)产品生产。

其中设计工作主要由企业的工程师完成。在信息化和全球化的推动下,这个过程发生了巨大的变化。一方面,参与到这个过程的合作者越来越多,包括最终客户、供货商、销售商等,设计工作根据客户需求由多方共同参与完成;另一方面,过程由串行变为并行,任何时间内都可能有合作者修改工程的内容。这种复杂的开发过程需要依靠互联网来帮助实施:开发过程所需的共享资源放在企业Web服务器上,来自世界各地的合作单位通过互联网存取、修改这些资料,对这些用户的访问进行挖掘有助于优化产品研发的过程。HP公司是一个产品众多、分布广的大公司,该公司使用专门的软件WindChill来管理产品的生命周期,文献[4]提出使用关联规则和序列模式对HP公司的相关日志进行数据挖掘,利用挖掘结果深入理解合作各方的关系,改善设计流程,取得了满意的结果。

4 总结

越来越多的企业意识到Web挖掘是吸引顾客、优化服务的有效途径,目前市场上仅Web日志挖掘工具就有几十种,学者们还在探索新的算法。可以预料,未来Web使用挖掘将继续为人们提供有价值的知识与信息。

参考文献:

[1]陈安等,数据挖掘技术及应用[M].北京:科学出版社,2006

[2]TheusingerC,Huber K. Analyzing the Footsteps of Your Customers. In Proc. Of Workshop on Web Usage Analysis and User Profiling[J].Web KDD 2000,2000

[3]LI Jian,ZHANG Guo-yin,GU Guo-chang,LI Jian-li.The design and implementation of web mining in web sites security[J]. 哈尔滨工程大学学报(英文版).2003,1(2):81-86

企业级Web应用 篇7

目前,在多数发电企业中,燃料业务各环节信息没有得到有效的组织和利用,信息的整理还需通过手工来实现,劳动量大且冗余,费时费力。在保障电厂安全生产的前提下,为了最大限度地发挥机组效能,提高生产管理水平,降低发电成本,取得上网优势,迫切需要在全厂范围内实现信息共享和管控一体化,建立统一领导、统一规划、统一标准、统一建设、统一管理的燃料管理系统。

1 系统概述

燃料管理系统以计划管理、合同管理、调运管理、验收管理、结算管理、煤场管理、成本管理、供应商管理、流程控制、系统管理、系统接口管理等功能为框架,通过对基础数据的采集和对基础业务的处理,来提供数据信息支持,保障电力企业燃料管理的高效、稳定运行。该系统是一套通用的、标准的、模块化的、流程化的先进管理信息系统,体现在以下几方面:

(1)模块。系统采用模块化设计,实现了功能模块的动态加载、卸载及动态更新,多个子模块可共享一个全局模块,一个应用可同时使用多个模块等,使整个系统扩展性和灵活性大大提高。

(2)部署。系统采用Tapestry应用框架。由于其构筑在标准的Java Servlet API之上,因此继承了Java Servlet API良好的系统兼容性,使得该平台能够很好地兼容Servlet容器或应用服务。

(3)安全。系统采用标准的DES加密算法,使用128位统一密钥,加密对象为登录系统的用户名、密码、传输的XML文件。

2 系统设计和架构

2.1 系统设计思想

燃料管理系统需具有信息覆盖面广、结构类型复杂、需求不确定、查询方式灵活多样等特点,而传统的信息处理方式很难达到这些要求。随着计算机网络技术的发展、智能机器的研发、大量优化方法及多媒体技术的出现,综合处理多种类型的企业内部信息成为可能。系统采用B/S模式,以Java2技术为基础,充分利用Tapestry框架组件技术、XML SOAP服务、XML Web服务、工作流程监控与协同等技术,考虑平台多样性、技术先进性、功能适应性和灵活性等方面,使其相对完善。

2.2 系统结构设计

燃料管理系统结构如图1所示。应用软件分为Web级、应用级、数据级。应用软件基于XML SOA服务,具有高度的开放性,客户端通过IE浏览器经应用服务器访问业务组件,合法用户无需安装软件即可使用系统提供的功能。

(1)Web级。Web级指部署Web表现层的逻辑实体。通过Web表现层的HTML页面组件实现与用户交互的Web页面;通过Web表现层的Page逻辑组件实现HTML页面组件间的通信数据交互。

(2)应用级。应用级指部署业务层和数据、服务访问层的逻辑实体。通过数据、服务访问层的数据访问逻辑组件实现与数据库集群的连接,通过数据、服务访问层的服务代理组件实现与服务的连接;通过业务层的业务流程、业务组件和业务实体实现业务过程和规则,服务接口层对外提供统一接口。

(3)数据级。数据级指部署数据服务的逻辑实体。它可以是一组物理的数据库集群或一组Web服务,为应用级提供数据检索和存储。

2.3 B/S模式结构

系统采用B/S模式结构,如图2所示。应用系统集中部署在应用服务器上,客户端不用安装任何功能模块。使用者可通过IE浏览器登录服务,经授权使用相应管理模块,这样可减少客户端的维护工作量,也保证了系统版本的统一。

在B/S模式结构下,用户界面完全通过www浏览器实现,一部分事务逻辑在前端实现,但主要事务逻辑仍在服务器端实现,形成3-tier结构。

Browser/Web Server/Data Base Server结构指硬件的体系结构,也有相应的逻辑体系结构。硬件的Browser/Web Server/Data Base Server结构通常是指某项请求任务在浏览器或Web应用服务器和数据库服务器间进行分配,其中浏览器发送请求,Web应用服务器处理来自浏览器的请求,数据库服务器处理数据查询及逻辑运算。对于逻辑体系,Browser/Web Server/Data Base Server结构分为表示层、商业逻辑处理层和数据处理层。

三层结构的B/S模式结构的运用基于组件的分布式技术,从结构上避免了二层结构(C/S模式结构)的局限性。三层结构具体内涵如下:

(1)用户服务层(客户层)。用户服务层是应用用户的接口部分,是用户与系统间交互信息的窗口。它的主要功能是检查用户输入的数据,显示系统输出的数据。若该层需要修改,则改写显示控制和数据校验程序即可,不会影响其它两层。检查的内容也只限于数据格式和取值范围,不包括有关业务本身的处理逻辑。该层由客户端浏览器实现。

(2)商业服务层(中间层)。商业服务层是应用的主体,包括了应用中全部业务处理程序。除了输入/输出在用户服务层,数据库在数据服务层外,统计、汇总、分析、打印功能全部封装在商业服务层。该层具有强大的数据处理功能,起着传递数据的作用和承担安全性检查的任务。该层由应用软件实现。

(3)数据服务层(数据库)。数据服务层就是数据库管理系统(DBMS),负责读写数据库数据。它能迅速执行大量的数据更新和检索。一般商业服务层通过发送SQL命令来操作数据库的数据。该层由数据库软件Oracle实现。

2.4 系统功能模块

2.4.1 系统功能模块简介

燃料管理系统的主要功能模块有9个。

(1)计划管理模块。计划管理分为年度、月度计划管理。用户根据上一周期的煤炭供应情况、下一周期生产计划、机组检修计划编制下一周期煤炭计划需用量。

(2)合同管理模块。该模块实现合同签订、合同审批、合同汇总、合同执行情况等功能。

(3)验收管理模块。该模块实现对燃料入厂数量、质量的管理。验收后,系统将数据信息传递出去,同时对原数据进行锁定,避免人为修改。由于数量、质量数据为系统的基础核心数据,因此采用多级审核流程与多种加密技术,确保其正确、安全。该模块实现了入厂煤验收技能和管理水平的整体提高。

(4)入炉管理模块。该模块实现对入炉煤煤耗、质量信息的录入及入炉数据汇总分析功能。

(5)成本管理模块。该模块提供了不同级别要求的数据查询分析功能。系统通过处理各种基础数据测算来煤成本,使用户能及时掌握燃料存储、耗用成本。

(6)煤场管理模块。该模块对进场煤进行场内全周期管理,从原煤入厂登记,到进场储存、上煤、移动、核销都有时间和空间的变化记录,并根据实际需要给出管理报表;同时考虑到配煤的需要,提供智能配煤推荐和配煤燃烧记录存档功能。

(7)库存管理模块。该模块提供了库存预警功能,一旦煤场存煤量低于设定值,便向用户发送存煤预警信息。

(8)结算管理模块。该模块具有功能强大的数据处理及检索功能,可及时检测出丢车、重复结算问题;提出了一套完善、先进的管理模式,如质量数据与数量数据没有对应则不允许结算,已完成结算的数据则不允许修改等;提供灵活的费用管理功能,所有费用的计算方法采用公式管理,当某个费用的计算方法发生变化或增加新费用时,用户直接修改或增加公式即可,不用修改程序;提供功能强大的数据汇总功能,用户可方便地制定汇总条件进行汇总分析。

(9)系统管理。该模块实现系统的初始配置、权限设置、工作流程配置等管理工作。

2.4.2 验收管理模块设计和实现

由于燃料的数量、质量数据直接关系到发电企业的生产成本,因此其公正性、准确性显得尤为重要。在该模块的数据库中,主要有10张表。

(1)车皮表。车皮表存储着所有来煤的运单信息,如车号、票重等。id是主键,发货表id是外键。

(2)发货表。发货表存储着所有来煤批次的信息,如供应商、煤矿、发货日期、总毛重、总皮重、总净重等。id是主键,质量表id是外键。

(3)过衡文件数据表。过衡文件数据表存储着所有检斤的车节信息,如车皮号、过衡时间、毛重、皮重、净重等。id是主键,车皮表id和质量表id是外键。

(4)质量表。质量表存储着所有经过最终审核的质量数据,包含化验编号、化验时间、各指标的数据等信息。id是主键。

(5)质量临时表。质量临时表存储着所有终审前的质量数据,包含化验时间、各指标的数据、审核状态、审核人等信息。id是主键,质量表id是外键。

(6)采样表。采样表存储着每批次来煤的批次号、采样日期等信息。id是主键,质量表id是外键。

(7)工业分析表。工业分析表存储着所有从化验仪器上直接读取的化验数据,包含日期、编码、设备编号等。id是主键,质量临时表id是外键。

(8)指标表:存储着所有的化验指标,如指标名称、指标编码等。id是主键。

(9)转码表。转码表存储着每批来煤的采制化编码,如编码名称。id是主键,质量临时表id、转码类别表id是外键。

(10)转码类别表。转码类别表存储着采制化编码类别的信息,如名称、级别等。id是主键。

验收管理模块的关系数据模型如图3所示。

在验收管理模块程序中,Java文件负责业务逻辑的处理,表现层逻辑由Java文件调用Tapestry组件来实现。Tapestry是一个用Java编写的基于组件的网络应用框架,该框架可在简单、可复用的组件上构建复杂的应用程序。和Java的方法参数不同,Tapestry组件参数可以是双向的,即一个组件可能读取一个参数获得一个值或写一个参数来设置一个值。Tapestry把应用程序分解到一系列Page页面中,每个页面都由Tapestry组件组装起来。Tapestry页面和大部分用户定义的组件拥有一个模板——一个定义了组件静态和动态部分的专门的HTML文件。

由于Tapestry是一个基于组件的开发框架,因此开放的系统表现层像由“积木”堆积而成,Page规范就是这些积木的纽带。Tapestry积木式调用方式如图4所示。

3 系统部署

燃料管理系统部署模式如图5所示,电力企业连接示意图如图6所示。

4 结束语

燃料管理系统使燃料管理的各环节连成一体,实现了燃料的全过程计算机管理,提高了工作效率,保证了燃料管理中信息的及时和准确,大大降低了燃料经营成本,提高了企业的经济效益。

参考文献

[1]马银戌,李梅,孙蕾.火电厂燃料管理信息系统的设计与实现[J].河北电力技术.2001(2):53,54

[2]胡宏伟,杨建国.电厂燃料管理及煤质优化系统的开发及应用[J].热力发电,2004,4(11):71,72

[3]翁毕庆.电厂内运煤系统方案优化[J].四川电力技术,2005 (1):56,57

企业级Web应用 篇8

“项目化教学法”是师生通过共同实施一个完整的、有真实应用背景的企业项目而进行的教学活动, 它具有挖掘学生内在学习潜能、调动学生学习热情, 并能让学生产生成就感等特点和优势, 能够改变传统教学中学生处于被动学习的地位。对于JavaWeb开发类课程采用企业项目化教学更为重要, 因为该类课程中涉及到很多新的、抽象的、难以理解的概念与组件技术, 例如, 容器、引擎、会话、上下文ServletContext、过滤器Filter、监听器Listener、JSTL、EL表达式、动作元素与指令、转发与从定向、数据源DataSouce、数据库连接技术JDBC、JNDI、DBCP、C3P0, 以及application/session/request/page四大域对象等等, 通过采用企业项目化教学, 把这些难以理解与抽象的概念与组件揉合到真实的项目开发所对应的功能实现模块中来, 学生才能更好更直观的理解与掌握它们, 同时通过企业项目化的开发, 把理论教学与实践教学完美的结合在一起, 有效的提高了学生的学习能力、动手实践能力、研究、分析与解决问题的能力、团队协作能力、交流能力、职业素养与创新能力等, 使学生掌握了软件开发的流程与步骤, 积累了一定的项目开发的经验, 为今后学生的就业打下了良好的技能与实践基础。

2 企业项目化教学方案的确定与目标

2.1 企业项目化教学方案的确立

项目一:在线网上银行系统的设计与实现

实现一个OnlineBank项目——网上银行:系统的架构采用基于MVC模式下4层架构设计, Web层的页面展现采用JSP、JS、DIV、CSS、Ajax、EL、JSTL等技术实现;用户请求信息的获取与响应信息的发送由Servlet来实现, 用户访问权限的控制由Filter过滤器来实现;把请求参数到对象的封装采用Apache的BeanUtils技术来实现;业务逻辑与数据处理由Service层实现, 包括事物的控制也在该层实现;数据库的访问由Dao层来实现, 数据库的链接采用C3p0连接池技术, 数据库的CRUD操作采用Apache的DBUtils组件技术实现。系统功能包括登陆与注册、存取款、转账、业务查询、密码修改、交易记录查询、开户、数据加密、防止非法注入、重复提交、后台管理等。

项目二:淘宝购物商城系统的模拟实现

实现一个onlineShopping系统, 该项目真实模拟淘宝商城的功能实现。之所以选择以上两个项目作为项目化教学的方案, 一来是因为学生对以上两个相互的业务都比较熟悉, 更重要的是可以把该门课程所涉及到的所有技术都揉合到两个项目的对应功能实现应用中来。

2.2 企业项目化教学的培养目标

(1) 培养学生的自主与创新学习能力。

企业项目化教学以企业任务驱动以及项目应用场景真实性为模式, 大大提高了学生学习的主动性与能动性, 激发了他们的学习兴趣, 每个功能模块的实现都会给学生带来成就感体验, 也激发了他们的创新思维, 由原来的被动学习转为主动学习。促进了学生学习的积极性, 使学生建立了目标感, 确立了目标管理的方向。

(2) 培养了学生的职业素养与职业意识。

项目化教学真实模拟企业项目开发流程, 在项目开发过程中根据学生的掌握程度与特长对学生进行分组、分模块、分角色进行管理, 设置“架构设计师”、“需求分析师”、“数据库工程师”、“项目经理”, “组长”、“程序员”、“测试员”、“美工”等职务, 有利于学生形成职业角色意识, 有利于今后工作角色的定位。同时在教学过程中增加时间管理、任务压力管理、企业规范化管理以及企业文化管理, 使学生完成从学校到单位角色的零距离转换, 很好的培养了学生的职业素养与职业意识。

(3) 培养学生的团队合作与沟通能力。

在项目化开发中各层, 以及各个模块中的接口内容、访问路径的映射等等规范的制定, 层与层之间的并发开发等内容都要考验到学生之间的交流与合作能力。在企业员工招聘中, 对需求人才的合作与沟通能力要求也很突出, 在企业项目化教学过程中, 也锻炼与加强了对学生该能力的培养。

3 企业项目化教学的组织与实施

学生在确定好企业项目化开发方案及目标后, 即开始思考如何去完成项目, 着手起草项目的实施方案。安排学生通过各种途径查找相关资料, 分析并确定需求。在分组讨论基础上制定出初步的项目的组织与实施方案。项目的组织与实施方案应有以下几部分组成:

(1) 开发团队的组建与任务分配:按照软件公司的的组织管理模式来组建学生开发团队, 对前面所确定的项目, 可按5-6人来分组成一个团队, 项目团队人员组成可根据学生特长由教师分配完成, 成员中有项目经理或组长、程序员、测试人员、美工人员、需求分析与数据库设计人员等;学生根据自身的特点与专长, 通过项目开发找到合适的自己的职业角色定位, 为今后的顺利就业打下坚实的基础;

(2) 制定项目需求说明书, 并制定开发文档规范与项目字典等任务:项目组根据项目主体, 通过查阅资料以及到对应相关单位调研、考察, 与相关人员沟通交流, 并最终确定需求。着手制定相应的项目需求说明书, 然后建立项目字典。约定好并制定开发规范;

(3) 数据库设计与系统架构设计:从数据库原理技术与设计规范要求着手完成项目中所有表, 以及表与表之间关系的设计。确立系统所采用的开发架构, 以及各个层所采用的组件与框架实现技术, 并形成相应的文档内容;

(4) 项目代码开发:该阶段是学生们练习与实践的最重要阶段, 也是学生遇到问题最多、最难的阶段。该阶段完成界面的设计、各个功能模块的代码与相应注释编写、用户文档的制定等等。在该阶段中教师应给予及时的技术指导与跟踪督促, 并做好学生的讨论与技术应用总结;

(5) 项目测试:该阶段编写测试计划与测试方案, 进行单元测试、功能测试、集成测试以及性能测试, 并产生相应的测试文档报告, 对于测试中所暴露出来的问题与错误及的给予反馈, 并做好记录。以便在项目小组开会与任务部署中进行通报与讨论。

4 采用企业项目化教学的课程成绩评定

项目化教学注重的是过程性与综合性, 应该把实践能力与项目能力纳入对学生成绩的考核范围。学生最后的得分包括以下几部分内容组成:

①项目小组对学生的考评成绩, 由项目经理或组长根据该组员在项目开发中所承担的模块完成质量、沟通与合作能力, 以及对整个项目完成的贡献大小来给予考核, 所占比重为40%;②教师对学生的考评成绩, 其中考核内容有学生平时表现, 完成项目的质量、在代码编写过程中的规范遵守与代码质量、项目讨论与总结中的答辩水平等方面成绩构成, 所占比重为50%;③学生对自己的自评成绩, 要求学生对自己在整个项目开发中的表现给出一个客观合理的成绩, 并给出评定的理由, 采用这样的方式可以间接的提高学生的自信心、激发他们的参与热情, 所占比重为10%。

5 企业项目化教学的体会

通过在《基于Java技术的Web应用开发》课程中实施企业项目化教学, 学生的参与热情、主动学习热情、学习兴趣都得到了很大的提高, 学生专业的整体综合素质得到了质的飞跃, 实践证明这种教学模式是适合于高职院校的软件技术等相关开发类专业的教学的, 是提升人才培养质量的一种先进而有效的教学方式。项目化教学与传统的教学相比, 有以下优点:

(1) 项目化教学提升了学生的职业能力和职业素养。在整个项目开发中完全按照软件企业的开发流程来组织与管理教学, 角色分明、文档规范, 在提高项目开发质量的同时, 使学生的职业能力与职业素养也得到了质的提升。

(2) 企业项目化教学为学生建立了学习目标, 有利于激发学生学习兴趣, 提高学生学习的主动性与能动性, 提高了学习效果。同时提高了学生的创新与创造能力。

(3) 企业项目化教学提升了对学生的成绩考评地位, 实现了多元化评价、过程性评价等, 有效地推进了考试成绩改革。

(4) 企业项目化教学也促进并提升了教师的素质, 锻炼了师资队伍。教师的专业素质提高了, 教学质量和效果自然会得到提高。在真实的项目开发过程中, 教师的开发能力与项目管理能力得到了提高, 从而提升其专业素质, 教师的专业素质提高了, 教学质量和效果自然会得到提高。

6 结束语

实践证明, 企业项目化教学法是提升学生职业能力、职业素养、团队协作与沟通能力、激发学生学习热情、培养企业需求的合格人才的行之有效的教学方法。

参考文献

[1]罗耀军.基于项目化、模块化的课程设计[J].职教论坛, 2009 (10) .

[2]王萍利.项目化教学法在java程序设计课程教学中的应用初探[J].陕西教育, 2011 (8) .

企业级Web应用 篇9

关键词:语义Web,知识集成,知识检索,本体

随着计算机科学与互联网技术的飞速发展, 越来越多的学者致力于将知识管理理论与信息技术相结合展开研究, 企业知识集成正是这种结合的产物。企业知识集成从企业整体角度出发, 综合运用知识管理的理论和方法, 将信息技术与企业业务过程相组合, 以多种形式进行知识的表示、组织、获取、存储、使用和创新的过程, 从而提高企业的技术创新能力[1,2]。然而, 由于企业面临着分布动态的异构网络计算环境和复杂的计算内容, 传统的企业知识共享和集成存在一系列的问题, 如, 知识不具有共享性和一致性;对知识没有精确的语义描述而造成计算机无法正确理解知识的含义;不能有效地实现知识处理过程自动化和智能化等。随着计算机领域技术的不断发展, WWW的发明者Tim Berners-Lee于1999年提出了语义Web (SemanticWeb) 的概念[3], 语义Web是对现有Web的扩展, 其目标是为因特网上的信息提供具有计算机可以理解的语义, 从而实现WWW上异构的、分布的信息资源在语义层上的全方位互联, 并在此基础上, 实现更高层的、基于知识的智能应用。因此, 语义Web概念的提出为有效解决传统的企业知识共享和集成存在的瓶颈问题提供了新的技术思路。

1 企业知识集成需求分析

在以知识和信息为基本要素和重要资本的知识经济时代, 知识已经成为企业最重要的资源。目前, 企业在长期的生产过程中积累了大量的知识, 这些知识往往是离散的、无序的, 分散在企业的各个业务系统之中, 他们的描述方式、存储方式等都有很大差异, 从结构程度上可以是结构化知识、半结构化知识和非结构化知识, 从存在形式上可以是文本形式、数据库形式、Web文档等多种形式, 这些差异导致知识的获取困难, 主要表现在以下几个方面:

(1) 面对企业众多的知识, 用户不知道如何确切地表达对真正想要的企业知识的需求, 不知道对自己有用的知识在何处, 不知道如何快速有效地获取所需的企业知识, 更不知道如何判断查找结果的全面性和权威性等, 在这种情况下导致了企业知识资源的利用率很低。

(2) 不同的知识源存在着结构异构、语义异构, 相互之间不能互操作, 从而给知识的快速检索带来了困难。

(3) 在不同的生产工艺过程中, 用户需要不同的知识, 这就需要系统的知识检索过程考虑个性化的因素, 同时, 又能根据用户的个性化差异及用户的需求, 适时主动地将知识推送给用户。

针对以上问题, 为了有效的利用企业知识, 应该对企业的知识进行有效的集成。企业知识集成的最终目标是实现企业知识的共享、重用和创新, 其中的一个关键问题就是使得知识可以被计算机自动分析、理解和处理, 而这恰恰正是语义Web所要实现的目标。因此, 本文结合使用语义Web技术, 提出了一套支持企业知识集成的框架结构, 将企业原先分散的异构知识有机地结合起来, 消除了知识的“语义鸿沟”问题, 解决企业知识的供给与需求问题, 使得知识使用者能够更好地实现知识的共享与重用。

2 语义Web

语义Web是当前互联网技术研究的热点, 它是当前Web的一个扩展, 其目标是应用有效的标准和技术使得计算机能够更多地理解网上的信息, 从而进行知识发现、数据集成等。它所描述的信息被赋以明确的定义, 有助于计算机与人之间的协同工作, 提供了一个允许数据在应用程序、企业和团体之间共享和重用的通用框架, 其目的是消除“信息孤岛”和“知识孤岛”, 实现信息资源和知识资源的智能共享与集成。语义Web是一套包括Web信息存储、组织、表示、安全认证等各个方面的完整体系, 涉及XML、RDF、Ontology、数字签名等技术和方法, 其中XML、RDF和Ontology主要用于表示Web信息的语义, 是语义Web的核心和关键技术, 如图1所示[4,4]。

XML可以让信息提供者根据需要, 自行定义标记及属性名, 从而使XML文件的结构可以复杂到任意程度。它具有良好的数据存储格式和可扩展性、高度结构化以及便于网络传输等优点, 再加上其特有的NS机制及XMLSchema所支持的多种数据类型与校验机制, 使其成为语义Web的关键技术之一。

RDF即资源描述框架 (ResourceDescriptionFramework, RDF) , 是W 3C组织推荐使用的用来描述资源及其之间的关系的语言规范, 具有简单、易扩展、开放性、易交换和易综合等特点。然而, RDF只提供了一种描述资源———属性———属性值的方法, 本身并没有一种机制来定义三元组, 而RDFS可以完成这个工作。RDFS以属性为中心规定了与每个属性相关的主体和客体的类型, 包括属性用法的定义和限制等, 并定义了在RDF/XML中使用的标记、词汇。

本体 (Ontology) 原是哲学上的概念, 用来描述事件的本质。后来应用到人工智能、知识工程等多个领域。人们对本体的理解也在不断的发展变化之中, 目前比较完善的定义是1998年Studer[5]定义的本体, 即本体是指共享概念模型的明确的形式化规范说明, 即把现实世界中的某个领域抽象成一组概念 (如实体、属性、进程等) 及概念间的关系, 进而构造出这个领域的本体, 它体现了本体的4层含义: (1) 概念模型:指通过抽象出客观世界中一些现象的相关概念而得到的模型, 其表示的含义独立于具体的环境状态; (2) 明确:指概念和概念的约束都有明确的和无歧义的定义; (3) 形式化:指本体能通过本体语言编码, 使得计算机可读, 并可以被计算机处理; (4) 共享:指本体体现的是共同认可的知识, 反映的是相关领域中公认的概念集。本体的目标是捕获相关领域的知识, 提供对该领域知识的共同理解, 确定该领域内共同认可的术语, 并从不同层次的形式化模型上给出这些术语和术语之间相互关系的明确定义, 实现对领域知识的推理。本体需要某种语言来对概念化进行描述, 有许多语言可用于表示Ontology, 如SHOE、RDF和RDF Schema、DAML、OIL、DAML+OIL以及OWL等。其中OWL语言保持了对DAML+OIL/RDFS的兼容性, 又保证了强大的语义表达能力。同时它又继承了描述逻辑和框架语言的特征, 具有知识推理的能力。

因此, 在对语义Web技术进行研究的前提下, 利用语义网的核心技术和支撑工具, 开发一个语义Web企业知识集成系统, 可实现企业知识在语义层次上的集成, 实现知识的智能共享。

3 基于语义Web的企业知识集成框架研究

3.1 基于语义Web的企业知识集成框架模型

为了实现上述企业知识集成需求, 本研究设计并构造了基于语义Web的企业知识集成框架, 如图2所示。该框架以企业本体库为核心, 呈现了相关知识的获取、表示、存储及运用的全过程。

3.1.1 资源层。

资源层包括了企业现有的各种异构知识源, 如各种工艺案例、数据库等。这些知识源主要包括结构化数据、半结构化数据和非结构化数据。结构化数据是以数据库结构方式、格式存储的数据, 最典型、最常用的结构化数据就是关系数据库存储的数据格式。非结构化数据是无法用统一的数据或格式表示的数据, 如word文档文件、电子邮件文件、电子表格文件、图像文件等, 它们没有统一的数据模式能用结构化的数据模型来描述;没有统一的操作方式。半结构化数据是介于完全结构化数据和完全无结构的数据之间的数据, 典型的有HTML和XML。

3.1.2 语义描述层。

为了实现知识共享和集成, 消除各知识源之间存在模糊不清或模棱两可的概念或定义, 在该框架模型中定义了语义描述层, 语义描述层负责对领域知识结构的描述, 从而避免重复进行领域知识分析。不同的知识源可以有不同的知识模式 (如ER模式、OO模式等) , 而多个知识源之间的集成要保证各知识源的自治性, 即基于原有知识模型的知识源仍然能够正常使用。本文将XML模式作为输出模式, 并利用XML接口在模式间进行交互, XML是W 3C制定的数据交换标准, 是获得公认的一种数据格式, 可以描述多种数据结构, 具有自描述性, 良好的可扩展性, 内容和形式相分离, 遵循严格的语法要求, 因此, 采用XML模式作为输出模式可以屏蔽各知识源的私有模式, 而不需要考虑其它知识源的结构。该层主要包括领域本体与本体映射的构建两部分, 领域本体的构建主要是构建本体过程, 在对数据源形式分析基础上, 抽取数据源模式, 确定该数据源中的术语及其关系, 构建基于各数据源的局部本体, 再对各局部本体进行合并, 构建全局本体。映射的构建主要是构建本体与本体、本体与数据源之间的映射信息, 实现它们之间的语义互操作。

3.1.3 知识处理层。

知识处理层在本体领域的指引下, 自动收集、处理各种异构知识源知识形成结构化、统一的知识进入知识库, 另外, 知识处理层还处理用户提交的知识加入请求, 并对提交的知识进行处理后, 进入知识库。

3.1.4 知识集成层。

知识集成层是整个框架的核心, 使用语义Web技术实现, 主要包括对知识的标注和知识的集成, 经过语义标注的知识存储于知识库, 因此, 知识库主要存储和管理由知识处理层处理之后的结构化的统一知识, 并与知识应用层进行交互, 帮助用户检索知识, 并创造新的知识。

3.1.5 知识应用层。

知识应用层指在企业知识集成的基础上, 提供给用户各分布、异构知识的具体应用, 如知识检索、分类导航等各种知识应用以图形化界面的方式展现出来, 为用户提供统一的访问接口, 同时提供了知识维护界面。

3.2 知识集成涉及的关键技术

3.2.1 领域本体构建方法。

领域本体是整个知识集成框架的基础, 其他各个部分均依赖于领域本体来建立。领域本体指导知识处理层对各个不同的异构知识源进行处理, 形成统一的结构化知识源集合, 并存储在知识库中, 最终提供给用户使用。用户在领域本体的作用下可对知识进行语义检索, 从而提高了检索的查全率和查准率。本文在在借鉴了骨架法[6]和七步法[7]思想的基础上, 提出如图3所示的本体构建方法。该方法主要遵循了以下6个步骤: (1) 确定本体的领域和范围。 (2) 发现可重用的本体。 (3) 本体概念体系的构建及规范化处理。根据业务领域抽取核心概念, 从而定义类及类的等级体系、定义类的属性和创建实例。 (4) 本体表示。用形式化的语言对本体进行表示。 (5) 本体的评价。本体的评价按照清晰性、一致性、完善性和可扩展性进行。 (6) 存储本体的建立。利用现有的本体开发工具辅助本体构建, 并可直接转化成相应的本体表示语言的文件格式存储。

3.2.2 知识的语义检索。

知识检索是实现知识共享和重用的关键技术, 根据本文提出的知识集成框架, 采用了基于概念的语义检索, 如图4所示。

基于概念的语义检索与传统的检索不同, 知识库中的知识资源是由本体标注而形成的语义知识网络, 具有分析和理解自然语言的能力, 可实现同义词扩展检索、语义相关扩展检索等不同形式的检索, 突破了关键词检索单一模式的缺陷, 实现概念层次上的词义扩展, 对用户检索实现智能导航, 充分保证用户的实际检索效率。图4描述了基于概念的语义检索过程, 用户通过输入检索表达式来表达其检索需求, 通过本体映射函数将检索需求转换成本体对应的格式, 从而形成规范的检索式, 避免了词汇理解的二义性以及检索词所属学科的模糊性, 然后在本体的帮助下从知识库中匹配出符合条件的知识, 可以很大程度上满足相关人员快速检索知识的需求。在检索过程中可能出现的一种情况就是用户查询请求没有找到与之匹配的政务本体概念空间中的概念, 这就需要匹配过程具有一定的容错处理能力, 可以通过适当的放松概念的匹配程度并使用户查询请求在本体概念树中向上追溯以获得匹配的概念来实现。当然, 这是以牺牲检索的查准率为代价的。因此, 这个步骤完成的质量涉及到两个因素, 一是本体本身的完善程度, 二是权衡放松匹配程度和保证检索的查准率的关系。

4 小结

在知识经济时代, 如何有效地利用、共享知识已经成为企业提高核心竞争力的关键因素, 为此, 本文根据企业普遍存在的多知识源语义异构问题对企业知识集成进行了需求分析, 结合语义Web技术, 提出了一套基于语义Web的企业知识集成框架结构, 通过该框架实现的系统可将企业异构的知识有机结合起来, 消除知识的“语义鸿沟”问题, 使知识得到有效的共享和重用。

参考文献

[1]吴正佳, 冯爱华, 杜义贤, 等.基于语义Web的动态联盟知识集成模型方法研究.现代制造工程, 2007 (8) :19-22.

[2]谷文栋, 夏国平, 尤薇佳.基于语义网的企业知识集成方法.北京航空航天大学学报, 2007 (2) :243-247.

[4]BERNERS-LEE T, HENDLER J, LASSILA O.The Semantic Web[J].Scientific American, 2001, 284 (5) :34-43.

[4]田春虎.国内语义Web研究综述[J].情报学报, 2005 (2) :243-249.

[5]STUDER R, BENJAMINS VR, FENSELD.Knowledge Engineering:Principles and Methods[J].Data and Knowledge Engineering.1998, 25 (1-2) :161-197.

[6]USCHOLD M, KING M.Towards a Methodology for Building Ontolo-gies[D]//Proceedings of the 14th International Joint Conference onArtificial Intelligence (IJCAI-95) Workshop on Basic OntologicalIssues in Knowledge Sharing.Montreal, Canada, August 1995.

应用Web2.0 篇10

实际上, Web2.0并不是一项专业术语, 仅仅是互联网发展中的一项技术和应用上的突破, 可以称作为互联网的又一个亮点。Web2.0是互联网的社会化进步, 它去掉了网络上合作性质的信息发布, 加入了Tagging (标签) 和Microformats (微缩过程) 等技术, 使得信息的产生和选择升级至一个新阶段, 成为新媒体诞生的标志性技术, 这才是Web2.0的本质。

Web2.0的力量不容小觑, 有关的内容也呈爆炸式增长。我们更加关心的是Web2.0的企业应用。到目前为止, Web2.0的典型企业应用大体可以分为以下2类。

1) 逐渐盛行的网络营销。早期的网络营销通过电子邮件、弹出式窗口、横幅式广告 (banner) , 商家通过对其门户上banner的租用点击率和时长来收取费用, 但是这样做的缺点就是广告的精准性不够, 可能用户已被网站弹出无数不相关的对话框惹火, 甚至早已选择浏览其他内容。Web2.0所带来的网络营销, 从用户的动作信息中搜索消费者习性, 量身定做信息列表推送给消费者, 使其对信息获取有选择权, 感觉更为亲切、自然。对电力企业来说, 95598电力客户服务、客户关系管理和合作伙伴关系管理等均可使用Web2.0进一步加强, 也可通过博客和微博宣传企业公民形象等。

2) 企业内部管理新的任务协作平台。纽约大学教授Clay Shirky把企业中未获得充分利用的人力潜能称为大量“认知剩余”, 并认为可以使用参与式工具开发利用此类潜能, Web2.0正是这样一种工具。其聚合功能将各种应用聚合在一起变成新的应用, 满足用户的各种不同需求。员工通过定制化的门户、即时消息、微博等Web2.0工具, 实现互动式的浏览办公, 实现讨论式的管理, 既有高度的协同管理、扁平化管理和知识管理的特征, 又具备消息聚合、自动归类、模糊搜索、消息定向和RSS订阅等功能。以信息聚合的方式连接企业中的每一个员工, 进行业务与创新协作, 通过Wiki组织并分享散落在公文、档案、Mail中的重要信息, 实现企业信息资源的充分共享。这些将给传统的企业管理带来新意, 可显著提高员工的工作积极性、主动性, 提高工作效率。

技术的进步必然推动内部管理效率的提高和外部服务水平的提升。我们应主动研究和应用Web2.0, 让我们的客户和员工更早地享受到技术革新带来的好处。同时也要注意到Web2.0是一把双刃剑, 它既实现了新的协同沟通方式, 也有可能被员工或客户用来攻击企业。社交网络的安全问题也是影响其应用的重要因素, 如个人身份或财务信息被窃、恶意软件感染、垃圾邮件、未经授权的密码修改和钓鱼欺诈等, 有时后果远远超出我们的想象。

Web应用将革应用商店的命? 篇11

用户说:跨平台跨终端是主流

移动互联网时代,用户希望尽可能快速地到达想要去的网页,而应用商店本地化应用在这方面似乎有着天生的缺陷。用户使用应用程序,在操作过程中需要反复跳往浏览器的链接。这个步骤纯属多余,却又不可避免。

Web应用有望以此作为超越应用商店应用的筹码。UC优视创始人、产品总裁何小鹏表示,相比客户端应用,Web应用最大的优势就是统一便捷,Web应用有免下载、免安装、免更新、随时随地即点即用、交互和体验保持统一性等诸多特点,随着浏览器对HTML5支持能力的提高,Web应用在操作体验上也可以无限接近甚至超过客户端。

对于用户来说,他们并不那么关注自己用的应用是客户端应用还是Web应用,他们只希望用最简单有效的方式满足他们的需求。快餐文化的侵袭,让用户厌倦了在各种终端上来回拷贝资料,厌烦了操作系统和各种软件的重复安装或升级。互联网是一个完整的世界,不能因为终端的不同而被割裂开来。而能跨平台跨终端的浏览器,无疑是融合的最好阵地。

开发者说:盈利才能直起腰板

国内手机应用商店一片火热,但大量开发者却不能从它上面赚到钱。相关数据显示,2011年中国手机应用开发者实现盈利的仅占13.7%,亏损的高达64.5%,另外20.8%正努力做到保本。可见,应用商店靠海量应用捕捉到了用户,但开发者并没有与此真正形成良性的生态系统。

究其原因,应用商店模式之中,没有普遍的用户付费习惯、没有成熟的广告和增值服务系统,很难打通社交、电子商务和支付。而在Web平台上,上述问题能更简单的得到解决。

首先,众多知名网站都有着很高的点击率,有巨大的流量导入。比如百度新首页、新浪微博、腾讯Q+这些互联网开放平台,已经逐渐建立了一些增值服务的商业模式。

其次,大大降低了开发者的开发成本和维护难度。相对于Android的开源导致各个版本分裂,一款应用需要重复开发多次,HTML5带来的好处则不言而喻。第一,随着各国各相关企业对HTML5支持的逐步完善,开发者只需开发一款应用即可在多个移动平台和有线平台运用,大大减少了应用的二次开发成本;第二,利用HTML5开发应用可以在网页上直接调试和修改,版本更新会更快、更方便,能够节省大量的成本。第三,Web应用不像客户端应用对渠道发行有強烈的依赖,基于浏览器用户能更方便的体验产品,开发者更容易触及到海量的用户。

科技巨头说:做好革命的准备

HTML5成为未来互联网技术的制高点。围绕这个制高点的标准,各大科技巨头们已经展开激烈的争夺。

2010年2月底,苹果发布其创新产品iPad,表明不再支持Flash;2011年1月,苹果新官网上线,完全基于HTML5;iOS里苹果的自带浏览器Safari也是支持HTML5;去年7月,苹果还收购了html5.com域名。而谷歌同样也极力支持HTML5的推广,比如Youtube就已经采用了HTML5,Chrome浏览器也很早就宣布全面支持HTML5。

不过,由于各方势力角逐割据,在相当长一段时间里,Web应用和应用商店之间将会保持着竞争和互补的关系,因为,并不是所有应用都适合做成Web形式,同时也不是所有应用都需要开发一个客户端。

企业级Web应用 篇12

随着互联网的普及和发展,建立一个企业信息化系统是日益壮大的企业的一个必然选择,而电子邮件已成为企业信息化系统中一个越来越重要的组成部分。随着垃圾邮件、病毒邮件的日益增多,电子邮件的安全及垃圾邮件的过滤是目前企业急待解决的问题[1]。本文提出了一种基于WEB的企业电子邮件过滤模型,开发了一个集成在企业信息化系统中的电子邮件管理及过滤的子系统。本文的实践基础是黑龙江国脉通信科技有限公司项目———企业信息化系统(二期开发)。

1 企业邮件过滤策略

1.1 设计思路

电子邮件的过滤通常可以从两方面来考虑:一种是基于服务器端的垃圾邮件过滤,一种是基于客户端进行垃圾邮件过滤。对绝大多数企业而言,目前普遍采用的是邮件服务器网关这种传统的服务器端过滤方法和Out Look或其它的客户端软件相结合的解决方案。由于现有的邮件客户端软件过滤功能极不完善且邮件网关产品风格迥异效果各不相同,所以很难达到较理想的过滤效果。针对这种现状,本文提出了一种基于WEB的邮件服务器端和客户端相结合的企业电子邮件过滤策略。

1.2 邮件过滤技术分析

目前,已有的比较成熟的垃圾邮件过滤技术有:黑白名单技术,基于关键字、基于规则和基于内容的贝叶斯过滤技术等[2,3,4]。这些技术虽然都有各自的局限性,但在一定条件、一定范围内取得了很好的过滤效果,体现了各自的优势。所以,针对企业这一特殊的邮件使用群体,一定要综合运用上述各种技术的优势之处。此外,也要挖掘就企业而言特有的邮件过滤技术。企业这一特定群体有着特定的邮件行为特征,这就使得企业的正常邮件和垃圾邮件有着更大的辨识度,所以基于行为特征的企业邮件过滤技术具有很大的可研究性,而且基于行为特征的挖掘是在邮件发送阶段进行的,这样在实效上会更有优势[5,6]综合起来就是以下两个方面一是将对垃圾邮件的过滤操作提前到邮件发送阶段,采用基于模式的统计理论[5,6,7],优化提取邮件发送过程中的各种行为特征,形成行为特征模型,进而进行基于行为模式识别的过滤[8];二是综合运用各种垃圾邮件过滤技术,逐层检测,发挥各种过滤方法的优势互补作用。

1.3 服务器端和客户端协作策略分析

首先,邮件服务器和客户端各自有相对独立的垃圾邮件过滤子系统。SMTP和POP3(或IMAP)服务器端逐次采用同域认证、黑白名单、行为模式过滤、关键字过滤和基于内容的贝叶斯过滤技术;客户端则依次采用黑白名单过滤、基于行为模式过滤和关键字过滤技术。这里需要指出的是:基于行为模式过滤、黑白名单过滤和关键字过滤技术这三种技术虽然在服务器端和客户端都有使用,但针对的过滤对象是有差异的。基于行为模式的过滤在服务器端主要是通过垃圾邮件共有的异常行为进行判定和过滤,而在客户端则是以具体企业内的员工用户的邮件行为为基准进行异常行为的判定,从而达到过滤的目的。黑白名单和关键字过滤在服务器端和客户端的差异很显然,这里就不在赘述了。

其次,邮件客户端在发现异常情况时,可以及时上报邮件管理中心进行进一步的分析处理,从而及时更新服务器端的过滤系统,并且服务器端及时将反馈信息回发给客户端。另外,服务器端和客户端的过滤目标是互补的,这也充分体现了服务器端和客户端协作的过滤策略。

2 基于WEB的企业邮件过滤引擎

2.1 策略模型

基于WEB的企业邮件过滤系统是建立在企业信息化平台之上的,它将邮件客户端以及与服务器端的接口布置在企业信息化平台上,从而建立起基于WEB的企业邮件过滤引擎。该引擎主要有以下一些功能模块:

模块1:邮件解码模块,完成邮件的解码。

模块2:客户端过滤模块,设置客户端个性化过滤规则,据此在客户端对邮件进行过滤。

模块3:客户端邮件收发模块,完成客户收发邮件功能。

模块4:中心分析处理模块,对邮件日志和客户端上报的异常进行分析,给邮件服务器提供决策支持。

模块5:与服务器和客户端交互模块,提供服务器和客户端的接口。

图所示的策略参考模型给出了抽象的基于WEB的企业邮件过滤系统的功能组成部件和模块,呈现了基于WEB的企业邮件过滤引擎的体系结构。

2.2 数据库设计

数据库的设计主要包含邮件信息表和各种过滤技术的参照表两类。其中,邮件信息表主要是收发两个表。表Email-archive-pop3存档企业收到的邮件(见表1),表Email-archive-stmp存档企业已发送邮件和邮件草稿(与表1结构相似),表Emailarchive-stmp中的MESSAGE-STATE字段用以标识邮件是已发送邮件还是草稿邮件,表Email-archive-pop3中的MESSAGE-STATE字段用以标识邮件类别,即是合法邮件还是垃圾邮件。

在两个表中MESSAGE-ID都是主键;USER-EMAIL-ID代表邮件帐号,通过它检索出某个邮件用户的符合某种条件的邮件,它与企业信息化帐号相同;所以可以通过它与T-HR-Person人力资源表相关联,从而达到基于员工姓名的管理;这两个数据表存档邮件的详细信息,包括:邮件MESSAGE-ID,发件人,发件时间,邮件主题,邮件正文,是否有附件,附件存放地址等。

另外一种就是用来定义各种过滤技术的参考规则表。针对客户端所采用的过滤技术,规则比对表主要有以下3个:表Email-bw-list是黑白名单维护表(见表2),表Email-behavir是客户行为模式维护表,表Email-keyword是客户端关键字维护表。表Email-bw-list记录了每个用户黑白名单设置信息。LISTTYPE字段标识某条记录是白名单记录还是黑名单记录。以黑名单为例,CHECKED-IP,CHECKED-EMAIL,START-TIME和END-TIME分别记录了拒绝IP,拒绝EMAIL帐号,设置有效期开始时间和结束时间。

2.3 具体实现

2.3.1 邮件解码

由于本系统针对的是国内企业,收发的邮件绝大多数是中文邮件,而从POP3服务器上接收到的邮件的信息一般是用BASE64这种二进制编码方式进行编码的,如不作解码处理,则显示如图2所示信息,其中画线部分为乱码,即没能正常显示中文信息。所以首先必须对邮件进行解码[7]。

本系统后台定义了一个解码函数:UncodeFromBase64,用它来完成将一个BASE64字符串转换成GB2312/GBK等可读字符串。

2.3.2 过滤规则设置

用户要想在客户端达到良好的过滤效果,首先必须给各种过滤技术设置相应的过滤规则。第一,将自己认可的邮件用户放入到白名单中,使其免于被检测,从而节省时间和网络消耗;第二,将确认为自己不想收到的邮件用户帐号或IP放入黑名单,直接将其过滤掉;第三,将自己要拒收的邮件性质和内容归纳提炼成关键词的形式,加入到垃圾邮件关键词列表中;最后,尽量做到邮件使用时间和频度的相对规律性,规律性很强的行为特征也可手工设置,例如,从零点到凌晨两点发来的邮件认为是垃圾邮件。

2.3.3 客户端邮件过滤

客户端邮件过滤系统的流程框图如图所示。

在图3中,(s)表示最后标记为垃圾邮件存档,(c)表示最后标记为正常邮件存档。

客户端邮件依次经历四级过滤:白名单检测、黑名单判定、关键字识别和行为模式匹配。当邮件发送IP或邮箱帐号在白名单列表时,则直接标记为正常;邮件未在白名单列表时判定是否在黑名单上,如果在,则标记为垃圾邮件,反之进一步进行关键字识别,包含关键字列表中的关键字时,标记为垃圾邮件,反之进入行为模式识别,与配置好的用户行为模式相同或相似则标记为正常邮件,反之标识为垃圾邮件,至此,完成一个邮件过滤流程。

3 结束语

本文实现了基于WEB的企业电子邮件过滤系统,对于一个电子商务时代企业的发展有良好的指导和借鉴作用,实际应用中取得了很好的效果。不过,文中应用的基于行为模式的过滤技术还处于研究的初级阶段,但它是反垃圾邮件技术今后发展的方向,也是必然趋势。所以在这一方面还有待进一步的探索。

摘要:提出了一种基于WEB的企业电子邮件过滤策略,及将其融合在企业信息化中的具体实现。该过滤策略充分挖掘了客户端的过滤能力以及客户端与服务器端协作处理能力。在其实现过程中解决了由于异种编码方式所带来的乱码问题。

关键词:过滤,垃圾邮件,解码,企业信息化

参考文献

[1]史兵.企业电子邮件系统的困境和对策[J].计算机安全,2004(5).

[2]崔霞,朱思峰.垃圾邮件及反垃圾邮件技术研究[J].信息安全与通信保密,2006(9):139-141.

[3]姜兰,杨悦.垃圾邮件过滤技术研究[J].现代电子技术,2006(15):143-146.

[4]杨琨.反垃圾邮件技术研究及应用[D].CNKI,四川大学硕士学位论文,2005.

[5]A Ramachandran,N Feamster.Understanding the Network-Level Be-havior of Spammers[C].Proceedings of the 2006 conference on Appli-cations,technologies,architectures,and protocols for computer com-munications,ACM,2006.

[6]Yiru Li,Anil Somayaji.Securing Email Archives through User Mode-ling[C].21st Annual Computer Security Applications Conference(ACSAC’05),EI,2004:547-556.

上一篇:爱国的表达论文下一篇:基金经理人论文