快速开发框架

2024-10-06

快速开发框架(精选10篇)

快速开发框架 篇1

1 背景

软件架构设计是软件开发中至关重要的一环,良好的软件架构是一个软件开发项目成功的保证。系统的设计必须能在一系列变化之后仍然尽可能简单。所以必须为变化而设计。从而设计的目标应该是:灵活性,可扩充性,可移植性。随着系统越来越庞大,特别是企业级的系统,要实现上述的目标越来越困难。分层架构的提出,在很大程度上解决了软件开发中的强耦合问题,也为编写代码清晰、可维护性良好的系统提供了理论基础。目前,典型的分层架构是三层架构,即自底向上依次是数据访问层、业务逻辑层和表示层,这种经典架构经历了时间和实践的检验,被认为是合理、有效的分层设计。实际的项目中,对上述三层会做出进一步的扩展,将原有的三层扩展到七层,即数据访问组件基础层、SQL Server( Oracle) 数据访问层、数据访问抽象工厂层、数据访问接口定义层、业务实体层、业务逻辑层、表示层。在这些层级中真正变化的是表示层即客户端UI和业务逻辑层,而数据库访问层和其它扩充层在本质上没有很大的差别。框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法。框架通过把一些通用的方法例如发送E-mail,压缩文件,提供报表展示,导入导出Excel等做成一个基础类库,提高软件的易用性。通过框架的设计可以建立更加开放的系统,增加代码的重用性,提高了软件的生产效率和质量,使软件设计人员更专注于对领域的了解,可以让那些经验丰富的人员去设计框架和领域构件,而不必限于底层编程。该文正是在此基础提出的一个开发框架。

2 整体架构

整个通信过程是请求从,如果有返回值的话,原路返回。通信技术采用的是.net 4.0 WCF,简单高效,可以轻松适应广域网和局域网,一个服务可以同时暴露多个协议给不同的客户端请求。

客户端包括C版winform客户端和B版浏览器,发送请求给中心服务器,中心服务器根据自身的路由表,把请求转发到相应的应用服务器中,同时还做身份验证,缓存管理,日志管理等。应用服务器是具体业务组件的容器,它是一个windows服务,在启动的时候,根据配置文件加载配置中的业务组件到内存中,同时把自己的地址发送给中心服务器缓存。当请求来的时候,在内存中直接调用业务组件,加快了响应速度。业务组件实现了具体的业务逻辑,经过处理后返回给客户端。缓存服务器也是一个业务组件,和一般的业务组件一样配置,在服务启动的时候加载,非常灵活,无需特殊处理。

通信层比一般的3层架构多了一层中心服务器,这样的好处在于截获所有的客户端调用,做一些AOP的处理,还可以做路由。如果某个应用服务器压力过大,部署另外一台应用服务器指向中心服务器,服务启动后就会在中心服务器路由表中添加一条记录,这样当新的请求到来,通过路由算法,就会路由到压力较轻的应用服务器,这样应用服务器可以横向扩展,充分利用硬件的性能。

每一层都有缓存服务器,加快了响应速度,缓存服务器还可以持久化,这样把一些状态在重新启动后保持原样,对一些公共上下文可以保持在不同会话间,不同的进程间同步,即使服务重启后仍然是同步的。

图2是层次图,展示了框架的各种不同层次之间的关系。

3 客户端

客户端提供了一个高内聚低耦合的架构,客户界面的类只需要实现指定的接口,在数据库中配置好菜单,就可以运行。客户端主界面是一个树形结构,多级菜单形成树。菜单是可以在动态修改的,非常灵活。另外,还可以接入旧的系统,只需要实现制定的适配器并在数据库中配置。图3是客户端调用界面。

4 中心服务器

中心服务器是一个特殊的角色,客户端的请求都通过中心服务器来转发,同时还处理请求的身份验证,日志管理,缓存管理, 权限管理,性能监视的功能。图4中心服务器内部功能。

所有外部的请求来到中心服务器时,首先需要身份认证。它需要一个令牌,这个令牌是客户端合法用户登陆后生成的,中心服务器维护了所有在线用户的信息,外部请求如果没有令牌,则拒绝服务。

合法用户发生请求,还必须通过权限认证。每个合法用户都会赋予一定的权限,客户在登录时候,中心服务器就会过滤客户的权限,只返回给赋予的权限合集给客户端。当请求到来时,还会第二次检测客户是否在授权范围内,如果不是,也拒绝服务。

分布式缓存可以配置为本地缓存或者是分布式缓存。具体缓存的内容在配置文件中配置。过期策略又分为:

缓存策略配置好后,中心服务器第一次使用缓存是就会初始化策略,每个请求到来时,会进行如下流程处理(图5所示)。

流程是根据缓存的配置文件确定当前请求是否有配置缓存,如果是,则根据传递的参数获取缓存的键值,根据键值获取缓存, 如果缓存为空,则去持久层获取,再更新缓存,如果不为空,则直接返回,减少了与持久层的交互,提升了性能。

路由与负载均衡管理是客户端的请求到来时,请求会自动转发到负载较轻的应用服务器上。由于在应用服务器启动的时候, 会向中心服务器注册,报告自己的地址和承载的服务,所以中心服务器会有一份详细的关于所有应用服务器的信息。当请求到来时,会根据负载均衡算法,选择一个负载较轻的应用服务器。这样的结构使得应用服务器可以水平扩展,如果某个应用服务器负担很重,再部署一台新的应用服务器,承载相同的业务,向中心服务器注册即可承载应用,减轻另外一台的压力。负载均衡算法采用2种,最少连接数法和基于CPU,内存,I/O访问加权比较法。

会话管理是在中心服务器维护了所有登陆用户的信息,包括用户的令牌,用户名称,用户的操作,用户登陆时间等,同时开发了一个维护工具,可以清除在线用户,刷新用户登陆时间等。

日志和性能监视是维护功能,主要记录用户的操作日志,以及异常信息,性能监视器还记录了每个请求的处理时间,可以用来分析性能障碍的原因,定位哪个操作引起性能差,为进一步分析服务端提供了依据。

5 应用服务器外壳

应用服务器外壳是一个windows服务,用于承载业务组件,它是一个容器,把业务组件加载到容器中,同时接收中心服务器的请求,根据请求地址,调用具体业务组件,并把上下文和请求参数传递给组件。它的功能有:转发请求,加载IOC容器,注册服务器, 保持心跳,动态编译业务组件,异常处理。图6为应用服务器外壳功能图:

转发请求是应用服务器的主要职责,应该服务器外壳本身不处理请求,它把业务组件动态编译后成为一个同一的接口,然后加载到内存中,当请求到来时,根据业务组件配置的服务名找到对应的业务组件,传递上下文和参数到组件,并调用组件服务,最后把组件的处理的结果返回给中心服务器。

