CN101110031B - 用于灵活在线/离线部署n层软件应用程序的错接接口 - Google Patents
用于灵活在线/离线部署n层软件应用程序的错接接口 Download PDFInfo
- Publication number
- CN101110031B CN101110031B CN2007101369121A CN200710136912A CN101110031B CN 101110031 B CN101110031 B CN 101110031B CN 2007101369121 A CN2007101369121 A CN 2007101369121A CN 200710136912 A CN200710136912 A CN 200710136912A CN 101110031 B CN101110031 B CN 101110031B
- Authority
- CN
- China
- Prior art keywords
- layer
- interface
- service
- application
- distributed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种产生带有处理层和过程层的至少两层的软件应用程序的方法,其中,每个层都被封装并因而可以独立于平台地运行,并且,所封装的层通过应用程序接口相互通信。本发明还涉及一种系统,该系统用于产生一种带有在所封装的层之间的灵活的错接接口的应用程序。通过在该应用程序接口中在分别两个被封装的应用程序接口之间实现一个另外的可配置的错接接口,可以独立于各自的部署地包含结构层并且仅仅该错接接口的通信规范概要与所述部署相匹配。这具有如下优点:对于不同的部署不必产生和维护不同的源代码主体,而是仅需要建立和维护该应用程序的唯一的结构层。
Description
技术领域
本发明涉及一种产生带有处理层和过程层的n层的(即,至少两层的)软件应用程序的方法,其中,每个层都被封装并因而可以独立于平台地运行,并且,所封装的层通过应用接口相互通信。本发明同样涉及一种系统,该系统用于产生一种带有在所封装的层之间的应用接口内的灵活的错接接口的应用程序。
背景技术
软件应用程序的建立要求开发者在构想软件结构时具有高度的编程技术知识和经验。迄今为止,应用程序几乎全部是单片式的(monolithisch)并且因此作为一个应用程序块建立的,该应用程序块在必需的改动时(例如软件更新时)总是必须被完全改变。这导致建立和维护该应用程序时需要较高的成本。此外,这种基于单片式的系统相对容易出错。
除了其中应用程序层可以仅仅在公用的计算机上运行的用于桌面应用的应用程序之外,还已知有网络应用程序,其中应用程序层是为在客户机-服务器结构上,即为在多个计算机上运行而设计的。不过,网络应用程序也需要客户机-服务器结构,即在没有服务器的情况下是不可用的。
在现有的应用程序系统中规定,应用程序访问各个动态或静态链接形式的库,并在可执行文件形式的执行文件内运行。在此,该应用程序引用多个不同的服务、组件和数据,它们为在不同的体系结构层面内分别调用的应用程序提供所基于的软件结构。在现有技术下,这些服务直接地在一个应用程序的源代码中实现,其中,该服务和组件部分地在不同的平台(例如基于Windows或基于Linux的操作系统)上运行,以及在计算机网络内的不同运行位置(例如桌面计算机或基于网络的服务器-客户机配置)上运行。该应用程序事后的与变化的平台环境和/或其它的运行位置的匹配或改动(也被统称为部署)由于对于不同部署(Deployment)的各自不同的软件结构是不可能的。
因此问题在于,在为应用程序编制软件结构时,在改变或匹配其它应用环境或其它部署时,迄今为止必须对所基于的软件结构进行调整,这通常要求大量的改动。在此,首先应用程序的结构层在不同部署的计算机结构上的布置总是重新由开发人员规定。尤其是必须为应用程序确定新的软件结构,编制新的源代码并将其编译成可执行文件形式的执行文件。这种措施要求较高的时间和资源成本来编制相应的应用程序,并使得现在必需以用于不同部署的计算机应用的不同软件结构来并行开发不同的应用程序。
因此,存在所谓的框架结构(framework)作为开发人员的支持环境,其中,框架结构经常在类运行时环境(generische Laufzeitumgebung)内封装软件应用程序的各层。应用程序层被称作是被封装的,该层可以嵌入到类运行时环境中与各平台和/或运行位置无关地运行。
一种重要的框架结构是Microsoft公司的.NET框架结构。这种框架结构提供了将不同编程语言(如C#、Visual Basic.NET、C++/CLI或JScript.NET)用作n层应用程序的编程基础的可能性。应用程序和/或应用程序的相应结构层独立于所用编程语言类型地转换成一种“中间语言”(Microsoft Intermediate Language,微软中间语言;缩写为MSIL)。然后,该用中间语言编写的应用程序被编译并被转换为执行文件。
在此,各层之间必需的应用编程接口(英语:application programminginterface;API)具有重要意义。区分为面向功能的、面向界面的、以及面向协议的应用接口。与面向功能和面向界面的应用接口不同的是,面向协议的应用接口与平台的操纵系统和应用程序所要连接的层的类型无关。不过,目前并不能改变在两个封装的层之间一次确定的应用接口,因此,针对于相应的部署,各种固有的、准单片式的软件应用程序是必需的。
因此,DE 69819188 T2描述了一种用于带有不同环境的计算机的编程接口转换器。按照该发明,一个服务程序产生并更新用于转换为一个平台编写的应用接口的自动代码模块,以使得该模块可以在另一平台上正常运行。为一种操作系统或者一种其它的软件环境的每个新的开发步骤执行的服务程序与用于产生翻译模块的基于由该应用接口执行的功能的源代码的一系列模板一起工作。
DE 69908121 T2同样描述了一种操作系统内的应用编程接口。与该发明相对应地给出了一种系统,该系统包括用于带有有限资源的环境的一组用于多个软件模块及组件的应用接口。带有有限资源的环境的一个例子是一种有多个用电器设备和专门的工控机的嵌入式系统,这些用电器设备和工控机共同具有手持式或掌上个人电脑。
现有技术中的所有借助框架结构产生n层应用程序的已知方法的缺点在于,尽管应用接口可以针对必需的平台和运行位置进行转换,但是迄今还不能将一次为一个部署确定的所述层的交互作用通过各个居间设置的应用接口用于另一个部署。因此,现在还需要为不同的部署并行开发源代码主体(Quellcodestaemmen)。
发明内容
因此,本发明所要解决的技术问题在于,使得在考虑到在一个计算机网络中所用平台和运行位置的情况下能够独立于所基于的软件结构地集中开发n层的应用程序。
所述技术问题是通过一种产生带有处理层和过程层的至少两层的软件应用程序的方法解决的,其中,各层都被封装并且所封装的层通过应用接口相互通信。根据本发明,应用接口包括灵活的错接接口,并且灵活的错接接口根据各封装层的所基于的平台提供对于通过应用接口在封装层之间进行通信而言必需的通信规范概要(Kommunikationsprofile)。由此,可以独立于相应的部署地使用应用程序的所基于的软件结构。仅仅在应用接口中集成的错接接口与相应的部署相匹配。
就本发明的意义而言,应用程序的封装层是软件结构的不同分级层面,其中所述层面与平台无关,也与在计算机网络内的运行位置无关。各封装层尤其在类运行时环境内运行并通过各类运行时环境的接口彼此结合成一体。在各封装层向可连接的计算机网络内的不同运行位置的不同分布(部署)的过程中,整个(即包含所有应用程序层的)应用程序可以,或者在唯一的计算机上在桌面应用(或者说是离线应用)中分布为所谓肥客户机(Fat-Client),或者通过不同计算机在可连接的计算机网络内(在线应用)分布为智能客户机、多功能瘦客户机(Rich-Thin-Client)、瘦(HTML)客户机或网络服务。在另一个被描述为多功能客户机的部署变形中,应用程序可以选择性地运行在离线应用或在线应用中。
利用根据本发明的方法允许将每个在框架结构上编写的应用程序可以自动地按照上述部署运行,而应用程序开发人员却不必为各种软件结构开发和维护不同的源代码主体。因此,对于应用程序开发人员而言可能的是,仅仅处理其应用程序所基于的层结构一次,这大大地减少了应用程序的开发时间。同时,集中的软件开发也因此是可能的,从而不必为不同的部署提供和维护带有不同源代码主体的不同软件结构。
通过利用与应用接口内各灵活的通信层的实现相连的框架结构而确保了由封装层组成的应用程序既可以在肥客户机的桌面运行中又在例如瘦(HTML)客户机的网络运行中运行。灵活的错接接口确保了通过带有灵活的通信层的相应的应用接口对所述层内的相应的服务和/或组件进行对应用程序的数据处理和访问,使得应用程序保持隐藏其当前应用环境。
在该方法的一个优选实施例中,封装层能够在计算机网络中的可不同相互连接的运行位置上运行,其中,应用接口提供所述封装层之间的必需的通信规范概要,并监控可连接的计算机网络的数据接口之间的数据通信。
在封装层内实现的服务和/或组件和/或数据优选地针对于标准化应用接口和/或标准化数据接口设计。通过统一标准的应用,为在封装层内编制相应服务和组件开发人员不必在整个层边界上额外地付出在数据处理、数据传输、以及服务管理上的努力。因此可能的是,以不同的编程语言来为不同的封装层编程,并且仍然能够在没有额外的中间过程的情况下调用封装层内的相应服务。
还有利地给出,在封装层内实现标准化的服务并分别可以独立地调用它们。
在该方法的一个优选实施例中,在规定平台以及计算机网络内相应运行位置形式的部署时,自动地选出对于各封装层之间各自的通信而言必需的通信规范概要。由此,应用程序的开发人员在其工作时支持并同时确保将灵活的错接接口的各必需的通信规范概要作为每两个封装层之间的应用接口的组成部分选出。
将应用接口的通信规范概要和/或数据接口的通信规范概要,根据所封装层的平台和在计算机网络内的运行位置动态地实现。尤其是借助用于配置灵活的错接接口的XML或DLL配置文件可能与平台无关地且与部署无关地对应用程序进行编译。在相应部署上使用该应用程序时,才借助XML或DLL配置文件为在封装层之间的应用接口内的灵活的错接接口实现各自必需的通信规范概要。由此确保了应用程序在不进行进一步的编译或转换的情况下能够在各种部署上运行。
根据本发明,应用程序的结构包括:作为最底层的服务层,用于为一个框架结构提供本地和/或外部的服务和/或数据;数据访问层,用于对数据进行访问并提供本地和/或外部的数据和通信服务;处理层,用于提供处理服务和处理组件;过程层,用于提供业务逻辑和服务总线;以及作为体系结构最上层的表示层,用于表示数据以及表示组件。
在该方法的一个优选实施例中,应用程序控制对各封装层本身的访问并且可以作为封装的应用与相应的软件结构所基于的部署无关地独立于平台地运行。在类运行时环境中,封装的应用程序能够运行并因而与对于所封装的层的相应部署无关。
所封装的应用程序,或者能够在类运行时环境中运行,或者所封装的应用程序能够运行在一个运行在网络服务器中的类运行时环境中运行。不过,应用程序与类运行时环境的交互作用保持在各个部署中获得。由此将实现,应用程序在不同的部署下不必改变,并且无论在桌面部署还是在网络部署下都能不变地运行。封装的层(例如表示层)的概念在应用程序转换到另一部署上时(即,在应用程序的软件结构保持相同时)不变。应用程序结构和所用编程语言因此同样保持不变。具体而言,所述封装层分别通过分别居间设置的应用接口的一个集成的灵活的错接接口进行通信。如果应用程序用于桌面应用,那么就为该灵活的错接接口使用通信规范概要的一个确定的用于桌面应用的实现。由于在封装层之间的通信总是通过相应的居间接入的错接接口实现,因而可能在框架结构一侧交换灵活的错接接口的实现,而不会为此改变应用程序也不必重新编译。
由此,降低了应用程序的开发和维护成本。概念“零管理部署”在此上下文中的特征在于,与避免用于应用程序的相应部署的任何维护成本相联系的功能。由此,对用于不同部署的源代码主体的并行编制和维护完全与相应的应用程序解耦合。
同样被视为有利的是,根据预定的平台和/或在可连接的计算机网络内的运行位置自动地实现对各封装层的软件结构的编制。该方法不仅在选择封装层之间的应用接口内的各个必需的错接接口时,而且在针对所要进行的用于计算机应用的部署对封装层进行布置和实施时支持开发人员。
所述技术问题同样是通过一种用于产生带有处理层和过程层的至少两层的软件应用程序的系统解决的,其中,一个框架结构用于封装各层,并且所封装的层通过应用接口相互通信。根据本发明,设置了一种用于产生n层软件应用程序的系统,其中,在应用接口内在框架结构的上方部分地构成一个灵活的错接接口,并且该灵活的错接接口根据各封装层所基于的平台提供对于通过封装层之间的应用接口进行通信而言必需的通信规范概要。
在该系统的一个优选实施例中,应用程序被封装,并因此可以在一个类运行时环境上运行。与用于各封装层的平台的系统配置无关的是,运行的应用程序同样是独立的并且不必在不同的配置下发生改变。
本发明可以按照硬件、软件或硬件和软件的组合的形式实现。各种类型的系统或者各种其它的为实施根据本发明的方法而建立的装置适用于此。一种典型的硬件和软件的组合可以是带有计算机程序的通用计算机系统,该程序被加载到通用计算机系统内并执行,并这样控制该计算机系统,使得实施根据所述方法建立的应用程序。在硬件和软件的进一步通信中,可以例如在专门的图像处理硬件内设置例如用于进行图像处理的处理层,而在传统的PC硬件上实施其余的层。本发明也可以集成在计算机程序产品中,该计算机程序产品包括能够实现在此描述的计算机支持的方法的所有特征,并在加载到计算机系统内之后能够实施该方法。
概念计算机程序介质、计算机程序以及计算机应用,在各种表达在此处的上下文中被理解为一组指令的任意计算机语言、代码或符号,这些指令能够使得计算机系统进行数据处理并因此实施特定的功能。该计算机程序介质、计算机程序以及计算机应用能够或者直接地运行,或者在转换成另一种语言、代码、符号后或通过以其它实体形式在该计算机系统上的显示而运行。
附图说明
在下面的详细的附图说明中借助于附图对实施例的特征及其它优点进行了解释,所述实施例并不应被理解为是限定性的。附图中:
图1是带有根据本发明的错接接口的软件结构的一种示意性结构,
图2是带有根据本发明的错接接口的作为肥客户机的软件结构的一种示意性结构,
图3是带有根据本发明的错接接口的作为多功能瘦客户机的软件结构的一种示意性结构,
图4以示意对照图的形式示出了作为肥客户机、多功能客户机、智能客户机、多功能瘦客户机、瘦客户机以及网络服务的软件结构的结构。
具体实施方式
图1示出了一个五层的软件应用程序10,其中,该软件结构具有最下面的服务层11、紧接着的数据访问层12、接下来的处理层13、位于其上的过程层14以及接下来的表示层15。在这些至少部分地借助一个框架结构封装的层11、12、13、14、15之间分别存在带有集成的错接接口的应用接口17a、17b、17c、17d。这些应用接口17a、17b、17c、17d的错接接口是这样地灵活,以至于它们能够实现这样一种软件结构,其通过配置可用于不同部署、即用于层11、12、13、14、15在平台和在可连接的计算机网络中的运行位置16a、16b上的不同分布,而并不需要为此对错接接口进行源代码匹配。仅仅是必须将集成在应用接口17a、17b、17c、17d中的错接接口的通信规范概要与相应的部署进行匹配。对错接接口的匹配可以或者在编译的范围内实现,或者通过与数据库19的文件(例如XML或DLL配置文件)动态连接而实现。
各封装层11、12、13、14、15的相应服务、数据或组件20a、20b、20c、20d、21a、21b、21c、21d、22a、22b、22c、22d、23a、23b、23c可以或者通过层11、12、13、14、15或者通过应用程序10本身而被调用。通过带有集成的错接接口的应用接口17a、17b、17c、17d进行的交互作用在图中用箭头表示。
在此,必须这样设计通信规范概要,使得应用程序10内的服务和组件20a、20b、20c、20d、21a、21b、21c、21d、22a、22b、22c、22d、23a、23b、23c可以穿过封装层11、12、13、14、15相互通信。就此而言,该通信规范概要必须考虑并根据部署规定和监控客户机/服务器-需求-/反应协议、基于事件的数据处理、数据通信的一般任务管理及问题(如同步数据交换)、数据协议的格式、对数据通信的监控、以及消息格式。
图2示出了肥客户机部署下的应用程序10的软件结构。该软件结构不需要为该在唯一计算机上的实现进行匹配。应用接口17a、17b、17c、17d的集成的错接接口的通信规范概要使得能够实现应用程序10的一种桌面应用。在此,封装层11、12、13、14、15在它们自身的运行时环境内运行,使得这里也可以使用各封装层11、12、13、14、15的不同编程语言。
与之相反,图3示出了一种多功能瘦客户机部署。应用程序10的服务层11、紧接着的数据访问层12以及处理层13,在作为服务器16a的第一计算机上运行。过程层14和表示层15在客户机16b上运行,其中,通过处理层13和过程层14之间的数据接口18进行数据传送和对这些层13、14的相应服务、数据及组件22a、22b、22c、22d的访问,必要时通过防火墙确保安全。
而且,所基于的软件结构在此既不需要为多功能瘦客户机部署改变,也不需要为肥客户机部署改变,因为仅仅是应用接口17a、17b、17c、17d的错接接口的通信规范概要必须与相应的部署相匹配。
上述部署变形、即肥客户机25a和瘦多功能客户机25d在图4中与其它的部署变形、即多功能客户机25b、智能客户机25c以及瘦客户机25e对照地示出。如可以由图4进一步了解到的,这些其它的部署变形通过在服务器16a和客户机16b之间重新布置一个或多个层11至15或者这些层11至15的个别组成部分而形成。
在瘦客户机25e的情况下,仅仅是将表示层15的前端以网络接口的形式设置在客户机16b上。表示层15的其余部分以及其余的层11至14设置在一个或多个服务器16a上。表示层15在此尤其以HTML技术实现。在此,服务器16a尤其又被划分成:提供用户界面并向客户机15b进行输出的网络服务器、包含层12至14的应用程序服务器、以及容纳有服务层11的数据服务器。
在多功能客户机25b的情况下,与之相反地将层12至15设置于客户机一侧。仅仅是服务层11设置在一个或多个服务器16a、特别是数据汇总器(Daten-Cluster)上。在多功能客户机部署中,应用程序10可以至少继续在离线应用中使用。为了特定服务(例如加载图像数据)的需求,可以将客户机15b与服务器16a相连。
在智能客户机25c的情况下,处理层13和数据访问层12的组成部分分布在客户机16b上,而处理层13和数据访问层12的其它组成部分则分布在一个或多个服务器16a上。在智能客户机部署中,应用程序10(与在多功能客户机中不同)在没有与服务器16a的持续网络连接的情况下不能被运行。不过,层12和13在客户机16b和服务器16a之间的分布使得应用程序10的性能在与客户机16b和服务器16a的计算和存储能力以及网络的可用数据传输容量相匹配的情况下能够得到特别有效的优化。
根据本发明,应用程序可以基于唯一的源代码主体在所有表示出的部署变形中运行。在此,应用程序的各层11至15也可以具有不同的版本。为与特定部署相匹配,仅仅将该应用程序在此相应的进行配置。此外,服务层11和过程层14可以在一种同样在图4中示出的部署中也隔离地作为纯粹的网络服务26运行。
Claims (12)
1.一种产生软件应用程序(10)的方法,该软件应用程序按照自下向上的顺序包括以下五个层:
-服务层(11),用于为框架结构提供本地和/或外部的服务(20a,20b,20c,20d);
-数据访问层(12),用于对数据进行访问并提供本地和/或外部的数据和通信服务;
-处理层(13),用于提供处理服务和/或处理组件(22a,22b,22c,22d);
-过程层(14),用于提供业务逻辑和服务总线;以及
-表示层(15),用于表示数据和/或组件,
其中,每个层(11,12,13,14,15)都被封装在类运行时环境内,使得每个层(11,12,13,14,15)能够与各平台和运行位置无关地运行,并且其中,所封装的层(11,12,13,14,15)通过应用接口(17c)相互通信,其中,该应用接口(17c)包括一个灵活的错接接口,并且该灵活的错接接口根据各封装层(11,12,13,14,15)所基于的平台提供对于通过封装层(11,12,13,14,15)之间的应用接口(17c)进行通信而言必需的通信规范概要,其中,该错接接口是这样地灵活,以至于其通过借助于将错接接口的通信规范概要与相应的部署进行匹配的配置并且在没有源代码匹配的条件下就能够用于以下各个部署变形:
-肥客户机部署变形,其中,所有五个层都分布在唯一的客户机上;
-多功能客户机部署变形,其中,所述服务层(11)分布在至少一个服务器上,并且其中,所述数据访问层(12)、所述处理层(13)、所述过程层(14)和所述表示层(15)分布在客户机上;
-智能客户机部署变形,其中,所述服务层(11)仅仅分布在至少一个服务器上,所述过程层(14)和所述表示层(15)仅仅分布在客户机上,并且其中,所述数据访问层(12)和所述处理层(13)部分地分布在至少一个服务器上以及部分地分布在客户机上;
-多功能瘦客户机部署变形,其中,所述服务层(11)、所述数据访问层(12)和所述处理层(13)分布在至少一个服务器上,并且其中,所述过程层(14)和所述表示层(15)分布在客户机上;
-瘦客户机部署变形,其中,所述表示层(15)的前端以网络接口的形式被设置在客户机上,并且其中,所述表示层(15)的其余部分以及所述服务层(11)、所述数据访问层(12)、所述处理层(13)和所述过程层(14)分布在至少一个服务器上。
2.根据权利要求1所述的方法,其特征在于,该应用程序(10)具有至少五个封装层(11,12,13,14,15),这些封装层带有分别居间设置的带有相应的集成的错接接口的应用接口(17a,17b,17c,17d)。
3.根据权利要求1所述的方法,其特征在于,封装层(11,12,13,14,15)能够在一个计算机网络内的可不同相互连接的运行位置上运行,其中,该应用接口(17a,17b,17c,17d)的错接接口提供封装层(11,12,13,14,15)之间必需的通信规范概要和/或监控该可连接的计算机网络的数据接口(18)之间的数据通信。
4.根据权利要求1至3中任一项所述的方法,其特征在于,在封装层(11,12,13,14,15)中实现的服务和/或组件和/或数据(20a,20b,20c,20d,21a,21b,21c,21d,22a,22b,22c,22d,23a,23b,23c)针对标准化的应用接口(17a,17b,17c,17d)和/或标准化的数据接口(18)而被设计。
5.根据权利要求1至3中任一项所述的方法,其特征在于,在该封装层(11,12,13,14,15)中实现标准化的服务和/或组件和/或数据(20a,20b,20c,20d,21a,21b,21c,21d,22a,22b,22c,22d,23a,23b,23c)并且分别可以被独立地调用。
6.根据权利要求1至3中任一项所述的方法,其特征在于,在规定各封装层(11,12,13,14,15)的平台以及计算机网络内相应运行位置(16a,16b)时,自动地选出各自必需的通信规范概要。
7.根据权利要求1至3中任一项所述的方法,其特征在于,该应用接口(17a,17b,17c,17d)的通信规范概要和/或数据接口(18)的通信规范概要被动态地根据封装层(11,12,13,14,15)的平台和在计算机网络中的运行位置(16a,16b)实现。
8.根据权利要求1至3中任一项所述的方法,其特征在于,应用程序(10)组织对各封装层(11,12,13,14,15)及其服务和/或组件和/或数据(20a,20b,20c,20d,21a,21b,21c,21d,22a,22b,22c,22d,23a,23b,23c)的访问,并且本身可以作为封装应用独立于相应的软件结构所基于的部署而运行。
9.根据权利要求1至3中任一项所述的方法,其特征在于,根据预定的平台和/或在可连接的计算机网络中的运行位置(16a,16b)自动地实现所述各封装层(11,12,13,14,15)的软件结构的编制。
10.一种用于产生软件应用程序(10)的系统,该软件应用程序按照自下向上的顺序包括以下五个层:
-服务层(11),用于为框架结构提供本地和/或外部的服务(20a,20b,20c,20d);
-数据访问层(12),用于对数据进行访问并提供本地和/或外部的数据和通信服务;
-处理层(13),用于提供处理服务和/或处理组件(22a,22b,22c,22d);
-过程层(14),用于提供业务逻辑和服务总线;以及
-表示层(15),用于表示数据和/或组件,
其中,一个框架结构用于将每个层(11,12,13,14,15)封装在类运行时环境内,使得每个层(11,12,13,14,15)能够与各平台和运行位置无关地运行,并且所封装的层(11,12,13,14,15)通过应用接口(17c)相互通信,
其特征在于,应用接口(17c)被构造为灵活的错接接口,并且该灵活的错接接口根据各封装层(11,12,13,14,15)所基于的平台提供对于通过封装层(11,12,13,14,15)之间的应用接口(17c)进行通信而言所必需的通信规范概要,其中,该错接接口是这样地灵活,以至于其通过借助于将错接接口的通信规范概要与相应的部署进行匹配的配置并且在没有源代码匹配的条件下就能够用于以下各个部署变形:
-肥客户机部署变形,其中,所有五个层都分布在唯一的客户机上;
-多功能客户机部署变形,其中,所述服务层(11)分布在至少一个服务器上,并且其中,所述数据访问层(12)、所述处理层(13)、所述过程层(14)和所述表示层(15)分布在客户机上;
-智能客户机部署变形,其中,所述服务层(11)仅仅分布在至少一个服务器上,所述过程层(14)和所述表示层(15)仅仅分布在客户机上,并且其中,所述数据访问层(12)和所述处理层(13)部分地分布在至少一个服务器上并且部分地分布在客户机上;
-多功能瘦客户机部署变形,其中,所述服务层(11)、所述数据访问层(12)和所述处理层(13)分布在至少一个服务器上,并且其中,所述过程层(14)和所述表示层(15)分布在客户机上;
-瘦客户机部署变形,其中,所述表示层(15)的前端以网络接口的形式被设置在客户机上,并且其中,所述表示层(15)的其余部分以及所述服务层(11)、所述数据访问层(12)、所述处理层(13)和所述过程层(14)分布在至少一个服务器上。
11.根据权利要求10所述的系统,其包括用于实施根据上述权利要求1至9中任一项的方法的步骤的适当装置。
12.根据权利要求11所述的系统,其特征在于,该应用程序(10)被封装并且可以在一个类运行时环境中运行。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1020060338634 | 2006-07-21 | ||
DE102006033863A DE102006033863A1 (de) | 2006-07-21 | 2006-07-21 | Verschaltungsschnittstelle für flexibles Online/Offline-Deployment einer n-schichtigen Softwareapplikation |
DE102006033863.4 | 2006-07-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101110031A CN101110031A (zh) | 2008-01-23 |
CN101110031B true CN101110031B (zh) | 2013-10-30 |
Family
ID=38830733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101369121A Expired - Fee Related CN101110031B (zh) | 2006-07-21 | 2007-07-23 | 用于灵活在线/离线部署n层软件应用程序的错接接口 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8719778B2 (zh) |
CN (1) | CN101110031B (zh) |
DE (1) | DE102006033863A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101388089A (zh) * | 2005-08-09 | 2009-03-18 | 金蝶软件(中国)有限公司 | 一种工作流中业务逻辑处理的方法和装置 |
US8762963B2 (en) * | 2008-12-04 | 2014-06-24 | Beck Fund B.V. L.L.C. | Translation of programming code |
JP2011081671A (ja) * | 2009-10-08 | 2011-04-21 | Autonetworks Technologies Ltd | 制御装置、制御方法及びコンピュータプログラム |
US8997053B2 (en) | 2010-01-14 | 2015-03-31 | Worksoft, Inc. | System and method for automated testing of software applications with dynamic user interfaces spanning multiple technologies |
EP2992415A4 (en) * | 2013-04-30 | 2016-12-21 | Hewlett Packard Entpr Dev Lp | COORDINATION OF AN APPLICATION INSERT WITH A PLATFORM LEVEL |
US10620919B2 (en) | 2014-03-06 | 2020-04-14 | Siemens Healthcare Gmbh | Creating and operating software applications |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6496847B1 (en) * | 1998-05-15 | 2002-12-17 | Vmware, Inc. | System and method for virtualizing computer systems |
CN1441933A (zh) * | 2000-07-17 | 2003-09-10 | 星河科技有限公司 | 用于提供动态托管服务管理的方法和系统 |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5093916A (en) * | 1988-05-20 | 1992-03-03 | International Business Machines Corporation | System for inserting constructs into compiled code, defining scoping of common blocks and dynamically binding common blocks to tasks |
AU681433B2 (en) * | 1993-08-03 | 1997-08-28 | Sun Microsystems, Inc. | Flexible multi-platform partitioning for computer applications |
US6026238A (en) | 1997-08-18 | 2000-02-15 | Microsoft Corporatrion | Interface conversion modules based upon generalized templates for multiple platform computer systems |
US6788315B1 (en) * | 1997-11-17 | 2004-09-07 | Fujitsu Limited | Platform independent computer network manager |
DE69908121T2 (de) * | 1998-03-23 | 2004-04-01 | Microsoft Corp., Redmond | Anwendungsprogrammierungsschnittstelle in einem betriebssystem |
US7127701B2 (en) * | 1998-09-18 | 2006-10-24 | Wylci Fables | Computer processing and programming method using autonomous data handlers |
US6499137B1 (en) * | 1998-10-02 | 2002-12-24 | Microsoft Corporation | Reversible load-time dynamic linking |
DE19909717C2 (de) * | 1999-03-05 | 2001-01-11 | Siemens Ag | Ausführungsverfahren für eine Softwarekomponente |
WO2001009690A1 (en) * | 1999-07-29 | 2001-02-08 | The Foxboro Company | Methods and apparatus for object-based process control |
CA2413434A1 (en) * | 2000-06-26 | 2002-01-03 | International Business Machines Corporation | Data management application programming interface for a parallel file system |
US7844513B2 (en) * | 2000-07-17 | 2010-11-30 | Galactic Computing Corporation Bvi/Bc | Method and system for operating a commissioned e-commerce service prover |
US6725453B1 (en) * | 2000-08-23 | 2004-04-20 | Microsoft Corporation | Remote software installation and maintenance |
US6996800B2 (en) * | 2000-12-04 | 2006-02-07 | International Business Machines Corporation | MVC (model-view-controller) based multi-modal authoring tool and development environment |
US6775671B1 (en) * | 2000-12-13 | 2004-08-10 | William Marsh Rice University | Component-based adaptation system and method |
US7076633B2 (en) * | 2001-03-28 | 2006-07-11 | Swsoft Holdings, Ltd. | Hosting service providing platform system and method |
US20020198931A1 (en) * | 2001-04-30 | 2002-12-26 | Murren Brian T. | Architecture and process for presenting application content to clients |
US20030078960A1 (en) * | 2001-04-30 | 2003-04-24 | Murren Brian T. | Architecture and process for creating software applications for multiple domains |
US7143164B2 (en) * | 2001-05-21 | 2006-11-28 | Exigen Group | Dynamic object library software architecture |
US6961941B1 (en) * | 2001-06-08 | 2005-11-01 | Vmware, Inc. | Computer configuration for resource management in systems including a virtual machine |
US7174379B2 (en) * | 2001-08-03 | 2007-02-06 | International Business Machines Corporation | Managing server resources for hosted applications |
US20030093471A1 (en) * | 2001-10-18 | 2003-05-15 | Mitch Upton | System and method using asynchronous messaging for application integration |
US7082598B1 (en) * | 2002-07-17 | 2006-07-25 | Vmware, Inc. | Dynamic driver substitution |
US7490332B2 (en) * | 2003-04-04 | 2009-02-10 | Sesma Systems, Inc. | System and method for accessing ActiveX objects in a platform dependent environment from objects in a platform independent environment |
JP2006526209A (ja) * | 2003-05-12 | 2006-11-16 | アン モ ジェオン, | コンポーネント基盤環境下で拡張されたメタデータを利用したソフトウェア開発方法及びその開発システム |
US20050066324A1 (en) * | 2003-09-22 | 2005-03-24 | Microsoft Corporation | Method and system for distributing and installing software |
US7747698B2 (en) * | 2004-05-25 | 2010-06-29 | Sap Ag | Transaction model for deployment operations |
US7506338B2 (en) * | 2004-08-30 | 2009-03-17 | International Business Machines Corporation | Method and apparatus for simplifying the deployment and serviceability of commercial software environments |
US7937379B2 (en) * | 2005-03-09 | 2011-05-03 | Vudu, Inc. | Fragmentation of a file for instant access |
US7774757B1 (en) * | 2005-07-13 | 2010-08-10 | Oracle America, Inc. | Dynamic verification of application portability |
US8286158B2 (en) * | 2006-02-06 | 2012-10-09 | Imation Corp. | Method and system for installing portable executable applications |
US8141032B2 (en) * | 2007-02-02 | 2012-03-20 | Microsoft Corporation | N-tiered applications support via common interface |
US8161393B2 (en) * | 2007-09-18 | 2012-04-17 | International Business Machines Corporation | Arrangements for managing processing components using a graphical user interface |
US8365164B1 (en) * | 2008-02-21 | 2013-01-29 | T-APP Ltd. | Portable software applications |
US8286198B2 (en) * | 2008-06-06 | 2012-10-09 | Apple Inc. | Application programming interfaces for data parallel computing on multiple processors |
US8432404B2 (en) * | 2008-12-15 | 2013-04-30 | Leonovus Usa Inc. | Media action script acceleration method |
US8432403B2 (en) * | 2008-12-15 | 2013-04-30 | Leonovus Usa Inc. | Media action script acceleration apparatus |
US20100149215A1 (en) * | 2008-12-15 | 2010-06-17 | Personal Web Systems, Inc. | Media Action Script Acceleration Apparatus, System and Method |
US8584113B2 (en) * | 2009-11-09 | 2013-11-12 | Bank Of America Corporation | Cross-updating of software between self-service financial transaction machines |
US8516360B2 (en) * | 2011-08-24 | 2013-08-20 | Qualcomm Innovation Center, Inc. | Controlled parallel compilation and execution of JavaScripts |
-
2006
- 2006-07-21 DE DE102006033863A patent/DE102006033863A1/de not_active Ceased
-
2007
- 2007-07-20 US US11/878,093 patent/US8719778B2/en not_active Expired - Fee Related
- 2007-07-23 CN CN2007101369121A patent/CN101110031B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6496847B1 (en) * | 1998-05-15 | 2002-12-17 | Vmware, Inc. | System and method for virtualizing computer systems |
CN1441933A (zh) * | 2000-07-17 | 2003-09-10 | 星河科技有限公司 | 用于提供动态托管服务管理的方法和系统 |
Non-Patent Citations (1)
Title |
---|
Nat Pryce and Steve Crane.Component Interaction in Distributed Systems.《the 4th International Conference on Configurable Distributed Systems》.1998,第1-3页. * |
Also Published As
Publication number | Publication date |
---|---|
CN101110031A (zh) | 2008-01-23 |
DE102006033863A1 (de) | 2008-01-24 |
US20080028384A1 (en) | 2008-01-31 |
US8719778B2 (en) | 2014-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101110031B (zh) | 用于灵活在线/离线部署n层软件应用程序的错接接口 | |
US6138174A (en) | Industrial control system providing remote execution of graphical utility programs | |
US7562352B2 (en) | Data format conversion method and equipment, and controller management system using data format conversion equipment | |
CN101174219A (zh) | 根据使用环境执行和配置应用的方法和系统 | |
CN101419439B (zh) | 用于过程控制系统的定制功能块 | |
US20070283030A1 (en) | System and method for batch process control with diverse distributed control system protocols | |
CN102375731A (zh) | 一种免编码集成应用软件平台系统 | |
CN102033848A (zh) | 基于soa的三维设计系统集成方法及系统 | |
SK152191A3 (en) | Alleviate method for putting before and removing of windows and device for its realization | |
JP2001524709A (ja) | 通信環境におけるモジュール間のカップリングを低減するためのシステムおよび方法 | |
US8752030B1 (en) | Process abstraction and tracking, systems and methods | |
CN102033745B (zh) | 用于提供面向服务的用户界面集成总线的系统和方法 | |
US20050055429A1 (en) | System and method for providing data and services for appliances, and appliances which use the provided data and services | |
CN117764538B (zh) | 一种业务流程的生成方法、装置及设备 | |
CN114579091B (zh) | 跨操作系统的机器人流程自动化系统及方法 | |
KR100697246B1 (ko) | 컴포넌트 기반 환경 하에서 확장된 메타데이터를 이용한 소프트웨어 개발 방법 및 시스템 | |
EP2037374A1 (en) | Method for translating a graphical workflow in a textual description | |
CN100375031C (zh) | 软件总线和芯片结构的可重构虚拟仪器 | |
CN107018160B (zh) | 一种基于层次化的制造资源和云化方法 | |
CN111090430B (zh) | 一种嵌入式系统下的应用软件开发系统 | |
Yang et al. | Supporting multiple tool integration paradigms within a single environment | |
Singh et al. | An integrated approach for implementing a distribution automation system | |
Thramboulidis et al. | Field device specification for the development of function block oriented engineering support systems | |
CN110506258A (zh) | 用于可编程逻辑控制器(plc)的基于设备的工程的方法和系统 | |
Santos et al. | Integrating infrastructures for manufacturing a comparative analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20131030 Termination date: 20180723 |
|
CF01 | Termination of patent right due to non-payment of annual fee |