基于抽注服务的软件开发方法及其模型的制作方法

文档序号:9432309阅读:472来源:国知局
基于抽注服务的软件开发方法及其模型的制作方法
【技术领域】
[0001]本发明涉及计算机软件领域的计算机应用系统的构造技术,尤其涉及基于抽注服务的软件开发方法及其模型。
【背景技术】
[0002]目前的面相客户/服务器模型的软件开发方式方法,主要分为三大类:客户端OS框架技术、服务端网页技术、服务端框架技术。
[0003]客户端OS框架技术是最早出现应用的技术,也是最近再次成为热点的技术。该技术下,软件的业务逻辑的实现主要在客户端进行,只在不要时才与服务端通信进行数据交换。该技术一般是在客户端OS下的编程框架的支持下进行,如Windiws下编程框架本地.Net, Android编程框架Android Framework、1S框架等。该类框架尽管不同框架特点不同,但有一个共同点就是以提供语言级扩充为主。
[0004]服务端网页技术的典型代表有ASP、JSP、PHP等,其基本思想是对HTML的基于脚本与标签的扩充,使网页支持对应用系统的业务逻辑的描述。这种技术实质上与客户端OS框架类似,主要是将业务逻辑的描述从客户端移到服务端,并且采用网页扩充技术描述业务逻辑,优点是用户交互视图与劳务逻辑集中在一起处理,方便了交互视图的实现,并且实现了纯的“瘦客户”技术,缺点是业务逻辑与交互视图混杂在一起,软件维护复杂,也不利于软件开发的分工合作。
[0005]服务端框架技术是对服务端网页技术的一种改进。改进的重点是实现视图逻辑与业务逻辑的分离,将业务逻辑的实现从网页脚本与标签中分离出来,采用高级语言实现。这类技术的典型例子是Struts、SpringMVC、Tapestry及一些Python Web框架。这种技术由于将一部分业务逻辑的实现从网页中分离出来,采用高级语言实现,所以有利于复杂逻辑的实现。但是,这类技术大多试图实现MVC模式及其衍生模式(如MVP、MVVM及PythonDjango模式),将系统划分为业务逻辑M、交互视图V以及控制逻辑C,由于一个实际的应用系统一般都很难严格划分为MVC结构,所以采用这种技术构造应用系统一般会使问题复杂化。
[0006]此外,这几类技术有一个共同的问题:基于控制,以控制为中心的方法,是不符合复杂系统对的自然规律的。一个复杂系统,例如社会系统,如果其满足“服务”的模式,即社会中每个对象都是服务员与客户,则这个社会和谐平稳地运行,反之,如果采用控制为中心的模式,需要设置一个或者多个复杂的控制系统,难以保障系统的自然形态。因此,面相或者基于服务的体系,是解决复杂系统的有效而自然的方法。

【发明内容】