IOC容器管理负载加载业务组件的IOC配置,是利用Microsoft Enterprise Lib 5.0的Unity来加载IOC,可以同时配置多个业务IOC容器,统一加载,业务组件再调用框架提供的IOC类库即可访问IOC内部组件。

注册服务器是向中心服务器注册自己,包括自己的IP地址,协议信息,加载的业务组件服务,同时接收中心服务器返回的应用服务器节点令牌作为自己的唯一标识,此外还接受中心服务器返回的所有应用服务器节点,节点的模块信息和负载信息,所以应用服务器外壳也维护了一份路由表,自己也可以路由到其他节点,无需中心服务器参与,这是多个应用服务器之间调用的基础。

心跳机制是应用服务器每隔指定时间向中心服务器发送消息,告诉中心服务器自己的状态,如果中心服务器长久没有收到应用服务器的报告,则认为该应用服务器没有响应,从路由表中移除它。

动态编译是加载业务组件的核心功能。为了能够快速响应请求,业务组件没有使用普通的反射原理,而是在服务启动的时候把各个业务组件的服务经过动态编译为同一的接口并实例化到内存中。当请求来时根据请求地址找到对应的业务组件后,无需再实例化了,直接可以调用服务,加快了响应的速度。

异常处理是在动态编译中统一处理的。业务组件都会被统一动态编译为实现同一个接口的类,所以很容易的加入了异常处理,异常详细信息记录到日志,并返回给客户端一个异常的ID和简单的提示,不会包含具体的堆栈信息。

6 RESTful 架构服务和代理

REST即Representational State Transfer的缩写,翻译是"表现层状态转化",如果一个架构符合REST原则,就称它为RESTful架构。它有以下特点:

1)每一个URI代表一种资源;

2)客户端和服务器之间,传递这种资源的某种表现层;

3)客户端通过四个HTTP动词,对服务器端资源进行操作,实现"表现层状态转化"。

中心服务器就是RESful架构服务,客户端和服务端的交互在请求之间是无状态的,从客户端到服务器的每个请求都必须包含理解请求所必需的信息。如果服务器在请求之间的任何时间点重启,客户端不会得到通知。此外,无状态请求可以由任何可用服务器回答,客户端可以缓存数据以改进性能。这样客户端请求的接口只有4个,Get,Put,Delete,Post,加上资源和参数就可以请求所有的服务,非常简单。C版客户端的代理利用HttpClient类来调用Restful服务,B版利用XMLHttpRequest对象请求服务。

7 结论

本文详细介绍了一个基于.Net的快速开发框架的设计,包括客户端框架,客户端代理,中心服务器,应用服务器外壳。阐述了各个组件的功能及其原理。这个框架是基于.Net 4.0开发的,业务组件完全是自己定制,开发组件时可以利用框架提供的公共类库,完成后配置服务即可宿主到应用服务器中。客户端支持C版和B版,内容定制,C版开发后配置菜单即可运行起来。这个框架已经经过多个项目实践,确实能够加快项目的开发交付,使客户能够快速响应市场的需求。图7是一个系统布署图。

摘要:应用框架强调的是软件的可重用性和系统的可扩充性,可以缩短大型应用系统开发周期,提高开发质量。可以为快速构建企业级的应用提供强有力的支持。该文根据面向对象设计理念及分层架构设计模式在.net平台上设计开发了一个框架。并对此框架进行了分析总结。

关键词:软件工程,框架,架构

快速开发框架 篇2

该项目计划用地约258亩,其中建设用地100亩,预留用地158亩。

(二)双方权利和义务

1.管委会将组织专人成立对接工作小组对公司在产业园区的各项工作提供配 套服务和协助。

2.管委会将在法律、法规和行政规章等规范性法律文件框架内为该项目提供

税收、行政规费等多方面优惠措施。

3.管委会将积极协助公司申报国家高新技术企业、骨干龙头企业及高新技术 产品,争取税收优惠及相关政策扶持资金。

4.管委会将根据公司需要,积极帮助公司吸纳、引进优秀人才,并帮助推进 联合实验室以及博士后工作站的建设工作。

5.如公司未按该框架协议书的规定进行建设,管委会有权按法律程序收回或分 割项目宗地。

6.自正式投资协议签订之日起一周内,公司应向管委会交纳人民币100万元项 目保证金。该保证金用于保证公司实际履行投资义务,待办理土地使用证时冲抵国 家规定由万邦达交纳的契税。

(三)违约责任

任何一方违反本协议相关项下的义务,需赔偿守约方为实现本框架协议项下权 利而支出的所有费用。

(四)其它事项

1.管委会、万邦达双方在履行本协议过程中,如发生争议,应当协商解决;如 协商解决不成,任何一方有权向北京仲裁委员会申请仲裁。

快速开发框架 篇3

摘 要:作为J2EE应用程序开发当中应用最为广泛的一种体系结构,MVC模式是能够将过去的输入输出与处理模式转变成利用图形进行显示的用户交互的模型。在J2EE下,MVC模式其层次会比较高,也涉及到模型层、视图层以及控制层等的组件设计,在进行开发的时候需要综合这些设计问题来对特定问题被验证其相应解决方案的描述。

关键词:软件开发框架;MVC模式;J2EE

应用软件其体系能够为应软件的系统进行结构、行为以及属性的高级抽象的提供,其重点在于风格与模式,并且在进行应用软件开发期间,开发的平台也很重要。

1 MVC模式与应用软件开发框架

所谓模式,即是对特定类型问题进行解决的通用方法,需要从特定的问题与解决的方案当中完成抽象且将其中的公共要素进行提炼,从而形成最终的模式。体系结构模式意味着软件系统其基本结构化的组织图式,其提供子系统、子系统功能和定义,包括对于它们存在的关系具体的规则与说明。软件体系结构也可以用其来作为模板,并且作为软件系统开发时候的基本设计的决策。相比之下的设计模式,它对用于细化软件系统其子系统与组件包括其关系图式进行提供,其规模比不上体系结构模式,只是其拥有独立的编程语言与风格,且能够对更加复杂的服务或者是组件的结构进行分解,应用设计模式对子系统的体系结构影响会更大。惯用法实现的是对于特定的设计相关问题的处理,且其具体针对于某种编程语言,是一种低层模式,它能够让利用特定的语言特征来对组件其特殊方面或者关系的描述得到实现。

