(计算机应用技术专业论文)oracle+apex原理分析及开发方法研究.pdf_第1页
(计算机应用技术专业论文)oracle+apex原理分析及开发方法研究.pdf_第2页
(计算机应用技术专业论文)oracle+apex原理分析及开发方法研究.pdf_第3页
(计算机应用技术专业论文)oracle+apex原理分析及开发方法研究.pdf_第4页
(计算机应用技术专业论文)oracle+apex原理分析及开发方法研究.pdf_第5页
已阅读5页,还剩77页未读, 继续免费阅读

(计算机应用技术专业论文)oracle+apex原理分析及开发方法研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

武汉理工大学硕士学位论文 摘要 随着互联网的迅猛发展,w e b 应用的开发变得越来越重要。w e b 应用的范 围非常广,不同的w 曲应用系统之闻差距很大,加之开发工具和平台多种多样, 所以不可能有一种“通用 的w e b 开发方法。为此,针对不同的w e b 应用系统 特征、以及不同的支撑环境和开发工具,我们需要研究相适应的w e b 应用开发 方法。 o r a c l ea p e x 是o r a c l e 公司最颓的一款w e b 应用开发工具。它与数据库管 理系统( d b m s ) 紧密结合,能充分利用数据库的特性;它采用元数据驱动和声 明式编程方式,可支持w e b 应用系统的快速开发和布署。a p e x 是在当前市场 上非常独特的一款开发工具,但到目前为止,o r a c l e 官方资料并没有关于该工具 原理的详细分绍,更没有相应“开发方法捧方丽的文档。因此,从个应用开 发者的角度深入分析该开发环境,并研究与之配套的w e b 应用开发方法,这在 当前具有现实意义和实用价值。 本文对a p e x 原理进行了深入的分析,提出并研究了与之相适癍的w e b 应 用系统开发方法。本文的主要研究内容与贡献包括: ( 1 ) 分析了a p e x 的基本原理。从w e b 应用的角度,对a p e x 的体系结构中 的w e b 服务器和数据库进行了分析,重点分析了o r a c l e 矾卯s e r v e r 、插件模块 m o d _ _ p l s q l 、以及存储在数据库中的a p e x 引擎的特点。从数据库的角度,对a p e x 的工作原理,尤其是多用户并发控制机制,以及安全性进行了分析。 ( 2 ) 归纳了a p e x 在数据库为中心的w e b 应用中的特点及优势。依据w e b 应用服务器端软件特点,可以将w e b 应用分为三类,丽a p e x 适合予以数据库 为中心的w e b 应用开发。通过使用a p e x 进行开发实践并与传统方法的对比, 说明并论证了a p e x 在数据库为中心的w e b 应用中的特点和优势。 ( 3 ) 从w e b 工程的角度,提出了a p e x 开发方法。该开发方法从a p e x 的 设计思想、开发人员、开发过程等三个方面进行描述。通过一个具体的w e b 应 用系统的开发,说明了方法的具体应用,并验证了方法的有效性。 关键诃:o r a c l e ,a p e x ,w e b 应用,开发方法 武汉理工大学硕士学位论文 ab s t r a c t w i t ht h er a p i dd e v e l o p m e n to fi n t e r n e t ,i ti sm o r ea n dm o r ei m p o r t a n tt o d e v e l o pw e b b a s e da p p l i c a t i o n w e b b a s e da p p l i c a t i o ni su s e dv e r yw i d e l y t h e r ea r c m a n yd i f f e r e n c e sa m o n gd i s s i m i l a rw e b b a s e da p p l i c a t i o ns y s t e m s t h ed e v e l o p m e n t t o o l sa n dp l a t f o r m so nt h e s es y s t e m sa r ev a r i o u s 。s oi ti si m p o s s i b l et of i n dau n i v e r s a l w e b d e v e l o p m e n tm e t h o d t h e r e f o r e ,w e n e e dt or e s e a r c ht h e a p p r o p r i a t e d e v e l o p m e n tm e t h o d so fw e b b a s e da p p l i c a t i o ns oa st oa d a p tc o r r e s p o n d i n gs u p p o r t e n v i r o n m e n ta n dd e v e l o p m e n tt o o l s o r a c l ea p e xi san e wt o o lt od e v e l o pw e b b a s e da p p l i c a t i o n + i ti sc o m b i n e d c l o s e l yw i t hd b m sa n dc a nt a k ef u l la d v a n t a g eo ft h ec h a r a c t e r i s t i c so ft h ed a t a b a s e i t i sam e t a d r i v e na n dd e c l a r a t i v ep r o g r a m m i n ge n v i r o n m e n t i tc a n s u p p o r t d e v e l o p i n ga n dd e p l o y i n gw e b b a s e da p p l i c a t i o nr a p i d l y i ti sau n i q u ed e v e l o p m e n t t o o li nt h em a r k e ta tp r e s e n t h o w e r v e r , u pt on o w , t h e r ei sn od e t a i l e di n t r o d u c t i o n s ,a b o u tt h ep r i n c i p l eo ft h i st o o la n dd o c u m e n t sa b o u ti t sd e v e l o p m e n tm e t h o d si n o r a c l eo f f i c i a lr e s o u r c e s 。s oi ti sp r a c t i c a ls i g n i f i c a n ta n da c t u a lv a l u et oa n a l y z et h i s d e v e l o p m e n te n v i r o n m e n td e e p l ya n dt or e s e a r c hs u i t a b l ed e v e l o p m e n tm e t h o d sf r o m t h ev i e wo fd e v e l o p e r s t h i st h e s i sa n a l y z e st h ep r i n c i p l e so ft h i st o o ld e e p l y , p r o p o s e sa n dr e s e a r c h e s t h es u i t a b l ed e v e l o p m e n tm e t h o da b o u ti t 。t h em a i nc o n t e n ta n dc o n t r i b u t i o n p r i m a r i l yi n c l u d e : ( 1 ) a n a l y z i n ga p e xb a s i cp r i n c i p l e s f r o mt h ep e r s p e c t i v eo fw e b b a s e d a p p l i c a t i o n s , t h ew e bs e r v e ra n dd a t a b a s ei nt h ea r c h i t e c t u r eo fa p e x a r ea n a l y z e d 。 t h ec h a r a c t e r i s t i c so fo r a c l eh t 印s e r v e r , i t sp l u g i nm o d u l em o d _ p l s q la n da p e x e n g i n es t o r e di nt h ed a t a b a s ea l ee m p h a s i z e d f r o mt h ed a t a b a s ep e r s p e c t i v e ,t h e w o r k i n gp r i n c i p l ea n d t h es a f e t yo fa p e xa r ea n a l y z e d ,e s p e c i a l l ym u l t i - u s e r c o n c u r r e n c yc o n t r o lm e c h a n i s m s 。 ( 2 ) s u m m a r i z i n g t h ec h a r a c t e r sa n da d v a n t a g e so fd e v e l o p i n gw e b - b a s e d a p p l i c a t i o nc e n t e r e do nt h ed a t a b a s e w e b b a s e da p p l i c a t i o ni sc l a s s i f i e di n t ot h r e e 武汉理工大学硕士学位论文 t y p e sa c c o r d i n gt o s e r v e rs o f t w a r ec h a r a c t e r i s t i c 。i nt h r e e t y p e s , w e b b a s e d a p p l i c a t i o nc e n t e r e do nt h ed a t a b a s ei ss u i t a b l ef o ra p e x a n dt h ea d v a n t a g e so f d e v e l o p i n gw e b - b a s e da p p l i c a t i o nc e n t e r e do nt h ed a t a b a s ea r ei l l u s t r a t e da n d d e m o n s t r a t e db yu s i n ga p e xt od e v e l o pl o t so f a p p l i c a t i o na n dc o m p a r i n ga p e x t o o t h e rt r a d i t i o n a lm e t h o d s ( 3 ) p r o p o s i n ga p e xd e v e l o p m e n tm e t h o do nt h ew e be n g i n e e r i n gv i e w p o i n t i t d e s c r i b e st h ed e v e l o p m e n tm e t h o df r o md e s i g n i n gt h o u g h t , d e v e l o p e r sa n dp r o c e s s 。 i no r d e rt ov e r i f yt h ef e a s i b i l i t yo ft h i ss o l u t i o n , w eg i v ea ne x a m p l et od e s c r i p tt h e m e t h o di nd e t a i l k e y w o r d s :o r a c l e , a p e x , w e b - b a s e da p p l i c a t i o n ,d e v e l o p m e n tm e t h o d i 独创性声明 本人声明,所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 入已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其它教育机构 韵学位或证书而使用过的材料与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 研究生签名:垒丝日期坦星:兰! 17 关于论文使用授权的说明 本人完全了解武汉理工大学有关保留、使用学使论文的规定,帮:学校有权 磉鳃送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部内容, 可以采用影印、缩印或其他复制手段保存论文 ( 保密的论文在解密后应遵守此规定) 研究生签名:王,是导师签名 烨期一一 武汉理工大学硕士学位论文 1 1 研究背景 第1 章引言 w e b 已经对我们的_ i 作和生活的各个方瑟都产生了深远的影响。逛子商务、 电予政务、在线学习、网络游戏等各种基于w e b 的应用改变了我们在商业、政府、 教育、娱乐等方面的传统模式。 w e b 是w o r l dw i d ew e b 的简称,它是i n t e m e t 上最重要的应用形式。般而 言,w 曲是指i n t e r a c t 上杰所有w 曲服务器、测览器以及摆关技术秘协议 ( h t m l f r r t p 等) 等组成的一个应用网络。w e b 豳t i mb e m e r s l e e 提出。目前,与 w e b 相关的各种技术标准都由著名的w 3 c 组织管理和维护。 w e b 是一种分布式应用架构,每一次信息的交换都涉及到客户端和服务器端 两个层面。w e b 客户端的主要任务是展现信息的内容,这是通过浏览器解释 h t m l 来实现。最初的h t m l 语言只能在浏览器中展现静态的文本或图像信息。 随翻a v a 语言的出现,h t m l 页面开始了和j a v a 或j a v a s c r i p t 等语言的融合,变得 动态且具有交互功能。 w e b 服务器端最早只是用来简单地响应浏览器发出的h t t p 请求,并将存储 在服务器上的h t m l 文件返回到浏览器。c g l ( c o m m o ng a t e w a yi n t e r f a c e ) 技术的 出现让服务器端可以动态的生成h t m l 页面。随着c g i 以及后续技术的普及,聊 天室、论坛、电子商务、信息查询、全文检索等各种各样的w e b 应用蓬勃兴起。 随着w e b 应用范围和种类逐步扩大,对w e b 应用开发技术和方法的要求也越 来越高。 w e b , 应用是为达到某种功能,由页面、数据库以及其它耜关资源所组成的一 个单元。w 曲应用有时也称为w e b 应用程序或w e b 信息系统。w e b 应用是一个广 义的概念,小到由几个页面构成的个人网站,大到由数百万页构成的大型专业 网站、基于w e b 的企业信息系统、电子商务系统等,都属于w e b 应用。 w e b 应用的客户端是统一的测览器( b r o w s e r ) ,应用开发主要集中在服务器端 ( w e bs e r v e r ) 软件的开发上。简单的w e b 应用是二层的,只涉及浏览器和w r e b 服务 器。但更复杂的w e b 应用涉及到数据库和复杂的应用逻辑,此时要采用三层( 或n 武汉理工大学硕士学位论文 层) 系统架构。 随着w e b 应用的发展,其复杂性逐渐增加。但是,直到现在,w e b 应用开发 和管理实践在很大程度上仍依赖于开发人员的个人知识和经验,这很容易造成 所开发的w e b 应用质量不离。当这种情况发生时,人们对w 曲和i n t e m e t 的信心可 能会产生动摇,从而引起w e b 危机f l 】。 为了避免w e b 危机的发生,我们迫切需要严格的步骤、方法和工具来开发、 发布和评估w e b 应用。出于以上目的,y o g e s hd e s h p a n d e 和s t e v eh a n s e n 等人提 出了辫e b 工程1 2 j 的概念:“使用合理的、科学的工程和管理原则,用严密的和系 统的方法来开发、发布和维护基于w e b 的系统。 w e b 工程作为一门新兴的学科,提倡使用系统的方法来开发高质量的w e b 应焉。它使用含理的、科学的工程和管理原则,焉严密的和系统的方法来开发、 发布和维护w e b 应用。w e b 工程贯穿w e b 应用的整个生命周期,从应用概念的生 成到应用的开发、发布和升级。 目前,已经形成了一些开发w e b 应用的方法。但是,由于w e b 应用范围菲常 广,不同的w e b 应用系统之间差距很大,加之开发工具和平台多种多样,所以不 可能有一种包罗万象的w e b 开发方法,它能运用到所有w e b 工程。就算真有这样 “全面的方法,它也一定会规模巨大,难以掌握,从而难以在实践中发挥作 用。 1 2 研究目的和意义 在当蘸众多的w e b 应用系统中,有一类应用很有特点。这种应用以数据库 为中心,表现在大多数( 甚至全部) w e b 页面中的信息来自数据库,页面都是 “动态辩生成的。另外,数据库中的数据插a , ( i n s e r t ) 、删除( d e l e t e ) g l 修改( u p d a t e ) 也需要通过骶b 页面来实现。 我们可以将这类w e b 应用系统称为“基于w 曲的数据库系统或“基于 w e b 的信息系统 。盟然,随着i n t e r n e t 的迅猛发展,这类w e b 应用系统的开发 变褥越来越重要。 本人在读研期闻,有幸参加了“基于i n t e m e t 的石材信息检索与图像比对系 统”的开发。该系统是一个w e b 应用系统,其中包含由5 0 个基本表( b a s et a b l e ) 组成的关系数据库;该系统中的每一个应用功能几乎都涉及对数据库的操作 2 武汉理王大学硕士学位论文 ( s e l e c t 建n s e r t u p d a t e d e l e t e ) 。遴过查澜资料,结合鸯已膏限豹实践工作经历,我 感到学习和研究w e b 开发方法和工具具有重要的现实意义。 o r a c l ea p e x ( a p p l i c a t i o ne x p r e s s ) 是数据库厂商o r a c l e 新推出的一款甭予 w e b 应用_ 拜发赫工其。o r a c l e 熊主簧产晶是其r d b m s ( 9 i 1 0 9 1 1 葑,健o r a c l e 也 一直注重提供数据摩应用开发王具。其应用程序开发工具最早有s q l * f o r m s , 这怒市场上最早的c s 开发工其( 早予v i s u a lb a s i c 、p o w e r b u i l d e r 等) 。现在,o r a c l e d e s i g n e r 、d e v e l o p e r 等产晶构成7 相对完整翡鹿震开发工具。 相对于o r a c l ed e v e l p e r 国e s i g n e r 等秀发工具,a p e x 推出豹时闻缀短。譬嚣, 有关该产品的资料 隧少,主要是o r a c l e 官方刚站上有一些介绍。这些资料主要 是对a p e x 的特点、工具使用步骤的介绍,是对用户使用该工具的指导。按o r a c l e 靛镤铡,除u s e r sg u i d e 外,还疲接恕 p r o g r a m m i n gw i t ho r a c l ea p e x 这 样的重要文档,僵这种分绍“开发方法”的文档还没有感现。据我们所知,嚣 前国内外还没有一本介绍a p e x 的图书出现。另外,目前所有相关资料几乎都 是o r a c l e 一家之言,难免在部分地方有“溢美或不够客观的问题。 不溺子其它w e b 开发工具,a p e x 是专露予开发基予w e b 靛数据瘴系统辨 的王具,该工具和o r a c l er d b m s 以及其它支撑环境密切相关。所以对a p e x 本 身的内部结构和工作原理,从个应用开发者的角度( 不问于o r a c l e 官方) 进 行深入分析,并与w e b 应用开发方法的研究结合起来,这在当前具有一定豹现 实意义秘实用价值。 。3 本文的研究内容 如前所述,w e b 应用涉及的范围很广,有不同类型的w e b 应用。在w e b 工程中,人们醋提磷了些通稍方法和工具,值针对特定的应用,还需要有针 对憋的具体方法帮专奠工具( 如图l 。l 所示) 。 3 武汉理工大学硕士学位论文 图1 1w e b 应用、w e b 工程以及本文研究内容 本文主要研究a p e x 的原理和基于a p e x 的应用系统开发方法( 如图1 1 中虚线框所示) 。具体围绕以下内容展开: ( 1 ) 分析a p e x 的基本原理。从w e b 应用的角度对a p e x 的体系结构进行 分析。从数据库技术的角度,慰a p e x 的工作原理,与数据库的关系,尤其是 多用户并发控制机制,以及安全性进行分析。 ( 2 ) 分析w e b 应用的分类,找出适合于a p e x 的应用领域,并通过与传统 的开发对比,妇纳a p e x 开发方法的特点,以便发挥其优势。 ( 3 ) 提出a p e x 的开发方法并给出具体的应用实例。 4 论文组织 本论文共分7 章,后面各章主要内容组织如下: 第2 章概述a p e x 的基本概念、组成部分、主要特性和相关技术。 第3 章分析和研究了a p e x 的体系结构、互作原理稷安全性。 第4 章分析w e b 应用的分类,找出适合予a p e x 的应用领域,并通过与传 统的开发对比,归纳a p e x 开发方法的特点,以便发挥其优势。 第5 章提出a p e x 的开发方法。 第6 章实现a p e x 在一个中小企业网站上的应用。 第7 章对本文所做的工作进行了简要总结,并提出未来的工作方向。 4 武汉理工大学硕士学位论文 第2 章o r a c lea p e x 概述 2 1o r a ciea p e x 简介 o r a c l ea p e x 全称是o r a c l ea p p l i c a t i o ne x p r e s s ,是o r a c l e 数据库1 0 9 l 拘功能之 一翻o a p e x 在作为产品刚推出时称为o r a c l eh t m ld b ,早絮的版本有h t m l d b l 5 和1 6 。之后更名为o r a c l ea p p l i c a t i o ne x p r e s s ,版本从2 0 开始。目前最新 的版本为3 0 。 a p e x 是以o r a c l e 数据库为基础的开发w 曲应用的工具。它采用了声明式的 编程方式,是一个元数据驱动的应用程序开发环境。a p e x 既提供了简单的使用 方式,也提供了可扩展的有效途径,因此,它的用户范围较为广泛,既包括编 程技能有限的数据库管理员( d b a ) ,也包括拥有较丰富经验的开发入员。 a p e x 的推出最初是为了满足使用o r a c l e 数据库的商业客户快速建立、实施 和管理w e b 应用的需要。这些商业客户希望既能使用o r a c l e 数据库的各种功能, 又能快速创建面向w e b 的数据输入和报表等应用程序,同时,他们对编程技能掌 握不多,这成为a p e x 推出的初衷。随着a p e x 功能的不断发展,它不仅仅用来 完成简单的w e b 应焉开发,丽且可以支持更复杂的w e b 应用。 本章主要概述了a p e x 涉及的基本概念、组成部分、主要特性和相关技术等 内容。 2 1 1o r a c i ea p e x 基本概念 o r a c l ea p e x 包括以下一些基本概念: ( 1 ) 工作区( w o r k s p a c e ) 工作区实际上是一个虚拟个人数据库,在同一个a p e x 环境中的多个用户通 过工作区实现了对各自对象、数据和应用程序互不干扰的使用和管理。 ( 2 ) 项( i t e m ) 5 武汉理工大学硕士学位论文 项是在a p e x 中用户与之交互以输入或操作数据的基本单元,包含有单选、 弹出式值列表、多选、复选框、口令、列表管理器、日期选择器、文本、文本 区域、文件浏览、选择列表和隐藏等不同类型。 ( 3 ) 区域( r e g i o n ) 区域是布局上的一个基本单元。各种类型的项目需要放置在区域上。区域 的基本类型包括h t m l 文本、s q l 查询、生成p l s q l 的h t m l 和图表。 ( 4 ) 页( p a g e ) 页是完成呈现功能的基本单元。页在布局上可以呈现区域( r e g i o n ) 、列表 ( l i s t s ) 或按钮( b 怕n s ) 等各种图形界面,同时也提供处理事件的能力。 ( 5 ) 应用程序( a p p l i c a t i o n ) 应用程序是一组链接起来的页的集合,用来完成用户需要的特定功能。在 应用程序的属性中提供了各种u i 模舨、验证方法和授权规则。 ( 6 ) 计算( c o m p u t e ) 计算是页处理过程中的一部分,用于设置应用程序或页中项的值。 ( 7 ) 验证( v a l i d a t e ) 验证是一种编辑检查操作,如项不为空、指定项是否为数字等。验证可以 分为项级验证和页级验证。 ( 8 ) 处理( o p e r a t e ) 处理是指调用a p e x 的a p l 、w e b 服务、p l s q l 或某种内嵌函数执行特定的 任务。处理类别有p l s q l 、报表分页、按需使用、会话状态、数据操纵、w e b 服务和表单分页等。 ( 9 ) 事件f e v e n t ) 事件是指a p e x q b 的页上各种操作的总和,包括页静态呈现和页动态操作两 部分。页上的布局、对项的计算或验证等都属于事件。 ( 1 0 ) 会话( s e s s i o n ) 会话 4 1 是指逻辑上页西及其上所有组件或操作的一次显示。a p e x 中的会话 - 与o r a c l e 数据库中的会话是两个完全不同的概念,o r a c l e 数据库中的会话则可以 理解为和数据库的一次连接。下文中提到的会话除特殊指明,均表示a p e x 会话。 6 武汉理工大学硕士学位论文 2 1 20 r a c l ea p e x 管理部分 本文认为a p e x e l j 两部分组成。在o r a c l e 公司提供的相关资料中,并没有对 这两个部分给搦明确的名称。按照功能对这两个部分进行区分,可以分为管理 部分和工作区部分。 管理部分用于对a p e x 服务、数据库监视活动、a p e x 工作区和应用程序的 管理。管理部分需要使用a p e x 管理员身份才能够登录,共有以下四个组件: ( 1 ) a p e x 服务管理 a p e x 服务管理包含以下功能:环境首选项管理、日志管理、会话状态管理、 邮件队列管理、切换预配状态、服务请求管理、更改请求管理、站点特定的任 务列表管理。 环境首选项是a p e x 为特定实例预配工作区进行设置的一组参数。环境首选 项管理主要完成创建不存在的环境首选项和编辑己存在的环境首选项。 日志管理包括查阅s q l t 作室日志、在截断选项下复查页访问量活动匿志、 在删除条璺选项下复查开发者活动殿志、在截断选项下复查外部点击计数日志 和管理邮件日志等五项,这是因为a p e x 使用多个日志表来捕获活动,所以不能 采用单一疆志的形式进行管理。 会话状态管理主要负责按时闻清除| 毽会话、报告会话计数裙报告最近的会 话。 邮件队列管理主要负责监视邮件队列中的电子邮件。在适当情况下,可以 放队列中删除各个邮件。 预配置状态有两种:自动和手动。系统默认的预配置状态为自动。预配置 状态的切换即是在这两种状态间的切换。 服务请求管理和更改请求管理是对a p e x 的工作区进行豹操作,用于查看特 定工作区发出的服务和服务更改信息并处理这些请求信息。 站点特定的任务列表管理主要完成对显示在“工作区主页一列表和“工作 区登录耪页列表上的链接进行更改和创建。 ( 2 ) 监视活动组件 监视活动主要负责对以下一些方面的监视:按开发者统计的应用程序更改、 按天统计的最高页访问量、按小时统计的页访问量、按用户统计的页访问量、 报告个别的页访阊量、顶级工作区、页访问量的日历报表、最常访阕的用户、 7 武汉理工大学硕士学位论文 最常用的外部站点、最常用的应用程序和最常用的浏览器。 ( 3 ) 管理工作区组件 管理工作区主要完成以下一些功能:创建新工作区、导入工作区、导出工 作区、管理工作区( 查看特定工作区详细报表和删除工作区向导等) 、报告工作区 属性、删除工作区、管理方案到工作区的分配和管理应用程序开发者。 ( 4 ) 管理应用程序组件 管理应用程序包括报告用于语法分析的方案、管理构建状态和查询应用程 序属性。 2 。3o r a c le 船叛工作区部分 工作区部分用于应用程序的构建、数据库对象浏览和数据的导入导出。用 户通过使用口令登录,进入特定的工作区。工作区由以下四个组件构成f 5 l : ( 1 应用程序构建器( a p p l i c a t i o nb u i l d e r ) 应用程序构建器主要任务是负责应用程序的创建、维护和运行。 应用程序的创建提供了六种方法,分别是从头开始创建、基于现有应用程 序的创建、基予现有表的创建、演示应用程序的创建、基于电子表格的创建和 来自应用程序导出文件的创建。 应用程序创建完成后会产生一组页面,需要继续进行页创建。页创建是在 页面上创建区域和项目,完成员面的布局选择,设定页面的各种处理操作如计 算、验证、处理和分支以及剖建和设置标准选项卡、值列表、菜单、列表、主 题、模版、安全性和导航栏等共享组件。 应用程序的维护主要包括编辑、添加和删除应用程序、页、区域和项目的 属性。导入和导出应用程序,查看应用程序报表,管理页锁,管理页组等。 应用程序的运行可以对指定应用程序进行运行,应用程序提供对单独页面 的运行机制,可以对单个页面进行调试。 ( 2 ) s q l 工作室( s q lw o r k s h o p ) s q l :作室主要用于测览数据库,创建和删除数据库对象和运行s q l 脚本。 此外,s q l i 佟室还提供管理回收站、查看s o l 历史记录、管理s o l 档案、解释 计划和查询数据字典等任务。 通过数据库浏览器可以浏览数据库中的表、索引、视图、同义词、序列、 8 武汉理工大学硕士学位论文 数据库链接、包、过程、函数、触发器、j a v a 源、j a v a 类、类型和x m l 方案。可 创建和删除的数据库对象包括函数、索引、包、过程、序列、同义词、表、触 发器、视图和数据库链接。 透过s q l 命令处理器露以运行s q l 脚本和生成d d l 。 ( 3 ) 数据工作室( d a t aw o r k s h o p ) 数据工作室用于将数据导入或导出所驻留的o r a c l e 数槲库。导入数据的形式 包括文本数据、x m l 数据和电子表格数据,导迸的数据主要是文本数据和x m l 数据。 ( 4 ) 工作区管t 骥( w o r k s h o pa d m i n i s t r a t i o n ) 工作区管理主要负责管理工作区中的用户、日志、会话状态和服务等,提 供工作区中监视活动和应用程昝或方案的报表。 用户管理主要包括新用户的创建、已存在用户的编辑、用户口令更改、用 户组创建、已存在用户组编辑和用户组分配报告。 目志管理负责活动曰志表查询、清除开发者目志和点进吕志。开发者嚣志 系统保留一个月,超过一个月的条尽将自动清除。 会话状态篱理主要包括使用要清除的选项报告当前会话,按使用年限清除 现有的会话,报告最近的会话,清除所选用户的首选项和报告用户首选项。 服务管理主要包括工彳乍区使用情况报告、互箨区额外存储空闻请求、数据 库方案请求和服务终止请求。 2 2o r a c l ea p e x 主要特性 2 2 1 声明式编程方式 声明式编程1 6 1 ( d e c l a r a t i v ep r o g r a m m i n g ) 目前有两种不同的理解方式。 一种理解认为,声明式编程器霹指描述做什么而不是怎么做的编程方式。比 如h t m l 编写熊w e b 页西是声明式的,因为撼述了页面应当包含的内容,但是 没有描述在计算机显示器上实际呈现的方式。 这种理解与命令式编程( i m p e r a t i v ep r o g r a m m i n g ) 相对。命令式编程f 7 l 要求程 序员指明特定的算法去完成任务,基雾程序员不仅需要知道编程的莓标而且还需 要知道采用什么样的算法来达到目标。传统意义上的f o r t r a n 、c 或j a v a 都属于 命令式编程方式。 9 武汉理工大学硕士学位论文 另一种理解认为,声明式编程是使用纯函数式编程语言( f u n c t i o n a l p r o g r a m m i n gl a n g u a g e ) 、逻辑式编程语言( l o g i cp r o g r a m m i n gl a n g u a g e ) 或约束式 编程语言( c o n s t r a i n tp r o g r a m m i n gl a n g u a g e ) 编写程序的方式。这种理解更多是从 语言的角度,一般把这三种语言作为一个整体称为声明式语言。 a p e x 采用声明式编程方式主要是指使用a p e x 来创建w e b 应用程序是一 种只需知道“做什么而不关心“怎么做 的过程。这一点与结构化查询语言 ( s t r u c t u r e dq u e r yl a n g u a g e ,s q l ) 的特性是相同的。 s q l 是第四代语言( t h ef o u r t h - g e n e r a t i o nl a n g u a g e ,4 g l ) ,用于访阀关系 型数据库。它与第三代语言相比,更加简单,提供了较少的命令。它使用户不 必关心那些由运行系统实现的底层数据结构和算法,而只需要明确需要徽什么 即可。 a p e x 采用声明式编程,延续了o r a c l e 作为数据库厂商在支持s q l 方面的 一贯努力。首先a p e x 是通过p l s q l 代码来完成界面的编写并将这些代码以过 程的形式存储在数据库中。再者,从设计思想来看,两者设计思想相似。s q l 采用的是代码的形式来描述“做什么,a p e x 则通过各种可视化的向导和模版 来描述。开发者只需要明确编程任务并按照指定的流程设定合适的值就能够完 成一次简单的开发。 传统的创建w e b 应用的方式一般都是命令式编程方式。编程人员透过编写 命令按照程序的流程设计完成相应的编程任务。这就要求编程人员对命令的语 法规则、w e b 应用的工作原理有深入的理解,同时也需要具备较高的专业技能, 在清楚的知道使用什么算法如何去做后才能完成编程任务。a p e x 这种声明式编 程方式让开发者的起点降低,对于一般的数据库管理员或熟悉s q l 的操作员都 能成为应用程序的开发者。 2 - 2 2 元数据驱动 元数据是关于数据的数据【引。它是一种广泛存在的现象,在许多领域有其具 体的定义和应用。 在图书馆与信息界,元数据定义是提供关予信息资源或数据的种结构纯 的数据,是对信息资源的结构化的描述。它的作用包括描述信息资源或数据本身 的特征和属性,规定数字化信息的组织,它具有定位、发现、证明、评估、选 择等功能。 1 0 武汉理工大学硕士学位论文 在数据仓库领域中,元数据定义是攒述数据及其环境的数据。在该领域, 它有两方面的用途。首先,元数据能提供基于用户的信息,如记录数据项的业务 描述信息的元数据能帮助用户使用数据。其次,元数据能支持系统对数据的管 理和维护,如关于数据项存储方法的元数据能支持系统以最有效的方式访阀数 据。 在软件构造领域,元数据定义是在程序中不是被加工的对象,而是通过其 值的改变来改变程序的行为的数据。它在运行过程中起着以解释方式控制程序 行为的作用。在程序的不同位置配置不同值的无数据,就可以 ! 导到与原来等价 的程序行为。 a p e x 中的元数据更符合在软件构造领域内的定义。在a p e x 创建w e b 应 用程序的过程中,透过元数据僮的改变来改变糕序的行为。a p e x 焉元数据不仅 描述了应用程序、页、区域和项等组件的状态信息,也描述了它们的创建、页 面的跳转、组件的授权、用户的验证等过程信息。 a p e x 在o r a c l e 数据库中创建了元数据仓储( m e t a d a t ar e p o s i t o r y ) 用于存储 这些元数据1 9 】。在运行应用程序时,a p e x 从元数据仓储中获取存健在其中的相 应元数据来生成页面或页面组件,并控制相应的处理过程。因为所有创建应用 程序的信息都在o r a c l e 表中进行存储和检索,最后得到的应用程序速度很快并 且极具伸缩性。同时,要获得这些创建应用程序的元数据,必须通过o r a c l e 数 据库的验证和授权,也可以利用o r a c l e 其它方面的安全措施对这些元数据进行 保护,因此,具有较好的安全性。 元数据驱动的开发方式是以数据为中心的开发。这种开发方式将数据与程 序分离。数据盘数据库管理系统( d b m s ) 进行管理。魔熙程序通过访问数据库, 获取所需的数据并进行处理,各种应用程序共享数据库中的数据资源。在开发 过程之初,开发者需要对开发的系统建立数据抽象模型,从中提取描述该系统 的元数据。这与当前关注度很高的基于m d a 的模墅驱动的开发既有联系又有区 别。 模型驱动【l o l ( m o d e l d r i v e nd e v e l o p m e n t ) l 拘软件开发是当前软件工程技术的 研究热点,它通过提升抽象层次来应对软件开发的复杂性,但目前仍处予一个 探索时期。 m d a ( m o d e ld r i v e na r c h i t e c t u r e ) 模型驱动架构,是o m g ( 国际对象管理集团) 组织在继提出了u m l 后又推出的一种新的软件开发框架,是在u m l 基础之上 武汉理工大学硕士学位论文 构建的一个更赢抽象层次的开发模型i l1 1 。 在基于m d a 模型驱动开发中,模型是一切开发活动的中心。这种开发方法 要求能从高层抽象模型到底层抽象模型的转换,然后借助代码生成工具得到哥 标平台软件系统的源代码和相关配置文件。它把软件设计的复杂性分散到不同 层画上,在每一个层面上只关心一类问题,将从简单性进化而来的复杂性重新 还原成多个层次上的简单性。这种方式可以让模型进行重用f 抡1 。 元数据驱动开发中虽然也需要对数据进行抽象建模,但是它主要解决的是 数据重用的| 司题,与基于m d a 的模型驱动的开发方式相比,它仍然属于较低层 次的开发。但是基于m d a 的模型驱动开发目前并不成熟,元数据驱动的开发方 式仍然将会在数据库领域延用个时期。 盘于a p e x 是声明式的元数据驱动的应焉开发环境,使震a p e x 进行w e b 应用的开发变键快速和安全。a p e x 采用声明的方式为每个应用程序的创建提供 了友好的向导,让用户不需要编程的技能也能够较快的开发一个w e b 应用。 a p e x 在运行应用程序时,所有信息都从o r a c l e 数据库中存储的元数据获取。 此外,o r a c l e 的安全措施为存储在o r a c l e 数据库中的元数据提供了较高的安全 保障。 o r a c l ea p e x 在开发w e b 应用时的主要特性具体体现在以下一些方面i 珏l : ( 1 ) 霹以快速生成h t m l 格式的报告( r e p o r t ) 来显示s q l 查询的结果。当需 要下载或打印时,a p e x 除h t m l 格式外还提供p d f ( a d o b ep o r t a b l ed o c u m e n t f o r m a t ) 、r t f ( m i c r o s o f tw o r dr i c ht e x tf o r m a t ) 和x l s ( m i c r o s o f fe x c e lf o r m a t ) 等格式。 ( 2 ) 可以使用向导轻松地创建基手表或存髅过程麴表单( f o r m ) 。基于表创建 表单时,这些向导将自动管理插入、更新、删除以及缺失更新检测等操作。一 旦创建了表单,就可使用直观显示重新排列表单域( 称为表单项) ,以快速获得 想要的布局。表单项提供7 丰富的显示选项,包括文本域、文本区、单选按钮 组、选择列表、复选框、圈期选择器、弹出式值列表等。 ( 3 ) 可以通过向导创建h t m l 、s v g 和f l a s h 格式的图表( c h a r t ) 。在创建图 表的页面可以使用部分页面刷新( p p r ) 技术来刷新图表以避免由子图表的刷新而 使褥整个页蘧的刷新。 ( 4 ) 可以使用电子表格( s p r e a d s h e e t ) i 向导中的“创建应用程序一快速地将电 子表格数据直接上载到数据库中。量上载了数据,就可以快速地创建应用程 1 2 武汉理工大学硕士学位论文 序。通过这个向导还可以很方便的实现电子表格与共享应用程序之间的切换。 ( 5 ) 以透明的方式管理数据库中的会话状态

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论