CN103026338A - 用于执行综合服务的系统、方法和设备 - Google Patents

用于执行综合服务的系统、方法和设备 Download PDF

Info

Publication number
CN103026338A
CN103026338A CN2010800682091A CN201080068209A CN103026338A CN 103026338 A CN103026338 A CN 103026338A CN 2010800682091 A CN2010800682091 A CN 2010800682091A CN 201080068209 A CN201080068209 A CN 201080068209A CN 103026338 A CN103026338 A CN 103026338A
Authority
CN
China
Prior art keywords
component software
component
software
target device
service
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.)
Pending
Application number
CN2010800682091A
Other languages
English (en)
Inventor
加藤良司
小田稔周
约翰·克里斯延森
艾恩尼斯·菲克拉斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN103026338A publication Critical patent/CN103026338A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种用于执行由多个软件组件形成的综合服务的系统,所述多个软件组件包括第一软件组件和从所述第一软件组件参考的第二软件组件。所述系统包括:执行单元,被配置为执行所述第一软件组件;指定单元,被配置为指定要用于下载所述第二软件组件的地址信息和预期执行所述第二软件组件的目标设备;以及部署单元,被配置为将通过使用所述地址信息下载的第二软件组件部署到目标设备。所述部署单元被配置为:当所述执行单元正在执行所述第一软件组件时部署所述第二软件组件,使得所述执行单元可以调用所述第二软件组件。

Description

