动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息

本月文章推荐
.业务处理执行语言BPEL简介.
.Oracle 数据库的备份与恢复.
.10g新特性之-expdp与传统exp的速.
.Oracle裸设备(raw device)问答.
.Oracle里的交叉SQL语句写法.
.ORACLE 面试问题-技术篇(1).
.ORACLE SQL性能优化系列(九).
.Oracle9i初始化参数中文说明(5).
.Oracle并行服务器(OPS)12问.
.Oracle9i初始化参数中文说明(二.
.Bitmap Index 的一点探究.
.在RHEL AS 3 上安装Oracle10g 参.
.ORACLE之常用FAQ V1.0 (5).
.如何创建LINUX下的快捷方式.
.关于触发器的问题.
.RH9下最简单的WebMail的实现方案.
.ORACLE UPDATE 语句语法与性能分.
.修改ORACLE的DATAFILE文件名.
.Oracle的小工具dbfsize.
.哈希分区表使用时注意事项.

Oracle与PHP实例开发Myers订单跟踪系统

发表日期:2008-2-9 |


关于 PHP/Oracle 开发模型如何在Myers Internet缩短应用程序生命周期的案例研究。 对于主要由应收款业务模型驱动的公司而言,其核心的业务功能之一是输入、跟踪和记录订单。 在这方面比较出色的公司可以伸缩它们的机构,并提高它们的利润,而不会碰到基础架构的限制。当订单处理很麻烦、轻易出错或不一致时,公司将因为直接的成本和降低的生产效率而蒙受经济上的损失。 在我的公司 Myers Internet,核心的业务事项围绕着建立客户基础,为 Myers 提供持续的服务并帮助它在客户问题出现时解决问题。公司正使用许多不同的系统来处理订单输入和实施周期的各个方面。这些系统既不是彼此集成的,也不具备确保每一份订单都得到正确记帐的机制。 Myers 订单跟踪系统 (MOTS) 就像其它许多机构一样,Myers 从一个小型公司成长为一个中型公司,同时在它的整个成长期间始终保留了相同的过程和系统。大多数这些过程在建立时,所有的事务处理都通过电子邮件、纸质记录和实地拜访来人工地完成。5 或 6 年前,Myers 的一个工程师利用 Allaire 的 Cold Fusion 和一个 Microsoft SQL Server 数据库组装了一个系统来跟踪订单实施,这个系统称为 MOTS (Myers 订单跟踪系统),它答应销售和帐目治理部门输入订单,然后由支持、工程、设计、信息系统和会计部门实施这些订单。虽然这个系统是向前迈进的重要的一步,但它仍然留有许多人工的步骤,并且没有和任何其它的业务系统集成在一起。 大概在同一时间,还创建了一个系统,在这个系统中客户和销售代表可以在线订购 Myers 网站的产品。这个系统可以创建新的 Web 站点,并计算提供的 Web 站点程序包的安装和重复性费用的总和。然后它发送电子邮件给各个部门,各个部门可以将订单输入到 MOTS 中,并在帐目治理系统中创建记帐信息。 体系结构障碍 这种类型的体系结构饱受几种系统问题之苦。在 Myers,较明显的问题之一包括启动订单跟踪所需的人工数据输入,以及作为这种人工过程的结果而产生的错误。另一个问题是公司中的订单输入、订单跟踪和记帐系统之间的脱节、订单丢失、信息遗漏和其导致的错误。 另一个仅偶而出现的问题是 MOTS 系统本身有内在的缺陷。由于编写 MOTS 的方式,可以输入没有部门分配信息或者丢失了部门分配信息的订单。当这种情况发生时,订单最终将在系统中丢失。当订单丢失时,准确、及时的记帐就更难实现了。 随着业务的成长,体系结构中的缺陷变得越来越明显,并且随着客户和订单数量的增加,丢失和错误输入的订单出现的频率越来越高,从而给公司收入带来了难于估量的影响。此外,人工输入的数据的数量导致了延迟和处理效率低下。 由于在实施机构内对收入的影响加大和效率降低,很明显必须要有一个替换系统来将一切联系起来,并提高效率和降低错误率。旧系统图示如下。  
Oracle与PHP实例开发Myers订单跟踪系统(图一)
图 1:旧的系统体系结构
该图显示了需要人工数据输入的所有区域。由于这些系统都不是集成的,所以数据丢失或失真的可能性非常大。全局需求马上变得明显起来。 订单系统需要直接和实施跟踪系统联系起来。该系统需要安全保护来防止订单在未经处理之前脱离系统。需要保持精确性,以确保准确的记帐和正确的订单实施。系统需要使内部成本最小化。所以,要达到那个目的,需要快速地创建系统,但系统必须拥有完整的功能。 虽然一个好的订单输入和跟踪系统可以帮助降低成本,但它本身并不创造收入。 深入结构 在开始模式设计之前,需要解决一些基本的体系结构问题。第一个底层的技术需求是系统必须可配置,且无需额外的编码。本质上,这意味着需要把工作流嵌入到数据库中,而不是用解释/处理代码来进行硬编码。第二,数据库需要包含足够的信息,以便能够表现订单输入界面的主要(和可更改)的方面以及实施处理。 在努力解决上述问题的过程中,该系统逐渐适合于两个部分 — 订单输入和订单跟踪,并在两者之间提供了明确定义的联系。订单输入系统需要知道如何用准确的产品代码、折扣和定价条款来表示订单。订单实施系统需要知道如何跟踪各种类型的任务、相关的作业和各个部门,以处理和记录每份订单。最后,需要定期和可猜测地把订单转化成实施作业。下图显示了目前存在的新系统的结构。
Oracle与PHP实例开发Myers订单跟踪系统(图二)
 
图 2:新的系统体系结构
该图显示了通向新的订单系统的所有信息路径,新的订单系统位于后端的门户治理站点。所有的初始数据输入都仅一次性完成,并且只需要每个小组在处理的各个阶段验证数据。通过引入从订单系统到帐目治理系统的自动数据传输,至关重要的数据传输的另一个主要的领域也变为自动化。 依靠 PHP 在纯技术的层面上,早期决定使用 PHP 作为主要的开发语言和 Oracle 作为系统的数据信息库,这有几个主要的原因。 首先,Myers 现有的后端门户几乎完全是用 PHP 根据一个现有的 Oracle 数据库编写的,这消除了一个产生不兼容性的潜在来源。这还意味着要创建这个新的系统,Myers 可以利用自身的能力,这些能力创建了现有的后端门户。 第二,实验测试显示,与其它开发语言相比,PHP 提供了一个比较高的性能水平。因为 PHP 是作为一个动态加载的资料库驻留在 Apache 服务器内部的,所以每一次与系统连接都无需额外的启动时间。此外,PHP 优化的改善(通过 Zend 项目)意味着在代码内部执行的一般操作不会明显变慢。最后,为 PHP 编写的 OCI 接口模块是用 C 代码编译和优化的,这使得访问 Oracle 数据库非常高效。 第三,我们了解到因为 PHP 代码将其自身嵌入到了 Html 环境中,所以对于设计人员和编程人员而言,创建协作用户接口功能代码变得更加自然。虽然最后这个特性其它的服务器端脚本语言也具备,但 Myers 发现 PHP 更不可能带来开发人员和设计人员之间的冲突。此外,PHP 的语法和提供的代码库意味着它可以做它需要做的所有事情。 最后,将所有代码嵌入到 HTML 代码中的另一个好处是,仅需要对标准文本文件进行修改控制就可以控制源代码。我们用 CVS 作为它的标准修改控制系统。因为 PHP 代码不一定要用某一种方式进行编译,所以创建系统的一次“编译”仅涉及到从信息库中检索文本源代码文件,然后把它们放到 web 服务器上。这意味着我们可以使用 CVS 中的控制机制为它的测试和生产环境发布增量的 bug 补丁,而无需创建复杂的编译系统。 设计模式来支持可重新配置性 下面的基本模式示意图显示了订单系统是如何构建的。两种主要的模式都分为原型表和事务表。无论何时当业务情况发生变化时,原型表都答应重新配置系统,而无需重新编码。事务表包含实际客户订单的订单详情和作业详情。
Oracle与PHP实例开发Myers订单跟踪系统(图三)
 
图 3:基本模式示意图
Oracle与PHP实例开发Myers订单跟踪系统(图四)
图 4:基本模式示意图
这些模式示意图看起来很复杂,当然,它们的确很复杂。不过,假如把它们分开,使得只出现原型表(以 _def 结束的表),那么该体系结构的基本结构就变得很清楚了。订单由行组组成,这些行组包括具体信息、订单行或两者。订单行可以随意地创建作业,作业由一个任务序列组成,并且包含几条具体信息。必需要为各种任务输入这些具体信息。任务出现在不同的队列中,这些队列可以由不同部门的特定用户进行访问。 为了检验系统,策略是分阶段将订单系统原型化。系统要检验的第一部分是它单独从订单原型表中创建一份清楚的订单的能力。一旦完成了最初的模式定义,订单生成器就是原形化的系统的第一个可视部分。 为构建和配置这个系统而组成的小组除含受这个系统影响最大的各个部门的经理之外,还包括三个开发人员。开发人员的分工分别为:构建配置功能、显示功能和事务处理功能。在整个最初的构建周期内,部门经理提供了关于界面(这些界面使用户能够输入和处理数据)类型的有价值的反馈。 利用 PHP 绘制用户界面 要原型化的初始订单是基本的 Web 站点订单,在 webwiz.myersinternet.com/ 上提供。得到的订单是由一个开发人员用 PHP 在三天的时间内创建的。 假如订单原型定义 — 依靠只在数据库和浏览器之间的一层 PHP 代码,就能够完全定义订单输入的外观和行为,那么在数据库设计中需要一定程度的折衷。为此,诸如订单行组之类的结构必须支持两个用途:(1) 在输入表单上提供可视化的区分,以使类似的产品组可以绘制在一起 (2) 从功能上对类似的商品分组,比如说打了一定折扣的商品,或一个选项列表,从中可以作出唯一的选择。
因为 PHP 是开发语言,所以原型组建相当快速,从而可以快速地完成模式所需的修改并且为表单生成器重新编码(一前一后)。此外,因为模式是考虑了绘制的用户界面而设计的,所以当在原型构建过程中出现新的可视化需求时,可以轻易地进行模式修改和改编。生成的表单外观与下图相似:
Oracle与PHP实例开发Myers订单跟踪系统(图五)
 
图 5:订单生成
创建一个功能完全的系统 在提供订单之后,需要使它变得功能完全。首先,系统需要保存在订单中输入的用于事务处理的订单数据。第二,填写订单的人需要能够根据正在进行中的订单数据来填写。
上一篇:如何使用Oracle数据库中空间管理的方法 人气:466
下一篇:用Rsync备份Dreamhost 到Windows 上 人气:678
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-10 企业网站智能管理系统(TZIMS) v6
2008-10-10 拓文asp.net网站内容管理系统 v6
2008-10-10 动网论坛PHP版 v2.0++ Build 081
2008-10-10 免费时代CMS v5.0
2008-10-10 wodig第四季中文DIGG社区 v4.1 b
2008-10-10 老Y文章管理系统 v2.2 bulid 081
2008-10-10 魔法盒动感相册 ASP+SQL版 v2.0
2008-10-10 Asoft签到管理系统 v3.0 Pack1
2008-10-10 哥特人音乐网潮流留言本 v1.1
2008-10-11 联系人分组工具 v1.1 中文破解版
2008-10-11 FaceMelter变脸 v2.0 汉化破解版
2008-10-11 PathTracker道路跟踪仪 v1.2 破解
2008-10-11 Rooms手机聊天室 v0.6.7 破解版
2008-10-11 RemoteDesktop远程桌面 v1.0 破解
2008-10-11 ProRemote远程调音台 v1.0.1 破解
2008-10-11 PicShare照片共享 v1.0.0 破解版
2008-10-11 Photogene照片编辑器 v1.5 汉化破
2008-10-11 WriteRoom共享文档 v1.0 破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号