当前位置:Linux教程 - Linux业界 - 用Linux构建企业门户网站

用Linux构建企业门户网站

用Linux构建企业门户网站
—红旗网站实例分析

北京中科红旗软件技术有限公司(简称红旗软件)是由中国科学院软件研究所和上海联创投资管理公司共同出资组建的高技术企业,公司致力于开发和推广基于Linux的操作系统及应用软件。
红旗Linux网站(www.redflag-linux.com)是中科红旗软件技术有限公司的企业门户网站,栏目内容包括:公司介绍、产品/解决方案的介绍、直接服务和在线培训等,是用户了解、购买红旗Linux最快捷的途径,是用户寻求服务的最佳场所。
一、红旗网站的目标和设计思想
1.面向注册用户
红旗网站是基于用户的,在这里注册的“网站”用户,可以享用网站为用户设计的各种功能,浏览网站的所有资料。与一般的注册用户网站不同,这里为用户的产品、商务、服务和各种活动等内容建立了完整的记录,用户亦可定制自己的界面。用户的权益(“积分”)随着您在红旗网站注册时间、购买的产品、提问的次数和参加的活动而增长。对于“积分”高的用户,还能得到特别的优惠。
用户不只是个人用户,也包括企业客户、供应商、销售商和合作伙伴。红旗网站做到用户界面统一,业务分离,互不干扰。网站主界面如图1所示

(图1)
2.技术支持智能化
对于Linux和自由软件进行技术支持,最好的办法就是开放。红旗网站把Linux的大量资源集中并整理分类,把用户提出的问题及工程师提供的解答搜集起来,以便为更多的用户服务。用户在网站可以一步一步地细化遇到的问题,搜索知识库,进行分类查询,得到多种解决方案。网站还有直接面向工程师的提问界面和技术讨论组。同时,网站面向爱好者、开发者和整个Linux界,把红旗Linux的技术、源程序和文档贡献出来。红旗网站担负着60%的技术支持工作,成为红旗Linux服务的重要组成部分。
红旗承诺对用户提供支持与服务。这一点就需要很大的努力才能实现,怎样使用尽量低的成本服务数十万乃至百万的用户?使用上门(Onsite)和电话(Call Center)方式都是难以实现的。使用Web做技术支持,已经是大家的共识。而对于自由软件这一新的形式,又有新的问题:软件是开放的,没有垄断;服务是集中的,缺乏统一性,这是自由软件商业模式中一个很难解决的问题。红旗Linux网站采取“取之于用户,用之于用户”的方法,把用户的实际问题和关于问题的解答,以及Linux业界的各种资料逐步扩大支持“知识库”,逐步提高服务的效率。如图2所示。

(图2)
3.提供在线销售
充分利用自由软件的特点,用户可以免费下载,购买服务和培训,用户无需再等待送货上门,公司无需准备配送体系。对于红旗的供应商和销售商而言,这样的模式与传统的代理——分销流程相比更简单和节约成本。
在红旗电子商务网站,您可以发现这里是Linux的超级市场,从系统软件到应用软件、解决方案、服务乃至于培训。借助红旗Linux操作系统软件的新的商业模式,开源软件(“开放源代码软件”的简称)的销售环节变得明了。无论是面向消费者还是面向商家,红旗Linux都提供了更广阔的网上商务空间。
用户可以免费下载软件并使用,然后再购买相应的支持和服务;厂商只需提供一套软件和足够多的序列号,而根本不用负担包装、零售渠道等销售成本,这样一种销售模式只有在开源软件丰富、发达的今天才可能实现。
操作系统厂商要面对各种各样的客户,有最终的零售用户,有软件厂商和硬件厂商,有销售的伙伴,还有网络上的业余开发人员。怎样在如此复杂的客户网络中协调各方面的工作,培养业务员还是名片加电话?红旗网站依靠Web上ISV、OEM、License、Project Container来支持这些渠道的建立和畅通。维持这些渠道的是完善的操作功能和数据存储。
4.服务爱好者
Linux出生在互联网,成长在互联网,Linux同时为互联网注入新的活力。在网上传播Linux技术,提高学术水平,推广开源软件的精神,也是红旗Linux的一个重要任务。红旗Linux在开拓市场的同时,必须对Linux世界作出应有的贡献。公开全部技术、文档,只是红旗要做的一小部分,怎样利用互联网代动国内、国际的技术发展,带动各界Linux爱好者开发更强更好的软件,才是真正的贡献。红旗Linux开发网站,就是本着这个目的规划的,Linux爱好者和组织可以利用这个网站组成工程项目,利用团体的力量来完成个人难以完成的工程,成就一个又一个的Linus。
朴实的界面,方便的工具,自由的气氛,众多红旗Linux的顶尖技术工程师每天在这里帮助大家解决各种各样的技术问题。界面如图3所示。