所谓框架,其试图对部分完整的软件系统或者子系统进行实例化的说明,且其系统与子系统族进行了体系结构的定义,也对它们基本构造块的创建进行了提供。应用框架等于是对特定领域其中的共性问题进行抽取,再将部分抑或是全部都加以实现。应用软件的开发,对框架的利用重点在于将系统其业务逻辑的设计集中精力完成,其也相当于是一个软件系统的全部或者是部分的可复用设计。从本质上来说,J2EE同样属于框架结构,且其被应用到了一些特定的领域,从而预先进行了在此领域当中不变架构的定义,完成对于领域内需要的数据操作、事务要求等,也对系统的、伸缩性与可拓展性很好的安全解决方案进行提供。

MVC模式也就是模型、视图与控制器这样的一个体系结构模式,它顺利的将一个交互式的应用程序分成了三个不同的组件。模型当中包括了关于应用问题其核心数据、计算功能以及逻辑关系,并且对需要的数据进行封装,将进行问题处理要完成的操作过程实现提供,并且让视图能够对显示数据与提供访问数据的操作顺利获得。

2 基于MVC模式的应用软件开发框架

以J2EE作为平台,进行基于MVC模式的应用软件开发框架的研究,首先需要明确的是,其模型层的作用在于对商业数据的表达与访问,以及对于商业逻辑与操作的执行。与此同时,对其功能函数的访问可以是控制层进行,并且将相关的任务完成。至于,视图层则需要对模型层的内容进行显示,也就是说其需要先从模型层得到数据之后再指定数据显示的办法,视图层的作用还包括对用户输入进行传输,传送到控制器。对应用程序其行为的定义是由控制层来完成的,它还能够对用户的请求进行分配,再选择合适的视图来进行显示,对于用户其输入可以做到解释,同时把它们映射成为模型层的可执行操作。当利用同样的软件开发平台完成一组设计模式的组织时,有可能可以做到对于全部应用系统其解决方案的提供。关于 Model的部分,因为模型不但将应用程序其核心功能包含在内,且将应用程序其状态进行了封装,对于视图以及控制器可能并无了解。在基于MVC模式的应用软件开发框架当中,其通常可以分为两个部分,一则是与JavaBean相似的实体对象,并且和系统当中真实存在的对象进行对应,也可能是对象关系,二则是关于处理对象其商业逻辑。关于View的部分,视图等于是模型的提供,相当于应用程序其外观。视图能够对模型其读方法进行访问,却并不能够对其写方法进行访问。虽然视图并不了解控制器,但是如果模型被更改了,视图是需要能够接收到通知的。在基于MVC模式的应用软件开发框架当中,应该对JSP其重用性进行提升,将前期的规划做好,并且完成对于不同验证器的提供来让不同用户的需要都得到满足。

关于Controller的部分,作为应用系统其对具体流程以及导向处理的核心存在的控制器,它需要将模型对象提供的信息进行视图可理解形式的转换,也需要对系统流程的走向进行处理。在基于MVC模式的应用软件开发框架当中,其可以分为两个内容,一则是关于应用系统其功能模块,二则是关于具体功能的操作。关于Database的部分,对于应用系统而言,数据库同样是十分核心的内容,并且数据库其设计的合理性对于程序有着直接的影响。优秀的数据库设计需要能够合理且符合第三范式,其类型要简单化,并且只拥有一对一关系、主从关系与多对多关系。关于数据库其SQL语句的执行需要应用通用的数据库操控类,且其语句应用使用框架当中的定义格式才行。

3 结束语

在进行应用软件开发的时候,其软件开发平台同样十分重要。以J2EE作为平台,关于基于MVC模式的应用软件其开发框架的研究,其目的也在于对更通用且功能更强大的应用软件开发框架的探讨。

参考文献:

[1]许鑫,费翔林.基于MVC模式的应用软件开发框架研究[J].计算机工程与应用,2010.

[2]冯玉萍.基于MVC的设计与开发[J].科技风,2010(05).

[3]陆荣幸,郁洲,等.J2EE平台上MVC设计模式的研究与实现[J].计算机应用研究,2010.

作者简介:

孔颖(1983-),女,河南民权人,学士,河南建筑职业技术学院建设信息工程系助教,研究方向为软件工程;

孙秀明(1982-),女,河南周口人,硕士,河南建筑职业技术学院建设信息工程系讲师,研究方向为图像处理和模式识别;

快速开发框架 篇4

近年来, 随着国家信息化建设的大发展, 部队经费结算业务系统的信息化水平也提高了很多, 部队或多或少都引进了经费结算业务系统, 提高了工作效率和业务管理水平, 但提高的同时, 也存在着部队经费结算管理系统开发周期长、开发难度大、业务系统种类繁多、重复开发等问题日益突出。为此, 设计一个可扩展、可配置、松耦合的面向服务的分布式快速开发框架, 通过快速开发框架进行相关个性化配置构建满足实际需求的管理信息系统, 已成为当前迫切需要解决的问题。

面向服务的分布式快速开发框架的设计和实现是个复杂的过程, 需要高度抽象同一业务领域内的问题, 通过对业务领域知识和框架设计经验的反复, 并借鉴和引入一些成熟的、优秀的开发框架、体系结构和设计模式, 来加速和简化这个过程。

一、分布式快速开发框架的核心技术

随着计算机技术的快速发展, 使用什么样的技术来实现快速开发框架的设计显得尤为重要。目前, 比较流行的技术分为Java阵营和.NET阵营, 两者之间没有更好, 只有更适合, 他们在各自的领域都很优秀, 都是国际上的IT巨头推出的产品, 都有很好的后续技术更新与支持团队, 所以说找出适合我们快速开发框架需求的技术显得更重要, 经过比较和分析, 微软的.NET平台更适合快速开发框架的需要, 其.Net平台下的SOA (Service_Oriented Architecture) 构架、WCF (Windows Communication Foundation) 构架、以及开源的NHibernate (实体对象模型) , 都是很优秀和成熟的技术, 为能够顺利实现面向服务的分布式快速开发框架的设计提供了夯实的技术基础。

(1) 面向服务架构即SOA的研究:SOA是一个组建模型, 同时也是一种体系机构, 它将应用程序的不同功能单元通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的, 它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。

(2) WCF的研究:WCF是微软公司为构建面向服务的应用提供的分布式通信编程框架, 使用该框架, 开发人员可以构建跨平台、安全、可靠和支持事务处理的企业级互联应用解决方案。该框架包含COM+、MSMQ、WSE、Remoting、ASP.NET、Web Service、微软企业库和Microsoft.NET Services等组建。

