最近,现场的项目到了结合测试阶段。之前的Oracle数据库架构在X86的Solaris上。集合测试完了,就要真环境运行测试了。所以这次基本要玩点儿真的了,开发了半年多的项目,要把数据库放在Sparc上的Solaris上真正的运行一把了。
这个数据库服务器的硬件是Sun公司的SunFire v210。第一次看见这样的家伙,兴奋了一阵儿。毕竟以前用的服务器,都是在X86的PC机上,Leader看见我兴奋的表情,当即说要我将Oracle10g的数据库安装在这台服务器上。
说实话,自己对Unix的了解很少,几乎等于零了。这次是一个好的学习机会,当然要好好利用一下。话说回来,连命令都没掌握啥,不免担心。
不多说了,一步一步按照菜鸟的步骤来。
首先,到Oracle的官方网站的文档中心下载了Oracle10g如何安装在Sparc平台的Solaris操作系统的指导书。PDF格式的,写的这个详细啊。我按照一步一步的做,用领导的话说,差一步都不行,Oracle这玩意儿,确实不算好弄,不像我在Windows上安装。
但是问题很快出现了,有些命令竟然提示我没有。这多让人无助啊。官方文档啊。跳过后的结果就是,安装后出错,进不去数据库,数据库助手没安装成功,不过这不耽误我对这个安装的整体步骤的了解。下面简单做个笔记。
1,第一步,将服务器连上内部网,分配IP,我不知道IP怎么分配的,但是别人告诉我是192.168.12.230。我试了试,就是这个,估计是这孙子已经给设置好了。用另外的一台机器ping 192.168.12.230表示没有问题。
2,第二步,用其它机器,打开端末,然后输入如下的命令:service iptables stop。这个命令是干啥的,大概就是将本机防火墙的设置恢复默认。我不清楚,反正打一下吧。防止防火墙阻止访问不了服务器和服务器的数据无法正确返回。
3,ifconfig eth0。(注意最后是数字0不是字母o)这个就是查看一下当前使用机器的IP了。当时用了一台Linux的机器,跟Windows下的ipconfig的功能差不多。查看后得到本机的地址是192.168,12,112。这个地址记住,下面用得上。
4,telnet 192.168.12.230。远程登录服务器,要进行设置了。不多解释。
5,提示用户名,输入oracle。提示密码,输入oracle。进去了。下面是关于Oracle的设置。
6,把含有从Oracle官方网站上下载的安装在Sparc的Solaris10用的Oracle10的压缩文件的光盘放在服务器的光驱里。文件格式是.gz。给复制到/tmp文件夹下,然后解压缩。注意光驱的设备号是cdrom。
gunzip Oracle10g2_forSolaris.cpio.gz
cpio -idcmv (小于号)Oracle10g2_forSolaris.cpio
7,解压后,要进行Oracle的一些各种各样的设置,比如环境变量等。我不会了。你也上网查吧。
8,有一点要注意,你运行Oracle的安装文件后,会是一个图形界面,服务器本身没有连接到显示器,那么,这个时候你要将图形界面信息在你当前使用的机器上显示。上面你已经用命令知道本机的IP了,这个时候就要利用了。命令行给出如下:export DISPLAY=192.168.12.112:0
9,安装过程中需要切换命令行窗口,输入xhost +命令。
10,用PWD看看当前在什么文件夹,进入到/tmp文件夹下,运行cd /tmp看看里面都有啥解压缩出来的文件,找到runInstaller。
11,用 ./runInstaller命令运行,你就会在当前的显示器看见跟Windows时装Oracle时一样的界面了。 往后就不说了,在Windows下咋样,你就咋样吧。
这样下来,会出错。哪里有毛病呢,就是在第7步的时候,一些Oracle的设置要用命令行文件设置好。今天我搞了一天也没搞明白,下周一的时候去现场,要继续研究。有啥成果,从新在这里更新。
Wikimedia作为一个平台,用于构建Wikipedia、Wiktionary和其它的七种wiki( )。这篇文章对于那些想将大型站点的伸缩性提升到一定高度的研究者来说,是非常好的。文章详细介绍了许多的细节和创新的想法,并且这些想法都已经能够在一些非常成熟的网站上得到过证明。
Wikimedia网址:http://wikimedia.org/
参考资料
Wikimedia体系结构 关于wikimedia服务器的文章
平台
Apache
Linux
MySQL
PHP
Squid
LVS
Lucene搜索
分布式对象高速缓存Memcached
Lighttpd图像服务器
统计信息
8 百万文章,覆盖了超过100中语言
世界前10最繁忙的站点
指数增长:访问者/流量/服务器数量在每4-6个月翻倍
高峰期30000HTTP请求量 3 Gbit/s 数据流量
3个数据中心:坦帕[美国佛罗里达州西部港市]、阿姆斯特丹、汉城
350个服务器,从1x P4到2x Xeon Quad-Core排列,0.5 - 16 GB内存
大约6个人员管理
3个不同的州设有3个群集器
体系结构
地理负载平衡,基于用户源IP分析器,将用户的请求集中在最近的服务器群。静态映射IP地址到该国家的服务器群集上。
依据wiki正文,图像媒体,大型静态文件,使用Squid ,来实施HTTP反向代理
目前使用了55 Squid服务器,另外20个等待安装。
每个服务器1000HTTP请求,应力测试环境下达到2500
每个服务器大约100 - 250 Mbit/s
每个服务器大约~ 14 000 - 32 000连接
每个Squid服务器磁盘高速缓存达到40 GB
每个服务器达到4个磁盘 8GB的内存,一半被Squid用掉
命中率:使用CARP以来,Text 85%,Media 98%
PowerDNS提供地域分配功能
在他们主要的区域数据中心,建立了text和media群集,构建于LVS、CARP Squid、 Cache Squid之上。
在主要的数据中心,他们还有media存储器。
为上百个wiki安装了一个管理&同步的软件。
使用 多CPU进行MediaWiki 伸缩性扩展效果不错,因此我们买了双4核服务器(每盒8个CPU芯); 硬件被分派用来进行外部存储和Memcached任务。
Memcached用来高速缓存图像元数据,分析数据,差别,用户和sessions、修正文本等。元数据,如文章修改历史,文章间的关系(链接,分类等),用户帐户,设置等都存储在核心数据库中。实际的修改文本作为blob存储在外存储器上。
静态(上传)文件,比如图像,单独存在图像服务器上。元数据(大小,类型等)高速缓存在核心数据库和对象caches上。
每个wiki站点使用单独数据库(而非单独的服务器);一个主数据库,多个从属数据库 ;
读操作在从属的上面应该负载均衡,写操作应该让主数据库进行。
使用主数据库来进行一些读操作,以备从数据库没有更新(延迟)。
外存储器
文章文本存储在单独的数据存储器上,仅仅简单追加blob存储器。处理主要没有的数据,给昂贵和繁忙的核心数据库节约空间
应用程序服务器上允许使用备用资源(每个服务器2x 250-500 GB )
使用3个MySQL主机 ,在将来会得到更好的易管理性
可借鉴的经验
集中于体系结构,不要过于专注操作或者非技术性的东西;
有些时候,比起重计算或者是查找数据源,比高速缓冲器的成本还要高;
避免消耗大的算法,数据查询等;
高速缓存结果消耗很大的结果,有一个时间访问局部性;
注意代码中的过热点;
各自进行伸缩性扩展;
读写操作(主/从)
提升高速缓存的技术:时间和空间访问局部性,减少每个服务器的数据集大小
文本进行压缩,只有文章修订版进行存储
简化程序调用,像使用stat来检查一个需要加载很久的文件是否存在
限制磁盘I/O查找,磁盘主轴越多越好
Wikipedia的数据库服务器目前是16GB的双数或者四芯盒,有6 15,000 RPM SCSI驱动。这是一个最好的工作设置和负载均衡设置。他们使用更小的,更廉价的系统,16GB对于工作组的大小还不错。类似的现在的web服务器目前是8芯盒,因为对于负载平衡的效果不错,对于PHP来说,有很好的吞吐量。
如果你开始没有设计好,有许多的伸缩性工作需要做。Wikipedia的MediaWiki 最初是为单个主数据库服务器写的。后来增加了从服务器。接着加入了语言/项目的划分。那个时候的设计试验合格,虽然需要做许多提炼工作来解决瓶颈问题。
任何想要设计他们的数据库体系结构,那么就要能够让他们花费很低的成本,从一个站点很容易扩展到前十,或者上百的站点。这就需要一开始设计处理从数据库中的过时数据,对于所有的读操作查询知道如何进行负荷均衡,尽量让数据块(成批用户,帐户等等)访问不同的服务器。
Oracle database 10g 管理者(日本)
Oracle database 10g 管理者(中国)
注:中国和世界绝大多数国家的Oracle认证相同,即使用英语考卷。日本为日语考卷。
以Oracle 10g 数据库为认证对象作比较。从认证课程及流程图中可以看出,日本和其他国家Oracle的认证基本相同,只是多了一个入门级的铜牌认证,这个铜牌资格在外国的Oracle 10g的认证考试中没有相应资格称呼。
另外,日本给各个级别的认证分别起了白金牌,金牌,银牌,铜牌的名字,基本对应于OCM,OCP和OCA的认证课程和知识范畴。在中国就分别叫做,数据库大师,数据库专家和数据库专员。其实课程和所需要的知识内容都相差不多。
另外,从金牌开始需要参加至少一门的培训课程(培训费用3天大概为6500元人民币)才能获得认证,只参加考试是不行的。这与英文考试也一样,但是也没有强制要求先后顺序,即你可以先参加培训再考试,也可以通过考试,为获得证书再去参加一门培训。
但是级别间的顺序必须遵守。即你没有获得银牌,是无法参加金牌的考试认证的。同样,没有获得金牌,也无法获得白金的认证。另外白金的认证资格除了要求你提交金牌外,还要求你提交参加两门培训的证明。
如果你想进一步了解每个级别具体的课程以及考点检查表,请参看最前面的链接里面的课程链接和说明。
● Oracle OCA 只要通过1Z0-042一门(或1z0-007+1z0-031两门)认证考试,无需培训,就可以取得CA (Oracle Certified Database Associate) 证书。
● Oracle OCP 必须通过1Z0-042 + 1Z0-043 + 一门培训( 或 1z0-007+031+032+033+一门原厂培训)才可以取得CP (Oracle Certified Professional Database Administrator) 证书。
● 准备好后,随时可考,只需提前1-7天到考点报名,现金付考试费(或交考试券),预约考试时间就可以了。
● 一般去就近考点去考就可以了 考点查询: http://www.prometric.com.cn/aptcquery.asp?page_id=84
● 要拿10g OCP (或 9i OCP) 证书,必须通过042和043两门(或007、031、032、033四门) 考试,并参加一门原厂培训后,方能申请发证(即:提交hands on)。
● 有关原厂培训信息,培训有3天,5天,7天;3天培训价格相对便宜(6k左右)。
● 还有问题可打官方免费电话询问:800-810-9931
● 拿OCP证支出费用清单:
9i OCP证书:
007考试费 852;
031考试费 1121;
032考试费 1121;
033考试费 1121;
3天原厂培训费6500;
---------------------------------------------------------------
合计: 10715 元
10g OCP证书:
042考试费 1121;
043考试费 1121;
3天原厂培训费6500;
---------------------------------------------------------------
合计: 8742元
注:ORACLE从2007年6月起,大陆调整考试价格:031、032、033、042、043考试的价格已由原来的1173元调整为1121元,007考试的价格由891元调整为852元。
● 考试成绩查询方法
Prometric网站考试成绩查询方法:(注:考后3天才查得到)
一 如果您的考试是在prometric授权考试中心进行的,你可以到prometric官方网站确认你的考试结果! 打开网站地址: https://www.register.prometric.com/login.asp
二 你会看到一个登录页面。当然,如果你没有注册过你的prometric id,你是无法登录的。 那么,请选择下面的are you a new user? 随后单击click here进入考生注册页面。
三 这时,你会看到一个长长的表单。如果你并未拥有prometric id(就是以sp、sr开头的考生号),那么请不要填写testing id。如果你已经在prometric考试中心考过,那么肯定有一个考生号,就在testing id中正确填写它。然后继续填写下面带有*号的选项。注意,应和你在prometric考试中心注册时所提供的信息保持一致,当然必须都是英文的。填写完毕后点击next,随后你就可以设置自己的帐户密码和查询密码的问题了。
四 请注意,电子邮件非常重要,因为你的user id就是你的电子邮件地址,所以务必使用一个可用的邮箱地址,推荐hotmail。
五 当所有的步骤完成后,你会收到一封prometric发给你的邮件,里面有你刚才所填写的注册信息。
六。已注册的,已有帐号后,请点击 https://www.register.prometric.com/login.asp 页面, 使用你注册的user id(就是电子邮件地址)和密码登录。 在你登陆进去后点一下 IE浏览器 的后退!!! 你会看到左侧的test takers栏目下面有如下一些项目:
·locate a test site 查询考试中心
·schedule an appointment 网上预约考试(目前对于中国考生不能用)
·exam fees 查询考试费用
·re-schedule/cancel 重新预约/取消考试
·candidate history 考试记录
·update personal information 更新个人信息
·change password 修改密码
·change country/state 更改国家/省份
找到并点击 candate history 就可以看到你的考试记录了!
---------------------------------------------------------------
VUE网站考试成绩查询方法
第一步:输入VUE确认网址-http://www.vue.com/authenticate 分别输入成绩单上提供的Registration Number和Validation Number点击继续。
第二步:看到pass了吗 OK
Exam Date: 考试时间
Candidate: 考生姓名
Candidate ID: 考生ID号(很有用的)
Registration #: 注册号
Exam Series: (考试科目代号)
Exam: (考试科目名称)
Validation #: 验证号 Grade: pass(!!!)
资料下载·甲骨文全球大会·2007·亚太地区
・管理软件专题讲座演讲资料下载(中文,PDF文件)
讲座序号102:Oracle 应用集成体系结构 (下载)
讲座序号104:使用Oracle 融合应用产品前需要做的10 件事情 (下载)
讲座序号105:Oracle 电子商务套件版本12 — 技术精粹 (下载)
讲座序号106:Oracle's Siebel 8.0:新体系结构、技术特性和规划 (下载第1部分 下载第2部分)
讲座序号107:应用无极限和PeopleTools 规划 (下载)
讲座序号111:打造以客户为中心的企业 (下载)
讲座序号112:创建CRM的投资回报计划 (下载)
讲座序号113:Oracle 销售与分析管理软件—帮助您更有效地竞争、改善销售执行、最大限度地提高收入 (下载)
讲座序号114:改造市场营销成效与客户忠诚管理—Siebel 企业市场营销套件 (下载)
讲座序号115:通过Siebel 联系中心和服务解决方案提供智能的客户服务 (下载)
讲座序号116:CRM及客户实施最佳实践 (下载)
讲座序号117:托管型CRM — 快速实现业务价值 (下载)
讲座序号118:快速实施托管型CRM (下载)
讲座序号122:Oracle电子商务套件财务管理第12版中新的财务管理架构概述 (下载)
讲座序号123:Oracle电子商务套件财务管理的发展趋势及 路线图 (下载)
讲座序号124:Oracle电子商务套件财务管理第12版的主要新特性 (下载)
讲座序号125:PeopleSoft Enterprise 财务管理软件的发展趋势及路线图 (下载)
讲座序号126:Oracle 共享服务案例分析 (下载)
讲座序号127:Oracle PeopleSoft Enterprise 人力资本管理第9版和 Oracle 电子商务套件人力资源管理的新特性 (下载)
讲座序号128:劳动力分析 (下载)
讲座序号129:使用总体薪酬策略激励员工 (下载)
讲座序号130:优化员工服务提供 (下载)
讲座序号131:有效支付劳动报酬:PeopleSoft Enterprise薪酬管理解 决方案及中国本地化功能 (下载)
讲座序号132:通过Oracle产品生命周期管理提高产品上市速度 (下载)
讲座序号134:应用敏捷制造在当前不断变化的制造环境中保持竞争优势 (下载)
讲座序号135:世界一流的流程制造:在Oracle Process Manufacturing 12版中的最新功能和特性 (下载)
讲座序号136:通过最佳实践实现世界一流的从采购到付款的流程:PeopleSoft企业供应商关系管理解决方案 (下载)
讲座序号137:与您的供应商共创双赢局势 (下载)
讲座序号138:客户将采购管理流程扩展至供应商的过程 (下载)
讲座序号139:电子商务套件项目管理概述 (下载第1部分 下载第2部分)
讲座序号140:通过使用Oracle 先进的规划解决方案,将企业资源规划扩展到 先进的规划与调度,实现更多的价值 (下载)
讲座序号141:通过使用Oracle Demantra 需求管理,管理需求驱动计划和实时销 售与运营计划 (下载)
讲座序号142:运输物流网络: 一个全球化发展战略的重要组成部分 (下载)
讲座序号143:建立世界一流的运输物流网络 (下载)
讲座序号144:公司治理、风险管理和法规遵守 (下载)
讲座序号146:简化升级 (下载)
讲座序号147:JDE E1 面向分销和服务行业应用 (下载)
讲座序号148:机械,五金,电子,电机等行业解决方案 (下载)
讲座序号149:通过JD Edwards EnterpriseOne 帮助您的业务实现快速增长 (下载)
讲座序号155:在ETO和E & C的项目中取得巨大的效率 (下载)
讲座序号160:JD Edwards World A9.1 – 复活版 (下载)
讲座序号203:Managing Change, Complexity and ITIL and Compliance with Oracle's Configuration Management Solution (下载)
・技术专题讲座演讲资料下载(中文,PDF文件)
讲座序号120:主数据管理– 成功的关键 (下载)
讲座序号121:利用MDM 解决方案解决真正的业务问题 (下载)
讲座序号201:使用Oracle Enterprise Manager 进行数据库的简单化管理 (下载)
讲座序号202:Enterprise Manager(EM)的使用实践 - 简化Oracle真正应用集群(RAC)环境的供应、管理和监控 (下载)
讲座序号204:通过 Oracle Enterprise Manager 自动化功能 来实现可视化,应用补丁管理及变更管理 (下载)
讲座序号205:服务水平管理- 最佳性能和可用性 (下载)
讲座序号206:管理Oracle FMW和SOA (下载)
讲座序号212:零售商务智能加速器 (下载)
讲座序号214:Oracle数据库11g安全概述 (下载)
讲座序号215:用Oracle Database Vault 保护你的数据 (下载)
讲座序号216:用Oracle Audit Vault 发现威胁 (下载)
讲座序号217:中彩在线实施基于Oracle 10gR2 RAC的业务系统 (下载)
讲座序号219:RAC和ASM最佳实践 (下载)
讲座序号220:Oracle Database 11g: 下一代的高可用性 (下载)
讲座序号221:Oracle 数据卫士(Data Guard): 定义了下一代的数据可用性和数据保护 (下载)
讲座序号222:超大型数据库的备份和恢复策略 (下载)
讲座序号223:利用Oracle 流技术实现数据复制 (下载)
讲座序号224:Oracle数据库11g: 新一代高性能和可扩展的数据库 (下载)
讲座序号225:Oracle Spatial 和MapViewer 新特性 (下载)
讲座序号226:现实环境下的数据库性能优化 (下载)
讲座序号228:利用内存数据库Times Ten加速您的应用响应速度 (下载)
讲座序号229:Oracle Database 11g Overview: 全新数据库价值定位 (下载)
讲座序号230:Oracle Database 11g: 下一代自我管理的数据库系统 (下载)
讲座序号231:Oracle Database 11g 真正应用测试: 包括数据库重放和SQL性能分析器 (下载)
讲座序号232:使用Oracle诊断和调整包进行性能管理:技术和技巧 (下载)
讲座序号233:Oracle 数据库11g:针对数据仓库和商务智能的增强 (下载)
讲座序号234:Oracle 11g 中的信息集成 (下载)
讲座序号235:Oracle数据库的新功能 - 信息生命周期管理 (下载)
讲座序号238:理所当然Linux (Oracle Linux 验证过的配置) (下载)
讲座序号239:Oracle 10g Grid: 现代化基础 (下载)
讲座序号240:Oracle 嵌入企业 (下载)
讲座序号241:Oracle融合中间件概述 (下载第1部分 下载第2部分)
讲座序号243:支持语音和即时通信的企业管理软件 (下载)
讲座序号244:Oracle通用内容管理全面信息管理策略 (下载)
讲座序号245:多Web站点管理概述 (下载)
讲座序号246:Oracle基于传感器的服务和基于传感器的服务和RFID (下载)
讲座序号247:Oracle WebCenter:将组合应用程序和Web 2.0 集成到企业 (下载)
讲座序号248:Oracle SOA套件和Oracle BPA套件概述 (下载)
讲座序号249:采用面向服务的体系结构:最佳实践和设计模式 (下载)
讲座序号250:Oracle 企业服务总线:面向服务体系结构的基础 (下载)
讲座序号251:SOA企业部署 (下载)
讲座序号252:保护免受内部和外部威胁:Oracle身份管理简介 (下载)
讲座序号253:Oracle 身份管理:扩展的身份管理生态系统和参考体系结构 (下载)
讲座序号254:保护您的Web 2.0和SOA (下载)
讲座序号256:Oracle融合中间件:IT部门的一天 (下载)
讲座序号257:使用Siebel和Peoplesoft创建基于流程的SOA应用程序 (下载)
讲座序号258:中间件为什么它对业务经理而言是重要的 (下载)
讲座序号259:利用融合中间件扩展供应链应用程序实现信息驱动的供应网络 (下载)
讲座序号260:无线传感器网络及其使用案例 (下载)
讲座序号276:数据库移植案例分析 (下载)
讲座序号701:AMD 和 Oracle 以客户为中心的领先解决方案 (下载)
讲座序号721:11g 最佳新特性– Part 2 (下载第1部分 下载第2部分 下载第3部分 )
讲座序号765:神州数码随Oracle Oracle共同发展 (下载)
讲座序号780:如何构建关键业务应用系统(东软经验分享) (下载)
讲座序号781:创造客户价值的创新战略与实践 (下载)
讲座序号783:使用Oracle诊断和调整包进行性能管理:技术和技巧 (下载)
讲座序号791:EMC 针对Oracle 的信息基础架构 (下载)
・行业专题讲座演讲资料下载(中文,PDF文件)
讲座序号302:Oracle电信行业策略对国内电信企业的价值 (下载)
讲座序号303:Oracle服务交付平台- 提供从传统网络到3G/WiMax/IMS崭新网络的电信服务 (下载)
讲座序号304:Oracle从服务概念到收费的端到端解决方案有助电信运营商加速获益 (下载)
讲座序号305:BSS & OSS COTS 应用套件:支撑国内下一代电信服务的突破 (下载)
讲座序号306:Oracle高等教育行业应用 (下载)
讲座序号307:金融服务战略及解决方案 (下载)
讲座序号308:银行业法规遵守、风险及绩效管理 (下载)
讲座序号309:核心银行系统转型 (下载第1部分 下载第2部分)
讲座序号310:保险业解决方案 (下载)
讲座序号312:在全球化经济中,高科技企业的高效能计划能力 (下载)
讲座序号313:Challenges for High Tech Service (下载)
讲座序号314:应对快速发展的中国制药及生物技术行业面对的挑战 (下载)
讲座序号315:共享服务 (下载)
讲座序号316:通过服务呼叫中心和个案管理解决方案为公众提供更好的服务 (下载)
讲座序号317:零售业务管理的创新 (下载)
讲座序号318:让消费者更加满意 (下载)
讲座序号319:基于甲骨文解决方案在全球汽车行业供应链中实现精益 (下载)
讲座序号320:加快汽车供应商的产品上市速度 (下载)
讲座序号323:Oracle公用事业客户服务与计费系统 致力于降低总体拥有成本,提升客户满意度 (下载)
讲座序号326:如何最大限度地提高售后服务环节的利润 (下载)
讲座序号327:将六西格玛实践纳入业务流程 (下载)
讲座序号329:通过消费者驱动的计划与执行提高企业供应链的效率 (下载)
讲座序号350:Siebel 在全球汽车行业及实施方面的最佳实践 (下载)
・服务专题讲座演讲资料下载(中文,PDF文件)
讲座序号401:借助Oracle高级客户服务提高可维护性 (下载)
讲座序号402:通过Oracle 支持服务,最大限度地提高您的投资回报 (下载)
讲座序号404:通过IT 转型改善公司业绩 (下载)
讲座序号405:管理IT知识和技能的培养 (下载)
讲座序号406:Oracle On Demand (下载)
讲座序号501 & 508:确保技术实施项目的用户采用成功率 (下载)
讲座序号502 & 510:Enterprise Learning Management 9.0 (下载)
讲座序号504 & 512:Oracle 11g数据库: 新特性概览 (下载)
讲座序号505 & 511:数据库高可用性 (下载)
讲座序号506 & 513:Siebel CRM成功之道 (下载)
讲座序号507:深入剖析:第12版财务管理的新功能 (下载)
一个用户的请求是通ActionServlet来处理和转发的。那么,ActionServlet如何决定把用户请求转发给哪个Action对象呢?这就需要一些描述用户请求路径和Action衍射关系的配置信息了。在Struts中,这些配置映射信息都存储在特定的XML文件Struts-config.xml中。在该配置文件中,每一个Action的映射信息都通过一个
这些配置信息在系统启动的时候被读入内存,供Struts在运行期间使用。在内存中,每一个
对于采用Struts框架的web应用,在web应用启动时就会加载并初始化ActionServlet,ActionServlet从struts-config.xml文件中读取配置信息,把它们存放到各个配置对象中,例如Action的映射信息存放在ActionMapping对象中。
当ActionServlet接收到一个客户请求时,将执行如下流程:
1.检索和用户请求相匹配的ActionMapping实例,如果不存在,就返回用户请求路径无效信息。
2.如ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中。
3.根据配置信息决定是否需要表单验证。如果需要验证,就调用ActionForm的Validate()方法。
4.如果ActionForm的Validate()方法返回null或返回一个不包含ActionMessage的ActionErrors对象,就表示表单验证成功。
5.ActionServlet根据ActionMapping实例包含的映射信息决定将请求转发给哪个Action。如果相应的Action实例不存在,就先创建这个实例,然后调用Action的execute()方法。
6.Action的execute()方法返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指向的JSP组件。
7.ActionForward对象指向的JSP组件生成动态网页,返回给客户。
数据库应用系统的开发步骤:
●系统调研(功能需求和数据需求)
在用户现场根据用户提供的基本需求进行调研,完善需求说明书,为概要设计与详细设计提供需求依据。需求调研包括应用功能需求及数据库操作需求,应用功能需求用作划分功能模块,操作数据需要用于构建E-R模型。
●系统分析与设计(功能设计和E-R模型设计)
根据需求调研结果进行需求分析,划分基本功能模块,完成概要说明书,进一步分析各个模块和流转数据,设计模块接口和E-R模型,完成详细说明书。
●应用开发(外部应用开发和PL/SQL开发)
根据详细设计和E-R模型,搭建开发环境,在数据库中部署数据实体-表,使用第三代开发语言开发外部应用程序,使用PL/SQL开发数据库后台程序。
●应用测试
再应用开发完成后,进入测试阶段,测试阶段包括了多种测试,基本的例如功能测试,流转测试,压力测试,异常测试等。
●部署(应用部署/数据库部署)
在各项测试达到指标后,应用已经基本符合详细说明书的设计要求,在用户现场部署应用系统,包括了搭建数据库,部署数据库上的所有对象,部署应用等
●试运行
新应用在上线运行后一般需要经过一段时间的试运行,以磨合系统,真正适合用户的使用。
●修正
在应用于用户需求有些许偏差的时候,进行客户化修正,对个别模块做小规模调整。
●正式运行
在各项功能指标和性能指标都达标的基础上,经过试运行,应用基本符合用户的需求,应用系统正式进入运行阶段。