(图3)
5.其他特征
·Linux新闻快速更新
·同时提供英文版和繁体中文BIG5版本
·提供内容全面的下载专区
·全面的、智能的网站关键词搜索
二、红旗网站的架构和技术基础
1. 面向对象的设计方法
红旗网站的开发人员把网站看作是红旗的一个软件产品。网站的开发过程,也是按照软件工程的方法来实施的。企业网站具有鲜明的特点:与企业商务流程紧密联系,强调可扩展性,完整的格局和统一的风格。因此,面向对象的设计方法最适合于企业网站的设计。网站的每个功能都可以看成是一个对象,众多重复和相近的功能可以来自一个类,是它的子类和实例。对红旗网站而言,基本的类是商务类、服务类和用户类。从商务类上派生出产品类、在线销售类、下载类。如图4所示。

(图4)
2. 红旗Linux作为操作系统平台
红旗Linux操作系统,无疑是搭建企业门户Web系统的最佳平台。红旗Linux服务器版1.1.2完全支持网站所需要的各种应用程序和数据库,支持Java的中文处理。网站的DNS、FTP、HTTP和Java Web Service都由免费的软件构成,稳定而高性能,Oracle数据库Linux版也被良好支持。
红旗Linux的高可定制性是非常适合于熟悉开放系统的人员使用的,可以按照网站的实际需求把操作系统定制为最符合需要的模式。
操作系统的安全对于网站十分重要,Linux系统开放源代码、使用SSL协议及完善的用户管理,使得网站在安全上有一个基本的保证,再加上一些监控和防火墙软件,网站将更加安全。
3. 采用Java技术
红旗网站使用Java技术、Enhydra Java 应用服务器和JDBC。采用Java技术可以最大限度地达到面向对象的设计思路、平台通用性及网站的可扩充性。Java用在服务器端,即Servlet和JSP是近两年的事,而他们的成功预示着网站发展的方向:面向对象、分布、开放和XML。
(1)完整的、结构化的OpenSource企业网站应用服务器Enhydra
Enhydra是一个纯Java的系统,具有很多企业网站应用所必须的素质。比如,使用Java2,支持Cluster、JSP、Enterprise JavaBean、多平台通用、与程序脱离的数据库连接控制。同时在开发上实现了网站开发的面向对象,页面和程序分离,极大地提高了复杂Web应用的开发效率。
Enhydra把一个页面对象(动态)分成三个层次:表现层(presentation)、业务层(business)和数据层(data)。如图5所示。