(3) NHibernate的研究:NHibernate是一个面向.NET开发环境的对象/关系数据库映射工具, 也是一个基于.Net的针对关系型数据库的对象持久化类库。它来源于非常优秀的基于Java的Hibernate关系型持久化工具, NHibernate从数据库底层来持久化.NET项目中的对象到关系型数据库。NHibernate通过一个映射文件把值对象和数据库表之间建立一个映射或对应关系, 只需要通过操作这些值对象和NHibernate提供的一些基本类, 就可以达到使用数据库的目的。

二、面向服务的分布式快速开发框架的设计解决方案

通过分析部队经费结算管理的各项管理规定, 对比总部、军区及军兵种各层次部队实际的经费结算业务管理的实际, 总结归纳出符合财务法规的通用经费结算业务流程, 并使用领域业务分析的方法, 建立领域业务模型和领域对象模型。根据实际业务所建立领域业务模型和领域对象模型, 结合.NET平台下的SOA、WCF、NHibernate等框架技术, 提出了面向服务的分布式快速开发框架的设计解决方案, 目前信息系统的开发大多是基于B/S或者C/S模式, 相应的表现层通常表现为Web和Win Form方式, 为了体现出更好的灵活性和通用性, 本框架没有对表现层进行设计, 而是在表现层下面加入了服务层, 服务层提供了表现层和业务逻辑层之间的接口, 体现了设计模式中的依赖倒转原则, 降低了程序各部分之间的耦合。

这样, 该框架可以同时适用于B/S模式和C/S模式的应用系统中。对于传统数据层, 可以再细分为数据服务层和数据库操作层。其中, 数据服务层封装了三种数据访问方式:本地访问、分布式远程访问和Web Service访问。为了实现不同数据库访问方式的调用, 将不同数据库的连接写入配置文件, 根据需要配置不同的数据库发布版本。同时, 框架还加入了安全防护层, 确保系统具有较好的安全性。

(1) 表现层。表现层分为用户界面和用户界面逻辑, 用户界面的职责只是作为数据输入和输出的展示工作。用户界面逻辑是负责业务逻辑层以及用户界面之间的数据交互, 并且尽可能地让用户界面逻辑不依赖于用户界面技术。其实现方式包括ASP.NET、Win Form、WPF、Silver Light、移动Web等。

(2) 服务层。服务层实际上并不执行任何具体的工作, 其功能在于组织各个业务对象, 服务层将业务逻辑层所有的细节对表现层都隐藏起来, 服务器将组织业务逻辑层中的组建, 并且通过服务接口实现表现层与业务逻辑层的交互。服务的实现继承服务接口, 而服务的实现专注于业务逻辑层的调用。WCF技术是实现服务层很好的解决方案。

(3) 业务逻辑层。业务逻辑层中包含系统所需要业务过程的实现, 并与下层德数据服务层交互。业务逻辑层更专注于业务逻辑算法的实现, 并且对业务实体建立对象模型, 展示业务规则和实现策略, 并建立领域模型。

(4) 数据服务层。数据服务层封装了三种不同的数据访问方式, 分别为本地访问、分布式远程访问、Web Service访问, 并且通过.NET特有的反射机制, 动态调用相应的数据库操作。

(5) 数据库操作层。数据库操作层定义了数据库操作组件, 执行对应的增删改查等数据库的操作, 并返回结果集。

结语

通过对部队经费结算业务流程的深入调研, 分析结算业务管理流程的实际和特点, 运用领域分析方法对部队经费结算业务管理的进行领域业务分析, 建立相关领域模型, 基于领域模型和.NET框架技术设计领域体系架构, 研究出适合部队经费结算业务的面向服务的分布式快速开发框架。

摘要:在国家信息化发展的大趋势下, 部队经费管理的信息化也快速发展, 管理信息系统的重复开发等问题尤为突出。本文具体阐述了研究面向服务的分布式快速开发框架所涉及到的核心技术, 根据部队经费管理的特点, 给出了快速开发框架的详细解决方案, 满足目前的管理系统开发需要。

关键词:经费管理,面向服务,分布式

参考文献

[1]王景璐..NET平台下开发框架体系研究[J].数字技术与应用, 2012 (01) :154-155.

投资合作开发框架协议 篇5

甲方:人民政府(以下简称甲方)乙方:

为促进域经济的发展,加快山水旅游资源的统一开发与利用,推动特色旅游目的地建设,人民政府(以下简称甲方)与(以下简称乙方)本着平等互利的原则,在友好协商前提下,共同达成旅游景区合作开发协议如下:

第一条 乙方依照《中华人民共和国公司法》和其他有关法律、法规,于本协议签订后 日内在 共同成立注册资本金为1亿元的 旅游开发股份有限公司(以下简称“目标公司”)。

第二条 甲方提供位于 由乙方设立的目标公司进行旅游度假、酒店 开发建设,具体面积以勘测部门实际勘测面积为准,具体位置与四至见附件规划图。第三条 甲方的权利与义务

1、甲方负责该宗地的征地拆迁、用地报批、办证等一切必要的手 续,并保证通过挂牌的方式对该宗地的国有使用权进行出让,乙方目标公司参与竞标,中标后,目标公司以工程项目置换的方式向甲方支付国有土地使用权出让金,对该宗地进行开发建设,甲乙双方互不补偿。

2、甲方确保该宗地在挂牌时规划设计应满足如下要求:

3、甲方负责协调规划、国土、房管等职能部门工作,确保目标公司顺利开展相关工作,并同意免交各项政府规费。

4、该宗地涉及拆迁部分,土地征用费与安置费,由甲方负责,乙方根据拆迁房屋面积大小提供回迁房或实行货币补偿。

5、甲方确保该宗土地国有使用权按评估价每亩 元作为在土地交易中心的挂牌底价进行出让,以其顺利完成开发该宗地块。该宗地每亩 元的挂牌底价包括但不限于土地征地补偿费、征地管理费、契税、交易费、评估费、土地增值税、营业税、招拍挂费用、城市教育附加、测量费等税、费以及该宗国有土地使用权出让至乙方目标公司名义前未列明的一切税、费。

6、甲方确保该宗地具备开发条件,地块内基础设施及土地平整由乙方负责。

7、甲方负责协调征地、拆迁、安置等一切过程中所产生的问题,乙方概不负责。

第四条乙方的权利与义务

1、协议签订、乙方目标公司拥有该宗地块使用权后,应按约定分期分批完成置换项目建设工作。

2、乙方目标公司以项目工程置换的方式缴纳出让金,置换的项目工程为:

第五条 甲方在签订本协议后,应积极组织相关部门办理好各项手续,确保 年 月 日前在土地交易中心挂牌出让该宗土地。第六条 若该宗地中标出让价超出每亩 元的部分,甲方享有超出部分10%的收益,乙方享有超出部分90%的收益。乙方依据本条约定享有收益分成,无论乙方目标公司是否中标均为有效。