用于执行综合服务的系统、方法和设备
技术领域
本发明涉及用于执行综合服务的系统、方法和设备。
背景技术
SOA(面向服务的构架)是用于服务开发和集成的一组设计原则。原则之一是服务可组合性:需要服务的集合能够合作并集成以形成综合服务。为了能够实现综合服务,设计符合SOA的SCA(服务组件构架)是重要的产品并被主要软件销售商推崇。Open SOA出版的名为“SCA集成模型”的规范描述了服务组件如何集成为一个综合服务。图11示出了综合服务的基本示意图。组件A1110和组件B1120结合在一起以创建综合组件A1100。如图11示出,通过连接组件B1120的服务1121和组件A1110的参考1111来创建综合组件A1100。服务1121表示组件B1120为其他组件提供的功能。参考1111表示组件A1110对另一组件提供的服务的从属。当执行组件A1110时,组件A1110调用组件B1120并且组件B1120将执行结果返回组件A1110。
也由Open SOA出版的名为“Power combination:SCA,OSGiandSpring”的白皮书描述了OSGi服务如何与SCA中定义的服务组件合并。OSGi是用于将动态模块化软件装载系统添加到Java技术之上并且用于使Java虚拟机(JVM)能够动态地安装、卸载和更新应用程序到JVM而不需要重启系统的技术。OSGi能够使用户容易地下载并安装一个软件(在OSGi中称为“包”)因为OSGi可以自动地下载并安装其他需要的软件,例如用户下载的软件所必需的库和/或服务。
图12示出了SCA和OSGi是如何集成的。图12示出了SCA组件和OSGi服务的一些组合。一个组合是SCA组件(“组件X”)和远端主机中的OSGi服务(“服务A”)之间的组合。组件X经由SCA组件(“参考SOAP绑定服务A”)和OSGi服务(“SOAP包”)与服务A通信。两者能够使组件X和服务A之间的耦合变松。
如果综合服务能使在例如移动电话的用户的设备上运行的应用程序协调地结合起来,这对移动服务运营商是有利的。例如,用户的设备上协调结合的服务可以搜集关于用户的本地个人区域网络中的其他设备的信息或可以与端用户交互,这可以为移动服务运营商开发有吸引力的服务做出贡献。
图13示出了针对协调地结合用户的设备上的服务的这种综合服务的情形。根据现有技术,在SCA容器1300上运行的综合服务的组件1301调用应用程序1321之前,应用程序1321须从应用程序仓库1320下载到用户设备1310,并部署在用户设备1310上。综合服务只能应用于已经提前下载并部署了应用程序1321的这种设备。根据现有技术,另一组件调用的组件必须在执行预期执行的组合服务之前充分地提前部署。此外,综合服务不能按需要下载要合并的目标应用程序以实现应用程序的动态下载。
发明内容
根据本发明的一个方案,提供了一种用于执行由多个软件组件形成的综合服务的系统,所述多个软件组件包括第一软件组件和从所述第一软件组件参考的第二软件组件。所述系统包括:执行单元,被配置为执行所述第一软件组件;指定单元,被配置为指定要用于下载所述第二软件组件的地址信息和预期执行所述第二软件组件的目标设备;以及部署单元,被配置为将通过使用所述地址信息下载的第二软件组件部署到目标设备。所述部署单元被配置为:当所述执行单元正在执行所述第一软件组件时部署所述第二软件组件,使得所述执行单元能够调用所述第二软件组件。
从参考附图的示例性实施例的以下描述中,本发明的进一步特征将变得明显。
附图说明
图1示出了包括用于执行根据本发明的实施例的综合服务的系统100的示例性环境。
图2示出了服务和参考的划分。
图3示出了通过使用服务参考模型,第一软件组件如何调用第二软件组件。
图4示出了根据本发明的实施例的图1中SCA容器116和OSGi容器126的细节。
图5示出了根据本发明的另一实施例的图1中SCA容器116和OSGi容器126的细节。
图6示出了根据实施例的图1和图5中示出的配置中执行的示例性整体操作。
图7示出了根据实施例的图1和图5中示出的配置中执行的其他示例性整体操作。
图8示出了包括用于执行根据本发明的实施例的综合服务的系统100的另一示例性环境。
图9示出了根据实施例的图5和图8中示出的配置中执行的示例性整体操作。
图10示出了服务部署表。
图11示出了综合服务的基本示意图。
图12示出了SCA和OSGi是如何集成的。
图13示出了针对协调地结合用户的设备上的服务的该综合服务的情形。
具体实施方式
现在参考附图描述本发明的实施例。下述每个实施例会对理解从一般到更具体的各种概念有帮助。应当注意,本发明的技术范围是由权利要求书限定,因而不限于下述每个实施例。此外,实施例中描述的特征的所有组合对于本发明并非总是必不可少的。
图1示出了包括用于执行根据本发明的实施例的综合服务的系统100的示例性环境。综合服务是由多个软件组件形成的服务。软件组件可以是一个计算机程序并且在下文中可以称为组件、服务组件或应用程序。系统100包括服务器110、用户终端120和应用程序仓库130。系统100可以包括多个用户终端120。服务器110、用户终端120和应用程序仓库130可以经由网络140相互通信。网络140可以是无线网络(WLAN、GSM网络等)或有线网络(例如MAN、WAN等)。网络140可以是公共网络(例如因特网)或托管网络(例如IMS网络)。
服务器110可以包括处理器111、存储器112、存储设备113、网络接口(I/F)114和用户接口(I/F)115。服务器110可以包括在运营商网络中并且运营商可以使用服务器110执行综合服务。处理器111是例如CPU或微处理器并控制服务器110的整体操作。存储器112存储用于服务器110的操作的计算机程序和数据。存储器112也用于SCA容器116的部署。在存储器112上部署的SCA容器116可以与处理器111合作以在服务器110中充当执行单元。存储器112可以存储知识库117,下文将描述其细节。存储设备113可以通过例如HDD实现并且作为数据库而操作。网络接口114提供用于向其他设备发送数据和从其他设备接收数据的功能。用户接口115提供用于将数据呈现给服务器110的用户和从服务器110的用户获取数据的功能,并可以由显示器、键盘等实现。
用户终端120可以包括处理器121、存储器122、存储设备123、网络接口(I/F)124和用户接口(I/F)125。用户终端120是用户使用的设备,例如移动电话、个人计算机、PDA等。处理器121是例如CPU或微处理器并控制用户终端120的整体操作。存储器122存储用于用户终端120的操作的计算机程序和数据。存储器122也用于部署OSGi容器126。在存储器122上部署的OSGi容器126可以与处理器121合作以在用户终端120中充当执行单元。存储设备123可以通过例如HDD实现并且作为数据库而操作。网络接口124提供用于向其他设备发送数据和从其他设备接收数据的功能。用户接口125提供用于将数据呈现给用户终端120的用户和从用户终端120的用户获取数据的功能,并可以由显示器、键盘等实现。
应用程序仓库130是注册并存储软件组件并响应于请求将软件组件提供给用户终端的应用程序提供者。
本发明不限于SCA容器116,针对综合服务的任何执行环境(例如爱立信综合引擎)可以代替SCA容器116。因此,SCA容器116可以称为服务综合(SC)构架。
本发明也不限于OSGi容器126,任何应用程序构架可以代替OSGi容器126。因此,OSGi容器126可以称为应用程序构架。例如,根据实施例,使用了Ajax(异步JavaScript和XML的缩写)应用程序。Ajax是在客户机侧使用的用来创建交互式web应用程序的一组相互联系的web开发技术。有了Ajax,web应用程序可以从服务器异步地在后台获取数据而不干扰现有页面的显示和行为。使用Ajax技术导致网页上交互式的或动态的接口的增加。通常使用XMLHttpRequest对象获取数据。
根据图1中示出的实施例,在不同设备(即服务器110和用户终端120)上单独地部署SCA容器116和OSGi容器126。然而,SCA容器116和OSGi容器126可以部署在相同设备上。
图2示出了服务和参考的划分。上文参考图11描述的服务和参考可以分为接口部分(例如Java接口和WSDL PortType)和绑定部分(例如Web服务、SCA、JCA(J2EE连接器构架)、JMS(Java消息服务)和SLSB(无状态会话Bean))。接口部分定义了软件组件的一个或更多个商业逻辑(商业功能),例如哪个服务以哪些参数来调用,绑定部分描述了软件组件用来调用另一软件组件中的服务的访问机制,例如如何将参数传递到目标服务。
因此,由综合服务表示的商业逻辑由接口部分及其组合来定义,该逻辑与综合服务的服务与参考的绑定部分是独立的。
关于商业逻辑的开发,应当在较低层(即在商业逻辑开发之外)处理软件部署的过程。这不是商业逻辑的开发者所期望的角色。这是因为这种较低层过程与服务的目的不相关,并且不应当期望开发者知道应用程序的细节知识(例如哪个应用程序提供哪种服务,哪个应用程序可以从哪个服务器下载)。软件组件的接口部分与调用哪个软件组件是独立的,并且取决于商业逻辑。
在图2中,将参考200分为接口部分201和绑定部分202。参考200定义了服务的标记,其将通过综合服务的执行环境来解释。在WSDL的情况下,WSDL端口类型标签与接口部分201对应,WSDL绑定和服务标签与绑定部分202对应。将服务210分为接口部分211和绑定部分212。例如,在GlassFish与绑定部分212对应的情况下,Java Servl et与接口部分211对应。然而,通常地,一个整体式的应用程序可以包括两个部分211和212。
参考图2,描述了如何通过参考200来调用服务210。当综合服务将参数作为输入数据(或自变量)调用服务210时,综合服务的执行环境将这些参数编码为由绑定部分202定义的特定的数据格式(例如XML、REST)。将此已编码数据通过也由绑定部分212定义的协议220(例如SOAP、HTTP、JMS)向服务210传送。当服务210的绑定部分212接收到已编码数据时,绑定部分212将该已编码数据解码为与参考200中的参数相同的参数。以这些参数调用例如以Java、C++或PHP写的服务应用程序。
图3示出了通过使用服务参考模型,第一软件组件如何调用第二软件组件。图3聚焦于图12中的区域1200。SCA容器116包括作为第一软件组件的组件X320并且该组件X320的参考300分为接口部分301和绑定部分302。图12中“参考SOAP绑定服务A”分为“参考服务A”和“SOAP绑定”。接口部分301包括“参考服务A”,绑定部分302包括“SOAP绑定”302。
OSGi容器126包括作为第二软件组件的服务310并且服务310分为接口部分311和绑定部分312。接口部分311包括“服务A”,绑定部分312包括图12中的“SOAP包”。在此示例中,SOAP用于绑定部分302、312,但另一方法例如HTTP、JSM、JSON和SIP等可以用于绑定部分302、312,而不影响组件X320的接口部分301。也应当注意,当开发使用组件X320的综合服务时不需要实例化服务A和SOAP包。对服务A的参考为开发者/创作者提供了关于商业逻辑的足够信息。
图4示出了根据本发明的实施例的图1中SCA容器116和OSGi容器126的细节。SCA容器116包括软件组件400,软件组件400包括参考401、402。当应用程序仓库130打开服务API421(用来使外部设备能够命令下载应用程序(或软件组件)到用户终端120)时,综合服务可以使用服务API421,以便在调用服务之前使应用程序仓库130中的目标应用程序422下载并部署在用户终端120上。参考401请求服务API421下载应用程序422到用户终端120。在应用程序422部署在用户终端120上之后,参考402调用包括所部署的应用程序422的服务411。
图5示出了根据本发明的另一实施例的图1中SCA容器116和OSGi容器126的细节。SCA容器116包括软件组件500和DSD(动态软件部署)代理502。在服务器110上部署的软件组件500和由应用程序仓库130提供的应用程序(或软件组件)形成由服务器110中的SCA容器116执行的综合服务。软件组件500参考应用程序522使得软件组件500调用应用程序522。DSD代理502解释并激活软件组件500的绑定部分。DSD代理502可以解释DSD绑定的标记(将在下文中描述)并执行动态软件部署。动态软件部署可以被定义为:当执行调用第二软件组件的第一软件组件时,将第二软件组件部署到目标设备。DSD代理520通过使用由DSD绑定提供的信息,能够启用应用程序下载。在存储器112上部署的DSD代理502可以与处理器合作以充当服务器110中的指定单元。
当绑定部分501提供动态软件部署所需要的信息时,软件组件500的绑定部分501可以称为DSD绑定。换句话说,当绑定部分501包括用于下载应用程序522的地址信息时,绑定部分501可以称为DSD绑定。DSD绑定也可以描述应用程序是如何下载到用户终端120并部署的。用于下载应用程序522的地址信息可以包括应用程序的URL或URI、应用程序仓库130的IP地址、访问应用程序仓库130所需要的协议、软件组件的文件名等。因为DSD绑定包含动态软件部署所需要的信息并且DSD绑定由DSD代理502执行,即使执行了动态软件部署,商业逻辑也保持相同。用户终端120不需要在从SCA容器116接收到服务调用之前提前下载软件。
OSGi容器126包括服务511和DSD远程代理512。DSD远程代理512接收要下载的软件组件并将所下载的软件组件部署在用户终端120中的服务511上。在存储器122上部署的DSD远程代理512可以与处理器121合作以充当用户终端120中的部署单元。
图6示出了根据实施例的图1和图5中示出的配置中执行的示例性整体操作。每个设备中包括的处理器执行每个设备的存储器中存储的计算机程序以处理这些操作。
在步骤S601中,SCA容器开始执行形成综合服务的软件组件500。根据此实施例,软件组件500的绑定端口501是上述DSD绑定。综合服务定义了软件组件500使用在用户终端120上执行的应用程序522的结果。在下文中,预期执行应用程序522的用户终端120称为目标设备。用于从用户终端120中指定目标设备的信息(在下文中称为目标信息)可以作为用于执行综合服务的参数而输入。注意的是,软件组件500的接口部分与目标设备独立,因为绑定是在软件组件500的绑定部分501中定义的。目标信息可以包括用户终端120的唯一标识(例如电话号码和IMSI(国际移动订户标识))、用户终端120支持的协议等。
在步骤S602中,SCA容器116检测软件组件500的绑定部分501是DSD绑定,并请求DSD代理502根据DSD绑定执行动态软件部署。在步骤S603中,DSD代理502参考软件组件500的绑定端口501和目标信息,指定用于下载应用程序522的地址信息和预期执行应用程序522的用户终端120。
在步骤S604中,DSD代理502将地址信息和目标信息向应用程序仓库130发送,并请求应用程序仓库130参考应用程序522的地址信息将地址信息指定的应用程序522下载到用户终端120上,例如使用由应用程序仓库521提供的API接口521。在步骤S605中,应用程序仓库130参考目标信息将应用程序522下载到用户终端120。在步骤S606,DSD远程代理512将所下载的应用程序522部署到用户终端120中的服务511。
在步骤S607中,OSGi容器126执行所部署的应用程序522并准备要从服务器110调用的已执行的应用程序522。在步骤S608中,OSGi容器126经由DSD远程代理512、应用程序仓库130和DSD代理502,将应用程序522的成功部署通知服务器110中的SCA容器116。在步骤S609中,SCA容器116调用用户终端120上部署的应用程序522,并且OSGi容器126执行所部署的应用程序522。
图7示出了根据实施例的图1和图5中示出的配置中执行的示例性整体操作。每个设备中包括的处理器执行每个设备的存储器中存储的计算机程序以处理这些操作。步骤S701-S703和S707-S710与步骤S601-S603和S606-S609分别类似,因此省略这些步骤的解释。
在步骤S704中,DSD代理502将地址信息和目标信息向DSD远程代理512发送,并请求用户终端120中的DSD远程代理512从应用程序仓库130下载应用程序522并部署。DSD远程代理512使用网络接口124接收地址信息和目标信息。在步骤S705中,DSD远程代理512参考地址信息请求应用程序仓库130下载应用程序522。在步骤S706中,应用程序仓库130将应用程序522下载到用户终端120。
图8示出了包括用于执行根据本发明的实施例的综合服务的系统100的另一示例性环境。图8中的系统100与图1中的系统100类似,但应用程序仓库的配置不同。在图8中,存在多个应用程序仓库810、820和830,每个应用程序仓库包括用于管理多个软件组件的公共数据库的备份811、821和831。根据图8中的示例,服务器110可以与应用程序仓库810中的备份811通信,并且用户终端120可以与应用程序仓库820中的备份821通信。备份811、821和831相互同步。为了提高扩展性,优选备份可以用于同步不同的备份811、821和831。这意味着,不同的备份811、821和831可以在不同时间具有不同状态,并且仅在系统已经空闲一段时间之后聚合。从部署的角度看这是有利的,因为不同的用户终端120可能与高延迟网络连接或甚至不连接,这使得难于建立连接并也使同步备份811、821和831变得复杂。当使用优选备份并且如果客户端因特定原因失去网络连接时,客户端会尝试重新连接并同步其备份。然后,会通知客户端所丢失的服务部署并启用相应的服务,例如初始化该服务并使其做好被使用的准备。这使得向多个客户端部署服务变得更加容易,因为基础的同步构架关注到分布并且SCA容器116仅须执行更新服务部署表的一个单独的部署操作。
图9示出了根据实施例的图5和图8中示出的配置中执行的示例性整体操作。每个设备中包括的处理器执行每个设备的存储器中存储的计算机程序以处理这些操作。省略与图6中的步骤类似的图9中的步骤的解释。
在步骤S904中,DSD代理502参考地址信息下载应用程序522。在步骤S905中,为了将软件组件部署在用户终端120上,DSD代理502将所下载的应用程序522存储在备份811中。在步骤S906中,备份811与备份821同步,使得备份821可以从备份811接收应用程序522。在步骤S907中,备份821参考目标信息,通知DSD远程代理512新的应用程序522已变为可用。在步骤S911中,DSD远程代理512设置指示应用程序522已部署到目标用户终端120的部署标志。在步骤S912中,备份811与备份821同步,使得备份811可以接收部署标志。在步骤S913中,备份811通知DSD代理502部署标志已设置。
图10示出了服务部署表,该服务部署表是其中将绑定哈希1002用作查找不同服务1001的关键字的分布式哈希表。可以以各种方式(例如使用SHA-1或MD5)计算绑定关键字1003。服务码1004可以由二进制数据(例如序列化Java对象或JAR文档)或无格式源码(例如JavaScript代码)组成。因为哈希表是完全分布式的,多个SCA容器可以独立地添加或移除服务,从负载平衡的观点看,这是有益的。DSD远程代理502可以具有总是运行的和可用的服务布置表的单独实例。
本发明的实施例提供了自动软件组件注册。在开发综合服务时,此功能是有用的。根据已有技术,期望商业逻辑(即综合服务)的开发者知道要合并的软件组件的细节,以创建和执行预期的综合服务。通常地,在应用程序仓库130上注册的软件组件的开发者与综合服务的开发者不同。因此,综合服务开发者在创作服务组件时,创建用于应用程序仓库130上注册的软件组件的服务组件(例如WSDL)。综合服务开发者为其他开发者开发的软件组件创建服务组件是不方便的。综合服务开发者可能需要找到其他开发者书写的软件说明书。因此,对综合服务开发者方便的是:服务组件(与应用程序仓库130上注册的软件相对应)自动地注册到服务器110的知识库117,该注册与软件组件注册到应用程序仓库130同步。
如果软件组件良好地形成,该软件组件可以提供用于产生服务API(例如JSR-181和JSR-224)的足够信息。因此,可以自动地产生软件组件的接口部分。关于软件组件的绑定部分,也可以从软件组件的地址信息和应用程序仓库130的服务API自动地产生软件组件的DSD绑定。因此,可以自动地产生软件组件的接口部分和绑定部分并向知识库117注册服务组件。
本发明的实施例提供了动态绑定建立。在确定已下载的服务组件的服务API之前,不可能创建针对服务调用的服务参考的绑定。例外情况是:在调用服务组件之前,从服务调用者(SCA容器116)可用的各种参数(例如用户终端120的IP地址、静态TCP端口号)可以唯一地确定该服务API。但是以下情况不是:例如,当部署服务时,用户终端120位于NAT网关之后,并且动态地分配IP地址和TCP端口。在这种情况下,如果预先不具有该信息,则难以确定服务API。
此功能仅仅是将服务API添加到在步骤S608和S709中从用户终端向SCA容器116发送的响应消息。通过将新功能加入产生用于应用程序的服务API的DSD远程代理512中实现此功能。通常地,DSD远程代理512将SCA容器116调用所部署的应用程序522所需的信息通知SCA容器116。这样,SCA容器116可以通过此服务API调用应用程序522。
根据上述实施例,服务综合的灵活性得以增加并且服务开发的成本得以降低,而且综合服务的部署和执行变得更灵活,使得从作为生态系统的服务的开发者、提供者和消费者的角度看,服务综合的价值增加。综合服务可以容易地将软件组件集成到用户终端上,而无需提前部署服务。综合服务的开发者不需要关注软件部署和用户终端上的部署。用户终端上的软件的管理成本可以变得更低,因为动态软件部署可以让用户终端在服务调用已经完成后卸载应用程序。用户终端上的存储器的容量可以变得更小,因为动态软件部署可以让用户终端在服务调用已经完成后卸载软件。
虽然已经参考示例性实施例描述了本发明,应当理解本发明不限于所公开的示例性实施例。以下权利要求的范围符合最宽的解释,以便包含所有的这种修改和等同的结构和功能。

