CN101652772A - 用于基于网络的服务的可执行脚本的对象模型 - Google Patents

用于基于网络的服务的可执行脚本的对象模型 Download PDF

Info

Publication number
CN101652772A
CN101652772A CN200880010768A CN200880010768A CN101652772A CN 101652772 A CN101652772 A CN 101652772A CN 200880010768 A CN200880010768 A CN 200880010768A CN 200880010768 A CN200880010768 A CN 200880010768A CN 101652772 A CN101652772 A CN 101652772A
Authority
CN
China
Prior art keywords
script
service
interface
data
applicable
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
CN200880010768A
Other languages
English (en)
Inventor
I·西勒罗
E·B·沃森
L·萨特库纳森
G·珀切斯
S·阿什卡尔
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN101652772A publication Critical patent/CN101652772A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5015Service provider selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Abstract

一种脚本模型可以通过包括与每一基于web的服务相关联的接口来包括到基于web的服务的链接。该接口可以执行用于与基于web的服务交换信息的各种功能,诸如发现、寻址、连接、配置、认证、以及其它功能。基于web的服务可以按与本地服务相似的方式在脚本模型内使用,该模型包括自动存储器管理、边界检验、数据转换、以及脚本执行的其它特征。

Description

用于基于网络的服务的可执行脚本的对象模型
背景
可以将脚本语言用于计算机系统中的大量管理功能。脚本语言使不同的预先存在的组件能够以某种方式连接来完成新的相关任务。在许多操作系统中,可以在脚本接口内使计算机系统中的各种组件和服务可用。
包括通过基于web的接口提供的服务在内的位于计算机系统外的服务通常难以相接,且不容易适用于脚本接口。
概述
一种脚本模型可以通过包括与每一基于web的远程服务或其它远程服务相关联的接口或适配器来包括到基于web的服务的链接。该接口可以执行用于与远程服务交换信息的各种功能,诸如发现、寻址、连接、配置、认证、以及其它功能。远程服务可以按与脚本模型内的本地服务相似的方式来使用,这些本地服务包括自动存储器管理、边界检验、数据转换、以及脚本执行的其它特征。
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
附图简述
在附图中:
图1是显示用于各种服务的脚本系统的实施例的图示。
图2是显示到远程服务和可以被使用的各种组件的连接的实施例的图示。
图3是显示用于某些适配器功能的方法的实施例的流程图。
图4是显示用于安装适配器的方法的实施例的流程图。
详细描述
通过为每一远程服务提供适配器来使基于web的远程服务或其它远程服务可由脚本环境用于管理或其它任务。该适配器可以包括发现、连接、以及其它使基于web的服务能够在脚本环境内如本地服务一样运作的任务。
脚本环境可以是命令行界面、用于解释预定义脚本的解释器、或任何其它可执行脚本接口。
为变得在脚本接口中可用的每一基于web的远程服务或其它远程服务提供通信和数据接口功能。在某些实施例中,客户机侧接口可以与可执行脚本的接口在相同的设备上操作来为服务执行部分或全部通信和数据接口功能,而在其它实施例中部分或全部通信和数据接口功能可以由远程服务执行。
通过网络连接提供的基于web的远程服务或其它远程服务可以符合预定义的数据类型,以便可以为本地服务与基于网络的服务两者平滑地在服务之间传送数据。
使用本发明的具体实施例来示出本发明的具体方面。这些实施例仅作为示例,且易于作出各种修改和替换形式。所附权利要求书旨在覆盖落入由权利要求书所定义的本发明的精神和范围内的所有修改、等效物、以及替换。
本说明书通篇中,所有附图的描述中相同的附图标记表示相同的元素。
在将元素称为被“连接”或“耦合”时,这些元素可以直接连接或耦合在一起,或者也可以存在一个或多个中间元素。相反,在将元素称为被“直接连接”或“直接耦合”时,不存在中间元素。
本发明可被具体化为设备、系统、方法、和/或计算机程序产品。因此,本发明的部分或全部能以硬件和/或软件(包括固件、常驻软件、微码、状态机、门阵列等)来具体化。此外,本发明可以采用其上包含有供指令执行系统使用或结合其使用的计算机可使用或计算机可读程序代码的计算机可使用或计算机可读存储介质上的计算机程序产品的形式。在本文的上下文中,计算机可使用或计算机可读介质可以是可以包含、存储、通信、传播、或传输程序以供指令执行系统、装置或设备使用或结合其使用的任何介质。
计算机可使用或计算机可读介质可以是,例如,但不限于,电、磁、光、电磁、红外、或半导体系统、装置、设备或传播介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。
计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由指令执行系统访问的任何其它介质。注意,计算机可使用或计算机可读介质可以是其上打印有程序的纸张或另一合适的介质,因为程序可以经由例如对纸张或其它介质的光学扫描而电子地捕获,随后如有必要被编译、解释,或以其它合适的方式处理,并随后存储在计算机存储器中。
通信介质通常以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并包括任意信息传送介质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外线和其它无线介质。上述中任一组合也应包括在计算机可读介质的范围之内。
当本发明在计算机可执行指令的一般上下文中具体化时,该实施例可以包括由一个或多个系统、计算机、或其它设备执行的程序模块。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,程序模块的功能可以在各个实施例中按需进行组合或分布。
图1是显示用于各种服务的脚本系统的实施例100的图示。实施例100示出可以如何在脚本接口中组合并操作若干不同服务。这些服务包括在本地设备上操作的服务以及包括基于web的服务在内的通过因特网可用的服务。
脚本接口102可以是能够执行单个命令行脚本或可以包括分支或其它逻辑的更复杂的预定义脚本103的命令行界面或其它接口。脚本接口102可以使不同服务能够使用诸如流水线命令等各种机制连接。为使服务互操作,可向每一服务应用或由其使用统一查询语言104或统一对象模型。统一查询语言104或统一对象模型可以定义输入和输出数据的类型以及提供自动存储器管理、边界检验、以及其它功能。
可以使用许多不同的脚本语言和接口。在某些实施例中,可以使用单命令行界面来交互地执行各个任务。其它实施例可以在没有命令行界面的情况下执行预定义的基于文本的脚本。各种实现还可以使用不同命令句法和命令名称。
某些脚本环境可以具有外壳或其它命令行类型界面,而其它脚本环境可以包括在运行时或者被解释为独立应用程序或者被解释为嵌入在应用程序中的语言。某些脚本环境可以是应用程序专用的且可以执行另一应用程序内的各种功能,包括网页内的脚本或可用于扩展或修改游戏或商业应用程序的脚本。
脚本接口102是不同服务可通过其来连接以提供有用功能的机制。可以将一个服务的输出发送到另一服务来连接这两个服务并执行否则将难以编程的复杂功能。通用脚本语言可以使用流水线命令来将一个服务的输出定向到另一服务的输入。
本地服务106可以由脚本接口102直接调用且可以是在操作该脚本接口102的主机设备上可用的服务。在某些实例中,本地服务106可以是在被调用时由该脚本接口102直接执行的可执行文件。本地服务106的示例可以是显示目录的内容的目录命令。在其它实例中,该本地服务106可以是在系统上可操作且可以对命令做出响应的进程。示例可以是可使用脚本接口102来直接查询的SQL服务器应用程序。
本地服务110可以通过适配器108连接到该脚本接口。适配器108可以执行各种任务以便本地服务110可以与脚本接口102一起操作。适配器108可以执行诸如数据转换、与本地服务106通信、或其它使该本地服务110能够符合统一查询语言104的功能等任务。
流水线命令或其它连接机制可以使将包括远程服务在内的两个不同服务连接在一起变得可能。例如,脚本命令可以调用返回用户列表的功能并将第一功能的输出与远程功能的输入连接,该远程功能诸如将用户列表作为新用户添加到远程顾客资源管理系统,其是基于web的应用程序。流水线或其它连接机制可以使用非常简单的命令结构来连接两个服务,其中一个是本地的,一个是远程的。两个服务之间的转换的许多复杂性可以在统一查询语言104内处理。此外,连接到远程服务的复杂性、向服务认证、以及在脚本接口102与远程服务之间转换数据还可以对用户是透明的。
适配器112可以提供通过因特网114到远程服务116的连接。远程服务116可以是任何类型的服务,包括基于web的服务。适配器112可以提供用于将远程服务116集成到脚本接口102中的若干功能。这些功能可以包括连接、认证、发现、以及各种转换功能。
远程服务116的示例可以是通过因特网114提供的顾客资源管理(CRM)系统。该CRM系统可以具有用户可以用于使用web浏览器来与系统交互的web接口。该CRM系统还可以具有适配器可以用于执行各种功能的接口。无限数量的其它服务、功能、以及操作可以由远程服务116执行。
在某些实施例中,适配器112可以使与基于web的接口可以允许的功能集相同的功能集对脚本接口102可用。在其它实施例中,适配器112可以使更多数目的命令和功能可用,而在还有一些实施例中,精简命令集是可用的。某些实施例可以具有通过脚本接口102可用的、通过其它接口不可用的专用命令集。这些专用命令可以包括一般对远程服务116的另一用户不可用的各种管理任务。
适配器112可以使远程服务116能够使用相同工具且如果服务是本地服务106那样在脚本接口102中操作并操纵。在某些实施例中,远程服务116可以具有可以通过脚本接口102执行的若干不同功能或命令。适配器112可被配置为识别针对远程服务116的命令并将这些命令传递到远程服务116。在一命令被适配器112识别时,可以建立与远程服务116的会话来处理该命令。
远程服务116可以具有各种连接要求,包括用户认证,这可以包括可以认证特定用户或会话的密码、数字签名、或数字证书等。服务116内且与适配器112协调的附加功能可以授权用户执行特定功能。在某些实施例中,远程服务116可以具有匿名登录或其它不要求认证和授权的连接机制。
适配器118可以将脚本接口102与本地服务120和可通过因特网114获得的远程服务122连接。适配器118可以提供具有本地和远程组件的混合服务。通过脚本接口102变得可用的某些命令或功能可能需要其一部分由本地服务120来执行而另一部分由远程服务122来执行。这种服务的示例可以涉及对顾客资源管理系统的查询,其返回因特网数据库与顾客名称本地数据库的交叉引用。
图2是显示用于到远程服务器的连接的功能体系结构的实施例200的图示。实施例200显示了可用于通过因特网114将脚本接口102和适配器112连接到远程服务116的机制的详细示例。
适配器112包含可以相应地转换脚本接口102与远程服务116之间的传入和传出数据的输入功能204和输出功能206。输入功能204和输出功能206可以转换、格式化传入或传出数据或提供对该数据的任何改变。在某些实例中,输入功能204和输出功能206可以提供简单的数据格式化或数据的配置,而在其它实例中,可以将复杂操纵、计算、或其它功能应用于数据。
在某些实施例中,输入功能204或输出功能206可以组合来自两个或更多源的数据。例如,输出功能206可以将来自远程服务器116上的两个数据库查询的数据组合成在脚本接口102中使用的数据格式。另一示例可以将远程服务116的输出与本地服务218的输出相组合来为脚本接口102产生单个输出集。在另一示例中,可以将来自脚本接口102的单个功能调用转换为两个或更多单独的命令,其中某些命令可以由远程服务116执行而其它命令由本地服务218执行。
在某些实施例中,输入功能204和输出功能206可以驻留于在用于远程服务116的主机设备或另一连接到因特网114的设备上操作的远程适配器220中。转换、聚集、解释、格式化、或以其它方式操纵数据以在脚本接口102与远程服务116之间传递的功能还可以由两个或更多增量转换功能来执行。在这一实施例中,输入功能204和输出功能206的一部分可以在适配器112中执行,而一部分在远程适配器220中执行。
在某些实施例中,在远程服务116被设计成与脚本接口一起操作且不使用转换或格式化时,输入功能204和输出功能206的功能可以是远程服务116所固有的。
适配器引擎208可以协调适配器112的各种功能。适配器引擎208可以检测用于远程服务116的命令已经从脚本接口102处被调用,且可以执行用于建立到远程服务116的连接并向脚本接口102返回数据的各种任务。这种任务的示例可以包括发现远程服务116的位置或地址、通过因特网114建立连接以及向远程服务116认证。
适配器引擎208可以如同本地服务那样与脚本引擎102接口。适配器引擎208可以用一组预定义的命令连接到脚本接口102,适配器引擎可被配置成确认和处理该组命令。在某些实施例中,适配器208可以接收不可由脚本引擎中的其它本地服务识别的命令,并可以尝试寻找可以处理该命令的远程服务116。
适配器引擎208可以具有可以在将适配器112被安装到主存脚本接口102的系统时建立的一组预定义命令。在某些实施例中,可以为每一远程服务116安装适配器112。在其它实施例中,适配器112可用于两个或更多远程服务116。在这一实施例中,可以在安装新的远程服务116时将每一远程服务116所支持的命令添加到现有适配器112。
在指定适配器引擎208接收来自脚本引擎102的未识别命令时,该适配器引擎可以执行因特网114的搜索或远程服务的数据库的搜索来确定命令是否可由远程服务来处理。在某些实施例中,适配器112可以维护可包含若干远程服务和远程服务所支持的各种命令的本地数据库。在命令被适配器112接收时,可以使用该命令来查询数据库以确定执行该命令的合适的远程服务。在相似的实施例中,可以将适配器引擎208配置成连接到远程数据库来确定可以执行特定命令的远程服务。
发现模块216可以在来自脚本接口102的命令之前并响应于来自脚本接口102的功能调用来执行发现操作。
在命令由脚本接口102发出之前,发现模块216可以联系远程服务116并下载远程服务116所支持的命令集。在某些情况下,命令集可以是用于远程服务的标准可用命令集合,而在其它情况下,命令集可以是用户被授权的那些特定命令。例如,用户可以支付订阅费用或具有使该用户能够访问远程服务器的命令集的有限部分的帐户。这些用户对其具有授权的命令在脚本接口内是可用的。
在从脚本接口102接收到功能调用时,发现模块216可以确定用于联系远程服务116的合适机制。在某些实例中,发现模块216可以搜索因特网114来寻找匹配功能调用的服务。
例如,来自脚本接口102的命令可以包括对不可作为本地服务获得的服务的引用。发现模块216可以搜索远程服务的数据库来确定远程服务是否可用并检索可以用来连接到远程服务的地址或其它信息。
在另一示例中,来自脚本接口102的命令可以包括网站地址、远程服务器统一资源定位符(URL)、唯一名称、或可由发现模块216用来寻找远程服务116的其它信息。在这一示例中,发现模块216可以接收远程服务116的地址或其它定位符来确定远程服务116的正确地址或其它连接信息。在某些实例中,发现模块216可以联系可以提供特定远程服务的更新过的地址或特定URL的中介设备。
在某些实例中,远程服务116可以具有可以对许多不同命令做出响应的单个URL或地址。在其它实例中,每一命令可以具有用于每一命令的特定URL。此外,URL可以具有适配器112可用于将数据传送到远程服务116的句法。
连接模块212可以执行建立与远程服务116的连接会话的功能。取决于精确的实施例,连接模块212可以使用不同的方式建立与远程服务116的连接。连接模块212的某些实施例可以通过拨号连接、直接因特网连接、或任何其它机制连接到远程服务116。在每一情况中,连接模块212可以通过激活合适的硬件、执行握手、或其它步骤来建立通信会话。连接模块212还可以在适配器112与远程服务116之间建立加密或安全连接。
认证模块214可以提供用于远程服务116的自动认证功能。认证功能可以包括使用特定用户标识登入远程服务116、提供密码、发送经数字签名的真实性文档、凭证、或任何其它安全或标识措施。在其中远程服务116可以是购买的服务或可以处理敏感数据的实施例中,可以使用各种形式的认证。在某些实例中,认证可以由远程服务116用来确定如果有功能的话则为适配器112提供哪个功能。
网络接口210可以是到任何类型的网络的任何类型的接口。在某些实施例中,网络接口210可以连接到对局域网的硬连线以太网连接,且局域网可以具有到因特网114的网关。在其它实施例中,网络接口210可以是到可以提供到因特网114的连接的无线接入点的无线连接。这种设备可以是具有无线连接的膝上型计算机或使用到网络的蜂窝连接的手持式移动电话设备。每一实施例可以具有网络连接的不同实现。
在某些实例中,远程服务116可以是基于web的服务。这种服务可以具有被展示的应用程序编程接口(API),以使一个诸如执行适配器112的设备等设备能够与远程服务116通信并使用远程服务116执行指令。
图3是显示某些适配器功能的方法的实施例300的流程图图示。实施例300显示接收功能调用、执行发现功能、连接到远程服务、以及与远程服务通信来接收某些结果的过程。这些结果被传送回脚本接口。其它实施例可以具有以不同方式配置且配置成执行不同动作的适配器。
在框302,从脚本接口接收对远程服务的功能调用。适配器可被配置成作为对脚本接口的本地服务集成到脚本接口中。在某些实施例中,适配器可以是在发出对该适配器的命令时启动的可执行程序。在其它实施例中,适配器可以是在设备上执行的进程。适配器可以使用该适配器可以执行的特定命令集来配置。在其它实施例中,适配器可以被配置成接收任何命令或大命令集且尝试发现并连接到可以为该命令服务的远程服务。
可以执行发现功能330,该执行包括在框304中连接到远程服务的通用URL且在框306中请求用于当前情况的特定URL。发现功能330可以在不同情形中使用来执行不同任务。
在第一种情形中,适配器可被预配置成对特定命令做出响应。在发出命令时,在框304,该适配器可以连接到远程服务的通用URL来确定远程服务存在并在框306确定是否要对该命令使用不同的URL。
在第二种情形中,适配器可以被或可以不被预配置成对特定命令做出响应。在框302处传送的命令可以是在框304处适配器可在命令数据库中搜索的任意命令,以便确定可以对该命令做出响应的远程服务的URL或其它地址。在框304,通用URL可以是搜索因特网来寻找远程服务的搜索引擎。在其它情况下,在框304中,通用URL可以是可包含特定命令或命令组的特定URL的远程服务的数据库。
在框308建立到远程服务的连接。在适配器与远程服务之间建立连接可以取决于各种因素,且可以包括设立使用低层硬件协议以及较高层协议的连接来建立会话。会话的示例可以是使用在开放式通信系统互连(OSI)参考模型中定义的会话层建立的会话。每一实施例的细节可以随着每一实施例中的硬件和软件而发生很大的变化。在某些实施例中,在框308中所建立的连接可以包括在适配器与远程服务之间创建加密或安全连接。
在框310可以向远程服务认证用户。在某些实例中,框310的认证可以包括使用用户标识和密码来连接、传送数字签署的证书、提供加密密钥、传送各种凭证、或可用于认证适配器的用户的任何其它机制。认证可以提供远程服务可用于验证用户具有对特定功能的授权或访问的机制。在某些实例中,可以允许未经认证的用户访问来自远程服务的有限功能集,而可以给予经认证的用户对完整功能集的访问。在某些实例中,可以基于订阅值或某些其它因素来认证用户并给予用户对功能的特定子集的访问。
在框312,开始适配器与远程服务之间的会话。在框314接收来自脚本接口的输入并在框316将其转换为用于远程服务的格式。在框318将数据传送到远程服务并在框320从远程服务接收数据。在框322将所接收的数据转换为用于脚本接口的格式并在框324将数据传送到该脚本接口。
脚本接口和远程服务的每一实施例可以具有用于将数据传入或传出自每一组件的特定语言、句法、数据格式、以及数据类型。在框316和322中数据的转换可以是任何类型的变换、分析、格式化、聚集、或数据的其它操纵。在某些实施例中,框316和322中的数据转换可以涵盖复杂计算、来自多个来源的数据的聚集、或其它处理。
如果在框316中将执行更多通信,则该过程回到框314。否则,在框328中可以拆毁通信会话且该过程可以回到框302。在某些实施例中,可以建立通信会话并持续一段时间,而在一段不活动时间之后,可以终止该会话。这一实施例在发现、连接、以及认证的过程是复杂或费时的时候可以是有用的。
在某些实施例中,适配器与远程服务之间的每一通信可以创建单个的通信会话。在某些实施例中,可以为从适配器传送到远程服务的数据建立通信会话且为从远程服务到适配器的通信建立另一通信会话。
图4是显示用于安装适配器的方法的实施例400的流程图图示。实施例400示出一方法,通过该方法,远程服务可以在将远程服务安装到脚本接口的过程期间提供许多不同组件。
该过程起始于框402。在框404选择一远程服务来安装,且在框406建立到该远程服务的连接。在框408,用户可以使用用户标识和远程服务所需的认证来登录到该远程服务。
在某些实施例中,在框406和408,用户可以通过诸如web浏览器或其它应用程序等接口来连接到远程服务并向远程服务认证。在这一实施例中,用户可以对该远程服务执行若干附加配置动作,包括订阅该服务、选择特定特征、或其它功能。在其它实施例中,在框406和408可以执行自动连接和认证。
在登录和认证之后,在框410可以下载适配器且在框412可以将该适配器安装到脚本接口中。在某些实施例中,脚本接口可以具有可用于安装各种服务的机制。在某些情况下,安装服务可以包括将适配器复制到特定目录或给予该适配器特定名称。在其它实施例中,远程服务可以通过配置脚本接口内的各种参数来安装。其它实施例可以具有可用于将适配器添加到系统的机制,以使脚本接口可以识别该适配器或向该适配器传送命令。
在框414可以下载可用命令集,并在框416将该命令集安装到脚本接口中。在某些实施例中,脚本接口可以使用定义的功能或命令集来操作。框414和416的过程可以检索这些命令并使它们变得对脚本接口可用。每一脚本接口可以具有用于处理附加命令的不同方式。在某些实施例中,可以不执行框414和416。
连接和认证信息可以在框418中下载,并在框420中被用来配置连接模型以及在框422中配置认证模型。该过程可以结束于框424。
实施例400是下载可以是通用的适配器、以及诸如特定可用命令列表和连接与认证信息等某些用户专用定制的安装过程的示例。这一安装过程可以通过使用web浏览器连接到远程服务提供者并配置该服务、随后下载适配器和所定制的模块来执行。
以上对本发明的描述是出于说明和描述的目的而提出的。它不旨在穷举本主题或将本主题限于所公开的精确形式,且鉴于以上教导其它修改和变型都是可能的。选择并描述实施例来最好地解释本发明的原理及其实践应用,从而使本领域的其他技术人员能够在各种实施例和各种适于所构想的特定用途的修改中最好地利用本技术。所附权利要求书旨在包括除受现有技术所限的范围之外的其它另选的实施例。