第七条 若乙方目标公司中标,则乙方应积极筹措资金进行开工建设。若乙方目标公司未能中标,则甲方在收到土地使用权出让金后三日内向乙方支付土地补偿款 元并一并支付土地收益分成。第八条 双方同意,若乙方目标公司中标后,由目标公司另行签订《土地出让合同》

第九条 实际勘测结果、该宗地的位置四至范围作为本协议的附件。第十条 违约责任

1、因不可抗力导致本协议不能正常履行,双方互不承担责任(不可抗力是指战争、自然灾害,不含国家政策)。

2、因甲方原因导致本协议不能履行或不能完全履行,甲方向乙方支付赔偿金 元。

第十一条 本协议书签订后,甲乙双方应积极开展各项工作,争取甲方早日向乙方供地。

第十二条 本协议经甲乙双方签字盖章后生效,一式六份,甲方执一份,乙方执五份,均具有同等法律效力。

第十三条 本协议未尽事宜,由双方另行协商,并签订补充协议,与本协议具有同等法律效力。

第十四条 因履行本协议发生争议,双方应本着便于项目的开发建设进行协商,如协商不成,任何一方均可向有管辖权的人民法院提起诉讼。

甲方: 乙方:

年 月 日

注意:

1、本协议未涉及乙方先行垫付款问题,如政府要求乙方支付垫付款,可以约定政府达到什么条件时,乙方可以向政府先行垫付 元(可以分段支付),达到什么条件时,政府返还给乙方。

快速开发框架 篇6

在本框架下,开发人员可各司其职,分工、构成和职能划分明确,框架开发人员只专注于框架接口的定义;算法开发人员只专注于图像处理与识别等算法的开发;上层应用开发人员只负责抽取出一般的处理流程,专注于项目的具体实现和功能模块的组合应用。

1 研究与应用

1.1 背景

计算机视觉是用摄像机和电脑代替人眼对目标进行识别、跟踪和测量的机器视觉。系统将获取的视频或图像资料,通过计算机处理成为更适合人眼观察或传送给仪器检测的图像,其中包括图像处理、模式识别或图像识别、景物分析、图像理解等相关内容,它们之间既有差别,又有相互重叠。

在计算机视觉分析技术中,对于一些复杂的问题,往往不是某单一学科能够解决的,它需要一系列相关技术的支持。例如:对航道中船舶的识别,获取的视频流往往要经过平滑、去噪等图像处理操作后,便于下一步运用基于直方图分类器的图像识别算法来区分船舶和水面,通过图像分割技术来提取检测目标。而这些方案的实现中,同一个问题的解决又往往需要有一系列的算法来支持。还是以船舶识别为例,图像平滑有领域平均、低通滤波等算法;图像去噪有各种滤波器算法;基于直方图的分类器也存在决策树、贝叶斯、SVM等等算法。虽然上述的算法本身没有优劣之分,但在特定的环境下一定会有某个最佳算法。

因此,在实际应用项目中如何找出其最优路径,除了需要开发者拥有深厚的图像学功底,更需要的是通过大量的对比实验来找出该最优路径的解决方案。即便如此,也只能解决特定环境下的计算机视觉需求,换个应用场景,上述步骤又需要重新进行,此类过程的重复,既增加了开发成本,又延长了开发时间。

本框架从工程化的角度出发,在不同项目中的计算机视觉软件开发中,研究如何提高开发结果的复用性,尽量降低上述各条件间的相互依赖关系,将视觉技术的核心算法从底层研究中剥离,达到缩短开发时间,提高开发效率的目的。

1.2 研究目标

1)框架系统的扁平化、模块化;

2)完成处理过程的任意组合,使图像处理模块单一化;

3)理行为在处理模块内部完成,处理结果可通过接口方式进行输出;

4)处理模块间的数据流动定义在框架之中,框架负责配置数据流;

5)置好的数据流,通过指定图像处理模块实现对物体的识别、行为的识别。

1.3 研究内容

1.3.1 框架设计思路

以图像识别过程为例,框架内的数据流向如图1所示。

1.3.2 框架的模块构成

快速开发框架主要包含四种类型的模块:

1)数据源模块;

2)数据处理(算法)模块;

3)辅助功能模块;

4)数据输出(展示)模块。

由于系统进行了扁平化处理,各个模块间的耦合性相对较高,除了数据源模块和数据输出模块只有输出或输入接口外,其他模块基本上都是包含了输入和输出两套接口。

1.3.3 模块间的耦合关系

1)数据耦合

类似图2的模块联系,后一个模块的输入数据来自前一个模块的输出数据。这里模块的连接方式可以是串联的,也可以是并联的,见图3。例如:MediaShow01和DrawBasicGlobalThreshold00是数据耦合的。

2)公共耦合

在图4中,就整体而言,DrawBasicGlobalThreshold00和DrawGaussNoise00共同访问同一个公共数据环境:MediaOpen00的输出,一定有并联的关系存在。

3)控制耦合

在图5中,选择范围对话框里输入的是背景建模检测模块的阈值。如果将该阈值作为一个输入参数,独立建立成为一个模块,该模块与背景建模检测模块就形成了控制耦合。

1.3.4 接口的数据类型

由于模块间的低耦合,高聚合,所以接口定义相对宽泛,虽然大部分的输入和输出均是二维图像,但并不影响使用其他类型的数据接口,例如:在控制耦合中,模块间的数据类型多半是整型、实型常量;在运动物体跟踪模块中,输出的可能就是运动物体质心的坐标点tagPOINT结构。

1.3.5 框架的效果演示

从右侧功能区中选取两个输入模块:MediaOpen00和MediaOpen01,分别打开视频文件“.公司监控视频.avi”和图片“.Lena.jpg”,任意添加一些图像处理模块或者图像识别模块,这里我们选取了行人检测算法、基本全局阈值二值算法、人脸检测算法、轮廓检测算法,加入输出展示模块用于显示处理结果。最后我们用曲线将模块间的输入输出点连起来,完成数据流向的配置过程。其中一个输出点可以连接多个输入点,但一个输入点只能接入一个输出点。

点击菜单栏的测试按钮,显示处理结果如下:

2 结论

随着计算机视觉技术发展的日新月异,算法的更新和积累将会越来越多。计算机视觉快速开发框架从实际应用工程的角度出发,在不同项目计算机视觉软件的开发过程中,将视觉技术的核心算法从底层研究中剥离,使视觉分析应用项目中的框架开发人员专注于框架接口定义的开发,而项目中的算法、上层应用等开发人员各司其职,分工明确,不但提高了开发结果的复用性,同时,也降低了项目开发中各条件间的相互依赖关系,缩短了开发时间,提高了开发效率。

