【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及数据处理领域。更具体来说,本专利技术涉及软件互动(interaction)方法。
技术介绍
在开发现代软件应用程序的过程中,开发者经常遇到与外观、感觉和性能不像熟悉的内部程序设计语言对象的外部实体。这些外部实体包括数据库、传统(legacy)系统、web服务、非本机(non-native)软件组件、以及(例如用于控制它们的设置的)物理对象。一般来说,程序员必须学习用于与这些实体的每一个互动的新范例(paradigms)、技巧和技术。此外,程序员必须开发和获得可能是巨大部分的软件才能处理每一种外部实体的错综复杂。例如,编写与外部网络服务(web service)互动的软件,可能要求开发者掌握几种技术,包括可扩展标记语言(XML)、XML模式语言、XML协议(XP,也叫SOAP)和网络服务描述语言(WSDL)。应用程序(applications)与之互动的每种外部实体,都需要开发者的一个不同的技巧、知识和软件集合。例如,与数据库互动需要有与外部网络服务互动完全不同的技巧、知识和软件集合。学习和实现用于与各种外部实体互动的技术所带来的额外负担增加开发软件应用程序所需的时间、知识、技巧以及终归的金钱。所需要的是一种提供一致的对外部实体的使用(access)、重新使用开发者已有的通用软件概念的知识、并且最小化与每种外部实体互动所需的专业知识的简单软件抽象(abstraction)。这些软件抽象不但应当容易使用,而且也应当容易定制得适合特定用途,而无需多少或者不需要软件开发。软件抽象应当使得容易同时与外部实体的几个实例互动(例如用一个网络服务的几个实例 ...
【技术保护点】
一个计算环境,包含:一个定义为方便一个软件应用程序与一个实体互动而要被生成的一个代理对象的代理对象定义,该代理对象定义标识该代理对象的至少一个实现,该代理对象的实现具有一个或多个用于方便该应用程序以程序设置的方式与该实体互动的内置函数;和该代理对象的实现。
【技术特征摘要】
【国外来华专利技术】US 2002-2-22 60/359,409;US 2002-8-30 10/233,1181.一个计算环境,包含一个定义为方便一个软件应用程序与一个实体互动而要被生成的一个代理对象的代理对象定义,该代理对象定义标识该代理对象的至少一个实现,该代理对象的实现具有一个或多个用于方便该应用程序以程序设置的方式与该实体互动的内置函数;和该代理对象的实现。2.权利要求1的计算环境,其中,该代理对象定义进一步包括一个说明该代理对象定义以直接和间接方式中被选择的一种方式扩展一个标记接口的说明。3.权利要求1的计算环境,其中,该代理对象定义进一步包括一个说明一个用于方便在运行期间由该实体生成的一个或多个异步事件的处理的回叫的说明。4.权利要求1的计算环境,其中,该代理对象实现支持一个或多个可设置的特性;和该代理对象定义包括一个或多个限定对该一个或多个可设置特性的设置的设置详细说明。5.权利要求1的计算环境,其中,该代理对象实现进一步实现一个构造器接口,用于在该软件应用程序的编译期间辅助至少确认为与该实体互动而由该软件应用程序对该代理对象实现的内置函数的使用。6.权利要求1的计算环境,其中,该代理对象实现进一步实现一个资源接口,用于为要被生成的代理对象配备获得和释放运行时资源的能力。7.权利要求1的计算环境,其中,该代理对象实现进一步实现一个可扩展接口,用于使该代理对象实现能被扩展。8.一种编译器,包含一个用于分析一个源形式的软件应用程序的分析器,包括分析逻辑,用于辨别和理解一个定义为方便一个软件应用程序与一个实体互动而要被生成的一个代理对象的代理对象定义,该代理对象定义标识该代理对象的至少一个实现,该代理对象的实现具有一个或多个用于方便该应用程序以程序设置的方式与该实体互动的内置函数;和一个与该分析器相连的生成器,用于至少部分地根据所述分析的结果、该代理对象定义以及该代理对象的实现,生成可执行形式的该软件应用程序和该代理对象。9.权利要求8的编译器,其中该分析逻辑包括用于辨别和理解该代理对象实现的一个或多个可设置特性的设置详细说明的逻辑;和该生成器包括用于生成包括所述的该代理对象实现的一个或多个可设置特性的设置详细说明的一组元数据的生成逻辑。10.权利要求8的编译器,其中,该生成器包括用于随同该软件应用程序的可执行形式包括用于在该软件应用程序的执行期间实例化该代理对象的代理实例化码的生成逻辑。11.权利要求10的编译器,其中,该代理初始化码被配备得向一个变量分配该代理对象的一个实例,并为接收该实体的异步事件的通知登记该代理对象。12.权利要求10的编译器,其中,该生成逻辑被设计得随同该软件应用程序的可执行形式包括该代理实例化码,其方式要确保在该代理对象的实现的函数由该软件应用程序为与该实体互动而作的任何程序设置方式的使用之前,该代理实例化码被执行。13.权利要求8的编译器,其中,该生成器包括用于随同该软件应用程序的可执行形式包括用于接收该代理对象的实现的内置函数的程序设置方式的调用的一个或多个接口函数的生成逻辑。14.权利要求13的编译器,其中,该生成逻辑被配备得为该代理对象的实现的每个内置函数生成该代理对象的一个接口函数,其中每个接口函数调用对应的内置函数来与该实体互动。15.权利要求8的编译器,其中,该生成逻辑被配备得为该代理对象的实现的每个每个增加的非内置函数生成该代理对象的一个接口函数,其中每个接口函数调用一个特殊的调用函数,以为对应的增加的非内置函数完成与该实体的互动。16.权利要求15的编译器,其中,该特殊的调用函数被配备得访问该代理对象的、包括描述该增加的非内置函数的配对(companion)元数据,用于理解要为之完成该特殊调用函数的、该软件应用程序与该实体之间的互动。17.权利要求8的编译器,其中,该生成器被配备得随同所生成的代理对象包括一个特殊的调用函数,以为该代理对象说明的一个实现的增加的非内置函数完成与该实体的互动。18.权利要求8的编译器,其中,该生成器被配备得进一步生成该代理对象的、描述该代理对象的选定的方面的配对元数据。19.权利要求8的编译器,其中,该生成器被配备得进一步根据该代理对象生成一个代理对象工厂,以方便软件应用程序与该实体之间的n路互动。20.权利要求8的编译器,其中,该生成器包括生成逻辑,用于随同所生成的代理对象包括一个或多个用于从该实体的一个异步事件路有器接收异步事件的报告的接口回叫函数。21.权利要求20的编译器,其中,该生成逻辑被配备得为该代理对象的一个实现的每个内置回叫生成一个代理对象接口回叫函数,其中每个接口回叫函数为被报告的异步事件要被对应的内置回叫处理而调用对应的内置回叫函数。22.权利要求20的编译器,其中,该生成逻辑被配备得为该代理对象说明的一个实现的每个增加的非内置回叫生成一个代理对象接口回叫函数,其中每个接口回叫函数为被报告的异步事件要被软件应用程序的一个对应的事件处理程序处理而调用该件应用程序的该对应的事件处理程序。23.一种计算环境,包含一个编译器,用于将一个软件应用程序从源形式编译成可执行的形式,包括生成一个配对的代理对象,用于方便该软件应用程序与一个实体互动,源形式的软件应用程序包括程序化表达的、采用该代理对象的一个实现的函数与该实体的互动;和一个运行引擎,用于方便该可执行形式的软件应用程序以及该代理对象的执行,该运行引擎包括一个异步事件路由器,用于通过该代理对象向该实体的软件应用程序报告异步事件。24.权利要求23的计算环境,其中,该编译器被配备得能分析源形式的该软件应用程序,包括分析逻辑,用于辨别和理解至少从以下选择的一个一个该代理对象的使用的说明、该代理对象的一个实现的一个特性的一个设置详细说明、以及一个限定用于为该实体而被报告的事件的事件处理程序的处理程序详细说明。25.权利要求23的计算环境,其中,该编译器被配备得至少部分地根据分析源形式的软件应用程序的结果、代理对象的定义和代理对象的实现,生成可执行形式的软件应用程序和配对的代理对象。26.权利要求23的计算环境,其中,该编译器包括用于随同该软件应用程序的可执行形式包括用于在该软件应用程序的执行期间实例化该代理对象的代理实例化码的生成逻辑。27.权利要求23的计算环境,其中,该编译器包括用于随同被生成的代理对象包括用于接收该代理对象的实现的内置函数的程序设置方式的调用的一个或多个接口函数的生成逻辑。28.权利要求23的计算环境,其中,该编译器被配备得随同所生成的代理对象包括一个特殊的调用函数,以通过该代理对象的实现的增加的非内置函数完成与该实体的互动。29.权利要求23的计算环境,其中,该编译器被配备得进一步生成该代理对象的、描述该代理对象的选定的方面的配对元数据。30.权利要求23的计算环境,其中,该编译器被配备得进一步根据该代理对象成一个代理对象工厂,以方便软件应用程序与该实体之间的n路互动。31.权利要求23的计算环境,其中,该编译器包括生成逻辑,用于随同所生成的代理对象包括一个或多个用于从该实体的一个异步事件路有器接收异步事件的报告的接口回叫函数。32.一种运行环境,包含一个加载器,用于加载一个可执行形式的软件应用程序供执行,该软件应用程序包括为方便一个代理对象的初始化而被包括的代理初始化码,该代理对象的实现包括该软件应用程序以程序设置的方式用来与一个实体互动的函数;和一个异步事件路由器,用于通过该代理对象向该软件应用程序报告该实体的异步事件。33.权利要求32的运行环境,其中,该代理对象包括一个或多个用于以程序设置的方式接收该代理对象的实现的函数的调用的接口函数。34.权利要求32的运行环境,其中,该代理对象的实现包括一个特殊的调用函数,用于通过该代理对象的实现的增加的非内置函数完成与该实体的互动。35.权利要求32的运行环境,其中,该代理对象有一个描述该代理对象的选定的方面的配对元数据,包括该代理对象的实现的设置和可配置特性。36.权利要求32的运行环境,其中,该代理对象有一个根据该代理对象的代理对象工厂,用于方便该软件应用程序与该实体之间的n路互动。37.权利要求32的运行环境,其中,该异步事件路由器被配备得收听由该实体报告的异步事件。38.权利要求37的运行环境,其中,该异步事件路由器被配备得将所检测到的由该实体报告的异步事件报告给该代理对象的接口回叫函数中被选择的接口回叫函数。39.权利要求38的运行环境,其中,接口回叫函数中被选择的接口回叫函数包含该代理对象的一个默认的实现的一个内置回叫的一个接口回叫函数,其中该接口回叫函数为被报告的异步事件要被一个对应的内置回叫处理而调用该对应的内置回叫函数。40.权利要求38的运行环境,其中,接口回叫函数中被选择的接口回叫...
【专利技术属性】
技术研发人员:KW马文,D包三世,RA查维兹,
申请(专利权)人:BEA系统公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。