(图5)
它们都有各自的任务,表现层含有外观页面(HTML)和负责“对动态内容填空”的Java程序,将动态的数据替换到页面中打了标记的地方去;数据层负责和数据库连接和交换数据;业务层负责有关数据的处理、运算。如此将网页功能细化分,比起ASP、PHP等应用服务器端程序和一般的Java Servlet程序来,显得繁琐。但是随着应用的复杂和扩展,页面/数据/处理混合在一起的程序必然给设计者、维护者和使用者带来越来越多的麻烦。
Enhydra的思路就是把功能分开,每个设计、编码者都有明确的分工和目标,网页设计员和美工可以自由地、独立地进行页面设计,程序员对功能进行编码,数据库系统设计员进行表设计和数据流设计。按照Enhydra的分层概念,网站工作变得系统和有机。在复杂的应用中显得条理清晰。
(2)Enhydra具有平台无关性
使用同一套Enhydra,可以安装到Windows 98、Windows NT/2000、UNIX系统、Linux系统等一切有Java2(JDK1.2版本)平台支持的操作系统上,方便而快捷。而在Enhydra上开发的系统,不用对页面和编码进行任何修改就可以方便地移植和利用,这是Java/Enhydra系统的突出优点。利用免费的在Windows环境下模拟Unix/Linux shell环境的工具,可以在Windows 98系统上方便地运行Enhydra调试程序。
(3)Enhydra提供全面的开发工具
从图6所示的Enhydra应用的目录结构,可以清晰了解开发一个Enhydra应用的过程。
可以用任何工具制作HTML文件,只要为动态信息留下ID名称即可,红旗网站使用DreamWaver 3.0进行界面制作。
命令行编译方式适用于任何系统,直观而快捷,而使用JBuilder和Enhydra Kelp for JBuilder 可以大幅度提高工作效率(由于使用100%的标准Java,红旗网站是在Microsoft Visual J++的环境中进行编码的)。
Enhydra有丰富的Web应用API,把复杂的Servlet应用封装,提供了全方面的基础类,使用户能很快开发出专业的动态网页和电子商务网站,还附带了应用框架生产器和应用程序向导以及丰富的例子,这些都能为开发企业网站提供方便。
(4)强大的数据库支持
Enhydra的数据库连接是完全与应用程序分离的、模块化和可定制的,支持多种标准和用户化的ODBC、JDBC,而且可以通过配置文件对数据库连接进行统一的控制。Enhydra支持Oracle、Sybase、DB2等大型数据库和一些免费的数据库例如Mysql等。

(图6)
(5)全面的应用管理工具—MultiServer Administration
Enhydra有一套全面的应用管理工具,是图形化的、基于Web的和实时的。可以用它监控网站的Session数量、数据连接数量、请求数量等负载情况,可以打开、关闭和调试Enhydra应用(如图7所示)。

(图7)
(6)支持XML
XML代表着网页的下一代标准,越来越多的网络技术人员和企业看好XML。XML适用于对复杂事务的表达,带有自己的格式。电子商务的发展,推动了其最有力的工具XML的发展。Enhydra对XML有本质的支持。
红旗Linux网站利用XML技术对技术支持知识库进行了描述和存储,实践证明,XML对于复杂的技术问题能有非常理想的描述手段,在以后的发展中有很大的潜力。
4. 使用Oracle和MySql数据库
红旗网站使用Oracle数据库和MySql数据库。两种数据库各有特点和用途。Oracle数据库为网站存储大量的产品、用户、新闻和技术支持知识库的信息,这些大量的重要信息对数据的安全可靠、检索的快速和备份有比较高的要求。考虑到在日后的发展中会产生更大量的数据及新的数据结构, Oracle这种大型的完备的数据库是使用首选。
而MySql这种小巧快速的数据库,安装和使用都很简便,对于论坛、后台应用、技术支持等都很方便,对于这些结构相对简单的数据结构,使用MySql是非常划算的。
三、网站系统的其他特点
1.硬件配置
红旗网站使用多台服务器来分担不同的任务,力求从成本、带宽、计算机吞吐量和运算速度上达到和需求的最佳结合点。其中有Compaq的Alpha计算机和装有RAID控制器的服务器,这些计算机上全部安装了红旗Linux(PC版和Alpha版),对硬件的支持良好。Alpha计算机稳定可靠,吞吐量大,用于DNS和FTP服务器。
由于Linux对IP网络良好的支持和灵活的配置,使得工程师对多台服务器之间的网络配置得心应手,既减少了网站的硬件、网络带宽的投入,又能达到性能上的很好发挥。
红旗Linux服务器2.0版以后将支持Cluster系统,红旗网站在用户数不断增加的情况下,可以使用LVS系统来达到低成本的扩张。
2. 软件支持多语言
红旗公司和产品是面向国际的,所以红旗网站也要面向使用各种语言编码的用户,简体中文GB2312、繁体中文Big5和英语是基本应该提供的语言支持。对于使用Java实现的Web页面,只需在输入输出嵌入编码转换和词语转换程序,即可实现中文两种编码的互换,而不用修改数据库的表和数据。
3. 方便的后台维护程序
红旗网站信息丰富,结构复杂,有大量动态内容,要经常更新、修改和删除。于是有一套完整的内容维护界面,也是基于Web的,和网站本身使用同样的设计思路,有多用户管理和权限分配,修改记录和在线技术支持工具,是网站维护的有效手段。如图8所示。

(图8)