摘要:在计算机视觉分析应用项目中,常采用多种算法进行实现。在特定的环境下,如何找出其最优路径,往往需要通过大量的对比实验。而应用场景每变化一次,需要进行多次重复实验,不但延长了开发时间,同时也增加了开发成本。计算机视觉快速开发框架从实际应用工程的角度出发,将视觉技术的核心算法从底层研究中剥离,通过扁平化、模块化、一体化的处理、任意组合以及对数据流的合理配置,使应用项目中的开发人员各司其职,分工明确,提高了开发结果的复用性,缩短了开发时间,提高了开发效率。

关键词:计算机视觉,快速开发,框架,模块化,模块耦合,底层剥离

参考文献

[1]Gary bradski,Adrian Kaebler《.Learning OpenCV》[M].O’Reilly Media Inc,2008.

[2]张广军.机器视觉[M].北京:科学出版社,2005.

[3]张少辉,沈晓蓉,范耀祖.一种基于图像特征点提取及匹配的方法[J].北京航空航天大学学报,2008,34(5).

[4]刘立,彭复员,赵坤,万亚平.采用简化SIFT算法实现快速图像匹配[J].红外与激光工程,2008,37(1).

[5]戴斌,方宇强,孙振平,王亮.基于光流技术的运动目标检测和跟踪方法研究[D].国防科学技术大学机电工程与自动化学院.

[6]陈胜勇,刘盛.基于OpenCV的计算机视觉技术实现[M].科学出版社.

[7]阮秋琦.数字图像处理学[M].北京:电子工业出版社,2007.

快速开发框架 篇7

关键词:软件工程,软件框架,实践教学

一、引言

在本科阶段的软件工程课程教学中, 软件设计能力被作为学生的重点需要培养的能力。然而, 对于软件设计能力培养的难点在于:在软件设计实践中不但要理解信息隐蔽、模块化等抽象概念, 而且还要掌握高内聚、低耦合等设计原则。因而, 软件设计一直被认为是软件工程课程教学中亟待解决的难点。由于缺乏与软件设计相关的教学资源, 使得学生往往难以在有限教学课时内理解和掌握软件设计的抽象理论和技术, 影响了软件工程课程的教学效果。近几年国内外在软件工程教学研究工作中, 主要是通过引入CDIO[1]思想改进传统的软件工程课程教学[2,3,4,5], 特别是强调了以项目驱动的方式培养和提高学生的软件开发的实践能力[6,7,8]。这些研究都针对软件工程教学改革进行了有益的探索, 但仍然缺乏有效的教学资源来帮助学生快速理解和掌握软件设计的理论和技术, 并切实培养和提高他们软件开发的实践能力。

二、软件框架AF4Ad简介

软件框架AF4Ad是重要的教学资源。它帮助学生理解抽象的软件设计理论知识, 同时也为他们运用这些知识进行软件设计实践起到指导作用。基于Android SDK[9], 在AF4Ad框架中设计并实现了一组可重用的软件构件。AF4Ad框架本身不仅可以帮助学生更好理解软件体系结构风格、设计模型和软件框架等知识, 而且还能使学生利用它提供的可重用构件高效地进行Android移到应用软件的开发。AF4Ad框架被分为用户界面层 (UI layer) , 领域层 (Domain layer) 和基础层 (Foundation Layer) , 如图1所示。UI层实现图形用户界面, 提供应用程序与用户交互的功能;Domain层用于封装业务实体和业务服务, 并向UI层提供业务功能接口;Foundation层则用于封装一组通用服务 (网络通信、数据持久化等) , 并向Domain层提供统一的接口。

图1 AF4Ad框架的示意图

三、AF4Ad框架在软件设计实践教学案例中运用

为了说明AF4Ad框架的有效性, 我们开展了对照实验研究。首先选取Android移动应用软件中最为常见的用户登录模块为实验案例, 然后随机挑选10名学生, 并将它们分成两个组, 一个是实验组, 另一个是对照组。其中实验组采用我们前期提出的设计方法[10], 使用AF4Ad框架设计用户登录模块, 而对照组不使用本文提出的AF4Ad框架完成设计工作。最后, 通过使用CK套件[11]分析两个组的设计方案的内聚性和耦合性。

实验结果如表1所示。其中CBO用于度量对象之间的耦合性。CBO值越小, 表明该类独立性越强, 修改它时所涉及的类也越少, 维护的代价越小。LCOM用于度量对象的内聚性。LCOM值记录类中访问相同成员属性的成员方法数量, LCOM可表明类的各成员方法之间的独立性。LCOM越大, 类的封装性越差, 内聚度就越小;而LCOM越小, 类的封装性越好, 内聚度就越大。图2反映了所有类的平均CBO值和LCOM值。

实验结果表明, 实验组设计方案的内聚性平均提高了50%, 耦合性平均降低了60%。实证了AF4Ad框架的有效性。

四、结语

快速开发框架 篇8

企业建立门户网站已是大势所趋, 也是外界了解企业最便捷的途径, 更是企业形象的体现, 所以, 建立企业门户网站显得至关重要。如果请网络公司开发, 不仅开发费用高, 而且后期升级维护也不方便, 采用Code Igniter开发框架后, 只要略通PHP脚本语言和数据库后, 就能快速的开发出适合自己企业需求的门户网站。

1 Code Ignite r简介

1.1 什么是Code Ignite r

简单的说, Code Igniter是免费, 轻量级, 容易安装的PHP开发框架, 采用MVC (模型-视图-控制器) 模式, 它能使你的编程变得很轻松。以下简称CI。

下面举两个例子来说明使用CI框架的好处。

第一个例子:如果你想写一个My SQL数据库查询的程序, 可能的代码如下:

传统的PHP代码:

比较字符数:前者336, 后者112。

所以, 你不需要写很多代码, 因为CI框架帮你把很多基础工作都做好了, 只需要关注你的业务逻辑就可以了。

1.2 工作原理

index.php作为前端控制器, 初始化运行Code Igniter所需要的基本资源。Router检查HTTP请求, 以确定谁来处理请求。如果缓存 (Cache) 文件存在, 它将绕过通常的系统执行顺序, 被直接发送给浏览器。安全 (Security) 。应用程序控制器 (Application Controller) 装载之前, HTTP请求和任何用户提交的数据将被过滤。控制器 (Controller) 装载模型、核心库、插件、辅助函数, 以及任何处理特定请求所需的其它资源。最终视图 (View) 渲染发送到Web浏览器中的内容。如果开启缓存 (Caching) , 视图首先被缓存, 所以将可用于以后的请求。

1.3 文件结构

1.4 快速开始

