搜索
您的当前位置:首页网站数据分析及策略

网站数据分析及策略

来源:小侦探旅游网
Web服务器数据处理及分析策略

Web服务器数据处理及分析策略

文章重点:

 软件开发特点:

 产品研发特点;

 项目开发特点(网站开发与管理信息系统开发各自特点);

 应用服务器稳定性分析;

 平台:websphere\\weblogic\omcat(优缺点分析);  应用:数据连接池管理、线程池管理;

 数据库管理(DBMS)分析:

 数据库事务处理过程;  对数据缓冲管理;  多线程用户并发连接管理;

 数据连接方式分析(JDBC、ODBC);

 设计模式浅谈;

 EJB设计模式;  STRUTS设计模式;  MVC设计模式;

 JSP\\SERVLET\\TAGLIG\\JAVABEAN设计模式;

 大型项目开发解决方案;

 MVC设计模型之JSTL应用;  集群解决方案;

 总结项目组近两年在项目开发领域中所用到技术概况(通过案例分析加以总结);

 国电信息中心管理信息系统(应用程序架构图、体系架构的特点及总结); 

文章关键字:

开发、网站、数据库、连接池、管理、并发、处理、稳定、设计模式、系统架构、案例分析;

一、网站发展现状

第 1 页 共 7 页

Web服务器数据处理及分析策略

1. 网站特点(稳定性); 2. 业务信息系统开发特点;

二、应用数据管理分析

1. 数据连接池概述; 2. 数据库事务处理过程; 3. 对数据缓冲管理;

4. 多线程用户并发连接管理; 5. WEB应用服务器稳定性概述; 6. EJB方式; 7. JDO方式;

8. HIBERATE方式; 9. JAVABEAN方式; 10. 总结;

三、现行开发模式

1. EJB开发模式; 2. STRUTS开发模式; 3.MVC开发模式;

4.JSP\\SERVLET\\TAGLIG\\JAVABEAN 5. 总结;

四、设计模型及项目分析

1.已有项目分析

 系统框架视图;  详细说明;  优缺点;

2.现有项目分析

 系统框架视图;  详细说明;  优缺点;

五、系统架构前景展望 MVC设计模型之JSTL应用 六、项目案例分析

七.可编程的安全性

组合容器管理的及可编程的安全性 使用可编程安全性及SSL 第二章、软件体系结构

一、WEBSPHERE APPLICATION SERVER体系架构10 1、WebSphere体系架构图10

2、Application Server体系架构图11

第 2 页 共 7 页

Web服务器数据处理及分析策略

3、应用程序架构图12 4、体系架构的特点总结13

二、WEBLOGIC SERVER体系架构14

三、WEBSPHERE与WEBLOGIC产品的对比15

第四章、软件性能31

一、动态内容缓存(Caching Dynamic Content)31 二、垂直扩展性(VERTICAL SCALABILITY)31 三、水平扩展性(HORIZONTAL SCALABILITY)31 四、数据库存取技术

一.网站发展现状

1.1网站特点

在中国教育网发布信息,区别于报纸、电视、专项广告等信息媒体,具有以下特点: 1、网站知名度高,权威性强,访问人数众多,访问量急剧增加,因而在《中国教育网》进行发布信息宣传将会获得极高的回报率。

2、更改方便:在传统媒体上做广告发版后很难更改,即使可以改动往往也须付出很大的经济代价。而在中国教育网上发布信息能按照需要及时变更信息内容。这样,使您的招生信息也能及时实施和推广。

3、传播范围最广,网络服务的传播不受时间和空间的限制,它通过国际互联网络把广告信息24小时不间断地传播到世界各地,只要具备上网条件,任何人,在任何地点都可以阅读。这是传统媒体无法达到的。www.chinaedunet.com作为国际互联网络(internet)的一个节点,您发布的信息可以在全世界任何角落,任何时间被internet用户看到,这个正风靡全球的\"internet\"媒体与传统大众媒体相比具有划时代的意义。

1.2业务信息系统开发特点

个性化管理,充分体现不同客户的变化需求;