[0007]本发明的首要目的在于克服现有技术的缺点与不足,提供一种基于抽注服务的软件开发方法,该软件开发方法与相应的模型与框架,以充分简化包括B/S在内的C/S模式的应用软件的开发。
[0008]本发明的另一目的在于克服现有技术的缺点与不足,提供一种实现所述基于抽注服务的软件开发方法的模型,该模型从结构上提高了所开发出的软件的运行性能与可靠性质量指标。
[0009]本发明的首要目的通过以下技术方案实现:一种基于抽注服务的软件开发方法,应用系统的构造,通过对对象的服务式抽取与注入来进行,所述抽取与注入合称为抽注,即基于对象的服务式抽注的的应用软件开发方法,简称EIB。
[0010]将软件的组成成分分成两大类:
[0011]A)以抽取与注入操作为主的软件成分间的交互;
[0012]B)抽取与注入操作的对象一交互组件与数据资源。
[0013]所构造出的系统,工作方式为服务模式的数据抽注,系统的每个抽注对象都是以客户/服务器工作,所做的服务是模型化的操作一抽取与注入。
[0014]所述的对象抽注,分为三类:
[0015]A) VR抽注:S卩“组件-资源”间的数据抽注,实现资源供给视图与视图更新资源,是本方法中最常见的抽注类型;
[0016]B)VV抽注:即“组件-组件”间数据抽注。抽注的双方可以位于同一个进程,也可以位于不同的进程与不同的节点,实现交互界面间的数据交换以及基于数据交换的业务逻辑;
[0017]C)RR抽注,即“资源-资源”间的数据抽注,实现不同数据资源间的基于数据抽注的数据处理与业务逻辑。
[0018]通过一种专有的框架支撑软件开发,该框架由EIB模型和EIB预制件组成,EIB模型是以服务模式运行着的计算机软件,EIB预制件是系统与定义的API。
[0019]所述EIB模型分为视图引擎VE、消息引擎ME和资源引擎RE三部分;每个引擎都是基于引擎配置文件工作的,通过解释执行配置文件工作,引擎配置文件是引擎的控制程序,由用户按照EIB规范自定义。
[0020]所述视图引擎VE负责受理视图组件的数据注入与抽取操作的请求,并且通过引擎配置文件调用相关用户模块处理相应的抽注操作;所述消息引擎ME即消息路由器,负责在视图之间、视图之间与资源之间或者资源与资源之间传递抽注操作指令与返回结果,所述资源引擎RE负责操作用户的数据资源。
[0021]本发明的另一目的通过以下技术方案实现:一种实现所述基于抽注服务的软件开发方法的模型,可以包括:
[0022]交互视图,用于用户交互界面;包含EIB交互组件;对于基于浏览器的实现,交互视图是HTML+JavaScript ;对于OS-APP实现,是OS界面描述加高级语言代码;
[0023]视图抽注引擎,服务模式工作,位于视图一侧,用于支撑视图的抽注操作和负责发送与接收来自抽注消息交换机的抽注消息;
[0024]抽注消息交换机,服务模式工作,用于接收视图抽注引擎的抽注消息,选择相应的消息处理对象,接收处理结果并将处理结果回送到相应的对象;
[0025]信息处理器,用于解释与处理信息,现在形式上它是挂接在抽注消息交换机上的用户自定义程序,它的加载与启动由抽注消息交换机负责,抽注消息交换机充当它的容器;信息处理器分系统预定义处理器与用户自定义信息处理器两类。系统预定义处理器一般是处理一些领域公用的业务逻辑,而用户自定义处理器是处理用户自己的应用特有的逻辑,信息处理器的工作依赖于资源引擎,通过与资源引擎通信实现对资源的抽注;
[0026]资源引擎,服务模式工作,用于按照抽注指令操作资源,实现资源抽注;资源引擎接受信息处理器的抽注消息,通过调用资源工厂实现抽注逻辑;
[0027]资源工厂,是挂接在资源引擎上的资源操作程序,分系统与定义的资源工厂与用户自定义的资源工厂,系统工厂用于实现领域通用的资源抽注,用户自定义工厂实现用户应用特有的抽注逻辑。
[0028]本发明的面相数据抽取与注入操作(“抽取”与“注入”简称“抽注”)服务的软件开发方法(简称“EIB”)详细介绍如下:
[0029](I)EIB的核心思想是交互视图与资源视图的数据的面相服务的抽取与注入(简称“抽注”),它主要通过数据的抽取与注入来描述应用系统的逻辑,亦即将一个应用系统的构造,看做是由面向交互视图与资源视图的数据抽取与注入的行为实现的。
[0030](2) EIB的抽注的对象是交互视图和资源视图。交互视图对象是传统意义上的用户界面,而资源视图是数据模型,描述数据结构与内容的模型,可以基于本发明的GriDoc。
[0031](3) EIB抽注的实现的模式是服务模式,即抽注的双方中,一方是客户,负责发出抽注请求,一方是服务器,负责受理客户的抽注请求。
[0032](4)EIB的抽注分为三类:A)VR抽注:S卩“组件-资源”间的数据抽注,实现资源供给视图与视图供给/更新资源,是EIB中最常见的抽注类型;B)VV抽注:S卩“组件-组件”间数据抽注。抽注的双方可以位于同一个进程,也可以位于不同的进程与不同的节点,实现交互界面间的数据交换以及基于数据交换的业务逻辑;C)RR抽注,即“资源-资源”间的数据抽注,实现不同数据资源间的基于数据抽注的数据处理与业务逻辑。
[0033](5)EIB对抽注的实施,基于抽注模型与框架。抽注模型与框架由视图引擎、消息引擎、资源引擎构成。视图引擎支撑客户端的数据抽注操作;消息引擎负责在异地交互视图之间、交互视图与资源之间传递以及异地资源之间的消息传递;资源引擎提供模型化的资源抽注接口。
[0034](6)用户的个性化程序模块挂接在EIB框架中的视图引擎、消息引擎及资源引擎上。
[0035](7)各引擎都是状态无关的,可以位于网络中不同节点,供多个不同应用共享,构成网络上的公用处理器群,支撑多EIB共享处理或者单EIB应用的多处理器并行处理。
[0036]相对于现有技术,本发明具有如下的优点与效果:
[0037]本发明的EIB的特点,简言之是“面向抽注、基于服务”。EIB将一个应用系统的构造,看做是通过对交互视图与数据资源进行抽取与注入(简称“抽注”)操作实现的。抽注操作分为“视图-视图”抽注、“资源-资源”抽注与“视图-资源”抽注。抽注操作以服务模式进行,基于客户与服务端的消息传递,使程序的构成机制由“控制”转变为“服务”,舍弃流行的MV* (MVC, MVP, MVVM等)模式,解决了以Struts为代表的一类MV*模式的以控制为核心所带来的编程复杂、运行效率低下的问题。一个EIB应用程序是在EIB模型基础上由开发人员在EIB-API支撑下开发而成,开发一个EIB应用程序,重点编写的代码是EIB引擎脚本、交互视图的抽注请求与响应子程序以及抽注处理子程序。本发明从结构上提高了所开发出的软件的运行性能与可靠性质量指标,本发明的EIB是一种软件开发方法及支撑环境模型,重点用于开发包括B/S模式在内的C/S模式的应用程序,简化了开发工作,提高了软件质量。
【附图说明】
[0038]图1是本发明的体系结构的示意图。
【具体实施方式】
[0039]下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。实施例
[0040]EIB的实现框架,由EIB运行时、EIB-API及规范组成。
[
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1