Claims (13)

1.一种用于执行由多个软件组件形成的综合服务的系统(100),所述多个软件组件包括第一软件组件和从所述第一软件组件参考的第二软件组件,所述系统(100)包括:
执行单元(116),被配置为执行所述第一软件组件;
指定单元(502),被配置为指定要用于下载所述第二软件组件的地址信息和预期执行所述第二软件组件的目标设备(120);以及
部署单元(512),被配置为将通过使用所述地址信息下载的所述第二软件组件部署到所述目标设备(120);
其中所述部署单元(512)被配置为:当所述执行单元(116)正在执行所述第一软件组件时部署所述第二软件组件,使得所述执行单元(116)能够调用所述第二软件组件。
2.根据权利要求1所述的系统(100),包括服务器(110)和多个用户终端(120),其中
所述服务器(110)包括所述执行单元(116)和所述指定单元(502);
每个用户终端(120)包括所述部署单元(512);以及
所述目标设备(120)是从所述多个用户终端(120)中选择的。
3.根据权利要求1或2所述的系统(100),其中所述指定单元(502)还被配置为:请求所述部署单元(512)下载所述第二软件组件并将所述第二软件组件部署到所述目标设备(120)。
4.根据权利要求1或2所述的系统(100),其中所述指定单元(502)还被配置为:请求所述部署单元经由提供所述第二软件组件的应用程序提供者(130)来下载所述第二软件组件并将所述第二软件组件部署到所述目标设备(120)。
5.根据权利要求2所述的系统(100),还包括用于管理所述多个软件组件的数据库(831),其中
所述服务器(110)被配置为与所述数据库(831)的第一备份(811)通信;
所述目标设备(120)被配置为与所述数据库(831)的第二备份(821)通信;
所述服务器(110)中的所述指定单元(502)还被配置为:下载所述第二软件组件并将所述第二软件组件注册到所述第一备份(811);以及
所述目标设备(120)中的所述部署单元(512)被配置为:在将所述第二软件组件从所述第一备份(811)向所述第二备份(821)同步之后,向所述执行单元(116)发送通知。
6.根据权利要求1至5中任意一项所述的系统(100),其中所述部署单元(512)被配置为:向所述执行单元(116)通知所述执行单元(116)用于调用所述第二软件组件所需的信息。
7.根据权利要求1至6中任意一项所述的系统(100),其中通过用于执行所述综合服务的参数来指定预期执行所述第二软件组件的所述目标设备(120)。
8.根据权利要求1至7中任意一项所述的系统(100),其中
每个软件组件包括定义所述软件组件的一个或更多个商业功能的接口部分以及定义所述软件组件和其他软件组件之间的访问机制的绑定部分,以及
所述第一组件的所述绑定部分包括要用于下载所述第二软件组件的所述地址信息。
9.根据权利要求8所述的系统(100),其中所述第一软件组件的所述接口部分与由用于执行所述综合服务的参数指定的目标设备(120)无关。
10.根据权利要求8或9所述的系统(100),还包括用于存储所述多个软件组件的所述接口部分和所述绑定部分的知识库(117),所述接口部分和所述绑定部分是自动地产生的。
11.一种用于执行由多个软件组件形成的综合服务的方法,所述多个软件组件包括第一软件组件和从所述第一软件组件参考的第二软件组件,所述方法包括:
开始(S601、S701、S901)执行所述第一软件组件;
指定(S602、S702、S902)要用于下载所述第二软件组件的地址信息和预期执行所述第二软件组件的目标设备(120);
将通过使用所述地址信息下载的所述第二软件组件部署(S606、S707、S908)到所述目标设备(120);以及
在执行所述第一软件组件期间,调用(S609、S710、S915)部署到所述目标设备(120)的所述第二软件组件。
12.一种用于系统中的服务器(110),所述系统用于执行由多个软件组件形成的综合服务,所述多个软件组件包括第一软件组件和从所述第一软件组件参考的第二软件组件,所述服务器(110)包括:
执行单元(116),被配置为执行所述第一软件组件;
指定单元(502),被配置为指定要用于下载所述第二软件组件的地址信息和预期执行所述第二软件组件的目标设备(120);其中
所述指定单元(502)还被配置为:当所述执行单元(116)正在执行所述第一软件组件时,请求所述目标设备(120)部署通过使用所述地址信息而下载的所述第二软件组件,使得所述执行单元(116)可以调用所述第二软件组件。
13.一种用于系统中的用户终端,所述系统用于执行由多个软件组件形成的综合服务,所述多个软件组件包括第一软件组件和从所述第一软件组件参考的第二软件组件,所述用户终端(120)包括:
接收单元(124),被配置为:接收要用于下载所述第二软件组件的地址信息;
部署单元(512),被配置为:将通过使用所述地址信息下载的所述第二软件组件部署到所述用户终端(120);以及
执行单元(126),被配置为:当正在执行所述第一软件组件的设备(110)调用所述第二软件组件时,执行所部署的第二软件组件。
CN2010800682091A 2010-07-23 2010-07-23 用于执行综合服务的系统、方法和设备 Pending CN103026338A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/062967 WO2012011196A1 (en) 2010-07-23 2010-07-23 A system, method, and device for executing a composite service

