中间件和使用该中间件实现业务逻辑的方法

文档序号:6557588阅读:182来源:国知局
专利名称:中间件和使用该中间件实现业务逻辑的方法
技术领域
本发明涉及一种在企业系统的遗留系统(legacy system)与移动设备之间进行数据通信的中间件,以及使用该中间件实现业务逻辑(businesslogic)的方法。更具体地,本发明涉及一种用于提供使系统管理员能够更容易地管理业务逻辑的用户界面的中间件。
背景技术
近来,许多企业试图对用于管理业务功能的分布式计算系统进行集成。而且,企业的一个重要目标是通过将诸如蜂窝电话、PDA、笔记本等的移动设备与已对企业内部的业务功能进行管理的遗留系统和/或数据库相结合,来构建一种能够使业务集中化、并能够进行外部业务的远程控制的集成系统。
大多数企业已构建并使用它们自己的计算系统和数据库来管理它们内部的业务功能。然而,如果为了构建这种集成系统要显著地修改现有的操作系统或者现有数据库的结构,则浪费了时间和人力,并且在某些情况下,已经用来管理业务功能的业务逻辑不能像现在这样被使用。因此,最理想的是将现有的业务管理系统(或者应用)和数据库(下文称为“遗留系统”)与移动设备进行集成,同时尽可能地像现在这样使用该遗留系统。
同时,常规上,用于管理特定业务功能的业务应用由以诸如C、C++、JAVA等语言编程的源代码和例如以隐藏在源代码中的SQL语句(statement)编程的业务逻辑构成。可以通过编译该应用的整个程序来执行该业务逻辑。此外,在改变隐藏在该应用中的业务逻辑的情况下,应修改整个程序以修正业务逻辑。而且,只要改变了业务逻辑,则整个程序应在执行前被重新编译。
因此,一旦该应用被集成系统采用,就应修改整个应用程序以修正业务逻辑。如果集成系统的系统管理员没有透彻地理解该系统,则存在系统管理员很难修改隐藏在该应用的代码中的业务逻辑的问题,因此,浪费了系统管理时间和成本。

发明内容
因此,本发明的目的是提供一种用于将遗留系统与移动客户端相结合而不显著改变遗留系统的中间件。具体地,本发明的目的是提供一种使系统管理员容易地管理集成系统的业务逻辑的用户界面。
此外,本发明的目的是提供一种可以容易地应用于集成系统而与现有遗留系统的操作系统和数据库的种类无关的中间件。
可以通过独立权利要求中描述的组合来实现以上和其他目的。从属权利要求进一步限定了本发明的有利的和示例性的组合。
根据本发明的第一方面,提供了一种用于遗留系统与客户端之间的经由有线或无线通信网络的数据通信的中间件,其中所述中间件包括业务逻辑数据库,用于存储业务逻辑;对象创建模块,用于确定业务逻辑运行所利用的遗留系统,并创建针对所述业务逻辑的业务对象,使得所述业务对象可以被所述遗留系统处理;业务逻辑检索模块,用于从客户端接收对业务逻辑的请求,并在所述业务逻辑数据库中检索所述业务逻辑,在所述客户端所请求的所述业务逻辑存在于所述业务逻辑数据库中的情况下,所述业务逻辑检索模块响应于所述请求返回由所述对象创建模块创建的针对所述业务逻辑的所述业务对象;以及实例创建模块,用于创建并返回所述业务对象的实例。
根据本发明的第二方面,提供了一种使用用于客户端与遗留系统之间的经由有线或无线通信网络的数据通信的中间件来实现业务逻辑的方法,其中所述方法包括以下步骤准备用于存储业务逻辑的业务逻辑数据库;确定业务逻辑运行所利用的遗留系统;创建针对所述业务逻辑的业务对象,使得所述业务对象可以被所述遗留系统处理;从客户端接收对业务逻辑的请求;在所述业务逻辑数据库中检索所述业务逻辑;在所述客户端请求的所述业务逻辑存在于所述业务逻辑数据库中的情况下,响应于所述请求,返回针对所述业务逻辑的所述业务对象;以及创建并返回所述业务对象的实例。
本发明的综述未必描述了本发明的所有必要特征。本发明也可以是上述特征的子组合。根据以下结合附图对实施例的描述,本发明的以上和其他特征与优点将变得更明了。