全开放式操作,支持流程自定义、对象属性自定义、单据自定义和报表自定义; 超级编码管理。万思支持对象编码无级分类,分类级数和级长都没有任何限制; 多货币单位、多计量单位控制; 优化的远程管理思想。万思软件采用胖客户端和瘦客户端相结合的方式,融合了Client/Server和B/W/S结构的优点,既保证了异地同步更新的需要,又确保了远程数据传递的高效率。这比目前国内普遍的纯客户机服务器体系或纯浏览器方式都要优秀得多;

大型数据库的无缝挂接,包括SQL SERVER、ORACLE、SYBASE等主流大型数据库; 强化的安全管理措施,支持自动备份、自修复功能。

MIS(Management Information System,管理信息系统)这个名词已经产生几十年了,它有

第 3 页 共 7 页

Web服务器数据处理及分析策略

许多相似功能的系统,描述这些功能的名词五花八门,在全世界流行的也近十种。本书主旨介绍新概念和新技术,对于MIS及其相关概念的介绍,是为了多层面地勾画一个立体的环境,以便在介绍新技术、新概念时以点代面,读者可以穿插应用。许多关键技术,比如:数据的组织管理方式、系统开发方法、文件相互关联的方式方法等,在不同功能的系统中是通用的。

MIS发展至今,已很难为之勾勒一个完整的边界,它所包容的内容甚至超出了计算机专业和IT产业界,比如,人类社会的组织方式、人的活动方式等也成为MIS研究人员所关注的问题。对MIS的开发研究,一直吸引着企业界和研究开发人员。许多大企业不断为之付出极其昂贵的代价,一个主要的原因就是新技术的不断产生。无论对于理论学习或是新技术开发,MIS系统都是一个很好的环境。

本书第一、二章介绍MIS系统向其内部的深入和向外部的扩展。第三、四章是对面向对象语言的反思,因为面向对象是许多新技术的基础。通过对面向对象概念发展至今所形成的概念及方法的介绍,进一步理清面向对象语言及面向对象设计应遵循的最基本规律。第五章介绍MIS发展的最新动向——数据仓库的特点。第六~九章介绍有关网络数据库的新技术,包括用VB(Visual Basic)编写的ActiveX文件、用ASP(Active Serve Page)编写的网页、网页和网上动态数据库连接的方法等。

本书的目的是介绍新技术,达到知识转移,以便使具有DOS和Windows编程经验的人员把现有的经验扩大,变成以网络为基础的应用。

对信息系统的研究逐渐归类为三个方向,即:办公自动化、面向对象和数据库。在Internet的推动下,这三个方向的成果相互连通。本书就是介绍这些连通的技术,比如:办公自动化系统(Office)通过面向对象编程(ActiveX)对数据库的连接,或网页中加入脚本程序(用ASP制作的网页),实现从浏览

ORACLE连接数据库方式

JDBC是一种可用于执行SQL语句的JavaAPI(ApplicationProgrammingInterface,应用程序设计接口)。它由一些Java语言写的类、界面组成。JDBC给数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。

通过使用JDBC,开发人员可以很方便地将SQL语句传送给几乎任何一种数据库。也就是说,开发人员可以不必写一个程序访问Sybase,写另一个程序访问Oracle,再写一个程序访问Microsoft的SQLServer。用JDBC写的程序能够自动地将SQL语句传送给相应的数据库管理系统(DBMS)。不但如此,使用Java编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上编写不同的应用。Java和JDBC的结合可以让开发人员在开发数据库应用时真正实现“WriteOnce,RunEverywhere!”

第 4 页 共 7 页

Web服务器数据处理及分析策略

连接Oracle数据库提供了两中方式OCI方式和thin方式,OCI方式是通过本地动态连接库和Oracle进行套接字通讯,速度和安全性比较好,thin方式是通过远程访问Oracle。一般情况,OIC方式用于服务器端开发的数据库连接方式而thin方式可用于applet等需要远程访问数据库的方式。下面一个类实现了对Oracle数据库的连接,编译下面程序需要你的计算机环境中配置了Oracle JDBC驱动程序包。

使用连接池的必要性

