专利名称:具有会话管理和分布式管理功能以及相应的操作管理机制的web应用系统的制作方法
技术领域:
本发明涉及一个具有会话管理和分布式管理功能的Web应用系统,更具体的是涉及包含一个操作管理机制的Web应用系统和相应的操作管理机制,其中上述操作管理机制执行诸如读取Web应用系统工作状态,设置处理服务器工作环境,设置应用工作进度表,和分析日志与性能的操作。
在Web应用系统中,当一个客户端访问一个处理服务器以请求处理时,处理服务器使用一个对应的应用提供所请求的处理。并且,处理服务器返回数据以作为处理客户端请求的结果。
各个公司根据其自身的情况构造自己的这种Web应用系统。当在一个封闭环境中构造Web应用系统时(例如,当只在一个公司(客户端)内部构造系统时),可以管理,维护系统,也可以使用根据有关客户端定制的应用来管理系统。
然而,被用于Web应用系统的应用正变得越来越多。并且,其生命周期正在变短。所以,从费用和风险的角度看一个单独的公司难以固定维护一个满足业务需要的应用环境。并且,被用于Web应用系统的各种类型的应用正变得越来越复杂和成熟。所以从操作和维护的角度看,实际上一个单独的公司(客户端)自然难以构造其自己的Web应用系统。
鉴于这种情况和国际互联网络及其他网络的迅速发展和成长,更普遍的情况是若干公司(客户端)通过网络共享一个单独Web应用系统(集成Web应用系统)。
但在很多公司或其他客户端接连利用上述集成Web应用系统访问某个应用的情况(ⅰ)下,如果某个客户端在前面一个请求之后发出一个当前处理请求,则处理服务器通常通过一个不同于前面请求的会话处理当前请求。即,一旦结束会话则开始一个新会话。
为了更详细地解释这种情况,在一个Web应用系统中,当一个客户端访问一个服务器并且请求处理时,服务器使用一个应用完成所请求的处理并且向客户端发送结果数据。在这种情况下,常规Web应用系统通过CGI(公共网关接口)使用一个被称作HTTP(超文本传送协议)的协议。在这个协议中,会话在服务器返回客户端请求的数据的时间点上结束。并且,已知使用经过扩展的独特API(应用编程接口)(例如,Netscape通信公司的Web服务器或微软公司的Web服务器)的方法可以作为能够进行会话管理的方法。
如上所述,在很多公司或其他客户端接连利用上述集成Web应用系统访问某个应用的情况下,如果某个客户端在前面一个请求之后发出一个当前处理请求,则一旦会话结束便会开始一个新会话。
结果,当根据诸如处理跨越若干Web页面的多个请求进行处理时,客户端必须停留通过前面的请求获得的处理结果数据。例如,在一个商业系统中,所有客户端必须通过处理服务器和客户端(PC)之间的对话保留有关会话管理和下一次处理内容的信息,所以带来了麻烦,即超出了处理能力上限或者所需的处理时间延长。
并且,在很多公司或其他客户端利用一个上述集成Web应用系统访问各种应用的情况(ⅱ)下,由于一个单独处理服务器集中进行处理,处理服务器必须是一个具有大容量的大规模服务器以便能够同时接受很多客户端的访问。然而,以这种方式在一个单独的大规模服务器中进行集中处理在整个系统的安全和可靠性以及系统的可扩充性方面是有问题的。
当前很少有能够解决在上述(ⅰ)和(ⅱ)中描述的问题,可以有效和经济地实现并且实际上运行的集成Web应用系统。
鉴于上述技术背景,存在若干在后面会详细描述的问题a)到d)。
a)如上所述,在一个使用常规CGI的系统中,当相同客户端发出下一个请求时,服务器通过一个不同于前面请求的会话处理上述下一个请求。即,一旦结束会话则开始一个新会话。结果,当根据诸如处理跨越若干Web页面的多个请求进行处理时,客户端必须停留通过前面的请求获得的处理结果数据。例如,在一个公司系统(商业系统)中,所有客户端必须通过处理服务器和客户端(PC)之间的对话保留有关会话管理和下一次处理内容的全部信息,所以带来问题,即对处理能力产生限制并且所需的处理时间延长。
b)并且,当在Web服务器和应用进程之间传递信息时,必须总是传递所有信息,所以效率很差并且依次降低了响应速度。此外,在一个使用经过扩展的独特API的方法中,通过与Web服务器相同的过程启动应用,因而尽管反应速度加快,但必须使用一个特别专用于Web服务器的API,所以存在不能使用其他应用的问题以及应用中产生的任何其它会影响系统整体工作的问题。
c)另一方面,当一个单独的服务器集中进行处理时,提供一个大容量服务器以处理从多个客户端同时访问的情况。如果服务器因崩溃或类似原因不再被使用,则不能进行整个系统的处理,因此存在安全问题。
如果可以实现一个能够解决上述a)到c)的问题的Web应用系统,那么可以认为能够容易地实现上述集成Web应用系统。
因而,在实际使用这种集成Web应用系统的情况下,当应用趋于复杂和成熟时,有必要允许所有具有控制权利的大量客户端在Web应用系统上自由完成操作。
d)然而,为了满足这种需要建立一个允许大量客户端单独在系统上完成操作的机制意味着需要一个极大规模的操作机制。从维护,费用和经营商的角度看这样做会非常地不经济,并且会导致摒弃上述集成Web应用系统拥有的优点的问题。
这里,上述“操作”具体意味着客户端读取集成Web应用系统的工作状态,设置处理服务器的工作环境,设置应用的工作进度和分析日志和性能。在没有为单个客户端提供的大规模机制的情况下,单个客户端必须能够容易地根据处理状态设置环境并且读取各种状态。另外,必须能够通过一个简单的操作来执行操作,同时还要为单个客户端保密。
所以,本发明人集中研究了上述问题a)到c)并且相应得出为解决问题必须对多个服务器进行会话管理和分布式管理,开发用于会话管理和分布式管理的新模块从而完成本发明的思路。
即,本发明的第一个目标是允许在Web应用系统中对客户端请求进行会话管理。
本发明的第二个目标是允许在Web应用系统中对服务器进行分布式管理。
并且,本发明人注意到上述问题d)并且集中研究了用于读取集成Web应用系统工作状态,设置处理服务器工作环境,设置应用的工作进度和分析日志与性能的各种类型操作管理机制,从而构造了一个机制并且完成本发明,其中通过在Web应用系统中引入一个操作模块和一个通信模块,使用来自具有控制权利的客户端的单独指令并且根据单独的情况,该机制能够容易地执行这种操作。
本发明的第三个目标是允许各个具有对Web应用的控制权利的客户端容易地执行诸如读取各种类型的状态和独立设置其上的环境的各种操作。
为实现基于本发明的第一和第二目标,提供一个Web应用系统,其中提供一个存储有关会话管理的信息的共享存储器和一个介于Web服务器和服务器应用进程之间的会话管理服务器。
根据本发明,会话管理服务器还可以充当分布式管理服务器。
为了实现第三个目标,提供一个执行有关Web应用系统的操作管理机制,其中提供一个与处理服务器链接并且根据客户端的指令完成有关一个操作的处理的操作模块,和一个从客户端接收指令并且根据该指令激活操作模块的通信模块。
图1是一个Web应用系统的总体结构视图,图2是构成一个服务器的计算机的结构视图,图3是一个服务器系统结构的视图,
图4是图3的系统中一个DSM服务器的模块结构视图,图5是图3的主处理服务器中的处理的流程图,图6是图3的子处理服务器中的处理的流程图,图7是包含基于本发明的操作管理机制的Web应用系统的基本结构视图,图8是一个服务器端操作处理模块的具体构造视图,图9是有关包含图7中Web应用系统的一个主要部分的基本模块的一个例子的视图,图10是一个部分示出具有操作管理机制(第一)的Web应用系统的视图,图11是一个部分示出具有操作管理机制(第二)的Web应用系统的视图,图12是一个重新示出图10和图11中系统的主要部分的结构以及工作流程的视图,图13是有关一个显示器(上半部)上一个屏幕(屏幕配置)的第一例子的视图,图14是有关显示器(下半部)上屏幕(屏幕配置)的第一例子的视图,图15是有关一个显示器(上半部)上一个屏幕(状态监视器)的第二例子的视图,图16是有关一个显示器(下半部)上一个屏幕(状态监视器)的第二例子的视图,图17是有关显示器上一个屏幕(应用设置)的第三例子的视图,图18是有关显示器上一个屏幕(应用设置)的第四例子的视图,图19是有关显示器上一个屏幕(应用设置)的第五例子的视图,图20是有关显示器的一个屏幕(日志信息分析)的第六例子的视图,图21是有关显示器上一个屏幕(性能分析)的第七例子的视图,图22是有关显示器上一个屏幕(服务器环境设置)的第八例子的视图,
图23是示出显示器上一个用于用户认证的屏幕的例子的视图,图24是示出显示器上一个警告窗口屏幕的例子的视图。
在本发明的会话管理系统中,当从一个客户端初始访问系统时,会话管理模块为用户设置一个具体的ID并且在共享存储器中存储包括上述ID和服务器运行的应用的信息的会话信息。如果对初始访问的处理结束并且客户端请求接着对跨越第二次访问或后续访问的应用或一个不同应用进行处理,该模块根据共享存储器中存储的信息识别出一个具有相同ID的用户访问系统并且允许通过与以前使用的应用进程相同的应用进程进行处理。通过使用会话管理模块判定是否保持一个会话,管理客户端请求和服务器之间的处理会话的会话管理系统对来自客户端的请求进行处理。并且,通过存储客户端的会话管理信息和利用共享存储器的处理,可以实现较高效率的信息传递。并且,通过利用这个功能,可以处理来自客户端的各种请求。并且,通过分离Web服务器和应用进程,可以改进系统的可维护性。
在本发明的另一个实施例中,为Web应用系统提供一个介于Web服务器和服务器的应用进程之间的分布式管理服务器。
并且在本发明中,可以在Web服务器和应用进程之间提供一个共享存储器并且分布式管理服务器可以充当一个会话管理服务器。
在本发明的分布式管理系统中,一个主服务器集中管理客户端的访问并且根据其状态向子服务器分配处理。主服务器使用设置信息监视客户端的访问以便指导对服务器的处理分布。服务器中的应用进程类型,服务器设置的启动数量等等被存储在共享存储器中。主服务器根据设置条件指示服务器的分布式处理。利用根据设置条件对客户端请求进行分布式管理的模块功能可以实现通过把多个服务器组合成一个主服务器和多个子服务器来构造的相关分布式管理系统。
根据这种分布式管理系统,可以把要执行的应用处理分布到多个服务器上,从而减少因多个客户端的同时访问在任何一个服务器上产生的负载。并且,当不再使用一个子服务器时,其它正在工作的服务器可以接替其处理。通过这种方式,即使在出现自然灾害,人为灾害等等情况的时候也可以保证安全。并且,从安全和费用的角度看,可以把多个具有等级相对较低的功能的服务器(例如小规模服务器)处理成分布式服务器的本发明系统比通过一个高性能服务器(例如大规模服务器)处理Web应用的系统更有优势。并且,本发明的系统可以把不同类型的服务器用作主服务器和子服务器或多个子服务器,因而可以容易地对当前系统或当前服务器进行有效的利用,并且可以灵活构造一个新系统。
参照附图详细说明本发明。
图1示出了本发明的一个Web应用系统1的总体结构。服务器由一个主处理服务器2和多个子处理服务器2'构成。主处理服务器2集中管理客户端(Web浏览器)3的访问并且根据主服务器上的设置信息向子处理服务器分配处理。通过这种方式,即使在多个客户端3集中进行访问的情况下也可以把负载分布在子处理服务器2'中间。
图2是一个构成主处理服务器2和子处理服务器2'的计算机的结构视图。计算机4被提供一个中央处理单元(CPU)5,一个存储应用处理结果的文件单元6,一个主存储器7和一个数据库8并且被连接到一个I/O单元9。一个进行分布式会话管理的DSM(分布式会话管理器)服务器程序在主存储器7上工作。
图3是一个有关主处理服务器2和子处理服务器2'的系统结构的视图。
主处理服务器2被提供了一个与客户端(浏览器)3相连的Web服务器11和多个应用(APP)15。在Web服务器11和应用15之间提供一个DSM服务器12,从Web服务器11激活的CGI执行模块(dsmcgi.exe)13和一个共享存储器14。DSM服务器也是会话管理服务器和分布式管理服务器,同时CGI执行模块13是客户端和应用之间的一个接口程序。共享存储器14存储有关分布式管理的信息和有关会话管理的信息。
各个子处理服务器2'具有与主处理服务器2基本相同的结构,但在本发明中,CGI执行模块13不在子处理服务器2'中,而是在主处理服务器2上提供。在图3中示出了唯一一个子处理服务器2',但也可以提供多个子处理服务器2'。在这种情况下,主处理服务器2被提供了只够处理在不超出主处理服务器2的设置信息的范围的客户端请求的CGI执行模块13,其中包含子处理服务器2'。
图4示出图3的系统中的DSM服务器的模块结构。一个DSM服务器模块21包括一个DSMCGI进程22,一个DSM服务器进程23和一个应用进程24。作为接口,为DSM服务器12,CGI执行模块13和共享存储器14提供一个DSMCGI核心库25,并且为应用15提供一个特定语言通信用扩展库26。
DSMCGI进程22包括CGI执行模块13和DSMCGI核心库25并且具有一个会话管理功能。DSM服务器进程23包括DSM服务器12和DSMCGI核心库25并且具有一个分布式管理功能。应用进程24包括应用(APP)15,DSMCGI核心库25,和通信用扩展库26。这里应当注意,通信用扩展库26由核心库25单独构成并且专用于各种语言。这里,在会话管理中,通过DSMCGI核心库25向共享存储器14输入并且在其中存储诸如客户端ID和连接客户端的应用15的ID、用于会话管理的信息。
并且,在分布式管理中,通过DSMCGI核心库25向共享存储器14输入并且存储诸如主处理服务器2的状态,对子处理服务器环境的确认和子处理服务器21与应用15之间的关系的设置条件。
图5是关于主处理服务器中处理的流程图,而图6是关于子处理服务器中处理的流程图。
在图中,实线表示正常状态下的流程,点线表示异常处理状态下的流程,而虚线表示消息通知流程。并且,双线框指示在共享存储器14中管理的信息。垂直画出的单点链接线的左边部分表示会话管理(DSMCGI进程)的功能,右边步骤S33的“后备”上面的部分表示分布式管理(DSM服务器进程)的功能,而右边步骤S33的“后备”以下的部分表示应用进程的功能。
首先说明图5的主处理服务器的处理。
当从一个客户端3访问主处理服务器2时,激活一个CGI执行模块(dsmcgi.exe)13(步骤S11)。CGI执行模块13分析共享存储器14中现有的信息和CGI参数,接着为会话管理准备一个ID并且转换字符代码等等。在当前访问是客户端3的第一次访问的情况下,在共享存储器14中存储用于会话管理的ID。
接着CGI执行模块13根据共享存储器14中的信息确认有关对子处理服务器2'的分配的信息(步骤S12 )。
在步骤S12,根据共享存储器14的信息判定将由主处理服务器或子处理服务器进行处理。在应当在主处理服务器中执行处理(N否)的情况下,在主处理服务器2上进行处理,因而程序进行到步骤S13。在应当在子处理服务器中执行处理(Y是)的情况下,处理被传递到有关的子处理服务器2'(步骤S19)。在步骤S12,在当前访问是第二次访问或后续访问并且仍然保持会话的情况下,由于涉及有关客户端3的ID的会话管理信息和分布式管理信息被存储在共享存储器14中,所以判定在以前访问中使用的服务器是主处理服务器2还是子处理服务器2'。如果是一个子处理服务器2'(Y是),则处理被传递到子处理服务器2'(步骤S19),如果是主处理服务器2(N否),则在主处理服务器2中继续处理并且程序进行到步骤S13。当在步骤S12根据共享存储器14中的信息判定将在主处理服务器2中进行处理(N)时,确认是否其自己的(2)应用进程24正保持会话(步骤S13)。
在步骤S13,如果当前访问是第二次或后续访问并且已经保持会话(Y),则程序进行到步骤S15。如果当前访问是第一次访问,或者如果当前访问是第二次或后续访问但没有保持会话(N),则程序进行到步骤S14。
在步骤S14,根据共享存储器14中的信息确认应用进程24的工作状态。如果在处理之前需要的应用进程24没有工作(N),则向DSM服务器进程23发出一个激活应用进程24的指令。
DSM服务器进程23管理应用进程24的开始和结束。当从CGI执行模块(dsmcgi.exe)13接收一个激活应用进程24的指令时,激活应用进程24(步骤S31,32),把情况存储在共享存储器14中并且进入后备模式直到发出执行下一个处理的消息(步骤S33)。
在CGI执行模块13中,当接收一个完成激活消息时,在步骤S14判定应用进程24处于工作状态并且程序进行到步骤S15。
在步骤S15,发送一个指示执行DSMCGI进程22的消息并且进入后备状态直到在步骤S16完成应用进程24的执行。
当在后备状态期间接收一个开始执行处理消息时(步骤S33),应用进程24开始执行处理(步骤S34)。当执行处理结束时,在文件单元6的一个结果文件中存储处理结果,在共享存储器14中存储有关处理状态的信息,一个完成处理消息被发送到CGI执行模块13并且进入后备模式(步骤S35)。
当接收一个完成执行消息时,CGI执行模块13从文件单元6获得结果文件并且请求Web服务器11把文件发送到客户端3(步骤S17)。其后,一个指示完成结果文件获取的消息被发送到应用进程24,此时处理结束(步骤S18)。
当在步骤S35的后备状态期间接收一个指示完成结果文件获取的消息时,应用进程24判定是否自动结束处理(步骤S36)。存储器中驻留的应用进程数量,从而以前连接开始的经过时间和客户端3的访问总数可以作为判断自动结束的参数。当参数超出一个预定数值(步骤S36的Y)时,应用进程24被自动结束,并且清除在共享存储器14中存储的诸如会话信息的管理信息(步骤S38)。并且,甚至在参数满足要求的情况下,当在保持会话的状态下继续处理相同用户的访问时,不执行自动结束步骤直到出现下一个不保持会话的处理或一个来自另一个用户的请求。
当自动结束的要求不被满足(步骤S36的N)时,设置一个(等待/就绪)标志(步骤S37)并且程序返回到步骤S33。这里,系统保持后备状态并且继续激活应用进程24直到发送一个执行下一个处理的消息。从开始后备状态以后所经过的时间可以作为这种自动结束的参数。当这个参数被用于自动结束时,如果在从发送处理结果开始经过预定时间之后没有从客户端3申请下一次访问,则在服务器端会自动结束处理。自动结束的情况下,程序进行到步骤S38,其中结束应用进程并且清除管理信息。
接着会解释子处理服务器2'的处理。
图5的主处理服务器在步骤S12确认子处理服务器2'的环境。这里,如果存在一个当前进行访问的客户端3正在与之会话的子处理服务器2',则处理被传递到有关的子处理服务器2',其中进行相同会话中的处理。
在图6中,在其处理被传递的子处理服务器2'中管理DSM服务器进程23进行的操作(步骤S51)。DSM服务器进程23对共享存储器14执行一个预定的写操作,接着根据共享存储器14中的信息确认应用进程24是否保持一个会话(步骤S52)。
在步骤S52,在当前访问是第二次或后续访问并且仍然保持会话(Y)的情况下,程序进行到步骤S54。如果当前访问是第一次访问,或者如果当前访问是第二次或后续访问但没有保持会话(N),则程序进行到步骤S53。
在步骤S53,根据共享存储器14中的信息确认应用进程24的工作状态。当应用进程24不工作(N)时,应用进程24被激活(步骤S71)。当完成激活时,激活应用进程24把情况存储在共享存储器14中,向DSM服务器进程23发送一个指示完成激活的消息并且进入后备模式直到发出执行下一个处理的消息(步骤S72)。
在DSM服务器进程23中,当接收一个完成激活消息时,在步骤S53判定应用进程24处于工作状态并且程序进行到步骤S54。
在步骤S54,发送一个指示开始执行DSMCGI进程22的消息并且操作在步骤S55进入后备状态直到完成执行应用进程24。
当在后备状态期间接收一个开始执行处理消息时(步骤S72),应用进程24开始执行应用进程24(步骤S73)。
当执行处理结束时,在文件单元6(图2)的结果文件中存储处理结果,在共享存储器14中存储有关处理状态的信息,一个完成执行消息被发送到DSM服务器进程23并且操作进入后备模式(S74)。
当在步骤S55的后备状态期间接收到完成执行处理消息时,DSM服务器进程23在步骤S56从文件单元6获得结果文件并且向主处理服务器2返回结果数据,此时程序返回到步骤S51。
在主处理服务器2(图5)中,在CGI执行模块(dsmcgi.exe)13的步骤S17请求Web服务器11向客户端3发送从子处理服务器2'返回的结果数据。
子处理服务器2'(图6)步骤S74的后备状态之后的处理,即自动结束判断(步骤S75),应用进程24的结束处理(步骤S77),标志设置(步骤S76)和执行下一个处理的后备状态(步骤S72)类似于图5的主处理服务器2上的处理,因而省略了重复的描述。
下面通过图5和图6的流程图描述在发生一个异常时进行的处理。在图5和图6中,点线指示出异常处理时的流程。
在主处理服务器2(图5)中,当在步骤S16的后备状态中经过了预定时间时,即在经过了预定时间但应用进程的处理没有结束时,指示DSMCGI进程23强制结束应用进程24,并且处理在步骤S18和步骤S39结束。在DSMCGI服务器进程23中,结束应用进程24的处理(步骤S31)。在子处理服务器2'(图6)中,如果在步骤S55的后备状态中经过了预定时间,则应用进程24被结束(步骤S57)并且程序返回到步骤S51。
根据上述系统,应用进程24独立于DSMCGI服务器进程23,所以处理没有彼此干扰,因而提高了整个系统的可靠性。并且,通过应用15驻留在共享存储器14中并且只从小规模执行模块(dsmcgi.exe)接收对Web服务器11的请求,响应更加快速。并且,通过在共享存储器14中存储会话管理信息,可以实现高访问性能。
并且,通过把多个服务器组合在一起并且以分布方式执行处理,可以分散负载,所以可以减少因多个客户端的同时访问在一个服务器上产生的负载。即使在一个服务器不能使用时,如果其它服务器正在工作,这些服务器可以接替处理,因而可以提高在发生自然和人为灾害时的安全性。并且,由于多个具有等级相对较低的功能的小规模服务器可以充当分布式服务器,可以比购买一个高性能服务器并且使用该服务器进行Web管理的情况更加节省系统费用。并且,本发明的Web应用系统可以把不同类型的服务器用作主处理服务器和子处理服务器2'或多个子处理服务器2',因而可以容易地对当前系统或当前服务器进行有效的利用,并且可以灵活构造一个新系统。
前面解释了具有基于本发明的会话管理和分布式管理功能的Web应用系统1。接着会解释最好被建立在Web应用系统1中的操作管理机制。
图7是包含基于本发明的操作管理机制的Web应用系统的基本结构视图。
在图中,1是一个类似于上述把主和子处理服务器2和2'当做服务器并且把Web浏览器3当做客户端的系统的Web应用系统。在图中示出了一个主处理服务器2和两个子处理服务器2',但可以自由设置其数量。并且,处理服务器被提供了要根据客户端请求来加以处理的应用(APP)。
图7中本发明的特征性功能表现在31所指示的操作管理机制被提供给Web应用系统1。操作管理机制31包括分别用于以和模块32一一对应的方式提供的处理服务器2,2'和客户端操作程序33的服务器端操作处理模块32。各个客户端通过对应的操作处理模块32和操作程序33可以在对应的Web浏览器3上以实时方式执行诸如读取Web应用系统1的各种状态和设置环境的操作。
在图7中,主处理服务器2根据主处理服务器2中的设置信息通过具有为其配置的操作管理机制31的Web应用系统1集中管理客户端(Web浏览器3)的访问并且向两个子处理服务器2'分配处理任务。通过这种方式,即使在多个客户端(3)集中进行访问的情况下也可以把负载分布在子处理服务器2'中间,因而可以构造一个集成Web应用系统1。
这里会具体示出图7的服务器端操作处理模块32。
图8是一个服务器端操作处理模块的具体构造视图。
在图中,41是一个处理服务器。这是一个表示图7中的主处理服务器2和子处理服务器2'的通用术语。作为本发明一个特征性功能的服务器端操作处理模块32被提供在这个处理服务器41和一个包含客户端操作程序33的客户端44之间并且包括如图所示的一个操作模块42和一个通信模块43。
参照图7和图8,操作管理机制31,即本发明的一个特征性功能在Web应用系统1上执行操作,使处理服务器41根据客户端的请求处理应用(APP)。这个操作管理机制31包括<1>与处理服务器41链接并且根据客户端44的指令完成有关一个操作的处理的操作模块42和<2>从客户端44接收指令并且根据该指令激活操作模块42的通信模块43。
即,<1>的操作模块42与Web应用系统1的处理服务器41链接并且根据客户端44的指令执行有关Web应用系统1上的操作的处理。
另一方面,<2>的通信模块43与Web应用系统1的处理服务器41链接并且激活操作模块42以便根据客户端44的指令执行有关Web应用系统1上的操作的处理,同时还从客户端44接收指令。
并且,如图8所示,操作模块42和通信模块43成对构成。以和处理服务器41一一对应的方式提供这些模块对。
因而,操作模块42可以根据通过通信模块43从客户端44接收的指令执行有关操作的处理,即允许各个客户端44单独执行读取Web应用系统1的工作状态,设置处理服务器41的工作环境,设置应用(APP)的工作进度和通过处理服务器41分析日志与性能中的至少一个操作。
图9是有关组成图7中Web应用系统1的主要部分的基本模块的一个例子的视图。这个基本模块不包含基于本发明的模块操作管理机制31。因此,该模块基本上与图4中描述的相同,但仍然会对该模块进行说明,其中增加了额外的项目。
在图9中,DSM服务器模块21对应于处理服务器41(图8)并且由DSMCGI进程22,DSM服务器进程23,和应用进程24构成。注意DSM是上述“分布式会话管理器”的缩写并且是一个执行和管理服务器上运行的应用的单元。并且,CGI是“公共网关接口”的缩写,并且是一个从Web浏览器3(图7)接收请求,唤醒应用(APP)并且向发出请求的Web浏览器3返回执行结果的单元。在图9中,通过一个CGI执行模块(dsmcgi.exe)13和一个DSMCGI核心库25实现DSMCGI进程22。通过一个DSM服务器12和一个DSMCGI核心库25实现DSM服务器进程23。并且,通过一个特定语言(运行应用的特定语言)的通信用扩展库26,一个DSMCGI核心库25和一个应用(APP)实现应用进程24。
应用进程24的例子可以是用户控制,产品订购/接受订购控制和预算控制。注意可以在没有任何特别限制并且与特定语言通信用扩展库26链接的情况下使用应用。
在Web服务器(图11的11)和应用(APP)之间提供一个DSM服务器12,一个从Web服务器激活的CGI执行模块13和一个共享存储器14。这里,DSM服务器12也是会话管理服务器和分布式管理服务器。CGI执行模块13是一个在客户端44和应用(APP)之间接口的程序。并且,共享存储器14存储诸如有关分布式管理的信息和有关会话管理的信息的管理信息。注意,DSM服务器12和CGI执行模块13构成DSM服务器模块21的核心构件。
在图9中,DSMCGI核心库25在DSM服务器12,CGI执行模块13,和共享存储器14之间提供接口。
DSMCGI进程22如上所述包括CGI执行模块13和DSMCGI核心库25并且充当会话管理服务器和DSM服务器12。并且,DSM服务器进程23CGI执行模块13和DSMCGI核心库25并且充当分布式管理服务器和CGI执行模块13。
在会话管理中,通过DSMCGI核心库25在共享存储器14中存储诸如客户端ID和连接客户端44的应用(APP)的ID、用于会话管理的管理信息。
并且,在分布式管理中,通过DSMCGI核心库25把诸如处理服务器41(21)的状态,对子处理服务器2'环境的确认和子处理服务器2'与服务器21的应用之间的关系的设置条件存储成共享存储器14中的管理信息。注意,虽然在图9中没有图解,但子处理服务器2'具有与图9的模块(没有CGI执行模块13)类似的结构。这个子处理服务器2'的DSM服务器被连接到图9的DSM服务器12(参见图3)。
下面会更详细地描述与集成Web应用系统的DSM服务器模块21协同操作的操作管理机制31。
图10是一个部分示出被提供了操作管理机制(第一)的Web应用系统的视图,图11是相同的视图(第二)。这里,图10基本对应于图9。因此,图11主要示出了操作管理机制31。
参照图11,示出了组成操作管理机制31一部分的服务器端操作处理模块32和组成操作管理机制31另一部分的客户端操作程序33。服务器端操作处理模块32具有操作模块42和通信模块43。
构成操作处理模决32的模块42,43与DSMCGI核心库25一起实现操作进程45。操作模块42还可以和一个外部应用进程47配合工作。
并且,一个DSM管理工具46拥有各种定义这个操作模块42的操作的命令。这个工具通过从操作模块获得处理服务器的状态来进行分析并且把分析信息返回到操作模块。
在图11的左边,示出了一个现有的Web服务器11一方面被连接到CGI执行模块13(图10)而另一方面通过使用实施例中的HTTP(HTTP)被连接到Web浏览器3的情况。
观察图11右边的服务器端操作处理模块32,其中示出了通过使用实施例中的JAVA语言实现通信模块43,通信模块43使用RMI协议与客户端通信,使用JNI协议被连接到操作模块42并且激活模块32的情况。
图12是一个重新示出图10和图11中系统的主要部分的结构以及工作流程的视图。
在图中,工作流程如<1>到<7>所示。注意,虽然图10中没有图解,但在本图中新示出了一个设置文件51和一个信息文件52。
事先要说明一下这些文件51和52。服务器端操作处理模块32在激活处理服务器(DSM服务器12)和操作模块42时事先参照被写入设置文件51的有关信息并且执行设置处理服务器工作环境和设置应用(APP)工作进度中的至少一个操作。
类似地,处理服务器(DSM服务器12)根据客户端请求向信息文件52输出处理结果。服务器端操作处理模块32参照信息文件52在监视器屏幕上显示日志和性能。
接着会根据图12中的工作流程<1>到<7>进行说明。
在流程工作的<1>中,客户端44和服务器端通信模块43使用RMI协议进行通信。
在流程工作的<2>中,根据客户端的一个指令通过通信模块43激活操作模块42。
在流程工作的<3>中,在进行一个读取操作(状态监视)的情况下,向DSM服务器12.请求获取应用进程信息(图12右边的(1)至(n))。(注意省略了DSMCGI核心库25。)在工作流程的<4>中,在共享存储器14和DSM服务器12之间传递信息。具体是确认共享存储器14的内容。
更详细地,在服务器端提供与处理服务器(DSM服务器12)链接并且存储用于管理各种应用(APP)的应用管理信息的共享存储器14。操作模块42从共享存储器14获得应用管理信息并且检索出有关的应用进程。
在流程工作的<5>中,由DSM服务器12获得应用进程(1)到(n)的详细信息。
在流程工作的<6>中,当设置DSM服务器12的工作环境和应用的工作进度时,在设置文件51中读出和写入信息。DSM服务器12引用被写入设置文件51的服务器工作环境和应用的工作进度。
在流程工作的<7>中,当从客户端请求分析日志和性能时,操作模块42从信息文件52获取有关信息。注意,为了进行分析,DSM服务器12把被写入文件52的信息(处理结果等等)当作输入来接收。
接着描述通过操作管理机制进行的、诸如读取集成Web应用系统1的工作状态,设置处理服务器41的工作环境,设置应用(APP)的工作进度和分析日志与性能的操作的一个详细例子。
首先在下面(a)到(f)中示出了操作管理机制31的操作和功能的例子。
(a)当客户端注册时通过以树的形式显示处理服务器41的结构可以读取处理服务器的状态。
在客户端显示器以树的形式显示在多个被操作管理机制31监视的处理服务器中间的关系。
通过这种方式,各个用户可以一目了然哪个应用被连接到哪个服务器。
(b)各个具有控制权的用户可以监视(读取)应用的工作状态。
在显示器上可以通过一个列表提供以类似树的层次结构选择的处理服务器应用信息和外部应用信息。
并且,在显示器上可以看到选定处理服务器的存储器使用数量,CPU的使用率与使用时间和应用的工作状态。
注意,对于每个用户可以按照预定的采样间隔实时监视状态。
当计算机处理中出现某种异常时监视操作可用于确定原因。
(c)可以针对每个用户设置应用的工作进度。
即,能够以月,日和小时为单位设置应用工作进度。例如,在一个公司的会计部门主要在每月结束时使用一个会计应用的情况下,可以设置进度以便允许会计部门在该时间段内独占使用多个处理服务器。
(d)可以针对各个处理服务器分析日志信息。
根据各个用户选择的处理服务器的日志内容,在显示器上可以通过列表的形式分析和显示每个有关“激活DSM服务器12”,“中断DSM服务器12”,“访问CGI执行模块13”等等的处理的信息。例如,可以以每天内的小时为单位显示累积访问总数图表。
(e)可以针对各个用户的每个应用分析性能信息。
即,对性能报告的分析。当执行一个应用时,应用流程信息,例如哪个过程(执行应用的程序)被唤醒,哪个远程数据库(未示出)被访问等等被输出到显示器并且在显示器以类似树的层次结构显示。
(f)可以针对每个处理服务器设置服务器环境。
各个用户可以针对主处理服务器2和子处理服务器2'动态设置环境或改变环境设置。
例如,可以通过某个访问次数设置自动结束所执行的应用或释放对会话的保持。
如上述(a)到(f)所示,通过使用操作管理机制31,用户可以方便地单独读取集成Web应用系统1的工作状态,设置处理服务器的工作环境,设置应用的工作进度并且分析有关对应Web浏览器3的日志与性能。下面会结合上述(a)到(f)并且参照附图解释各个用户的显示器上的实际屏幕显示。
图13是有关显示器(上半部)上一个屏幕(屏幕配置)的第一例子的视图,图14是相同的视图(下半部分)。
参照图13和图14,显示器的屏幕55可以被粗分成两个部分。在左边的A上以树的形式显示主处理服务器2和子处理服务器2'之间的关系。在右边的B上,显示有关在树形屏幕部分A上选择的服务器的信息。通过有选择地点击五个表项“状态监视”,“APP设置”,“日志信息”,“性能信息”和“处理服务器工作环境设置”显示对应信息。
“状态监视”在一个列表中显示应用进程的会话状态和外部应用的工作状态。从服务器获得信息并且以预定采样间隔更新监视状态屏幕55。图中提到了四个显示的状态,保持,后备,进行中…(仍未访问)。
“APP设置”准备应用ID,设置进度信息,和向服务器分配应用ID。在这里也准备外部应用的应用ID。
并且,在这里可以针对应用ID设置资源(应用进程保留)。
“日志信息”在这里分析和读取应用进程的日志。并且,以图表形式显示预定时间(例如一天)内应用进程的累积激活总数。“性能信息”在这里分析和读取应用进程的性能报告。以树的形式,即通过层次结构显示应用进程的执行流程,并且显示各个处理的性能。
“处理服务器工作环境设置”获得或设置DSMCGI设置文件的信息。
图15是有关显示器(上半部)上一个屏幕(状态监视)的第二例子的视图,图16是相同的视图(下半部分)。以列表形式显示在类似树的层次结构部分(图13的A)中选择的服务器应用进程信息和外部应用信息。以预定采样间隔(图16的C)实时更新信息。
下面是状态监视(读取)的主要作用。
在每个预定采样间隔内从用户选择的服务器(服务器名称如图15的E所示)获得信息(应用进程信息,外部应用信息,存储器信息,日志信息)并且更新屏幕55的显示。
如果发出一个指示应用进程未从保持、连接状态、后备状态(图15的D)释放或已经经过预定时间但仍然占据CPU的警告,则列表中字的颜色变成红色。
在列表中显示当前选择的服务器的应用进程会话信息和激活的外部应用的信息。
图17是有关显示器上一个屏幕(应用设置)的第三例子的视图。这个第三屏幕专门示出了应用功能中间的进度设置功能。在该图的部分F中针对每个应用ID设置应用工作进度。在部分G中确定设置的应用ID影响的服务器。
当被分配了指定应用ID的应用被唤醒时,由子服务器规定要执行的应用进程的优先权。
图18是有关显示器上一个屏幕(应用设置)的第四例子的视图。
这个第四屏幕示出了在选择应用设置屏幕的增加或编辑选项时显示的设置会话。
当用户点击应当用鼠标操作应用的月或周日窗口时,他可以在一个图形环境中针对每月的各个日期与时间设置工作进度。图18的例子表明应用的操作在星期三停止。
图19是有关显示器上一个屏幕(应用设置)的第五例子的视图。
这个第五屏幕示出了应用进程的资源设置。
即,用户保留应用进程,指定过程文件搜寻路径,或指定每个应用ID的HTML搜寻路径。
图20是有关显示器的一个屏幕(日志信息分析)的第六例子的视图,这个第六屏幕示出了日志信息分析功能。
在该图的部分H中,日志文件被分成单个的处理。以列表形式显示这些处理。
参照处理服务器2和2'的日志信息(dsmcgi.log的内容)在列表上显示其分析结果。并且,也可以把应用进程在指定日内的累积操作总数显示成一个图表(I)。
并且,当执行DSMCGI时,如果发生一个错误,则在屏幕55上显示错误信息。
图21是有关显示器上一个屏幕(性能分析)的第七例子的视图。
这个第七屏幕示出了性能报告分析功能。
在该图的部分J中,性能报告文件被分成单个的处理并且以列表形式显示。
在部分K中,以层次结构显示在J的列表中选择的处理内容。
在部分L中,显示在部分K中选择的处理的详细信息。
在部分M中,显示包含在部分K中选择的处理的过程。
通过这种性能报告分析功能,当响应很差并且为某个应用进程耗费大量存储器时,可以通过分析过程中缺乏效率的部分来进行调试。
图22是有关显示器上一个屏幕(服务器环境设置)的第八例子的视图,在这个第八屏幕中,示出了处理服务器的工作环境设置。该屏幕也用于编辑设置文件51(图12)。
图中示出了主处理服务器2的工作环境设置,但也可以编辑各个子处理服务器2'的设置文件(51)。
在引用信息时总是在这个屏幕上设置处理服务器的工作环境。
在说明本发明的操作管理机制31提供的其他功能之后会另外说明一个用户认证功能和一个警告功能。
图23是有关显示器上一个用于用户认证的屏幕例子的视图。
在图中,左上方的N示出了用户认证会话窗口。如果输入到这个会话窗口的用户ID和口令不正确,则不激活服务器端操作处理模块32。注意,一个普通用户只能读取信息并且不能执行诸如改变处理服务器工作环境设置的活跃操作。只有具有相应权利的特定用户才可以执行所有这些操作。
图24是以举例方式示出了在选择显示屏幕55的左下方上的警告设置时在显示器上显示的一个警告窗口屏幕。
可以根据设置的特定条件发出警告,例如在经过指定时间之后某个会话继续被保持、进行或处于后备状态并且服务器剩余存储器数量已经很小。
在图中,部分O是一个指定发出警告的条件的部分,而部分P是示出在发出警告时产生的消息的部分。
注意,本发明包括图3和4所示的被供应市场并且嵌入操作管理机制31的集成Web应用系统1作为最优实施例。但其结构与图1所示的结构相同。
因此,这种Web应用系统是一个通过处理服务器根据客户端44的请求来处理应用(APP)的Web应用系统,其中由(1)被提供在Web服务器1和应用进程24之间并且存储会话管理信息的共享存储器14和14′和一个进行会话管理的会话管理服务器,(2)与处理服务器2和2′链接并且根据来自客户端44的指令执行Web应用系统上的操作的操作模块42,和(3)从客户端44接收指令并且根据指令激活操作模块42的通信模块43构成该系统。
在这种情况下,会话管理服务器也期望具有分布式管理功能。
并且,作为另一个实施例,本发明提供了一个通过处理服务器根据客户端44的请求来处理应用(APP)的Web应用系统,其中由(1)被提供在Web服务器1和应用进程24之间并且对多个处理服务器41进行分布式管理的分布式管理服务器,(2)与处理服务器2和2'链接并且根据来自客户端44的指令执行Web应用系统上的操作的操作模块42,和(3)从客户端44接收指令并且根据指令激活操作模块42的通信模块43构成该系统。
在这种情况下,分布式管理服务器也期望具有会话管理功能。
如上所述,根据本发明,通过一个具有如图1至图6所示的结构的Web应用系统可以进行会话管理。并且,在Web应用系统中可以对服务器进行分布式管理。
并且,由于引入如图7至图24所示的操作管理机制31,可以提供一个集成Web应用系统,该系统包括大量处理服务器,每个处理服务器均具有能够被很多用户使用的复杂并且不同的应用,其中单个具有控制权的用户在不引入大规模机制的情况下可以根据单个状态自由并且容易地执行各种操作,上述操作包含读取系统工作状态,设置处理服务器工作环境,设置应用工作进度和分析日志与性能。并且,完全为各个用户保密。
权利要求
1.一个Web应用系统,其特征在于在一个Web服务器和一个应用进程之间提供一个会话管理服务器和一个存储会话管理信息的共享存储器。
2.如权利要求1所述的Web应用系统,其中上述会话管理服务器还具有一个分布式管理功能。
3.一个Web应用系统,其特征在于在一个Web服务器和一个应用进程之间提供一个分布式管理服务器。
4.如权利要求3所述的Web应用系统,其中上述分布式管理服务器还具有一个会话管理功能。
5.一个Web应用的会话管理装置,其特征在于提供一个Web服务器,一个应用进程,一个介于上述Web服务器和上述应用进程之间并且存储会话管理信息的共享存储器和一个会话管理服务器。
6.如权利要求5所述的Web应用会话管理装置,其中上述会话管理服务器还具有一个分布式管理功能。
7.一个Web应用的分布式管理装置,其特征在于提供一个Web服务器,一个应用进程和一个介于上述Web服务器和上述应用进程之间的分布式管理服务器。
8.如权利要求7所述的Web应用分布式管理装置,其中上述分布式管理服务器还具有一个会话管理功能。
9.在一个Web服务器和一个应用进程之间提供的一个Web应用系统管理服务器,其特征在于可以进行会话管理和分布式管理中的至少一种管理。
10.在一个Web服务器和一个应用进程之间提供的一个Web应用系统共享存储器,其特征在于共享存储器存储会话管理信息。
11.针对Web应用系统中一个客户端的请求根据设置条件执行会话管理和分布式管理中的至少一种的模块功能程序和一个存储相同内容的计算机可读存储介质。
12.一个Web应用系统,其特征在于提供一个在Web应用系统执行操作的操作管理机制,上述Web应用系统通过一个处理服务器根据客户端请求处理一个应用,其中包括一个与上述处理服务器链接并且根据上述客户端的一个指令执行有关上述操作的处理的操作模块和一个从上述客户端接收指令并且根据指令激活上述操作模块的通信模块。
13.如权利要求12所述的Web应用系统,其中上述操作模块通过上述处理服务器执行读取上述Web应用系统工作状态,设置上述处理服务器工作环境,设置上述应用工作进度和分析日志与性能中的至少一个操作以作为由上述客户端的一个指令所进行的有关上述操作的处理。
14.如权利要求12所述的Web应用系统,其中上述操作模块和上述通信模块构成一个模块对并且以和上述处理服务器一一对应的方式提供这种模块对。
15.如权利要求13所述的Web应用系统,其中提供一个与上述处理服务器链接并且存储用于管理上述应用的应用管理信息的共享存储器,并且上述操作模块通过引用上述应用管理信息来执行一个读取操作。
16.如权利要求13所述的Web应用系统,其中提供与上述处理服务器和上述操作模块链接的设置文件,并且上述操作模块通过引用设置文件执行设置上述处理服务器工作环境和设置上述应用工作进度中的至少一种操作。
17.如权利要求13所述的Web应用系统,其中提供与上述处理服务器和上述操作模块链接的并根据客户端请求写入信息的信息文件,并且上述操作模块通过引用信息文件执行上述日志分析和性能分析中的至少一种操作。
18.一个在Web应用系统上执行操作的操作管理机制,上述Web应用系统通过一个处理服务器根据客户端请求处理一个应用,其中包括一个与上述处理服务器链接并且根据上述客户端的一个指令执行有关上述操作的处理的操作模块和一个从上述客户端接收指令并且根据指令激活上述操作模块的通信模块。
19.如权利要求18所述的操作管理机制,其中上述操作模块通过上述处理服务器执行读取上述Web应用系统工作状态,设置上述处理服务器工作环境,设置上述应用工作进度和分析日志与性能中的至少一个操作以作为由上述客户端的一个指令所进行的有关上述操作的处理。
20.如权利要求18所述的操作管理机制,其中上述操作模块和上述通信模块构成一个模块对并且以和上述处理服务器一一对应的方式提供这种模块对。
21.如权利要求19所述的操作管理机制,其中提供一个与上述处理服务器链接并且存储用于管理上述应用的应用管理信息的共享存储器,并且上述操作模块通过引用上述应用管理信息来执行一个读取操作。
22.如权利要求19所述的操作管理机制,其中提供与上述处理服务器和上述操作模块链接的设置文件,并且上述操作模块通过引用设置文件执行设置上述处理服务器工作环境和设置上述应用工作进度中的至少一种操作。
23.如权利要求19所述的操作管理机制,其中提供与上述处理服务器和上述操作模块链接的并根据客户端请求写入信息的信息文件,并且上述操作模块通过引用信息文件执行上述日志分析和性能分析中的至少一种操作。
24.一个Web应用操作模块,其特征在于上述操作模块与Web应用系统的一个处理服务器链接并且根据客户端的一个指令执行有关Web应用系统上的一个操作的处理。
25.一个Web应用的通信模块,其特征在于上述通信模块与Web应用系统的一个处理服务器链接,激活一个操作模块使之根据客户端的一个指令执行有关Web应用系统上的一个操作的处理,并且执行从客户端接收一个指令的通信。
26.一个Web应用系统,上述Web应用系统通过一个处理服务器根据客户端请求处理一个应用,其特征在于包括在一个Web服务器和一个应用进程之间提供的一个进行会话管理的会话管理服务器,和一个共享存储器并且共享存储器存储会话管理信息,一个与上述处理服务器链接并且根据上述客户端的一个指令执行有关上述Web应用系统上的一个操作的处理的操作模块,和一个从上述客户端接收指令并且由指令激活上述操作模块的通信模块。
27.如权利要求26所述的Web应用系统,其中上述会话管理服务器还具有一个分布式管理功能。
28.一个Web应用系统,上述Web应用系统通过一个处理服务器根据客户端请求处理一个应用,其特征在于包括在一个Web服务器和一个应用进程之间提供的并且对多个处理服务器进行分布式管理的一个分布式管理服务器,一个与上述处理服务器链接并且根据上述客户端的一个指令执行有关上述Web应用系统上的一个操作的处理的操作模块,和一个从上述客户端接收指令并且由指令激活上述操作模块的通信模块。
29.如权利要求28所述的Web应用系统,其中上述分布式管理服务器还具有一个会话管理功能。
全文摘要
一个Web应用系统(1)在处理服务器(2,2′)的一个Web服务器(11)和一个应用进程(15)之间具有一个在其中记录会话管理和分布式管理信息的共享存储器(14)和一个根据上述信息对处理服务器进行会话管理和分布式管理以便执行Web应用系统(1)的会话管理和分布式管理的管理服务器(12)。在各个处理服务器(2,2′)中,提供一个根据各个客户端(3)的一个指令执行有关处理服务器(2,2′)的操作的处理的操作模块(42)和一个在接收到客户端(3)的一个指令时启动操作模块(42)的通信模块(43)。
文档编号H04L29/06GK1319207SQ00801567
公开日2001年10月24日 申请日期2000年6月30日 优先权日1999年6月30日
发明者木下信一, 江泽毅 申请人:三得利株式会社