自适应面对服务结构部件的商业语境服务的制作方法

文档序号:6566954阅读:140来源:国知局
专利名称:自适应面对服务结构部件的商业语境服务的制作方法
技术领域
本发明涉及商务计算领域,尤其涉及基于商务系统的部件。 语境技术随着商家和客户通过像全球因特网和局部内联网那样的计算机通信网络 进一步互联,商务网点和以相同的方式整合商家和客户之间的交互的伴随计 算应用愈来愈复杂。为了在线解决商家对商家和商家对客户交互的迅速增长 问题,取代整合当组合在一起时,反映商家生命周期的多个分立应用,信息 技术人员越来越多地将注意力集中在构造和实现反映商家的整个生命周期的 完整商务网点解决方案上。因此,由于现代商务网点既可以是大型的也可以 是分布式的,所以商务系统被配置成以尽可能无缝的方式部署完整电子商务 系统。现在,从可以分别重新使用为不同解决方案创建商业进程的 一个或多个 部件中生成传统、独立、面向商务的应用是共同趋势。为了部署有助于开放面向服务结构(S0A)的企业级逻辑,这些部件的每一个可以将自身展示成符 合计算标准的一组服务。S0A基本上可以定义成一批服务。这些服务相互通 信,该通信可以涉及两个或更多个服务之间的简单数据传递、通过两个或更 多个服务的活动协调。在S0A中,客户机可以调用部件内的服务,以便进行操作,并且,可选 地,客户机可以接收响应。调用的服务一般可以包括配置成满足商业客户的 需要的商业服务,无论那些客户是个人客户还是其它商家。这些服务可以分 组成各种各样的S0A部件,其中,每个部件可以专用于像目录管理、购物车 管理、信用卡交易处理、营业税计算那样的功能。通过利用S0A,商务解决方案中的部件可以与涉及一个或多个分立商业 实体和一个或多个分立客户实体的较大商务解决方案中的其它商业进程互通。在传统商务平台产品中,商务模型代表像客户直接商务模型、商家直接
商务模型、供应链商务模型和需求链商务模型(仅举几个商务模型)那样的 商务解决方案。商务模型可以从一组公用部件中组装出来,以达到商务模型 所代表的所需影响。这样,随着对部件重新使用的高度需求,使部件适应商 务模型的方法可以避免不得不为每个解决方案定制部件。在商务模型内,可以组合无国籍交易(stateless transaction),以便 整体形成活动。活动的语境(context )可以通过形成实现商务;f莫型的商务系 统的基础的命令集中维护。语境可以包括像活动的参与方、支持活动完成的 资源和活动的媒体那样的活动的各个方面。例如,语境数据可以包含商店标 识符、公用语言标识符、或货币类型。使用集中语境管理要求专门管理定义商务模型的部件的范围以外的语境 数据。关于这一点,可以使用会话管理使多个请求之间的活动持续下去,以 便无需对每个请求重新建立与请求者相联系的活动的语境。但是,与商务系 统的会话管理部分的通信需要知道会话管理部分的接口和禁止实现S0A结构 化商务系统。发明内容根据本发明的一个方面,S0A商务系统可以包括向一个或多个访问客户 机展示接口并具有寄宿一个或多个商业部件的配置的部件逻辑容器。S0A商 务系统还可以包括位于容器内和向访问客户机展示接口的商业语境引擎。最 后,S0A商务系统可以包括位于容器内并具有调用商业部件的所选那几个和 与商业语境引擎通信的配置的商业部件外表(facade )。才艮据本发明的另一个方面,通过商业语境适应S0A中的商务系统部件的 方法可以包括响应从请求者那里接收到开始活动的请求,将活动令牌指定给 活动的至少一个语境。该方法可以进一步包括将活动令牌返还给请求者。最 后,该方法可以包括响应请求者结束活动的请求毁灭活动令牌。根据本发明的又一个方面,通过商业语境适应面向服务结构(S0A)中的 商务系统部件的计算机程序产品包含含有具体化在其中的计算机可读程序代 码的计算机可读媒体。该计算机可读程序代码包含配置成响应从请求者那里 接收到开始活动的请求,将活动令牌指定给所述活动的至少一个语境的计算 机可读程序代码、配置成将所述活动令牌返还给所述请求者的计算机可读程 序代码和配置成响应所述请求者结束所述活动的请求,毁灭所述活动令牌的计算机可读程序代码。本领域的普通技术人员通过结合附图阅读本发明的如下非限制性详细描 述,可以清楚地了解如权利要求书唯一定义的本发明的其它方向和特征。