JDBC 是 Java 代码和 SQL 数据库之间的一座桥梁。主要的 JDBC 对象表示同数据库的连接及利用这些连接执行的语句。用于关系数据库的两种基本语句是查询和更新。两者都需要的一个前提条件就是,您首先要利用

java.sql.DriverManager 类同数据库建立连接。建立连接要花很长时间(就计算机时间而言),因此在

Web 服务器这种事务繁忙的环境中,您希望尽可能重用连接。这样的重用叫做建立连接池。

一般情况下,在使用开发基于数据库的WEB程序时,传统的模式基本是按以下步骤: 1. 在主程序(如Servlet、Beans)中建立数据库连接。 2. 进行SQL操作,取出数据。 3. 断开数据库连接。

使用这种模式开发,存在很多问题。首先,我们要为每一次WEB请求(例如察看某一篇文章的内容)建立一次数据库连接,对于一次或几次操作来讲,或许你觉察不到系统的开销,但是,对于WEB程序来讲,即使在某一较短的时间段内,其操作请求数也远远不是一两次,而是数十上百次(想想全世界的网友都有可能在您的网页上查找资料),在这种情况下,系统开销是相当大的。事实上,在一个基于数据库的WEB系统中,建立数据库连接的操作将是系统中代价最大的操作之一。很多时候,可能您的网站速度瓶颈就在于此。

其次,使用传统的模式,你必须去管理每一个连接,确保他们能被正确关闭,如果出现程序异常而导致某些连接未能关闭,将导致数据库系统中的内存泄露,最终我们将不得不重启数据库。

针对以上问题,我们首先想到可以采用一个全局的Connection对象,创建后就不关闭,以后程序一直使用它,这样就不存在每次创建、关闭连接的问题了。但是,同一个连接使用次数过多,将会导致连接的不稳定,进而会导致WEB SERVER的频频重启。故而,这种方法也不可取。实际上,我们可以使用连接池技术来解决上述问题。首先,介绍一下连接池技术的基本原理。顾名思义,连接池最基本的思想就是预先建立一些连接放置于内存对象中以备使用:

上网找图

如图所示,当程序中需要建立数据库连接时,只须从内存中取一个来用而不用新建。同样,使用完毕后,只需放回内存即可。而连接的建立、断开都有连接池自身来管理。同时,我们还可以通过设置连接池的参数来控制连接池中的连接数、每个连接的最大使用次数等等。通

第 5 页 共 7 页

Web服务器数据处理及分析策略

过使用连接池,将大大提高程序效率,同时,我们可以通过其自身的管理机制来监视数据库连接的数量、使用情况等。下面我们以一个名为ConnectionPool的连接池为例来看看连接池的实现。先看看ConnectionPool的基本属性

JDO方式

Java Data Objects(JDO)是Java平台的一项重要创新。当开发者们还在普遍使用JDBC访问数据库的时候,当来自一些大企业厂商的专家组还在设计并大肆鼓吹EJB与CMP的API的时候,Craig Russell和David Jordan鼓起勇气去探索另一条路。与其它一些支持者一起,他们寻找到了提供Java平台上的存储机制的简单办法,这种办法对程序员来说既自然又方便。本书描述了他们的研究成果:JDO。

JDO中独到的核心思想是在尽可能不增加程序员额外工作的情况下提供一个面向Java的数据库存储机制。程序员不需要学习SQL,也不需要很麻烦地通过JDBC调用将数据从Java对象中复制到数据库或从中读出,他们只需要按自然的想法使用Java类、属性和对象之间的引用,而不用写与之无关的大量代码,那些代码会使人头晕脑胀。甚至对于查询来说,程序员也可以用Java的布尔表达式(即判断比较表达式)来代替SQL。换句话说,程序员只用写Java代码,而存储都是自动实现的。

除了透明存储之外,按JDO方式写的代码具有二进制兼容性,可以跨平台、跨数据库。JDO可以用于对象/关系数据库映射,这种方式中会自动生成JDBC调用来自动地将Java对象和关系数据库中的数据对应起来。另外,JDO对象也可以直接保存到文件中,达到与对象数据库一样的功能和性能。

