|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
PHP成功的插入,删除,更新数据的时候,显然,你已经距离成功指日可待了。 <P style="TEXT-INDENT: 2em">关于 PHP/Oracle 开辟模子若何在Myers Internet延长使用法式性命周期的案例研讨。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">关于次要由应收款营业模子驱动的公司而言,其中心的营业功效之一是输出、跟踪和纪录定单。在这方面对照精彩的公司可以伸缩它们的机构,并进步它们的利润,而不会碰到基本架构的限制。当定单处置很费事、轻易失足或纷歧致时,公司将由于直接的本钱和下降的临盆效力而承受经济上的丧失。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">在我的公司 Myers Internet,中心的营业事项环绕着创立客户基本,为 Myers 供应延续的办事并匡助它在客户成绩呈现时处理成绩。公司正利用很多分歧的体系来处置定单输出和实行周期的各个方面。这些体系既不是彼此集成的,也不具有确保每份定单都失掉准确记帐的机制。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">Myers 定单跟踪体系 (MOTS) <P style="TEXT-INDENT: 2em">就像其它很多机构一样,Myers 从一个小型公司生长为一个中型公司,同时在它的全部生长时代一直保存了不异的进程和体系。大多半这些进程在创立时,一切的事务处置都经由过程电子邮件、纸质纪录和实地访问来人工地完成。5 或 6 年前,Myers 的一个工程师使用 Allaire 的 Cold Fusion 和一个 Microsoft SQL Server 数据库组装了一个体系来跟踪定单实行,这个体系称为 MOTS (Myers 定单跟踪体系),它答应发卖和帐目办理部分输出定单,然后由撑持、工程、设计、信息体系和管帐部分实行这些定单。固然这个体系是向前迈进的主要的一步,但它依然留有很多人工的步调,而且没有和任何其它的营业体系集成在一同。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">也许在统一工夫,还创立了一个体系,在这个体系中客户和发卖代表可以在线订购 Myers 网站的产物。这个体系可以创立新的 Web 站点,并盘算供应的 Web 站点法式包的装置和反复性费用的总和。然后它发送电子邮件给各个部分,各个部分可以将定单输出到 MOTS 中,并在帐目办理体系中创立记帐信息。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">系统布局妨碍 <P style="TEXT-INDENT: 2em">这类类型的系统布局饱受几种体系成绩之苦。在 Myers,较分明的成绩之一包含启动定单跟踪所需的人工数据输出,和作为这类人工进程的了局而发生的毛病。另外一个成绩是公司中的定单输出、定单跟踪和记帐体系之间的脱节、定单丧失、信息漏掉和其招致的毛病。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">另外一个仅偶而呈现的成绩是 MOTS 体系自己有内涵的缺点。因为编写 MOTS 的体例,可以输出没有部分分派信息或丧失了部分分派信息的定单。当这类情形产生时,定单终究将在体系中丧失。当定单丧失时,正确、实时的记帐就更难完成了。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">跟着营业的生长,系统布局中的缺点变得愈来愈分明,而且跟着客户和定单数目的增添,丧失和毛病输出的定单呈现的频率愈来愈高,从而给公司支出带来了难于估计的影响。另外,人工输出的数据的数目招致了延迟和处置效力低下。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">因为在实行机构内对支出的影响加大和效力下降,很分明必需要有一个交换体系来将一切接洽起来,并进步效力和下降毛病率。旧体系图示以下。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">
<P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">图 1:旧的体系系统布局<P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">该图显示了需求人工数据输出的一切区域。因为这些体系都不是集成的,所以数据丧失或掉真的能够性十分大。全局需求即刻变得分明起来。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">定单体系需求直接和实行跟踪体系接洽起来。该体系需求平安回护来避免定单在未经处置之前离开体系。需求坚持准确性,以确保正确的记帐和准确的定单实行。体系需求使外部本钱最小化。所以,要到达谁人目标,需求疾速地创立体系,但体系必需具有完全的功效。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">固然一个好的定单输出和跟踪体系可以匡助下降本钱,但它自己其实不发明支出。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">深切布局 <P style="TEXT-INDENT: 2em">在入手下手形式设计之前,需求处理一些根基的系统布局成绩。第一个底层的手艺需求是体系必需可设置装备摆设,且无需额定的编码。实质上,这意味着需求把任务流嵌入到数据库中,而不是用注释/处置代码来停止硬编码。第二,数据库需求包括足够的信息,以便可以体现定单输出界面的次要(和可更改)的方面和实行处置。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">在勉力处理上述成绩的过程当中,该体系逐步合适于两个局部 ― 定单输出和定单跟踪,并在二者之间供应了明白界说的接洽。定单输出体系需求晓得若何用正确的产物代码、扣头和订价条目来暗示定单。定单实行体系需求晓得若何跟踪各类类型的义务、相干的功课和各个部分,以处置和纪录每份定单。最初,需求按期和可展望地把定单转化成实行功课。下图显示了今朝存在的新体系的布局。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">
<P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">图 2:新的体系系统布局<P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">该图显示了通向新的定单体系的一切信息途径,新的定单体系位于后真个门户办理站点。一切的初始数据输出都仅一次性完成,而且只需求每一个小组在处置的各个阶段验证数据。经由过程引入从定单体系到帐目办理体系的主动数据传输,相当主要的数据传输的另外一个次要的范畴也变成主动化。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">依附 PHP <P style="TEXT-INDENT: 2em">在纯手艺的层面上,初期决意利用 PHP 作为次要的开辟言语和 Oracle 作为体系的数据信息库,这有几个次要的缘由。起首,Myers 现有的后端门户几近完整是用 PHP 依据一个现有的 Oracle 数据库编写的,这消弭了一个发生不兼容性的潜伏来历。这还意味着要创立这个新的体系,Myers 可以使用本身的才能,这些才能创立了现有的后端门户。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">第二,实行测试显示,与其它开辟言语比拟,PHP 供应了一个对照高的功能程度。由于 PHP 是作为一个静态加载的材料库驻留在 Apache 办事器外部的,所以每次与体系毗连都无需额定的启动工夫。另外,PHP 优化的改良(经由过程 Zend 项目)意味着在代码外部履行的普通操作不会分明变慢。最初,为 PHP 编写的 OCI 接口模块是用 C 代码编译和优化的,这使得会见 Oracle 数据库十分高效。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">第三,咱们懂得到由于 PHP 代码将其本身嵌入到了 HTML 情况中,所以关于设计人员和编程人员而言,创立协感化户接口功效代码变得加倍天然。固然最初这个特征其它的办事器端剧本言语也具有,但 Myers 发明 PHP 更不成能带来开辟人员和设计人员之间的抵触。另外,PHP 的语法和供应的代码库意味着它可以做它需求做的一切工作。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">最初,将一切代码嵌入到 HTML 代码中的另外一个优点是,仅需求对尺度文本文件停止修正掌握就能够掌握源代码。咱们用 CVS 作为它的尺度修正掌握体系。由于 PHP 代码纷歧定要用某一种体例停止编译,所以创立体系的一次“编译”仅触及到从信息库中检索文根源代码文件,然后把它们放到 web 办事器上。这意味着咱们可使用 CVS 中的掌握机制为它的测试和临盆情况宣布增量的 bug 补钉,而无需创立庞杂的编译体系。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">设计形式来撑持可从头设置装备摆设性 <P style="TEXT-INDENT: 2em">上面的根基形式表示图显示了定单体系是若何构建的。两种次要的形式都分为原型表和事务表。不管什么时候当营业情形产生变更时,原型表都答应从头设置装备摆设体系,而无需从头编码。事务表包括实践客户定单的定单概况和功课概况。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">
<P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">图 3:根基形式表示图<P style="TEXT-INDENT: 2em">
<P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">图 4:根基形式表示图<P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">这些形式表示图看起来很庞杂,固然,它们切实其实很庞杂。不外,假如把它们分隔,使得只呈现原型表(以 _def 停止的表),那末该系统布局的根基布局就变得很清晰了。定单由行组构成,这些行组包含具体信息、定单行或二者。定单行可以随便地创立功课,功课由一个义务序列构成,而且包括几条具体信息。必须要为各类义务输出这些具体信息。义务呈现在分歧的队列中,这些队列可以由分歧部分的特定用户停止会见。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">为了查验体系,战略是分阶段将定单体系原型化。体系要查验的第一局部是它独自从定单原型表中创立一份清晰的定单的才能。一旦完成了最后的形式界说,定单生成器就是本相化的体系的第一个可视局部。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">为构建和设置装备摆设这个体系而构成的小组除含受这个体系影响最大的各个部分的司理以外,还包含三个开辟人员。开辟人员的分工分离为:构建设置装备摆设功效、显示功效和事务处置功效。在全部最后的构建周期内,部分司理供应了关于界面(这些界面利用户可以输出和处置数据)类型的有价值的反应。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">使用 PHP 绘制用户界面 <P style="TEXT-INDENT: 2em">要原型化的初始定单是根基的 Web 站点定单,在 webwiz.myersinternet.com/ 上供应。失掉的定单是由一个开辟人员用 PHP 在三天的工夫内创立的。假如定单原型界说 ― 依托只在数据库和阅读器之间的一层 PHP 代码,就可以够完整界说定单输出的外不雅和行动,那末在数据库设计中需求必定水平的折中。为此,诸如定单行组之类的布局必需撑持两个用处:(1) 在输出表单上供应可视化的辨别,以使相似的产物组可以绘制在一同 (2) 从功效上对相似的商品分组,好比说打了必定扣头的商品,或一个选项列表,从中可以作出独一的选择。 <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">由于 PHP 是开辟言语,所以原型组建相当疾速,从而可以疾速地完成形式所需的修正而且为表单生成重视新编码(一前一后)。另外,由于形式是思索了绘制的用户界面而设计的,所以当在原型构建过程当中呈现新的可视化需求时,可以轻易地停止形式修正和改编。生成的表单外不雅与下图类似: <P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">
<P style="TEXT-INDENT: 2em">图 5:定单生成<P style="TEXT-INDENT: 2em"><P style="TEXT-INDENT: 2em">创立一个功效完整的体系 在供应定单以后,需求使它变得功效完整。起首,体系需求保留在定单中输出的用于事务处置的定单数据。第二,填写定单的人需求可以依据正在停止中的定单数据来填写。
告诉你了一个方式,但是缺少努力这一环节,那也是白搭。 |
|