图1是示出使用根据本发明实施例的中间件的、移动客户端与遗留系统的集成系统的示意性框图。
图2是示出根据本发明的中间件的结构实施例的框图。
图3a和图3b分别示出根据本发明实施例的提供给系统管理员计算机的网页示例。
图4是示出根据本发明实施例的实现业务逻辑的处理流程示例的示意性框图。
图5是示出使用根据本发明实施例的中间件来实现业务逻辑的方法示例的流程图。
具体实施例方式
现在将根据优选实施例来描述本发明,所述优选实施例并不是意图限制本发明的范围,而是例示本发明。在实施例中描述的所有特征及其组合未必是本发明不可缺少的。
图1是示出使用根据本发明实施例的中间件的、移动客户端与遗留系统的集成系统的示意性框图。如图1中所示,移动通信设备(下文称为“客户端”)10经由通信网络20(有线通信网络或者诸如CDMA、无线局域网等的无线通信网络)与中间件100连接。中间件100与包括遗留系统30的服务器连接。中间件100包括用于在客户端10、中间件100与遗留系统30之间传输数据的网关。由于网关的结构并非本发明的核心,并且用来实现网关的硬件或软件技术在本发明所属领域是公知的,因此在本申请中略去对网关的详细描述。
遗留系统30可以是诸如ERP(企业资源计划)系统、CRM(客户关系管理)系统、SAP R/3等的商业企业应用,或者诸如Oracle、MS-SQL等的数据库管理系统。此外,遗留系统30不仅可以是这种只管理企业的业务功能的企业应用软件,还可以是外部系统。在这种情况下,中间件100使用套接字(socket)通信与该外部系统连接。此外,遗留系统30包括用于数据处理的各种处理器。
即使在存在多种遗留系统的情况下,本发明的中间件100也可以用于遗留系统与移动客户端的集成。而且,中间件100可以提供使系统管理员能够容易地管理集成系统的业务逻辑的用户界面。下面将详细描述中间件100的结构和优点。
图2是示出根据本发明实施例的中间件100的结构实施例的框图。
中间件100包括业务逻辑数据库110、对象创建模块120、业务逻辑检索模块130、实例创建模块140以及代理模块150。
业务逻辑数据库110存储多个业务逻辑,每个业务逻辑是用于管理特定业务功能的过程或方法的集合。业务逻辑的类型根据业务逻辑运行所利用的遗留系统的种类而不同。例如,利用DBMS系统运行的业务逻辑包括SQL语句、函数、过程等,而利用SAP/R3运行的业务逻辑包括sap&jco库中所包括的SAP函数。在遗留系统是外部系统的情况下,业务逻辑包括用于套接字通信的协议类型的数据。
如上所述,由于本发明的中间件100包括用于存储独立于遗留应用程序代码的业务逻辑的数据库,因此与业务逻辑隐藏在遗留应用程序代码中的传统集成系统相比,更容易管理业务逻辑,例如,从数据库中删除业务逻辑、修改存储在数据库中的业务逻辑、或者向数据库添加新的业务逻辑。
理想的是业务逻辑数据库110存储作为各个业务逻辑的标识符的业务逻辑标识符和作为业务逻辑运行所利用的遗留系统的标识符的遗留系统标识符,以及业务逻辑。下面将详细描述这个特征。
对象创建模块120针对存储在业务逻辑数据库110中的业务逻辑创建业务对象。采用面向对象的方法,将由业务逻辑限定的业务功能分解为构件(component)或元素(element)的集合。该构件或元素的集合称为业务对象。换言之,帮助识别业务对象的结构和行为的业务专用规则的集合,与当该对象使其行为受系统中的其他对象作用时必须满足的前置条件和后置条件一起,被称为业务逻辑。而且,业务对象具有某种架构以支持与客户端或遗留系统的会话。
在如上所述业务逻辑数据库110一起存储遗留系统标识符和业务逻辑的情况下,对象创建模块120通过遗留系统标识符可以知道业务逻辑用哪个遗留系统运行,并创建具有用于支持与该遗留系统的会话的架构的业务对象。
客户端10发送用于使业务逻辑进行其所要求的数据处理的请求。业务逻辑检索模块130从业务逻辑数据库110中存储的业务逻辑中检索出客户端10所请求的业务逻辑。在本实施例中,如上所述,业务逻辑数据库110可以一起存储业务逻辑标识符和业务逻辑。在这种情况下,客户端10将它请求的业务逻辑的标识符以及应当被该业务逻辑处理的数据(下文称为“待处理数据”)发送给中间件100。在本实施例中,业务逻辑检索模块130通过比较从客户端10接收的标识符与存储在业务逻辑数据库110中的业务逻辑标识符,可以确定业务逻辑数据库110中是否存在该业务逻辑。
实例创建模块140创建由对象创建模块120所创建的业务对象的实例。
此外,中间件100还可以包括代理模块150。代理模块150用作上述模块之间的数据通信的通道,并且使得中间件100的结构易于调节。更具体地,包括业务逻辑数据库110、对象创建模块120、业务逻辑检索模块130以及实例创建模块140的中间件100,客户端10以及遗留系统30经由代理模块150互相收/发数据。例如,代理模块150经由网关从客户端10接收待处理数据和对于检索业务逻辑的请求,并且将该请求传递给业务逻辑检索模块120。此外,代理模块150将对象创建模块130创建的针对业务逻辑的业务对象传递给实例创建模块140,并且将实例创建模块140所创建和返回的业务对象的实例传递给业务逻辑运行所利用的遗留系统30。此外,代理模块150将从遗留系统30接收的数据处理的结果传递给客户端10。
根据以上构造,在存在来自客户端10的对数据处理的请求的情况下,中间件100检索客户端10进行数据处理所需的业务逻辑,并针对该业务逻辑创建业务对象,使得该业务对象可以被遗留系统30处理。因此,即使在使用了各种客户端设备和遗留系统的情况下,也可以毫无麻烦地进行数据处理,同时不做额外的工作。具体地,由于在需要的时候立刻创建实体,因此可以在客户端与遗留系统之间实时地进行数据处理。
此外,因为业务逻辑单独存储在业务逻辑数据库110中,所以在需要添加、删除或修改业务逻辑的情况下不必改变应用源代码。这使得系统管理员能够集中于解决企业的业务问题,而不是将他或她的精力耗费在系统级的问题上,并且显著地提高了系统的灵活性。
为了提供使系统管理员更轻松的界面,中间件100还可以包括界面模块160。界面模块160提供如图1所示的集成系统与系统管理员之间的界面,其使得系统管理员能够对业务逻辑数据库110中存储的业务逻辑进行控制。为此,在本实施例中,界面模块160生成网页或文本页面并将其提供给系统管理员,系统管理员可以经由所述网页或文本页面直接控制业务逻辑。
例如,图3示出了这种对于系统管理员的网页的示例。图3a示出用于显示存储在业务逻辑数据库110中的业务逻辑的列表的网页示例。在网页的下部有“新建”、“修改”、“删除”、“检查”和“详细情况”按钮。设置“新建”按钮以创建新的业务逻辑并将该业务逻辑存储在业务逻辑数据库110中。设置“修改”、“删除”和“检查”按钮以分别修改、删除和检查存储在业务逻辑数据库110中的业务逻辑。设置“详细情况”按钮以设定存储在业务逻辑数据库110中的业务逻辑的详细情况。
图3b示出如何通过图3a中所示的网页添加业务逻辑。如果系统管理员按下图3a中所示的网页下部的“新建”按钮,则生成并激活图3b中所示的新窗口。该窗口包括多个字段,例如业务逻辑所属的组、命令类型、业务ID(即业务逻辑的标识符)、业务逻辑的名称、是否检查交易、SID(即遗留系统的标识符)以及命令。当系统管理员输入每个字段的值并随后按下“保存”按钮时,由系统管理员输入的字段值限定的业务逻辑被记录在业务逻辑数据库110中。由于修改或删除业务逻辑的方法与上述添加业务逻辑的方法相似,因此略去关于如何修改或删除业务逻辑的详细描述。
如上所述,根据本发明的中间件包括用于存储业务逻辑的单独的数据库,并由此可以提供使得系统管理员更容易地管理业务逻辑的界面。
此外,与传统的集成系统不同,由于系统管理员通过使用提供给系统管理员的计算机的界面可以进行业务逻辑的删除、修改、添加等,而无需修改全部应用程序代码。因此,即使是一个对系统级问题所知甚少的系统管理员也可以非常容易地管理业务逻辑。
理想的是使用诸如JAVA的面向对象的语言来实现各个模块110、120、130、140、150和160。注意,本领域技术人员参阅以上描述可以容易地实现这些模块。在本申请中没有详细描述用于实现各模块的具体方法,因为对本领域技术人员来说这只是设计上的再简单不过的改变,并且其对本发明的范围没有影响。
图4是示出根据本发明实施例的实现业务逻辑的处理流程示例的示意性框图。
当建立了客户端10与中间件100之间的连接并且对客户端10分配了会话时,客户端10将待处理数据发送到网关。然后,网关将一个负责与客户端10进行数据通信的线程分配给该会话,并将待处理数据传递给中间件100的代理模块150。
然后,加载存储在业务逻辑数据库110中的业务逻辑,并且对象创建模块120创建针对业务逻辑的业务对象,使得业务对象可以适当地执行它们的功能。
同时,代理模块150将对于用于处理从客户端10接收的数据所需的业务逻辑的请求传递给业务逻辑检索模块130,并且业务逻辑检索模块130对该业务逻辑进行检索。如果从业务逻辑数据库110中找出了该业务逻辑,则业务逻辑检索模块130将对象创建模块120所创建的针对该业务逻辑的业务对象返回给代理模块150。
如果没有从业务逻辑数据库110中找出该业务逻辑,则理想的是生成错误消息并将其传递给客户端10和/或系统管理员。
代理模块150接收该业务对象并将其传递给实例创建模块140。然后,实例创建模块140创建业务对象的实例并将该实例返回给代理模块150。
理想的是在将实例传递给遗留系统30之前弄清楚遗留系统30是否可用于数据处理。在确定了遗留系统30不可用的情况下,生成错误消息并将其发送给客户端10和/或系统管理员。在确定了遗留系统30可用的情况下,代理模块150将该实例传递给遗留系统30。然后,当数据处理的结果被返回给代理模块150时,代理模块150将该结果经由网关发送给客户端。
图5是示出使用根据本发明实施例的中间件100实现业务逻辑的方法示例的流程图。
当建立了客户端10与服务器之间的连接时(S1000),给客户端10分配会话,并且向线程池(thread pool)请求以下线程,即,该线程将负责客户端10与服务器之间的通信。此时,在线程池中存在可用的空闲线程的情况下,将所述空闲线程分配给客户端会话。在线程池中没有空闲线程的情况下,检查同时连接的数量。如果该连接数量没有超过可允许同时连接的最大值,则创建线程并将其分配给客户端会话。否则,客户端10等待被分配线程。
当给客户端会话分配了线程时(S1010),从客户端10向中间件100的代理模块150发送待处理的数据和用于识别处理数据所需的业务逻辑的标识符(S1020)。
此时,加载存储在业务逻辑数据库110中的业务逻辑,并且对象创建模块120创建针对业务逻辑的业务对象。对于业务逻辑数据库110中存储的各个业务逻辑,对象创建模块120例如根据与业务逻辑对应并且存储在业务逻辑数据库110中的遗留系统标识符,确定该业务逻辑运行所利用的遗留系统。于是,对象创建模块120创建针对该业务逻辑的业务对象,其具有支持与遗留系统的会话的架构(S1030)。
然后,业务逻辑检索模块130从所加载的业务逻辑中检索出客户端10所请求的业务逻辑(S1040)。在业务逻辑数据库110中没有客户端10所请求的业务逻辑的情况下(S1040否),生成错误消息并将其发送给客户端10和/或系统管理员。当收到错误消息时,系统管理员可以通过上述用户界面提供的窗口页面或文本页面建立和输入新的业务逻辑。
在业务逻辑数据库110中存在客户端10所请求的业务逻辑的情况下(S1040是),将针对该业务逻辑的业务对象返回给代理模块150。
然后,代理模块150将业务对象传递给实例创建模块140。实例创建模块140创建该业务对象的实例并将该实例返回给代理模块150(S1050)。
然后,确定业务逻辑运行所利用的遗留系统是否可用于数据处理(S1060)。在遗留系统不可用的情况下(S1060否),生成错误消息并将其发送给客户端10和/或系统管理员。此时,在遗留系统可用的情况下(S1060是),代理模块150将实例创建模块140所创建的实例传递给遗留系统30(S1070)。当完成了数据处理时,将数据处理的结果返回给代理模块150(S1080)。
根据本发明,将业务逻辑存储在单独的数据库中,这使得业务逻辑的管理,例如修改、添加和删除简单容易。而且,可以容易地实现以下用户界面,经由该用户界面系统管理员直接管理业务逻辑。由此,显著地提高了集成系统的灵活性。
此外,即使是对系统级的问题所知甚少的系统管理员也可以很容易地管理业务逻辑。因此,可以显著地减少系统管理时间和费用。
虽然通过示例性实施例的方式描述了本发明,但是应当理解,在不偏离仅由所附权利要求限定的本发明的精神和范围的情况下,本领域技术人员可以作出许多更改和替换。
本申请要求2005年9月13日提交的韩国专利申请No.2005-85325的优先权,其内容在此通过引用并入。
权利要求
1.一种用于遗留系统与客户端之间的经由有线或无线通信网络的数据通信的中间件,包括业务逻辑数据库,用于存储业务逻辑;对象创建模块,用于确定业务逻辑运行所利用的遗留系统,并创建针对所述业务逻辑的业务对象,使得所述业务对象可以被所述遗留系统处理;业务逻辑检索模块,用于从客户端接收对业务逻辑的请求,并在所述业务逻辑数据库中检索所述业务逻辑,在所述客户端所请求的所述业务逻辑存在于所述业务逻辑数据库中的情况下,所述业务逻辑检索模块响应于所述请求返回由所述对象创建模块创建的针对所述业务逻辑的所述业务对象;以及实例创建模块,用于创建并返回所述业务对象的实例。
2.如权利要求1所述的中间件,还包括代理模块,所述代理模块用于将从所述客户端接收的所述请求传递给所述业务逻辑检索模块,将所述业务逻辑检索模块返回的所述业务对象传递给所述实例创建模块,以及将所述实例创建模块返回的实例传递给所述遗留系统。
3.如权利要求1或2所述的中间件,其中所述业务逻辑数据库还与所述业务逻辑相对应地存储业务逻辑标识符,所述业务逻辑标识符是用于识别所述业务逻辑中每一个的标识符,从所述客户端接收的所述请求包括用于识别所述被请求的业务逻辑的标识符,并且所述业务逻辑检索模块通过比较从所述客户端接收的所述请求中包含的所述标识符与存储在所述业务逻辑数据库中的所述业务逻辑标识符,来检索所述被请求的业务逻辑。
4.如权利要求1所述的中间件,还包括界面模块,该界面模块与系统管理员的计算机连接,并且向所述系统管理员提供使所述系统管理员能够修改或删除存储在所述业务逻辑数据库中的业务逻辑或者向所述业务逻辑数据库添加新的业务逻辑的界面。
5.如权利要求4所述的中间件,其中所述界面模块生成网页或文本页面,并且将所述网页或文本页面提供给所述系统管理员的所述计算机,所述系统管理员经由所述网页或文本页面修改或删除所述业务逻辑数据库中的业务逻辑或者向所述业务逻辑数据库添加新的业务逻辑。
6.如权利要求1或2所述的中间件,其中所述业务逻辑数据库与所述业务逻辑相对应地存储遗留系统标识符,所述遗留系统标识符是用来对所述业务逻辑数据库中存储的所述业务逻辑中每一个运行所利用的遗留系统进行识别的标识符,并且所述对象创建模块根据与业务逻辑相对应地存储在所述业务逻辑数据库中的所述遗留系统标识符来确定所述业务逻辑运行所利用的遗留系统。
7.一种使用用于遗留系统与客户端之间的经由有线或无线通信网络的数据通信的中间件来实现业务逻辑的方法,所述方法包括以下步骤(1)准备用于存储业务逻辑的业务逻辑数据库;(2)确定业务逻辑运行所利用的遗留系统;(3)创建针对所述业务逻辑的业务对象,使得所述业务对象可以被所述遗留系统处理;(4)从客户端接收对业务逻辑的请求;(5)在所述业务逻辑数据库中检索所述业务逻辑;(6)在所述客户端请求的所述业务逻辑存在于所述业务逻辑数据库中的情况下,响应于所述请求,返回在所述步骤(3)中创建的针对所述业务逻辑的所述业务对象;以及(7)创建并返回所述业务对象的实例。
8.如权利要求7所述的方法,还包括步骤(7-1)将所述实例传递给所述业务逻辑运行所利用的所述遗留系统。
9.如权利要求7或8之一所述的方法,还包括步骤(1-1)与所述业务逻辑相对应地存储业务逻辑标识符,所述业务逻辑标识符是用来识别存储在所述业务逻辑数据库中的所述业务逻辑中每一个的标识符,其中在所述步骤(4)中从所述客户端接收的所述请求包括由所述客户端所请求的所述业务逻辑的标识符,并且在步骤(5)中,通过比较从所述客户端接收的所述请求中包含的所述标识符与存储在所述业务逻辑数据库中的所述业务逻辑标识符来检索所述客户端所请求的所述业务逻辑。
10.如权利要求7所述的方法,还包括步骤(8)向系统管理员提供使得所述系统管理员能够修改或删除存储在所述业务逻辑数据库中的业务逻辑或者向所述业务逻辑数据库添加新的业务逻辑的界面。
11.如权利要求10所述的方法,其中所述界面包括提供给所述系统管理员的计算机的网页或者文本页面。
12.如权利要求7或8所述的方法,还包括步骤(1-2)与所述业务逻辑相对应地存储遗留系统标识符,所述遗留系统标识符是用来对存储在所述业务逻辑数据库中的所述业务逻辑中每一个运行所利用的遗留系统进行识别的标识符,其中在所述步骤(2)中,根据与业务逻辑相对应地存储在所述业务逻辑数据库中的所述遗留系统标识符来确定所述业务逻辑运行所利用的遗留系统。
全文摘要
本发明涉及一种用于遗留系统与客户端之间的经由有线或无线通信网络的数据通信的中间件。所述中间件包括业务逻辑数据库,用于存储业务逻辑;对象创建模块,用于确定业务逻辑运行所利用的遗留系统,并创建针对所述业务逻辑的业务对象,使得所述业务对象可以被所述遗留系统处理;业务逻辑检索模块,用于从客户端接收对业务逻辑的请求,并在所述业务逻辑数据库中检索所述业务逻辑,在所述客户端所请求的所述业务逻辑存在于所述业务逻辑数据库中的情况下,所述业务逻辑检索模块响应于所述请求返回由所述对象创建模块创建的针对所述业务逻辑的所述业务对象;以及实例创建模块,用于创建并返回所述业务对象的实例。
文档编号G06F9/44GK1933462SQ200610065709
公开日2007年3月21日 申请日期2006年3月10日 优先权日2005年9月13日
发明者南宫光, 李伦硕, 边楠勋 申请人:韩美爱提株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1