针对JDO的辛勤劳动得到了回报:透明存储的概念受到了广泛的欢迎。JDO有了自己的社区网站:JDOCentral.com,以及企业级的Java讨论区:TheServerSide.com,在这些媒体中,开发人员们都称赞JDO的简单和实用。很多开发人员用JDO代替了EntityBean,再在SessionBean中使用JDO数据对象。另一些开发人员将JDO作为方便的高层面的JDBC代替品,用于JSP页面和其它一些Java代码中。在我和Graham Hamilton在1995年定义了JDBC接口之后,JDO也经历了长时间的发展,它已经很值得合并到J2EE中去。

节约开发成本和时间而采用JDO后,开发人员需要写的代码,主要是对数据层的包装部分,将大大减少,应用中的代码将主要集中在业务逻辑的处理上。俗话说,做得多,错得多,做得少,错得少。虽然有点消极,但也说明这个事实。当我们的手工代码变少后,出错的机率就会小很多,就算出错,也很容易查出来。

提高应用性能,尤其是Web应用。 JDO厂商们都在利用多年的经验对底层数据库操作进行了大量的优化,而这些优化,一般的程序员由于经验和复杂性,都比较难做到,比

第 6 页 共 7 页

Web服务器数据处理及分析策略

如分布式缓冲、JDBC2.0和JDBC3.0中的一些面向性能优化的高级处理等等。因此,我们使用JDO产品的话,就可以利用这些由厂商提供的优化来提高服务器的性能。一般的厂商都会提供很多性能调节的参数,以针对不同的具体情况。

更灵活的业务逻辑。 由于JDO解放了开发人员在数据底层的工作,他们可以集中精力考虑业务逻辑方面的事务,与需求方也更容易沟通,不会象原先一样,凡听到一个新的需求或变更时心里首先想到的是要加多少数据表,外键如何关联,越想越复杂,最终拒绝需求。采用JDO后,开发人员可以更快地实现业务逻辑,即使是做试验,也更加方便快捷,比如想对需求方提出两种不同的实现方案供效果比较,做起示范程序来就能迅速完成,而传统方式中能在同样的时间内完成一种就已经很不错了。当开发人员可以与需求方更好地沟通后,能更准确地理解需求,并且往往能提出比较专业的意见以改善业务逻辑,这样,对双方都能有更好的锻炼。

有利于开发团队的稳定。 这里所说的稳定并不是说人员都比较固定,而是说开发中的角色比较固定,工作定位比较固定。比如关心性能的人负责映射层,他需要了解所采用的JDO产品的具体实现,以及如何将业务模型有效地映射到数据库上,而关心代码的人不用考虑这些细节,只需要在面向对象的数据模型(一般是一个或复杂或简单的实体类图)的基础上进行业务逻辑的实现。各有各的责任,分工更明确,整体工作效率得到大大提高。也就是说,采用JDO技术后,项目开发中更容易实现任务的纵向划分,不同类型的任务由不同的人做。而传统的方式中,项目一般只能实现横向的分工,一人做一块,每一块都是从界面到JavaBean再到数据库全包,如果纵向划分的话,因为任务之间难以确定接口规范,导致大家互相抱怨,从情绪上已经影响了开发的进展,这就是为什么很多项目一开始都设想得很好,而具体做的时候会互相牵连,导致“无工不拖”的局面。JDO技术,由于是一种比较实际可行的规范,便项目管理者能更好地分配工作任务,相互之间更容易“划清界限”。这样的方式下,项目开发就不易受人员流动的影响,因为:第一,如果走掉一名开发人员,只要补充一个人,或者将其工作分配到另一人身上,让他明确责任,对其它开发人员的影响并不大,不象以前“走一人瘫一块”;第二,如果工作量大了,需要新加入开发人员,对其的进入工作状态的培训比以前简单,因为越来越多的人会熟悉并精通JDO规范,就象会Java一样,有了这个基础,只要了解一下业务逻辑就可以进行开发了,这也是规范化的好处。

第 7 页 共 7 页

因篇幅问题不能全部显示,请点此查看更多更全内容

Top