Claims (20)

1.一种方法,包括:
通过脚本接口接收对服务的功能调用(302),所述服务是通过网络连接提供的;
执行连接功能(308)来连接到所述服务;
从所述脚本接口接收输入数据(314);
将所述输入数据(318)传送到所述服务;
从所述服务接收输出数据(320);以及
将所述输出数据(324)传送到所述可执行脚本的接口。
2.如权利要求1所述的方法,其特征在于,还包括:
为所述服务执行发现功能来确定所述服务的网络地址。
3.如权利要求1所述的方法,其特征在于,还包括:
向所述服务执行认证功能。
4.如权利要求1所述的方法,其特征在于,所述网络连接包括通过因特网的连接。
5.如权利要求1所述的方法,其特征在于,所述服务是基于web的服务。
6.如权利要求1所述的方法,其特征在于,所述脚本接口包括命令行界面。
7.如权利要求1所述的方法,其特征在于,所述脚本接口包括解释器。
8.如权利要求1所述的方法,其特征在于,所述脚本接口适用于解释预定义脚本。
9.如权利要求1所述的方法,其特征在于,还包括将所述输入数据转换为第一数据格式,所述第一数据格式与所述服务兼容。
10.如权利要求1所述的方法,其特征在于,还包括将所述输出数据转换为第二数据格式,所述第一数据格式与所述可执行脚本的接口兼容。
11.一种包括适用于执行如权利要求1所述的方法的计算机可执行指令的计算机可读介质。
12.一种脚本系统,包括:
适用于接收脚本并解释所述脚本的脚本接口(102),所述脚本接口在客户机设备上可操作;
可通过网络连接(116)操作的服务,所述服务包括:
适用于接受第一预定义格式的输入数据的输入功能(204);以及
适用于传送第二预定义格式的输出数据的输出功能(206);以及
适用于将所述客户机设备连接到所述服务的连接模块(212)。
13.如权利要求12所述的脚本系统,其特征在于,所述输入功能包括适用于在所述客户机设备上操作的数据转换器。
14.如权利要求12所述的脚本系统,其特征在于,所述第一预定义格式和所述第二预定义格式是相同的。
15.如权利要求12所述的脚本系统,其特征在于,还包括适用于向所述服务认证用户的认证模块。
16.一种基于网络的服务,包括:
到网络(210)的接口;
适用于接受输入数据的输入功能(204);
适用于传送输出数据的输出功能(206);
用于脚本接口的客户机适配器(202),所述客户机适配器可在客户机设备上操作且适用于:
通过脚本接口接收对服务的功能调用(302),所述服务是通过网络连接提供的;
执行连接功能(308)来连接到所述服务;
从所述脚本接口接收输入数据(314);
将所述输入数据(318)传送到所述服务;
从所述服务接收输出数据(320);以及
将所述输出数据(324)传送到所述可执行脚本的接口。
17.如权利要求12所述的基于网络的服务,其特征在于,所述客户机适配器还适用于:
为所述服务执行发现功能来确定所述服务的网络地址。
18.如权利要求12所述的基于网络的服务,其特征在于,所述客户机适配器还适用于:
向所述服务执行认证功能。
19.如权利要求12所述的基于网络的服务,其特征在于,所述客户机适配器还适用于:
将所述输入数据转换为第一数据格式,所述第一数据格式与所述服务兼容。
20.如权利要求12所述的基于网络的服务,其特征在于,所述客户机适配器还适用于:
将所述输出数据转换为第二数据格式,所述第二数据格式与所述可执行脚本的接口兼容。
CN200880010768A 2007-03-29 2008-02-26 用于基于网络的服务的可执行脚本的对象模型 Pending CN101652772A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/731,206 US20080244514A1 (en) 2007-03-29 2007-03-29 Scriptable object model for network based services
US11/731,206 2007-03-29