Publications (1)

Publication Number Publication Date
CN103026338A true CN103026338A (zh) 2013-04-03

Family

ID=45496636

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010800682091A Pending CN103026338A (zh) 2010-07-23 2010-07-23 用于执行综合服务的系统、方法和设备

Country Status (4)

Country Link
US (1) US20130124693A1 (zh)
EP (1) EP2596428A4 (zh)
CN (1) CN103026338A (zh)
WO (1) WO2012011196A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106660204A (zh) * 2014-08-28 2017-05-10 Abb瑞士股份有限公司 用于设置机器人单元的操作的设备、系统和方法,以及设备的使用

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622229A (zh) * 2012-02-24 2012-08-01 北京星网锐捷网络技术有限公司 一种不同类型的开发框架的融合方法、系统和装置
EP2720146A1 (en) * 2012-10-11 2014-04-16 Thomson Licensing Distributed application life-cycle management
CN103412756A (zh) * 2013-08-16 2013-11-27 中安消技术有限公司 一种基于Web服务的联网报警处置方法和系统
CN103685515A (zh) * 2013-12-13 2014-03-26 北京奇虎科技有限公司 一种应用下载的方法及系统
CN105205735A (zh) * 2015-10-08 2015-12-30 南京南瑞继保电气有限公司 电力调度数据云服务系统及实现方法
US10356214B2 (en) 2017-03-29 2019-07-16 Ca, Inc. Composing monolithic applications based on multi-container applications
JP6939237B2 (ja) * 2017-08-15 2021-09-22 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005032187A (ja) * 2003-07-11 2005-02-03 Ntt Comware Corp 端末間連携システムおよび端末間連携方法
CN1577251A (zh) * 2003-07-28 2005-02-09 国际商业机器公司 小服务器程序的远程协作方法和系统
US20070050446A1 (en) * 2005-02-01 2007-03-01 Moore James F Managing network-accessible resources
CN1959631A (zh) * 2005-11-04 2007-05-09 上海启明软件股份有限公司 一种基于itron的应用软件自主装配技术
JP2010154203A (ja) * 2008-12-25 2010-07-08 Toyota Motor Corp 情報通信システム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10133881A (ja) * 1996-09-03 1998-05-22 Fujitsu Ltd 分散システムにおけるリモート保守方式およびリモート保守プログラムを格納した記憶媒体
US7136912B2 (en) * 2001-02-08 2006-11-14 Solid Information Technology Oy Method and system for data management
EP1374051A1 (en) * 2001-03-28 2004-01-02 BRITISH TELECOMMUNICATIONS public limited company Component-based software distribution and deployment
US8150907B2 (en) * 2003-05-29 2012-04-03 Brother Kogyo Kabushiki Kaisha Composite service providing system for a plurality of communicatively connected electronic devices
KR101008977B1 (ko) * 2004-02-25 2011-01-17 삼성전자주식회사 OSGi 서비스 플랫폼 테스트 방법 및 이를 이용한테스트 툴
US20060159077A1 (en) * 2004-08-20 2006-07-20 Vanecek George Jr Service-oriented middleware for managing interoperability of heterogeneous elements of integrated systems
WO2008119364A1 (en) * 2007-04-02 2008-10-09 Telefonaktiebolaget Lm Ericsson (Publ) Technique for creating, modifying and executing composite services in a telecommunication network
US8311518B2 (en) * 2008-04-29 2012-11-13 Esmertec France Method and system for executing applications in wireless telecommunication networks
EP2283626B1 (en) * 2008-05-20 2018-07-11 Telefonaktiebolaget LM Ericsson (publ) Composite services provision within a telecommunications network
US8219683B2 (en) * 2009-03-31 2012-07-10 International Business Machines Corporation Enabling creation of converged internet protocol multimedia subsystem services by third-party application developers using session initiation protocol support
US20130013760A1 (en) * 2009-12-22 2013-01-10 Telefonaktiebolaget L M Ericsson (Publ) Method for Coordinating the Provision of a Composite Services
WO2011076236A1 (en) * 2009-12-23 2011-06-30 Telefonaktiebolaget L M Ericsson (Publ) Service selection for reduced composition cost
EP2520068B1 (en) * 2009-12-31 2017-05-31 Telefonaktiebolaget LM Ericsson (publ) Managing an execution of a composite service

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005032187A (ja) * 2003-07-11 2005-02-03 Ntt Comware Corp 端末間連携システムおよび端末間連携方法
CN1577251A (zh) * 2003-07-28 2005-02-09 国际商业机器公司 小服务器程序的远程协作方法和系统
US20070050446A1 (en) * 2005-02-01 2007-03-01 Moore James F Managing network-accessible resources
CN1959631A (zh) * 2005-11-04 2007-05-09 上海启明软件股份有限公司 一种基于itron的应用软件自主装配技术
JP2010154203A (ja) * 2008-12-25 2010-07-08 Toyota Motor Corp 情報通信システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
OSGI ALLIANCE: "OSGi Service Platform Core Specification (Release 4, Version 4.1)", 《HTTP://WWW.OSGI.ORG/RELEASE4/DOWNLOAD》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106660204A (zh) * 2014-08-28 2017-05-10 Abb瑞士股份有限公司 用于设置机器人单元的操作的设备、系统和方法,以及设备的使用

