




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 软件对现代企业的正常运作起着越来越关键的作用,开发这些软件需要训练有素的程序员从事 艰难繁琐的工作。提高软件生产力已经成为软件研发公司追求的主要目标之一。当今时代,大量的 业务软件开发平台不断涌现t 它们正对软件、尤其是管理软件开发模式产生革命性的影响。一种全 新的开发模式“模型驱动开发模式”诞生了。 本文设计了种使用模型驱动的应用开发平台一一企业级应用开发平台( e n t e r p r i s e a p p l i c a t i o nd e v e l o p m e n tp l a t f o r m ) ,支持以数据处理为核心的企业级应用的快速开发。并重点讨 论平台的体系结构,将平台分为四个模块:业务建模模块,工作流控制模块,报表模块和身份认证 模块。支持数据的录入,控制数据在不同的角色之间流动,把数据和对数据的统计结果以报表的形 式提供给管理部门。针对企业级应用的共性,为建模人员提供灵活、强大的建模工具,并设计x m l 结构存储业务模型。在解析模型生成维护界面时,使用了组件技术,动态地构建用户界面。不仅支 持使用平台的开发人员进行业务的数据建模,而且支持界面的灵活定制,并在服务端提供了二次开 发接口供建模人员扩展平台的功能。 该平台由东大金智软件股份有限公司开发,并成功地应用此平台开发了复旦大学的学工系统和 人事系统,在应用中获得比较好的效果。 关键字:企业级应用开发平台:模型驱动:业务建模;工作流 a b s t r a c t s o f t w a r ei sb e c o m i n gm o r ea n dm o r e i m p o r t a n tf o rm o d e r ne n t e r p r i s e l o n g t e r mw o r k s a r en e e d e df o re x c e l l e n ts o f t w a r ed e v e l o p e rt od e v e l o pa p p lj e a t i o ns o f t w a r e e f f i c i e n c y i sa l r e a d yt h em a i ng o a lt h a tm a n ys o f t w a r ec o r p o r a t i o n sp u r s u e n o w a d a y s ,m a n yb u s i n e s s s o f t w a r ed e v e l o p m e n tp l a t f o r m sa r ep r o v i d e di nm a r k e t t h e yh a v eg r e a t l yi n f l u e n c e dt h e m o d eo fs o f t w a r ed e v e l o p m e n t an e ws o f t w a r ed e v e l o p m e n tm o d e ,m o d e ld r i v e nd e v e l o p m e n t m o d e ,b e c o m e sp o p u l a r t h i sp a p e rd e s i g n e dt h e e n t e r p r is ea p p l i c a t i o nd e v e l o p m e n tp l a t f o r m ,ak i n do f m o d e ld r i v e nd e v e l o p m e n tp l a t f o r mt h a ts u p p o r t sq u i c ke n t e r p r is ea p p l i c a t i o nd e v e l o p m e n t t h i sp l a t f o r mi n c l u d e sf o u rm o d u l e s :b u s i n e s sm o d e l i n gm o d u l e ,w o r kf l e wm o d u l e ,i d e n t i t y a u t h e n t i c a t i o nm o d u l ea n dr e p o r tm o d u l e ,s u p p o r tt h em a i n t e n a n c eo fd a t a ,c o n t r o lt h ef l o w o fd a t af r o mo n er o l et oa n o t h e rr o l e a n dp r o v i d es t a t i s t i c a ld a t ai nt h ef o r mo fr e p o r t a f t e rd e v e l o p e ru s i n gt h em o d e l i n gt o o lt oc r e a t eb u s i n e s sm o d e l ,e n g i n ec a np a r s et h em o d e l a n dp r o v i d eu s e rm a i n t e n a n c ei n t e r f a c e ,w h i c hu s ec o m p o n e n tt e c h n o l o g y i no r d e rt oi m p r o v e t h ef l e x i b i l i t y s o m ea p p l i c a t i o nd e v e l o p m e n ti n t e r f a c e sa r ep r o v i d e di nt h es e r v e re n d d o n g d a j i n z h is o f t w a r ec o r p o r a t i o nh a sd e v e l o p e dt h i sp l a t f o r m ,a n dg o o da p p l i c a t i o n e f f e c th a sb e e na c h i e v e di nt h ep r o j e c to ff u d a nu n i v e r s i t y ss t u d e n t i n f o r m a t i o n m a n a g e m e n ts y s t e ma n dh u m a nr e s o u r c ei n f o r m a t i o ns y s t e m ,w h i c hi sb a s e do nt h ee n t e r p r i s e a p p l i c a t i o nd e v e l o p m e n tp l a t f o r m k e y w o r d s :e n t e r p r i s ea p p l i c a t i o nd e v e l o p m e n tp l a t f o r m ;m o d e ld r i v e n :b u s i n e s sm o d e l i n g w o r k f l o w i i 东南大学学位论文 独创性声明及使用授权的说明 一、学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所 知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也4 :包含为获得东南大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本 研究所做的任何贡献均己在论文中作了明确的说明并表示了谢意, 二、关于学位论文使用授权的说明 签名:坐丝日期: 加。y3 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的复印件和电 子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质论文的内容相 一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布( 包括刊登) 论文的全部或部分 内容。论文的公布( 包括刊登) 授权东南大学研究生院办理。 签名 巫运 导师签名妇日期 ) - 。镀弓 第一章e p s t a r 平台产生的背景 第一章e p s t a r 平台产生的背景 1 1 管理软件的新生存法则平台软件趋势 多年前,b r o o k s 博士曾在其著名的“人月神话”一书中提出了一个令人悲观的论断:“未来十 年内没有能提高软件生产力的银弹”,即没有任何一种技术或管理上的进步,能够独立地承诺在短 期内大幅度提高软件开发的生产率、可靠性和简洁性。如今,他的观点还适应吗? 当今时代,大量的业务软件开发平台不断涌现,它们正对软件,尤其是管理软件开发模式产生 革命性的影响,一种全新的开发模式“模型驱动开发模式”诞生了。 计世资讯( c c wr e s e a r c h ) 认为,未来的2 到3 年内,将会有越来越多的复杂应用软件系统建立 在业务软件开发平台之上。在管理软件领域,甚至会掀起一股向业务软件开发平台迁移的高峰。预 计在2 0 0 6 年,主流的管理软件都将基于业务软件开发平台,并且最有可能首先取得突破的会是e r p 、 o a 、电子商务系统。用户常用应用软件的分类图如下: 图1 :用户常用应用软件的分类图 软件平台化的本质是将复杂的软件系统分层,是分层理论在软件开发中的具体应用,并由此找 到软件开发中标准化与个性化之间恰当的契合点。这种分层和模型理论必将对多种类型的软件开发 和维护方式产生重大影响,尤其是对e r p 软件开发模式将产生革命性的影响。 软件平台化的发展必将面临着对传统开发模式的挑战,必将经历人们理念的逐步更新和逐步接 受的过程。把一个正常运行的咀有软件推倒重来,市场大都难以接受而让用惯了传统软件的工作 人员转向使用基于平台开发出来的应用软件,需要一个较长的过程。 下面我们列出了开发与使用基于平台开发应用软件的一些主要优势: 1 :快速适应需求的变化 2 :满足个性化的需求 3 :可移植性好 4 :缩短开发周期 5 :便于软件后期维护,降低成本 基于平台开发应用软件如果能充分地发挥和利用这些优势,那么基于平台的模型驱动的开发模 式必将会逐步占有更多的市场份额,为用户所接受。我国业务软件开发平台市场刚刚启动。计世资 讯预测,近几年我国业务软件开发平台的市场规模将迅速扩大,会有越来越多的厂商进入这个领域。 业务软件开发平台在市场上将会被用户充分的接受。下图描述了计世资讯对基于业务软件开发平台 的e r p 软件市场行情的统计与预测。 东南大学硕士学位论文 阁2 :基于业务软件开发平台的e r p 软件市场统计与预测图 业务软件开发平台的核心和难点在于企业业务的动态建模,企业业务动态建模是通过一系列步 骤。并采用一定的方法,对实际企业业务的发展和变化模式进行分析和简化,去掉对建模目的影响 不大的细节现象,得到抽象的动态模型的过程。企业动态建模的过程涉及一系列的活动、方法和工 具,用于建立描述企业不同侧面的模型。由于企业组织的复杂性,采用单一的模型无法完整地表达 出一个企业多方面的特点,因而在企业动态建模中涉及到多个视角的模型。 从成长性企业的角度来讲,需要管理系统能体现适合中国国情的先进管理模式,应当具有开放 性、灵活性,能够快速实施,并能够基于企业参考模型重构与优化,来实现系统的快速构建与动态 重构。这对企业应用系统的构建都提出了很高的要求,而要满足这些要求,必须基于企业动态建模 的思路,利用组件化的方式来构建应用系统。 1 2e p s t a r 平台综述 e p s t a r 平台是“东大金智软件股份有限公司”开发的软件开发平台,它的全称是e n t e r p r i s e a p p l i c a t i o nd e v e l o p m e n tp l a t f o r m ,即企业级应用开发平台。 1 2 1 为什么开发e p s t a r 平台 首先让我们分析一下传统的基于数据库的企业级应用的开发模式,从传统的开发流程中找出不 足和可以改进的地方。 传统的开发流程往往分为四个阶段:需求定义阶段:设计阶段;实现阶段;测试和运行阶段。 在需求定义阶段,由用户提出需求,开发人员尽可能地细化需求,确定人机界面,并撰写用户需求 文档和软件需求文档。设计阶段可以分为总体设计和详细设计:总体设计确定软件运行的环境、软 件的开发工具、软件的体系结构,明确软件模块构成及模块之间的关系;详细设计主要完成类的设 计,详细设计每个类的成员函数,并撰写设计文档。编码人员在实现阶段按照软件的设计文档使用 开发工具进行编程。测试阶段包括模块测试、集成测试和系统测试,测试完成之后交给用户试运行。 传统的开发周期较长,涉及开发人员较多。在实际操作过程中,编程阶段往往是耗时最长的一个阶 段,也是最难控制的一个阶段。传统的开发流程请参照图3 : 在传统的软件开发过程中,集中暴露出以下问题: 1 :效率很低:每个程序都是通过编码实现的,而且编码往往是耗时最长的一个过程。 2 :质量很难控制:由于设计过程复杂,除了数据库设计之外还包括很多类的结构设计,编码质 量与程序员的技术水平密不可分,开发人员水平的差异容易引起软件质量的不稳定,没有可靠的保 障。 2 第一章e p s t a r 平台? “生的背景 图3 :传统的开发流程图 3 :后续维护困难:由于没有用户和开发人员都易于理解的业务模型,当开发人员离开后,后续 维护人员在维护时,首先需要读懂原来的程序,然后再根据自己的经验进行维护,不仅维护时间长, 而且更加不能保证维护质量。 4 :可扩展性差:用户的需求往往是多变的,所以当软件开发出来之后,也许已经不能完全满足 用户对应用软件的需求。这是由软件开发的迟滞性造成的。传统开发模式不能很好的解决这个问题, 根本原因是因为开发时间长,不能快速适应用户的需求。这种弊端在业务逻辑复杂的情况下更加突 出。 5 :可移植性差:移植是加快软件开发速度的最好的办法之一,移植要解决的根本问题就是提高 软件的重用性能。传统的开发模式往往只能支持类的重用。函数的重用。由于没有与业务逻辑紧密 相关的业务模型,所以重用仍然停留在代码级,而不能对相近的业务软件提供充分的移植能力。 通过以上的分析,可以发现引起传统开发方式中诸多问题的根本原因是没有引入业务模型和分 层的机制,当业务模型由一个稳定的底层的平台支撑环境解释运行时,以上罗列的问题都可以得到 很大程度上的解决。由于基于平台的开发人员往往由企业内部的信息部门的人员组成,他们最熟悉 企业内部的运行机制,由他们集中精力完成与业务直接相关的业务模型的建模设计,所以建立的模 型往往能真实地反映一个行业的业务。这样,每一个应用软件的完成都留下了与某个行业,或某种 业务密切相关的业务模型,极大地改善了软件的重用性能。 下面我们首先分析基于平台开发的流程,见下图: 东南大学硕士学位论文 需求阶段: 需求变更 1 用尸需求:解用户对该应用的功能性需求k 一 了解用户对该应用的非功能性需求 2 软件需求 设计和建模阶段: f 发现不足 1 。模型设计:毒墨雾菱喜藉羹器券盏蓥裂鸷盎, 一 与业务紧密相关的界面组织与设计r 一 2 模型建立:使用平台的工具建立业务模型,并根据需要l 进行二次开发 测试和运行阶段 1 系统测试 2 用户试运行 3 跟踪维护,发现不足,需求变更 图4 :基于平台开发的流程图 两种开发模式存在很多不同之处,其中最醒目的就是在基于平台的开发模式中,编码实现的过 程不见了,取而代之的是模型的建立和在模型基础上的二次开发,我们必须承认和关注的一点就是 平台的功能虽然是强大的,但是也是有限制的,所以好的平台都应该留有二次开发接口,以一种开 放的,灵活,可扩展的姿态提供给用户使用。刚才我们提到的在模型基础上的二次开发就是指利用 平台提供的二次开发接口通过一定的编码扩充软件的功能,满足最终用户复杂多变的需求。 下面我们通过一张表格比较两种开发方式的异同: 传统模式平台模式 特点的剥比 软件遥仃的环境直接运行在操作系统之上平台( 平台运行在操作系统之上) 业务模型 无有 开发工具j 2 e e ,v c 等平台提供的建模工具 传统模式与,p 台模式相比的缺点 对开发人员的要求 低 开发效率 差好 町扩展性差好 可移植性 差好 州维护性差好 质晕控制差好 传统模式与平台模式相比的优点 执行效率高 低 灵活性较强较差 表i :传统模式与平台模式的特点对比 4 兰二兰! ! ! 坠! 里鱼主竺些篁茎 平台模式开发出来的软件虽然有很多优点,但也存在缺点,如效率较低,灵活性较直接编码开 发差。克服这些缺点是平台追求的重要目标之一。随着硬件的飞速发展,平台模式的弱势将逐渐得 以改善,而它在市场上光明的前景注定了我们要开发e p s t a r 平台。 1 2 2 e p s t a r 平台的定位 e p s t a r 平台的定位是支持基于数据库的企业级应用的快速开发。这样定位有两个根本原因:首 先是由于企业级应用软件在市场需求中占有很高的份额,也就是说这种决策是市场驱动的:另外一 个原因是由于以数据库为基础的企业级应用软件便于分层,对数据库的读取和存储等基本操作是所 有基于数据库的软件的共性,这与展现在最终用户面前的显示界面处于不同的层次,最终用户对显 示界面的要求是个性的,多变的。 e p s t a r 平台处理的主要元素是数据,基于平台开发的软件主要以承载数据的表格形式展现在最 终用户面前。在企业级应用中,核心的资源就是数据,人们维护数据,在不同的角色之间传递数据, 并把数据和对数据的分析结果最终以报表的形式提供给决策部门作为生产控制和预测的依据。请参 照数据控制流动图。 贫 用户 ilii i 数据输入 il 数据流动 l 1,j i,。、一 e p s t a r 平台 1 :提供业务建模工具供用户建立业务模型控制数据输入 2 :提供工作流建模工具供用户建立工作流模型控制数据流动 3 :提供报表工具供用户建立报表的模板,配置报表数据的来源 4 :对模型的解释,监控,执行 图5 :数据控制流动图 基于e p s t a r 平台开发的企业级应用软件最终展现在用户面前的是w e b 页面,也就是说采用了 b s 的结构。这种决策的根本目的是为了便于与其它已有的或即将开发的应用集成在w e b 页上。b s 结 构的应用程序有很多优势,其中最显著的一个优势就是客户端不用单独安装客户端软件,用户直接 通过浏览器访问应用程序。 1 2 3e p s t a r 平台的体系结构 基于e p s t a r 平台开发的应用是基于w e b 的,以二维表格为主要表现形式的易维护,易配置,易 重用的企业级应用。实现了数据信息的录入,数据信息的流转控制,数据信息的报表显示和权限控 制的功能。 整个平台由四个模块构成:业务建模模块,工作流控制模块,报表模块和身份认证模块。请参 照下图:e p s t a r 平台体系结构图。 变塑查竺望主兰竺堡兰 n e t 平台 【o s lw i n d o w s2 0 0 0s e r v e r + s p 2 + n e tf r a m e w o r k1 0 【d b 】s q l s e r v e r2 0 0 0 + s p 3 图6 ;e p s t a r 体系结构图 业务建模模块由三个子模块构成:业务建模工具,业务建模引擎和业务管理子模块。业务建模 的核心思想是要建立与企业业务紧密相关的业务模型( 使用业务建模工具建立) 。这个模型既包括对 数据库的模型设计,也包括对界面显示的模型设计。业务建模工具将用户建立的业务模型存储在数 据库中。业务管理子模块通过访问业务建模引擎,由引擎解释存储在数据库中的业务模型并生成二 维表格供用户维护。 工作流是针对工作中具有固定程序的常规活动而提出的一个概念。e p s t a r 平台支持的工作流控 制是对具有固定程序的表单填写的控制。这与某些生产制造商的产品加工的工作流控制完全不同。 工作流模块由三个予模块构成:工作流建模工具,工作流引擎和工作流任务管理子模块。使用工作 流建模工具构建的模型描述企业业务数据的流动过程及过程中各个任务之间的关系,并指定在不同 的任务应该进入什么样的页面,在什么条件下进入下一个任务。工作流任务管理子模块访问工作流 引擎,调用引擎的服务,控制流程的执行。工作流任务管理子模块最终展现在用户面前的维护方式 是w e b 页面。 报表模块是解决用户数据输出的工具,分为报表定义模块和报表引擎。由用户建立报表的模板 格式,通过报表定义模块描述报表数据的数据源,由报表引擎解释生成报表。报表引擎支持二维表 6 一 兰二皇! ! ! 坠! ! 笪主竺丝堕墨 格,柱状图,线性图,饼状图等多种形式的报表。为用户提供友好的维护界面。 身份认证模块提供角色和用户信息维护功能,被其它三个模块使i ; j 。它是整个平台的门户,用 户只有以合法的身份通过身份的认证后才能访问基于平台建立的w e b 页面。 四个模块构成了一个有机的整体,身份认证为整个平台提供了门户,业务建模模块是平台的基 石工作流模块处理数据的流动,它处理的对象就是用业务建模建立的表格,报表模块为用户录入 的数据提供了整理输出的方式。 7 东南大学硕士学位论文 2 1x 池 第二章相关技术介绍 x m l 的全称是e x t e n s i b l em a r k u pl a n g u a g e ,即“可扩展标记语言”。x m l 是一种基于文本的 标记语言,正迅速地成为w e bl 的数据交换标准。 2 1 1x 札概述 x m l 是一种简单、与平台无关并被广泛采用的标准。x m l 使用一组标记来描绘数据元素。每个元 襄封装的数据可能十分简单也可能十分复杂。x 魁相对于瑚瑚l 的优点是它将用户界面与结构化数 据分隔开来。这种数据与显示的分离使得集成来自不同源的数据成为可能。 x m l 与h t m l 有很大的不同,下面列出了x m l 与h t m l 之间关系的几个要点: x m l 不是要替换h t m l ,实际上x m l 可以视作对h t m l 的补充。x m l 和h t 札的目标不同:h t m l 的设计目标是显示数据并集中于数据外观;x m l 的设计目标是描述数据并集中于数据的内 容。 x n 与h t m l 相似,它们都不对描述的内容和结构进行任何操作。虽然x m l 标记可用于描述 订单之类的结构,但它不包含可用于发送或处理该订单以及确保按该订单交货的任何代码。 程序员使用x m l 描述这些信息之后,必须使用x m l 相关的技术编写代码来实现对x 札格式 数据的操作。 x m l 与h t m l 不同,x m l 标记由x m l 文档的作者定义,可以自定义标记。h t m l 标记则是预定 义的,h t m l 的作者只能使用当前h t m l 标准所支持的标记。 可扩展标记语言( x m l ) 是一种元标记语言,可以使用x m l 描述结构化的数据。它有利于跨多个平 台准确地声明内容,获得有意义的数据。在h t f l l 中,使用标记来指示浏览器将数据显示为粗体或斜 体:而在x m l 中仅用标记描述数据。外观和数据的分层有利与通过应用不同的样式表和应用程序 来显示和处理数据,灵活地控制和扩展数据。 x m l 是标准通用标记语言的一个子集,它由万维网联盟( w 3 c ) 定义。该标准可确保结构化数据 的统一,且不受应用程序或供应商的约束。x m l 逐渐成为各种软件和w e b 服务之间传递信息的统一 描述语言。 2 1 2 ) n 儿的一些基本概念 d 叫:它的全称是d o c u m e n to b j e c ti ,l o d e l ,即文档对象模型。 x s d :它的全称是x m ls c h e m ad e f i n i t i o nl a n g u a g e ,即x m l 架构定义语言。 x s l :它的全称是e x t e n s i b l es t y l e s h e e tl a n g u a g e ,即可扩展样式表语言。 】【p a t h :它的全称是x m lp a t hl a n g u a g e ,即x m l 路径语言。 d o m 可以让用户以分层次对象模型来访问储存在x m l 文档中的信息。d o m 生成一棵节点树( 以x m l 文档的结构和信息为基础) ,可以通过这棵树来访问文档的信息。在x 扎文档中的文本信息转变成一 组树的节点。 x m l 架构定义语言( x s d ) 可为x m l 文档定义结构和数据类型。指定x m l 文档所允许的结构和内 容。所以可以使用x m l 架构定义语言( x s d ) 验证x m l 文档的正确性, 使用x m l 架构可以保证应用程序之间共享的x 乩数据类型的一致性。x 托架构可用作两个应用程 序之间进行数据交换的合同。应用程序的开发者可以发布描述其应用程序生成和使用的x m l 数据的 架构。这样,希望交互数据的其他开发者可以遵循这些架构生成应用程序,以便他们的x m l 数据能 8 弟= 章杜关技术介绍 被理解。 例如,在买方和卖方之间发送以x m l 表示的订单之前,町以用x m l 架构对其进行验证。验证数 据的所有元素均存在,且都按预期顺序排列,并且均为正确的数据类型,确保订尊收件人在收到它 时能够正确地解释数据, x s l 可以将某种格式的x m l 结构解释或转换为另一种格式的结构。使用x s l 可以灵活的设置 文档显示样式。 x p a t h 提供了一种搜索和过滤x m l 文档中的元素的机制。使用这种机制,可以快速的在x m l 文 档中定位到指定的位置。 通过这几个主要技术的协作,可阻完成对x 札文档格式和内容的定义、建立、搜索、校验和转 换等系列的功能。满足软件开发人员使用x m l 语言以统一的格式描述和处理信息。 鉴于x m l 语言标准的通用性和它提供的强大的功能,e p s t a r 平台使用x m l 语言描述业务模型。 而且n e t 技术提供了很多基础类,支持x m l 的解析与处理。 2 2w e bs e r v l c e w e bs e r v i c e 是基于标准因特网协议的与平台和语言无关的可重用组件。简而言之,w e bs e r v i c e 是用来执行某些任务的过程和函数。我们可以在因特网环境中调用w e bs e r v i c e 。它跨平台和语言 共享数据。使用w e bs e r v i c e 的应用程序无需知道有关底层的w e bs e r v i c e 如何工作的具体细节。 所有的应用程序只需知道w e bs e r v i c e 位于何处需要何种类型的参数以及返回值的类型即可, w e bs e r vj c e 的一个重要的优点在于,当w e bs e r v i c e 更新或出现新功能时,所有使用w e b s e r v i c e 的应用程序可以立即看到所有的变化,而无需在客户端执行安装步骤。所以,w e bs e r v i c e 为应用程序共享服务提供了方便、快捷的支持。 由于w e bs e r v i c e 服务并非专用于特定组件技术或对象调用约定,所以用任何语言编写的程序, 不论使用什么组件模型,运行在什么操作系统上都可以访问w e b 服务。 w e bs e r v i c e 使用的标准包括:h t t p ,x n ,s o a p ( 简单对象访问协议) 。w e bs e r v i c e 服务描述 语言( w s d l ) ,统描述、发现和集成规范( u d i ) i ) 。 司以使用h t t p g e t 、h t t p p o s t 和s o a p 与w e bs e r v i c e 通信。h t t p - 6 e t 和i t t t p p o s t 是基于 h t l p 的标准因特网协议。使用h t t p g e t ,可以把数据作为u r l 的一部分发送给w e bs e r v i c e :使用 h t t p p o s t ,可以在h t t p 消息体中发送数据。它们都从w e bs e r v i c e 那里返回简单的x m l 文档数据, 它们都只支持简单的数据类型,不支持结构等复杂数据类型。而s o a p 协议同时支持简单和复杂数据 类型,所以有很多应用程序使用s o a p 协议,它是为在因特网上交换结构化和类型化信息而制定的轻 量型x m l 协议。 w e bs e r v i c e 服务描述语言( w s d l ) 是由微软和i b m 公司合作开发的一种基于x m l 的语言。它 记录w e bs e r v i c e 接受和生成消息的标准方法,即记录w e bs e r v i c e 的协约。w e bs e r v i c e 的协约 文件描述了如何用w e bs e r v i c e 可以理解的方式与其通信,以及如何知道返回的是什么。 w s d l 文档将w e b 服务定义为服务访问点或端口的集合。在w s d l 中,消息指对交换数据的抽象 描述,而端口类型指操作的抽象集合。用于特定端口类型的具体协议和数据格式规范构成了可以被 再次使用的绑定。它与w e b 访问地址的关联定义了端口,而端口约集合则定义为服务。 j s d l 文档在 w e b 服务的定义中使用了下列元素: t y p e s - e s s a g e 数据类型定义的容器,它使用某种类型系统( 一般地使用x m ls c h e m a 中的类型 系统) 。 通信消息的数据结构的抽象类型化定义。使用t y p e s 所定义的类型来定义整个 消息的数据结构。 9 东南大学硕士学位论文 o p e r a t i o n : 对服务中所支持的操作的抽象描述,一般单个o p e r a t i o n 描述了一个访问入口 的请求响应消息对。 p o r t t y p e : 对于某个访问入口点类型所支持的操作的抽象集合,这些操作可以由一个或多 个服务访问点来支持。 b i n d i n g :特定端口类型的具体协议和数据格式规范的绑定。 p o r t : 定义为协议数据格式绑定与具体w e b 访问地址组合的单个服务访问点。 s e r v i c e : 相关服务访问点的集合。 发现和集成规范( u d d i ) 规定了一系列的标准,w e bs e r v i c e 提供者应当遵从这样的标准推广 他们的服务。各个w e bs e r v i c e 提供者在一个公用的发布中心发布他们的w e bs e r v i c e ,供需要使 用服务的人们查找和使用。这非常像电话黄页。 微软在n e t 开发环境中对w e bs e r v i c e 提供了很好的支持。当使用n e t 开发环境访问w e b s e r v i c e 时,会根据w e bs e r v i c e 提供者的w e b 服务描述语言( w s d l ) 文件,在调用的客户端自动生 成代理类。客户端可以调用代理类的方法,而该代理类又通过处理往返于x 儿w e bs e r v i c e s 的s o a p 消息通过网络与x m lw e bs e r v i c e s 进行通讯。默认情况下,代理类在h t t p 之上使用s o a p 与x i d lw e b s e r v i c e s 进行通讯。 n e t 开发环境还提供了在w e bs e r v i c e s 中的自动事务。事务确保与数据库等资源的所有交互 运行的应用程序所需的a c i d 属性。这在软件开发中是非常重要的功能。 2 3 n e t 平台 n e t 的目标是向开发人员提供一个具有丰富功能的应用程序开发平台和托管、受保护的运行环 境。它简化了在高度分布式i n t e r n e t 环境中的应用程序开发。可以将n e t 的优点概述如下: 通过提供了大量面向对象、功能丰富的系统类,来简化应用程序开发。 提供具有自描述性的程序集,简化应用程序的开发和部署。 用x m l 共享数据,x m l 无处不在,便于数据描述和共享。 很好地支持w e bs e r v i c e ,通过w e bs e r v i c e 访问各种数据,使数据访问更加便捷。 n e t 框架包括两个重要的部分:公共语言运行时和n e t 框架类库。公共语言运行时是n e t 框 架的基础,它为应用程序提供运行时的执行环境。可以将公共语言运行时看作一个在执行时管理代 码的代理,它提供核心服务( 如内存管理、线程管理和远程处理) ,而且还强制实施严格的类型安全 检查,确保安全性和可靠性。事实上,代码管理的概念是它的基本原则。以公共语言运行时为目标 的代码称为托管代码,而不以它为目标的代码称为非托管代码。n e t 框架的另一个重要部分是类 库,它是一个综合性的面向对象的可重用类型集合,可以使用它开发包含从传统的命令行、图形用 户界面、普通应用程序到包括w e bs e r v i c e s 在内的应用程序。 无须在w i n d o w s 注册表中注册是n e t 的一大突破。这是通过元数据实现的。元数据其实是一组 信息,公共语言运行时在提供编译时和运行时服务时需要使用这些信息。n e t 组件的自描述性是 因为元数据作为组件的一部分保存在组件之中,所以n e t 应用程序的部署非常简单。元数据与编程 语言无关,所咀n e t 支持的所有语言都可以使用元数据,并以相同的方式对元数据进行解释。 反射处理是n e t 宝贵的功能之一,通过它n e t 可以访问应用程序的元数据,可以将反射简单的 定义为在运行时发现类型信息的能力。 跨语言性是n e t 的一个杰出优点。n e t 应用程序编译后生成m s i l 代码,而不是二进制代码。 m s i l 的全称是m i e r o s o f ti n t e r m e d i a t el a n g u a g e ,即微软中间语言。它包括装载、存储和初始化 对蒙等指令。m s i l 使跨语言编程成为可能。在n e t 下编译程序代码时,生成的可执行文件是用中间 语言描述的,在运行时由j i t ( j u s ti nt i m e ,即时编译器) 转换成本机代码执行。为了提高效率, j n 编译器不是立即编译所有的代码,丽是按需对代码进行编译。 l o 第2 章业务建模模块 第三章业务建模模块 业务建模是e p s t a r 平台的核心模块,它由三个子模块构成:、【k 务建模工具,业务建模引擎和 业务管理子模块。用户建立模型后,引擎从数据库中取出模型信息,解释该模型并以w e bs e t v i c e 的方式向业务管理子模块提供服务,最后由业务管理子模块组织数据,动态地加载h t c 组件,提供以 二维表格为主要显示形式的w e b 页面供用户维护。 业务建模的目标是帮助用户建立数据维护、j k 务的模型。用户在建立模型的过程中,既要充分描 述模型包括那些数据( 数据建模) 也要完整描述w e b 页面中数据如何组织( 界面信息建模) 。 在整个业务建模模块中,我用v b n e t 编写了其中的一个子模块业务建模工具,提供人机 界而供用户建立业务模型,使用x 扎存储业务模犁,并将x m l 模型中存储的信息解析出来存储在数 据库中供业务建模引擎访问。 引擎在解释业务模型后,必须使用组件动态组织w e b 页面的内容。下面我们开始讨论h t c 组件 及其在平台中的应用。 3 1h t c 简介 从i n t e r n e te x p l o r e r5 开始,微软的浏览器支持了一种全新的,功能强大的技术十n m l c o m p o n e n t ( h t c ) 。h t c 提供了用脚本实现组件的机制,h t c 是一种以h t c 为扩展名的h t m l 文件, 它包括一系列h t c 元素( e l e m e n t ) ,并使用脚本描述这些元素的行为。下面列出了h t c 中常用的一些 对象和方法: d o c u m e n t : e l e m e n t : p u b l i c :a t t a c h : p u b l i c :c o m p o n e n t p u b l i c :d e f a u l t s : p u b l i c :e v e n t : 代表浏览器窗口的h t m l 文档 对文档中一个标签的引用 将一个函数与指定的事件绑定 标示文件的内容定义为h t c 设置h t c 的默认属性 自定义i i t c 事件 图7 :c a l e n d a r h t c 的效果图 e p s t a r 平台的业务管理子模块使用h t c 技术动态地组织页面,这里用两个典型的h t c 组件说明 界面的动态组织。一个是用于用户输入当前日期的c a l e n d a r h t c ,它可阻独立工作,另一个是动态 表格组件d i n a m i c t a b l e h t c ,它组织其它h t c 组件实现表格维护功能。 在一一个w e b 页面中使用h t c 组件时,只需将h t c 文件指定为某个w e b 页面中的元素的b e h a v i o r 属性,就可以实现组件与该元素的绑定,该元素将拥有指定的h t c 组件的行为特性。这里,我们通 1 1 东南大学硕士学位论文 过介绍c a l e n d a r h t c 说明用脚本构建h t c 组件的过程。 w e b 页面在加载c a l e n d a r h t e 组件时,它动态地在h t m l 文件中加入h t m l 代码,显示组件的页 面供用户选择日期。图中的每个单元格,如日期,月份等就是在加载h t c 时动态添加h t m l 代码的显 示效果。 h t c 组件不仪可以自定义属性和事件,l f u 且可以将某一事件与指定的处理函数绑定在一起。 c a l e n d a r h t c 组件就添加了一些记录年、月、日的属性。并指定属性修改时的处理函数。 ( p u b l i c :p r o p e r t yp u t = h p u t m o n t hg e t = f n g e t m o n t h n a m e t m ”m o n t h ” ( p u b l i c :p r o p e r t yp u t = f n p u t y e a rg e t = f n g e t y e a r n a m e = ”y e a r ” c a l e n d a r h t c 组件可以将用户选择日期时的点击事件与相应的函数绑定在一起,处理用户的点 击操作,根据用户的操作设置属性年、月、日的值。将事件绑定到处理函数的语法如下: e le m e n t a t t a c h e v e n t ( ”o n c l i c k ”,事件处理函数的名称) 通过以上的介绍可以看出,h t c 组件不仅可以处理加载该组件的h t m l 页面上的用户事件,而且 提供属性和方法与h t b i l 页面交互。所以h t c 组件极大地提高了w e b 页面处理的灵活性。 d y n a m i c t a b l e h t c 组件与c a l e n d a r h t c 组件有很大的不同,它是一个组合组件。而且它也是 业务管理子模块组织界面时使用的主要组件。d y n a m i e t a b l e h t c 组件的每一行是表的一条记录,每 一列是表的一个字段,它提供了数据处理的功能。d y n a m i c t a b l e 组件处理的数据使用x m l 数据描述 和保存。d y n a m i c t a b l e 的最大的特点和优势在于它可以动态的根据x m l 中的数据动态加载相应的数 据表,供用户维护。 观察d y n a m i c t a b l e 组件的效果图可以对该组件有一个感性认识。 图8 :d y n a m i c t a b l e h t c 的效果图 从图中可以看出o y n a m i c t a b i e 组件给数据库应用程序提供了有力的支持。d y n a m i c t a b l e 组件加 载的最终效果是一个动态表格,根据x m l 数据源显示数据记录,并提供一组按钮供用户操作。操作 按钮包括新增,编辑,删除,确认和取消。这些按钮是在加载d y n a m i c t a b l e h t c 时,由h t c 的初始 化程序动态生成的d h t m l 语句产生的效果。 为了介绍d y n a m i c t a b l e 组件,首先需要了解它的数据源获取技术x 儿数据岛。x m l 数据可 以作为“数据岛”存储在h t m l 页面内部。数据岛中存储的x m l 可以像其它任何x m l 文档那样被 处理。 数据岛中存储的数据可以用多种方式获取;即可以使用h t m l 元素的“s r c ”属性将数据岛元素 绑定到某个x m l 文件,也可以调用某个w e bs e r v i c e 得到x m l 数据包。使用“s r c ”属性的语法如下: 指定“s r c ”属性可以将文件“x x x m l ”的内容加载到不可视的i d 为“x x i d ”的数据岛中。当 h t m l 文件的其它元素需要使用该数据岛时,只要设置该元素的d a t a s r c 属性为数据岛元素的i d 即 可,语法如下: d y n a m i c t a b l e 组件的x 札数据是使用数据岛获取的。它使用的x m l 数据源分为两类:一种是关于 】2 第三章业务建模模块 动态表格如何显示的格式信息( m e t a x m l ) :另一类是关于动态表格显示的数据内容( d a t a x m l ) 。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省广元市川师大万达中学2025-2026学年高二上学期第一次月考(8月)历史试题(含答案)
- 2025年中国蕃茄牛肉米线数据监测报告
- 课件时长的确定
- 锅炉(承压)设备焊工基础考核试卷及答案
- 铁合金回转窑工质量管控考核试卷及答案
- 巧克力塑形师工艺创新考核试卷及答案
- 课件无广告原因
- 拜耳法溶出工成本预算考核试卷及答案
- 2025年中国猪皮二层箱包革数据监测报告
- 金属牙齿考试题及答案
- 不干胶贴标机设计学士学位论文
- 《劳动合同书》-河南省人力资源和社会保障厅劳动关系处监制(2016.11.15)
- 钢轨检测报告
- 战略管理:概念与案例
- GB/T 3505-2009产品几何技术规范(GPS)表面结构轮廓法术语、定义及表面结构参数
- GB/T 11186.1-1989涂膜颜色的测量方法第一部分:原理
- 09S304 卫生设备安装图集
- 功能材料概论-课件
- 微纳加工课件
- 危重病人紧急气道管理课件
- 复杂网络-课件
评论
0/150
提交评论