Publications (1)

Publication Number Publication Date
CN101652772A true CN101652772A (zh) 2010-02-17

Family

ID=39796526

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880010768A Pending CN101652772A (zh) 2007-03-29 2008-02-26 用于基于网络的服务的可执行脚本的对象模型

Country Status (5)

Country Link
US (1) US20080244514A1 (zh)
EP (1) EP2143019A4 (zh)
JP (1) JP2010525426A (zh)
CN (1) CN101652772A (zh)
WO (1) WO2008121462A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012058871A1 (zh) * 2010-11-03 2012-05-10 中兴通讯股份有限公司 客服自动化方法及系统

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2653979B1 (en) * 2006-02-13 2019-09-11 Google LLC Systems and methods for managing hosted services
US9043409B2 (en) * 2009-06-11 2015-05-26 Qualcomm Incorporated Methods and apparatus for a plug-in model for publishing structured meta-data based discovery
KR101264615B1 (ko) * 2011-06-17 2013-05-27 (주)네오위즈게임즈 게임 서버의 작업 파일 실행 장치 및 방법
CN103177040A (zh) * 2011-12-26 2013-06-26 腾讯科技(深圳)有限公司 网页应用的功能调用方法及装置
US9338071B2 (en) 2014-10-08 2016-05-10 Google Inc. Locale profile for a fabric network
US10389589B2 (en) * 2017-05-05 2019-08-20 Servicenow, Inc. Unified device and service discovery across multiple network types
US20220067024A1 (en) * 2020-08-27 2022-03-03 Mastercard International Incorporated Facilitating performance of database operations using microservices
IL311031A (en) * 2021-08-31 2024-04-01 Nutcracker Therapeutics Inc A state machine based application and system for generating computer code snippets

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256635B1 (en) * 1998-05-08 2001-07-03 Apple Computer, Inc. Method and apparatus for configuring a computer using scripting
US6513063B1 (en) * 1999-01-05 2003-01-28 Sri International Accessing network-based electronic information through scripted online interfaces using spoken input
US20060265475A9 (en) * 2001-03-19 2006-11-23 Thomas Mayberry Testing web services as components
US7502833B2 (en) * 2001-05-11 2009-03-10 International Business Machines Corporation Method for dynamically integrating remote portlets into portals
US20030163448A1 (en) * 2002-02-26 2003-08-28 Sun Microsystems, Inc. Scripting service for translating browser requests into command line interface (CLI) commands
US20030163570A1 (en) * 2002-02-26 2003-08-28 Sun Microsystems, Inc. Command line interface session tool
US20030204612A1 (en) * 2002-04-30 2003-10-30 Mark Warren System and method for facilitating device communication, management and control in a network
US20040024764A1 (en) * 2002-06-18 2004-02-05 Jack Hsu Assignment and management of authentication & authorization
US7409674B2 (en) * 2002-12-26 2008-08-05 Research In Motion Limited System and method of creating and communicating with component based wireless applications
US20040207659A1 (en) * 2003-04-02 2004-10-21 International Business Machines Corporation Program creation by combining web services using graphic user interface controls
US7114146B2 (en) * 2003-05-02 2006-09-26 International Business Machines Corporation System and method of dynamic service composition for business process outsourcing
US7526770B2 (en) * 2003-05-12 2009-04-28 Microsoft Corporation System and method for employing object-based pipelines
JP2005055983A (ja) * 2003-08-06 2005-03-03 Canon Inc サービス管理方法、サービス管理装置および制御プログラム
US7870199B2 (en) * 2003-10-06 2011-01-11 Aol Inc. System and method for seamlessly bringing external services into instant messaging session
US8151281B2 (en) * 2004-01-09 2012-04-03 International Business Machines Corporation Method and system of mapping at least one web service to at least one OSGi service
EP1566940A1 (en) * 2004-02-20 2005-08-24 Alcatel Alsthom Compagnie Generale D'electricite A method, a service system, and a computer software product of self-organizing distributing services in a computing network
US7676472B2 (en) * 2004-06-07 2010-03-09 International Business Machines Corporation Method and apparatus for accessing web services
US7992127B2 (en) * 2004-12-23 2011-08-02 International Business Machines Corporation Method and system of encapsulating web site transactions for computer-aided generation of web services
US7591006B2 (en) * 2004-12-29 2009-09-15 Sap Ag Security for external system management
JP2006195555A (ja) * 2005-01-11 2006-07-27 Toshiba Tec Corp ウェブサービス処理装置及びウェブサービス起動方法並びにウェブサービス起動プログラム
WO2006096667A1 (en) * 2005-03-07 2006-09-14 Computer Associates Think, Inc. System and method for providing data manipulation as a web service
CN1835507A (zh) * 2005-03-17 2006-09-20 国际商业机器公司 用于用户与web浏览器交互的服务器端处理的方法与系统
US20060265662A1 (en) * 2005-05-19 2006-11-23 Custom Credit Systems, L.P. System and method for generating and updating user interfaces of web-based applications

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012058871A1 (zh) * 2010-11-03 2012-05-10 中兴通讯股份有限公司 客服自动化方法及系统