Also Published As

Publication number Publication date
EP2596428A1 (en) 2013-05-29
WO2012011196A1 (en) 2012-01-26
EP2596428A4 (en) 2014-08-06
US20130124693A1 (en) 2013-05-16

Similar Documents

Publication Publication Date Title
CN103026338A (zh) 用于执行综合服务的系统、方法和设备
AU2003291909B2 (en) System and method of creating and communicating with component based wireless applications
CA2604108C (en) System and method of representing data entities of standard device applications as built-in components
Rellermeyer et al. AlfredO: an architecture for flexible interaction with electronic devices
EP1576472B1 (en) System and method for building and execution of platform-neutral generic services client applications
US7836439B2 (en) System and method for extending a component-based application platform with custom services
KR100826147B1 (ko) 무선 컴포넌트 애플리케이션 구축 시스템 및 방법
CN100444108C (zh) 使用ui储存库的公共ui组件执行无线应用程序的系统和方法
EP1818820A1 (en) System and method for installing custom services on a component-based application platform
EP1723516A1 (en) System and method for building mixed mode execution environment for component applications
CN105554736A (zh) 用于动态地配置应用接入点设置的系统、设备和方法
EP1719288A4 (en) SYSTEM AND METHOD FOR ASYNCHRONOUS COMMUNICATION WITH WEB SERVICES USING MESSAGE DEFINITIONS
CN114125028A (zh) 微应用的运行方法、装置、设备、存储介质及程序产品
Zachariadis et al. Satin: a component model for mobile self organisation
WO2007074464A2 (en) Method and system for operating applications for remote terminal devices
KR20220059814A (ko) Api 요청 처리 시스템
CN109343970B (zh) 基于应用程序的操作方法、装置、电子设备及计算机介质
EP2810179B1 (en) Method and system for implementing a common data interface to web services
CN105122209A (zh) 从软件框架提供的网络服务
EP1851622A1 (en) Extending access to local software of a wireless device
CA2598238A1 (en) Simulating an application for subsequent deployment to a device
CN112527331A (zh) 基于fabric链码的线上管理方法、系统及存储介质
EP2101473B1 (en) Jini front-end component
Bartolomeo et al. Design and Development Tools for Next Generation Mobile Services
CN118170426A (zh) 基于微前端单仓架构的业务处理方法、装置以及架构

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned

Effective date of abandoning: 20170419

AD01 Patent right deemed abandoned