部署好web服务器和CI框架后, 在浏览器输入http://localhost, 看到以下画面, 证明CI框架开始工作了。

2 网站架构设计

主栏目设置

主栏目设计见表1。

3 简单文章管理系统实例

在这里以一个简单的文章系统为例, 展示CI具体是如何构建应用的, 希望可以起到抛砖引玉的作用。

3.1 更改相关的配置文件

系统配置文件在CI框架文件目录system/application/config里, 主要的配置文件有autoload.php、config.php、database.php、routes.php等。

如果要连接数据库, 需要更改database.php文件。

将相应的数据库连接信息填入这个配置文件。

3.2 构建数据库

关系型数据库我们选用My SQL5.1, 由于其体积小、速度快、总体拥有成本低, 尤其是开放源码这一特点, 许多中小型网站为了降低网站总体拥有成本而选择了My SQL作为网站数据库。

为了简化起见, 数据表只设了3个字段, 分别是序号'id', 文章标题'title', 文章正文'content'。

3.3 创建模型 (mode l)

现在我们已经有了表, 接下来将创建一个模型。在system/application/models文件夹内, 创建一个article_m.php文件。所有模型都采用相同的方式构造:

需要注意的是, 类名与文件名匹配, 必须为类提供一个构造方法。换句话说, 一个模型就是一个PHP类。这也就意味着模型中的所有方法实际上都是该类的一个方法。

理解这一点之后, 很快就能领悟到, 需要具备一个方法, 将数据安全地插入文章数据库表中。提供此功能的方法如下:

你获取了POST数组的输出、整理并将其存储在名为article的数据库表中。

删除一篇文章del Article ($id) , 这里需要传入一个参数$id, $id为文章的序号

修改一篇文章update Article ($data) , 这里的$data是一个二维数组, 包含了id、title、content修改后提交的数据。

基本的CURD (增删改查) 方法我们编写完了, 下面我们接着创建控制器。

3.4 创建控制器 (Controlle r)

在Code Igniter中, 控制器用于组织项目。在system/applicat ion/controllers目录下, 新建一个php文件, 因为我们要做的是文章系统, 所以命名为article.php。每一个控制器基础格式如下:

类似于模型, 类名和构造函数名必须与文件名一致, 且首字母要大写。

建立启动方法index ()