现在参照附图,仅通过例子描述本发明的优选实施例,在附图中图1是按照本发明一个实施例的配置成管理自适应SOA部件的商业语境服务的商务系统的示意性例示;图2是按照本发明的一个实施例,例示利用图1的商务系统的商业语境服务的进程的方块图;图3是按照本发明的一个实施例,例示图1的商务系统的商业语境^^务的部件内利用的进程的方块图;图4是按照本发明的一个实施例,例示商业语境服务结构的对象图;和 图5A和5B合在一起,是按照本发明的一个实施例,例示配置成允许可变访问图4的结构的结构的对象图。
具体实施方式
本领域的普通技术人员应该认识到,本发明可以具体化成方法、系统、 或计算机程序产品。于是,本发明可以采取本文一般都称为"电路"或"模 块"的完全硬件实施例、完全软件实施例(包括固件、常驻软件、微码等)、 或组合软件方面和硬件方面的实施例的形式。此外,本发明可以采取含有具 体化在媒体中的计算机可读程序代码的计算机可用存储媒体上的计算机程序 产品的形式。可以利用任何适用计算机可读媒体。计算机可用或计算机可读媒体可以 是,例如,电、磁、光、电磁、红外、或半导体系统、装置、设备、或传播 媒体,但不局限于这些。计算机可读媒体的更具体例子(非穷举列表)包括 如下含有一条或多条电线的电连线、便携式计算机磁盘、硬盘、随机存取 存储器(RAM)、只读存储器U0M)、可擦除可编程只读存储器(EPR0M或闪 速存储器)、光纤、便携式光盘只读存储器(CD-ROM )、光存储设备、像支持 因特网或内联网的那些那样的传输媒体、或磁存储设备。请注意,计算机可 用或计算机可读媒体甚至可以是打印程序的纸或另 一种适用媒体,因为程序
可以通过,例如,纸或其它媒体的光扫描被电捕获,然后,如有必要,以适 当方式编译、解释、或处理,然后存储在计算机存储器中。在这种文档的语 境下,计算机可用或计算机可读媒体可以是可以包含、存储、通信、传播或 传输供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合 的程序的任何媒体。实现本发明的操作的计算机程序代码可以用像JavaTM7、SmalUalk或C++ 那样的面向对象编程语言写成(在美国、其它国家、或两者中,Java和所有 基于Java的商标和徽标(logo)都是SunMicrosystem公司的商标)。但是, 实现本发明的操作的计算机程序代码也可以用像"C"编程语言那样的传统过 程编程语言写成。程序代码可以全部在用户计算机上、部分在用户计算机上、 作为独立软件包、部分在用户计算机上和部分在远程计算机上、或全部在远 程计算机上执行。在后一种情形中,远程计算机可以通过局域网(LAN)或广 域网(WAN)与用户计算片几连"l妻,或可以与外部计算片几连接(例如,通过利用 因特网服务提供者的因特网)。下面参照根据本发明实施例的方法、装置(系统)和计算机程序产品的 流程图例示和/或方块图描述本发明。不言而喻,流程图例示和/或方块图中 的每个方块和流程图例示和/或方块图中的方块的组合可以通过计算机程序 指令实现。可以将这些计算机程序指令提供给通用计算机、专用计算机、或 其它可编程数据处理装置的处理器,以便形成这样一种机器,通过计算机或 其它可编程数据处理装置执行的指令创建实现在一个或多个流程图和/或方 块图方块中规定的功能/动作的模块。这些计算机程序指令也可以存储在可以指示计算机或其它可编程数据处 理装置以特定方式起用作的计算机可读存储器中,以便存储在计算机可读存 储器中的指令形成包括实现在一个或多个流程图和/或方块图方块中规定的 功能/动作的指令模块(means)的制品。也可以将计算机程序指令装载到计算机或其它可编程数据处理装置中, 使一 系列操作步骤可以在计算机或其它可编程数据处理装置上执行,形成计 算机实现进程,以便在计算机或其它可编程数据处理装置上执行的指令提供 实现在一个或多个流程图和/或方块图方块中规定的功能/动作的步骤。图1是配置成管理自适应SOA部件的商业语境服务的示范性但非排它性 商务系统的示意性例示。该商务系统可以包括包括万维网应用105的一个或 多个服务调用客户机平台,以及像网口客户机(portal client )、简单对象 访问协议(SOAP)客户机和万维网服务客户机(仅举几个)那样的其它客户 机140。为了有效例示起见,只详细示出了万维网应用105。万维网应用105可通信地与部件逻辑容器145耦合,部件逻辑容器145 又可以可通信地与永久存储设备190耦合。万维网应用105可以寄宿小服务 程序引擎110,小服务程序引擎110可以通过动作小服务程序115处理商务 服务的请求1"。动作小服务程序115又可以配置成调用与商务应用视图130 以及部件外表155逻辑链接的动作120,部件外表155被编程成调用位于部 件逻辑容器145内的一个或多个部件165内的商业逻辑。例如,部件外表155可以是与组合在一起时形成商务系统解决方案的一 个或多个部件165逻辑耦合的部件无国籍会话豆(SSB)。每个部件165可以 包括含有一个或多个任务命令180的控制器命令170。控制器命令170可以 进一步与配置成访问数据库19Q中的永久数据的访问逻辑175逻辑耦合。类 似地,商务应用视图130可以包括同样配置成访问数据库190中的永久数据 的访问逻辑135。尤其,部件外表155可以与商业语境引擎150耦合。商业语境引擎150 可以管理活动,其中,该活动可以包括来自一个或多个服务客户机的一系列 相继请求,以便将一系列相继请求当作服务客户机和通过部件165定义的商 务系统服务之间的单次对话来对待。语境引擎150负责管理与活动相联系的 商业语境。从图1的示意性例示中可明显看出,图1的SOA可以划分成两个主要部 分语境引擎和部件服务。语境引擎提供语境相关服务,而部件服务将外表 提供给命令并促进实例化和执行商务系统中的命令。图2是例示在执行系统 部件的商业逻辑的过程中,利用图1的商务系统的商业语境服务的进程的方 块图。如图2所示,客户机计算进程210可以建立与商业部件220以及商业语 境引擎230的通信链路。商业部件220可以包括可以调用具有控制器命令250 和下层任务(underlying task)命令260的形式的商业逻辑的部件外表240。 商业语境引擎230又可以包括与一个或多个商业语境280耦合的商业语境服 务270。在操作过程中,客户机计算进程210可以从可以包括特定的一组商业语 境的商业语境引擎230中获取活动令牌。客户机计算进程210随后可以在商 业任务的过程中将活动令牌传递给商业部件220,以便提供完成任务的语境 信息。例如,商业部件220可以进一步利用活动令牌的特定信息,通过与商 业语境引擎230的应用编程接口 (API)访问商业语境280的元素。具体地说,为了调用商业部件上的方法,客户机210或部件外表240可 以首先访问商业语境服务270的接口来获取活动令牌。在获取活动令牌的过 程中,客户机n0或部件外表240可以可选地供应在创建新活动期间可以用 于布置预装语境的初始化数据。随后,当在与商业部件220的接口上调用特 定方法时,客户机210可以将活动令牌传递给部件外表240。尤其,活动令牌可以用于将特定客户机请求期间有效的一组语境与各自 商业部件相联系。客户机可以在每次请求里都供应活动令牌,以指示来自商 业部件的客户机想要的经历。这些语境可以包括,例如,指示活动中的所请 求操作由特定实体执行,还是通过代表特定实体行动的实体执行的解决方案 语境。这些语境还可以包括提供全局化信息的全局化语境、为提升权利程序 寸是供信息的权利语境(entiUement context )、为特定内容l是供版本变化信 息的内容语境、为含有多个任务的进程指示当前任务或状态的任务语境和提 供审计信息的审计语境,这里仅举几种语境。商业任务的语境可以跨过一个或多个商业语境保持不变,该一个或多个 商业语境可以合并到处理任务时在不同商业部件之间传递的活动令牌中或被 该活动令牌引用。因此,每种商业语境的状态可以跨过请求和交易保持不变, 从而可以实现显著的性能提高。尤其,多个商业部件可以在像相同虚拟机那样的相同进程地址空间内工 作。在这种环境下,每个部件可以共享相同商业语境引擎。于是,包含或引 用活动语境的活动令牌的传递在部件内访问的过程中可以直接发生在部件之 间。具体地说,图3是按照本发明的一个实施例,例示图1的商务系统的商 业语境服务的部件内利用的进程的方块图。如图3所示,驻留在相同进程地 址空间内的两个商业部件310和320可以共享商业语境引擎330。因此,为 了在部件内调用的过程中在部件之间传递活动的语境,可以直接在商业部件 310和320之间传递商业语境引擎330生成的令牌。如图2和3两者所示,商业语境引擎可以逻辑划分成商业语境服务和一 个或多个商业语境。商业语境服务可以包括将在活动本身的有限寿命内在单 个标识符下各种部件使用的多个独特语境相联系的服务。活动的寿命可以跨 越多个请求和交易。更具体地说,商业语境服务是代表客户机负责管理活动 的解决方案控制器可以用于管理商业部件所需的一组语境的设施。商业语境 服务也可以用作部件用于获取部件所需的各种语境的接口 。商业语境又提供部件所需的数据和服务。具体地说,商业语境可以具有如下特征-语境可以根据解决方案要求为等效输入建立影响商业部件的输出的执 行环境。-对于给定输入,商业部件生成的输出对于一组相同语境可以是相同的。 -商业进程的客户机无需直接调用语境。取而代之,商业部件在执行请 求期间可以使用语境提供的服务。-语境提供一组服务方法,并可以可选地提供数据。 -语境的寿命从活动创建开始到活动完成结束。在进一步的例示中,图4是例示示范性商业语境服务结构的对象图。该 结构可以包4舌实i见Business Context Service才妾口 430的Business Context Service Implementation类410。 Business Context Service Implementation 类410可以包括对可以实现Activity Data 4妄口 440的至少一个Activity Data Implementat ion类420的引用。最后,Bus iness Context Service Imple— mentation类410可以包括对至少一个Activity Data Name Value Pairs类 450的引用。Business Context Service接口 430可以定义创建和管理活动语境的许 多方法成员,包括在活动开始时调用商业语境服务的一种或多种方法。例如, 响应含有指定活动数据的新活动的商业语境服务的调用,可以利用指定活动 数据创建活动。此外,可以利用指定活动数据名称值对创建活动。新活动还 可以进一步根据现有活动的克隆活动创建。最后,现有活动可以具有活动的 新语境边界,以便支持动态语境创建。一般说来,为用在本文公开的商业语境服务结构中而配置的商业语境类 (未示出)可以实现两种接口。第一种接口可以是商业部件可以用于与商业 语境实例交互和利用商业语境实例提供的数据检索或布置(populate)语境 信息的API接口。第二种接口可以是商业语境服务用于创建商业语境实例和 向商业语境实例指示什么时候商业语境实例利用初始化数据布置它的数据成 员、什么时候商业语境实例继续持有它的数据成员、什么时候商业语境实例 重新装载它的数据成员形成永久媒体和什么时候商业语境实例克隆它自己的 服务提供者接口 (SPI)。举例来说,Business Context Service的API可以包括-begin (...)-部件外表可以调用begin (...)方法以获取新活动。该活 动可以与定义在配置文件中的新商业语境实例相联系。-complete (...)-部件外表可以调用complete (. . )方法以终止活动和 毁灭与它相联系的一组商业语境实例。-clone (. . )-部件外表可以通过复制存储在现有商业语境实例中的信 息创建新活动。与之相比,Business Context Service的SPI可以包括- startRequest (...)-商业部件可以在为与活动相耳关系的请求或交易 进行任何语境相关操作之前调用startRequest (...)方法。因此,商业语境 服务可以进行有关于与活动相联系的语境的任何必要预处理。- endRequest (...)-商业部件可以在为与活动相联系的当前请求或交 易进行所有语境相关操作之后调用endRcqucst(...)方法。因此,商业语境 服务可以进行有关于与活动相联系的语境的任何必要后处理。- bindContext (...) - bindContext (...)方法允许商业部件动态地将新 语境与活动相联系。- f indContext (...) - f indContext (...)方法允许商业部件检索与活动 相联系的语境信息。_ updateContext (...)-叩dateContext (...)方法允许商业部件更新语境。Business Context Service Implementation类410可以以许多种方式 访问,包括通过无国籍会话豆和通过万维网服务包装(wrapper )。图5A和 5B合在一起,是按照一个实施例,例示配置成允许可变访问图4的商业语境 服务结构的结构的对象图。具体地说,在图5A中,实现Business Context Service Interface 530的Business Context Service Implementation 510 可以通过万维网服务包装520和经由访问豆540间接访问。可替代地,如图 5B所示,Business Context Service Implementation 510可以按月 、包装560 的无国籍会话豆570的方式通过服务包装560间接进行访问。
流程图和方块图例示了根据本发明各种实施例的系统、方法和计算机程 序产品的可能实现的结构、功能和操作。关于这一点,流程图或方块图中的 每个方块可以代表包含实现指定逻辑功能的一条或多条可执行指令的代码的 模块、分段、或一部分。还应该注意到,在一些可替代实现中,注释在方块 中的功能可能未按注释在图中的顺序发生。例如,相继显示的两个方块事实 上可能几乎同时执行,或视所涉及的功能而定,这些方块有时可以按相反的 顺序执行。还应该注意到,方块图和/或流程图例示的每个方块和方块图和/ 或流程图例示中的方块的组合可以通过执行特定功能或动作的基于专用硬件 系统、或专用硬件和计算机指令的组合实现。本文使用的术语只是用于描述特定实施例的目的,而无意限制本发明。 正如本文使用的那样,单数形式"一个"和"该"也有意包括复数形式,除 非上下文另外清楚指出。还应该进一步明白,术语"包含(动词)"和/或"包 含(分词)"当用在本说明书中时,规定存在所述特征、整数、步骤、操作、 元素和/或部件,但不排除存在或添加一个或多个其它特征、整数、步骤、操 作、元素、部件和/或它们的组群。对于本领域的普通技术人员来说,显而易见,可以不偏离本发明的精神 和范围地对本文所述的特定实施例作出许多修改和变更。
权利要求
1.一种具有面向服务结构(SOA)的商务系统,该商务系统包含向多个访问客户机展示接口并具有寄宿多个商业部件的配置的部件逻辑容器;位于所述容器内并向所述访问客户机展示接口的商业语境引擎;和位于所述容器内并具有调用所述商业部件中的所选那几个和与所述商业语境引擎通信的配置的商业部件外表。
2. 根据权利要求1所述的商务系统,其中,所述商业语境引擎 商业语境服务;和所述商业语境服务可访问的多个商业语境。
3. 根据权利要求1或2所述的商务系统,其中,所述访问客户机包含应 用服务器寄宿小服务程序。
4. 根据权利要求1或2所述的商务系统,其中,所述访问客户机包含万 维网服务客户机。
5. 根据前面任何一项权利要求所述的商务系统,其中,每个所述商业部 件包含与至少 一个任务命令耦合的控制器命令和配置成从永久存储设备中检 索数据的访问逻辑。
6. 根据权利要求2所述的商务系统,其中,所述部件外表包含配置为可 通信地与所述商业部件以及所述商业语境服务耦合的无国籍会话豆。
7. 根据权利要求2或6所述的商务系统,其中,所述商业语境服务是实 现商业语境服务接口的商业语境服务实现类的实例,所述商业语境服务接口 包含多种方法,所述方法定义供所述商业部件使用的应用编程接口 (API)和 在管理活动的商业语境时供所述商业语境服务使用的服务提供者接口 ( SPI )。
8. 根据权利要求7所述的商务系统,进一步包含配置成允许商业语境服 务访问豆访问所述商业语境服务实现类的所述实例的商业语境服务包装的实 例。
9. 根据权利要求7所述的商务系统,进一步包含配置成允许商业语境服 务包装实例访问所述商业语境服务实现类的所述实例的商业语境服务包装
10. 根据前面任何一项权利要求所述的商务系统,其中,商业语境引擎包含响应从请求者那里接收到开始活动的请求,将活动令牌指定给所述活动的至少一个语境的模块;将所述活动令牌返还给所述请求者的模块;和 响应所述请求者结束所述活动的请求,毁灭所述活动令牌的模块。
11. 一种通过商业语境适应面向服务结构(S0A)中的商务系统部件的方 法,该方法包含响应从请求者那里接收到开始活动的请求将活动令牌指定给所述活动的 至少一个语境;将所述活动令牌返还给所述请求者;和 响应所述请求者结束所述活动的请求,毁灭所述活动令牌。
12. 根据权利要求11所述的方法,进一步包含当从每个商业部件请求服 务时,将所述活动令牌传递给与所述活动相联系的每个所述商业部件,以便 为所述服务建立语境。
13. 根据权利要求11或12所述的方法,其中,响应从请求者那里接收 到开始活动的请求将活动令牌指定给所述活动的至少 一 个语境包含为所述活 动创建新语境。
14. 根据权利要求11或12所述的方法,其中,响应从请求者那里接收 到开始活动的请求将活动令牌指定给所述活动的至少 一 个语境包含将现有语 境与所述活动相结合。
15. 根据权利要求11或12所述的方法,其中,响应从请求者那里接收 到开始活动的请求将活动令牌指定给所述活动的至少一个语境包含克隆现有 活动的现有语境,以生成新语境。
16. 根据权利要求11到15的任何一项所述的方法,进一步包含 预处理所述活动中的请求;和 后处理所述活动中的请求。
17. —种通过商业语境适应面向服务结构(S0A)中的商务系统部件的计 算机程序产品,该计算机程序产品包含含有具体化在其中的计算机可读程序代码的计算机可读媒体,该计算机 可读程序代码包含配置成响应从请求者那里接收到开始活动的请求将活动令牌指定给所述 活动的至少 一 个语境的计算机可读程序代码;配置成将所述活动令牌返还给所述请求者的计算机可读程序代码;和 配置成响应所述请求者结束所述活动的请求,毁灭所述活动令牌的计算机可读程序代码。
18. 根据权利要求17所述的计算机程序产品,进一步包含配置成当从每 个商业部件请求服务时,将所述活动令牌传递给与所述活动相联系的每个所 述商业部件,以便为所述服务建立语境的计算机可读程序代码。
19. 根据权利要求17或18所述的计算机程序产品,其中,配置成响应 从请求者那里接收到开始活动的请求将活动令牌指定给所述活动的至少一个 语境的所述计算机可读程序代码包含配置成为所述活动创建新语境的计算机 可读程序代码。
20. 根据权利要求17或18所述的计算机程序产品,其中,配置成响应 从请求者那里接收到开始活动的请求将活动令牌指定给所述活动的至少一个 语境的所述计算机可读程序代码包含配置成将现有语境与所述活动相结合的 计算机可读程序代码。
21. 根据权利要求17或18所述的计算机程序产品,其中,配置成响应从请求者那里接收到开始活动的请求将活动令牌指定给所述活动的至少一个 语境的所述计算机可读程序代码包含配置成克隆现有活动的现有语境以生成 新语境的计算机可读程序代码。
22. 根据权利要求17到21的任何一项所述的计算机程序产品,进一步 包含配置成预处理所述活动中的请求的计算机可读程序代码;和配置成后 处理所述活动中的请求的计算机可读程序代码。
23. —种包含程序代码模块的计算机程序,所述程序代码模块适用于当 在计算机上运行所述程序时执行根据权利要求11到16的任何一项所述的方 法。
全文摘要
用于具有面向服务结构(SOA)的商务系统的方法、系统和装置。本发明的SOA商务系统可以包括向一个或多个访问客户机展示接口并具有寄宿一个或多个商业部件的配置的部件逻辑容器。SOA商务系统还可以包括位于容器内并访问客户机展示接口的商业语境(context)引擎。最后,SOA商务系统可以包括位于容器内并具有调用商业部件的所选那几个和与商业语境引擎通信的配置的商业部件外表(facade)。
文档编号G06Q10/00GK101156419SQ200680011129
公开日2008年4月2日 申请日期2006年3月31日 优先权日2005年4月5日
发明者维克托·钱, 达沙南德·库赛尔, 马克·W·哈伯德 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1