Also Published As

Publication number Publication date
US20080244514A1 (en) 2008-10-02
WO2008121462A1 (en) 2008-10-09
EP2143019A1 (en) 2010-01-13
EP2143019A4 (en) 2011-01-26
JP2010525426A (ja) 2010-07-22

Similar Documents

Publication Publication Date Title
CN101652772A (zh) 用于基于网络的服务的可执行脚本的对象模型
CN101185061B (zh) 利用多个网络应用管理文档的系统和方法
CN101971656B (zh) 延期的运营商配置
CN100593166C (zh) 便携式计算环境
RU2342693C2 (ru) Способы и устройство для дарения по сети передачи данных
US20110154441A1 (en) Online development environment server, online marketplace server, online development environment constituting method, and developed application providing method
CN105264492B (zh) 系统行为的自动发现
CN101753560B (zh) 用于便携式设备的无线网络接入的预配置
TW200828971A (en) System, apparatus and method for creating service accounts and configuring devices for use therewith
US20110138074A1 (en) Content distribution management device, terminal, program, and content distribution system
JP2007509382A (ja) 可動性装置プラットフォーム
WO2018160358A1 (en) Techniques for device discovery and configuration
US20070186107A1 (en) User authentication system and data providing system using the same
JP6966631B2 (ja) ブロックチェーンをベースにしたOne IDサービスシステム及び方法
EP2624517A1 (en) Application store system and development method using the application store system
CN103906034A (zh) 移动应用提供方法、服务器
CN103391278A (zh) 终端连接服务器的方法和系统
CN103533520B (zh) 用于在通信网络环境中提供电子设备的远程通信的装置和方法
CN1661982B (zh) 自动配置访问控制的方法和系统
TW200522631A (en) Mobility device platform
US10021082B2 (en) Integration of form and file services
JP2009077031A (ja) 携帯通信装置、モバイルコンピュータ、組織内システム、プログラム、外部通信接続制御システム、および、外部通信接続制御方法
JP2005327090A (ja) 電子機器及び情報処理装置
CN107111514B (zh) 延后连结身份至账号的方法
JP4054626B2 (ja) 情報端末装置、及びプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20100217