该方法为控制器的默认方法, 不用输入方法名即可访问 (http://localhost/index.php/article) ,

启动方法可用于文章列表页

$data为从数据库获取的所有文章数据的数组, 传递给视图文件list Article_tpl解析。

查看文章内容页方法

添加文章表单页方法, 这里不需要传入动态数据, 所以只需要加载模版文件就可以了。

添加文章处理数据方法, 表单提交过来的数据直接抛给model去处理

redirect () 方法是CI辅助函数之一, 用于跳转, 添加完文章后直接跳转到列表页

删除文章方法

控制器创建完成, 为了简化起见, 在这里只编写了最基本的增删改查的方法, 其他方法可以在此基础上扩展, 下面应该创建控制器中用到的视图。

3.5 创建视图 (Vie w)

视图文件在system/application/views下。首先创建列表页list Article_tpl.php

4 结束语

选用Code Igniter框架开发企业应用, 可以帮你节省时间、使你的应用更健壮、帮助你编写更复杂的系统。CI提供一套丰富的标准库以及简单的接口和逻辑结构, 使开发人员更快速地进行项目开发。使用Code Igniter可以减少代码的编写量, 并将你的精力投入到项目的创造性开发上。用CI框架开发的企业网站, 已经成功应用于中电投新疆能源有限公司, 开发周期缩短, 效率提高, 后期维护十分简捷, 获得一致好评。

摘要:在全球化信息高速发展的大背景下, 建立企业网站显得十分必要, 它不仅可以使组织机构的信息进一步透明和公开化, 而且使得浏览者可以通过网络来拉近距离建立互通、互信的联系。按照传统的PHP模式开发网站, 开发周期长、难度大、健壮性和可扩展性差, 因此, 有必要引进一套PHP开发框架, 本人经过长期研究, 认为CodeIgniter是最佳的选择。

关键词:网站,PHP,MySQL,CodeIgniter

参考文献

[1]David Upton.CodeIgniter for Rapid PHP Application Development.美国:PacktPublishing, 2007.

[2]Jamie Rumbelow.Practical CodeIgniter 2 Projects.美国:Apress, 2009.

[3]潘凯华, 刘中华.PHP开发典型模块大全.中国:人民邮电出版社, 2010.

快速开发框架 篇9

1 解决思路

研究产品快速设计及仿真验证系统框架, 提供一个集成应用环境, 实现企业设计仿真规范、知识、经验和参考数据及工具的集中管理, 具体: (1) 提供“业务过程自动化”集成手段, 让非专业人员也可为快速设计及仿真验证; (2) 提供“业务流程模板化”手段, 使专家摆脱繁杂重复的工作, 从事更多的创新劳动; (3) 通过二次开发对通用工具进行定制和优化, 集成高精度计算方法和专有技术, 形成模块化组件, 以更好地解决专业问题; (4) 建立知识库, 实现知识收集、存储及应用, 让知识能够积累和传承; (5) 建立分布式网络服务架构, 整合各CAX软件和硬件计算资源, 实现远程资源调度, 让有限的资源充分利用; (6) 引入优化技术, 利用实验数据, 逐步优化CAE模型参数, 直到CAE结果与实验结果误差控制在一定范围内, 让仿真可信。具体如图1所示。

2 系统框架

系统构建时, 针对六方面问题, 围绕工具、过程、数据、资源4个层面展开, 通过工具组件化、业务流程模板化、数据标准化及统一可视化、资源调度远程化等手段, 形成产品快速设计及仿真验证系统框架。系统模块划分及作用为: (1) 工具集成i Tools:利用组件技术实现对通用工具的模块化封装; (2) 自研求解器集成定制i Sim:为自研求解器定制专业的三维可视化前后置环境; (3) 模板封装i Templates:利用模板化技术, 封装业务流程, 固化专家经验; (4) 应用程序发布i App:为专业模板定制人机交互界面, 并发布为独立运行应用程序; (5) 运行管控i Workspace:提供简洁的用户界面实现方案快速设计、快速仿真验证; (6) 远程计算服务i Cloud:将专业模板发布为可供网络用户共享调用的计算服务; (7) 数据管理i Data:实现设计仿真过程数据的集中管理, 建立数据BOM; (8) 分析及可视化i Viewer:实现数据的二维、三维及虚拟场景多视图展示; (9) 模型参数标定i Calibrater:基于数值优化方法进行模型参数自动修正。

3 关键功能及其实现

3.1 工具集成i Tools

将设计、运行、分析、优化过程中的规则和方法, 封装为具有标准形式的组件, 使得工程人员能够通过“搭积木”的方式快速完成设计仿真工作。组件技术是在面向对象技术的基础上发展起来的, 组件化程序设计的核心就是将一个应用系统切分成多个组件, 这些组件保持一定的功能独立性, 组件间的协同工作通过接口完成[1]。组件应用的基础是标准, 没有统一的接口描述, 没有规范的组件通信, 没有标准的对象请求和远程调用, 就没有组件应用的可能。目前的主要标准有CORBA (国际通用) , EJB (Sun的Java) , COM和CLR (Microsoft的Windows和.NET) 。该集成系统开发环境为.NET, 所以采用了COM标准。COM技术具有与语言无关性、COM组件支持对象的概念、实现了接口与实现的分离等特点[2]。

系统支持的工具组件包括:Pro E, NX, CATIA, Patran, Nastran, Abaqus, LS-Dyna, Hyper Mesh, Marc, ICEM, CFX, Fluent, ADAMS, AMESim, HFSS, FEKO等30余种。

3.2 模板封装i Templates

利用i Templates可视化流程设计器“拖—拉”生成业务流程模板, 通过模板化封装, 打通不同工具软件之间的数据流、控制流;支持流程的自动运行及人机交互运行;支持条件判断、分支、并行 (见图2) 。

3.3 远程计算服务i Cloud

系统提供私有云服务架构, 整合各CAX软件和硬件计算资源, 实现远程资源调度;通过浏览器便可方便提交计算任务, 查看运行状态和结果数据 (见图3) 。

3.4 模型参数标定i Calibrater

通常情况下有限元模型都要在CAD模型基础上进行简化, 模型刚度、质量、阻尼等参数往往会与实际结构不一样, 同时材料参数、载荷、约束边界等也有偏差。因此, 分析结果和测试结果之间必然会有偏差, 甚至有时偏差非常大。如何解决模型的有效性, 提高模型的准确度, 就是必须解决的问题。通过仿真与实验数据的相关性分析方法, 获取仿真模型中的不确定参数, 基于数值优化方法进行模型参数自动修正, 使得仿真分析结果与试验数据趋于吻合。

4 应用实例

在快速设计及仿真验证系统框架内, 梳理某型产品的典型设计仿真流程, 实现机电一体化、结构与热分析、机构优化设计流程的封装, 实现ADAMS, Nastran, Matlab软件的集成调用, 实现多方案快速迭代及对比分析, 实现报告的自动生成, 最终让设计人员也可依照仿真专家模板快速完成仿真分析, 提高设计效率 (见图4-5) 。

梳理卫星成像算法, 实现远程高性能计算资源的调度, 用户通过浏览器即可利用远程资源实现大数据量的图像分析;同时对数据源及卫星产品进行组织管理, 大大提高卫星图像处理的效率 (见图6) 。

5 结语

文中所提到的产品快速设计及仿真验证系统软件已经成功地应用到多种型号产品的研制过程中, 系统运行稳定可靠, 取得了良好的效果。软件采用的组件化及模板化技术, 提高了软件的通用性、灵活性和可扩展性, 根据具体产品设计需求, 可快速定制开发专业功能, 大大地缩短了软件研发周期, 节约了成本。

参考文献

[1]张洁, 张安民, 王明波.基于组件技术的通用试验软件平台设计[J].舰船电子工程, 2011 (7) :118-121.

[2]李海, 郭彬彬.基于COM服务器组件的HLA集成技术研究[J].北京理工大学学报, 2006 (2) :162-165.

浪潮Finix开发框架介绍 篇10

Finix是phoenix的另一种写法, 同时也可以理解为Framework IN EXternal application的联合词;取浴火凤凰涅槃重生之意, 传达的意思是, 软件开发平台是一个等待进化的毛坯, 一旦在其上构建出真正的业务应用, 它就成为一个新的个体, 表现出极强的生命力和可塑性。

1 框架定位

Finix平台的定位主要是在基础系统软件层和应用层之间, 为实现快速开发而设, 同时也包含一些固化的应用工具和功能, 它的定位如下图所示:

2 框架组成

Finix从技术体系涵盖BS和微软SmartClient, 这次主要介绍一下BS架构下的平台构成和布局, Finix for Web主要由数据访问配置平台、BSP基础服务支撑平台、BPM业务过程管理平台、CBD基于构件开发平台、CMS内容管理系统以及界面组件平台组成, 构件外围包括相关的配置、管理设计工具及Web Framework和Sample Portal。当前已经基本完成数据访问配置平台、BSP、CBD-MDD、Web Framework及大部分界面组件的构建。

3 各组件平台的功能和特性

数据访问配置平台:可对抽象的组件设置独立的逻辑数据源, 数据源物理模型支持多种DBS, 不同的组件在统一部署环境中可以使用不同的DBS, 使得组件插拔和迁移更加灵活。另外, 单个的逻辑数据源可以适应多个活动状态的物理数据源, 通过设置主数据源的方式使得组件可以实现组件不同的读写访问策略, 同时可以在数据层实现软件的多机热备, 主数据源崩溃后次要数据源自动激活, 整个应用达到不间断服务的无缝平滑的访问效果, 而这些不需要研发人员做额外的代码开销。

基础服务平台:大量的产品在其核心业务领域之外的应用存在高度同质化现象, 这些可复用的基础应用被Finix抽取出来归列到基础服务平台中, 让产品研发人员把更多的精力放在业务核心领域中, 而不必一开始就挣扎在产品基础建设的泥潭中。基础服务平台的构件组成有:公用事务, 消息中心, 菜单管理, 用户机构组织构件, 权限模型, 日志管理, 异常管理, 脚本引擎, 字典管理等。

业务过程管理平台:集成工作流设计器、工作流引擎、工作流监控、表单设计器及表单驱动库。使得产品开发人员可以将面向流程的业务流和信息流通过工具化的组件构建, 降低大量业务流手工实现损耗的工作量开销, 同时降低流程的重组和重构等后期迭代风险。

基于构件开发平台:本质上完全面向开发过程, 代码生成器和模型架构映射配合相应的视图设计工具支撑业务建模的物理模型、概念模型、对象模型、视图模型的正反向工程, 使得业务建模不再基于一个过程而是一个点。适应更广阔范围内的开发模式, 而规避由于建模过程教科书导致的开发模式不兼容。

内容管理系统:管理信息的定制、发布、审核, 信息的梳理和分类, 模板的构建和组成, 同时包含文字、图片、语音等来实现信息介质的多元化, 支撑客户或产品研发人员对Portal的快速构建和维护。

上一篇:创新转变下一篇:豆科植物