一种用于网络服务导向应用的共享内存服务机制的制作方法

文档序号:6360005阅读:168来源:国知局
专利名称:一种用于网络服务导向应用的共享内存服务机制的制作方法
技术领域
本发明涉及运用网络服务(Web Service)的开放性及模块化特点,建构网络服务导向应用程序(Web Service Oriented Applications,WSoA),特别是关于应用程序中的网络服务(Web Service)在动态合作时所需的共享对象(Shared Objects)的执行机制,即一种用于网络服务导向应用的共享内存服务机制。
背景技术
在现代日趋激烈的全球商业竞争环境下,电子化企业内部各单位及企业伙伴间的资源规划和信息整合是否能够迅速且有效率地进行,已是企业能否具有竞争优势的要件之一。这也使得越来越多的企业体系纷纷运用企业资源规划(ERP)和供应链管理(SCM)工具,以求能快速并有效地整合上、中、下游企业伙伴的资源,达到企业间信息实时传达和快速反应的目的。然而,由于企业体系间的商业往来流程复杂且彼此所采用的信息系统大都不同,因此企业体系间的信息流通和工作流程的整合是一个复杂且不易解决的难题。例如,一件商业交易流程通常会包含许多步骤询价、价格协商、交易下单、付款和出货,而过程中将会产生大量的交易资料与文件纪录如估价单、订货单、出货单等;这些资料单据在交易进行中需要在买卖双方间往返传递,因此有效且快速的资料传递是商业交易流程中最重要的一环。一个理想的商业自动化流程应是当客户输入相关资料并提出服务请求后,系统就会自动地将此客户所输入的资料传送给与此服务有关的企业内部系统,也能快速地将处理后的整合信息传递给外部的协同合作厂商。
为了克服企业间异质性信息系统的沟通问题,目前已有多种以XML为基础的电子信息交换规格,如ebXML和Biztalk。而Microsoft、IBM、HP、Sun Microsystem也分别提出.NET、Dynamic Web Services、E-Speak、ONE等网络服务(Web Services)支持概念架构。随着企业广泛地利用网络服务(Web Services)来建置应用系统,可预见网络服务导向应用程序(Web Service Oriented Applications,WSoA)未来将成为企业应用程序的发展主流。
网络服务(Web Services)是一个具有开放性、分布式的软件组件,其基础建立在HTTP、XML、SOAP、WSDL等标准的协议上,使用者可用任何的程序语言开发工具和操作系统来描述与撰写网络服务(Web Services)。网络服务(Web Services)提供一个标准的(远程)对象呼叫接口和应用程序写作规格,程序设计师可运用他所熟悉的程序语言来与位于网络上的其它网络服务(Web Services)组件进行存取与呼叫。由于网络服务(Web Services)使用自我描述的XML文件规格标准,并且使用标准的简单对象存取协议(Simple ObjectAccess Protocol,SOAP)做为网络服务(Web Services)间呼叫的通讯协议。因此,无论是电子企业内各单位的信息沟通,或是与外部合作伙伴之间的异质系统信息交换,网络服务(Web Services)架构皆可提供一致性的信息传递方式和信息整合服务。
图1A为传统的网络服务导向应用程序的架构图。图1A显示,网络服务导向应用程序15应用于由多个客户端计算机10所架构而成的网络11,而网络11代表一企业内部网络(Intranet)或者互联网络(Internet)。由图中可知,网络服务(Web Services)架构是建立在已存在的企业内部网络或互联网络,而且客户端计算机10使用简单对象存取协议(SOAP)14来请求(Request)或提供(Provide)网络服务模块12,然后再通过网络服务模块12彼此之间使用简单对象存取协议(SOAP)14来沟通交谈以合作完成工作。然而,传统的网络服务导向应用程序架构却有运作复杂、耗时等缺点。
请参见图1B,其为图1A的架构简示图。显而易知,图1B是一完全图形(Complete Graph),也就是说,在网络服务导向应用程序15中,当所有网络服务模块12间彼此需要共享某些状态(States)资料或对象时,任两网络服务模块12间需彼此通过外部呼叫以传递共享资料,因此图1A的基本结构即为一完全图形。当网络服务模块12和网络服务模块12间在合作中必须以外部呼叫方式,来传递共享资料给合作的另一方,以保持资料的一致性,此将使得图1A在运作时的通讯时间复杂度(time complexity)高达O(N2),其中变量N代表网络服务模块12的数目。所以,传统的网络服务导向应用程序架构具有运作复杂、耗时、成本高等缺点。在面临不断要求实时、效率的全球商业竞争环境下,传统的网络服务导向应用程序架构已日渐无法满足激增的电子化企业的需求。
此外,随着愈多网络服务模块12的对象被分享,导致简单对象存取协议(SOAP)的讯息内容将包含愈多的参数,而一个具有庞大内容的简单对象存取协议(SOAP)的讯息是不易被处理的,因此对于企业软件未来的发展,亦会造成一定程度的复杂度。

发明内容
本发明的主要目的,是为了改善传统网络服务导向应用程序架构的缺点,提供一种具有低通讯时间复杂度的共享内存服务机制(ShareMemory Service,SMS),进而简化网络服务导向应用程序设计程序。共享内存服务机制主要通过将每一个网络服务模块中所具有且需要被共享的对象(Object)宣告为一共享对象,然后储存该共享对象于一共享虚拟内存,并通过呼叫该共享内存服务机制,进而提供多个网络服务模块(Web Services)与多个客户端计算机共同存取该共享虚拟内存中的共享对象。上述的对象又可进一步区分为全域对象(Globalobjects)及局部对象(Local objects),所以经过宣告后,则分别称其为全域共享对象(Global shared objects)及局部共享对象(Local sharedobjects)。
如图2A所示,为使用本发明的共享内存服务机制(SMS)22的一网络服务导向应用程序20架构图。图中显示,运用共享内存服务机制(SMS)22的网络服务导向应用程序20同样是以企业内部网络(Intranet)或者互联网络(Internet)为基础,而且客户端计算机10仍然可使用简单对象存取协议(SOAP)14来呼叫网络服务模块202,以请求(Request)或提供(Provide)所需服务。不过,网络服务模块202可以不再与另一个网络服务模块202通过直接通讯以取得共享对象,而是将共享对象经由共享内存服务机制22管理,网络服务模块202通过发出一请求讯息204给共享内存服务机制22以取得该共享对象,其中请求讯息204至少包含有一简单对象存取协议(SOAP)。
图2B是图2A的架构简示图。由图2B可知,图2A的架构显然是一星状图形(Star Graph),因此图2A在运作时的通讯时间复杂度只有O(N),此意味着通过使用本发明的共享内存服务机制22所发展的网络服务导向应用程序20,将大大简化网络服务(Web Services)间的运作流程,因而降低网络服务导向的企业应用程序的发展复杂度。所以,本发明所提供的架构明显优于传统的网络服务导向应用程序架构。
虽然本发明已揭露如图2A所示的一个最佳的网络服务导向应用程序架构图,但考虑每一家电子化企业可能因其产业特性而具有特殊的需求,以及企业伙伴之间的合作关系等因素,本发明再揭露如图3所示的运用共享内存服务机制32的网络服务导向应用程序30的另一架构图,以适应各种需求及情况。图3与图2A的最大差异处,主要在于图3的网络服务模块302与网络服务模块302间可以彼此沟通交谈,而且请求讯息304除了包含有简单对象存取协议(SOAP),还包含交谈信息(Session Information),其中交谈信息可以协助共享内存服务模块40(请见图4)分辨出真正呼叫共享内存服务机制32的网络服务模块302。据此,依据本发明的共享内存服务机制可端视各种情况及客户的需求作适度的调整,而使得本发明拥有高度弹性及高实用性等优势。


图1A为现有的网络服务导向应用程序的架构图;图1B为图1A的架构简示图;图2A为使用本发明的共享内存服务机制的一网络服务导向应用程序架构图;图2B为图2A的架构简示图;图3为使用本发明的共享内存服务机制的另一网络服务导向应用程序架构图;图4为本发明的共享内存服务机制的细部方块图。
图中符号说明10客户端计算机11网络12传统的网络服务模块14简单对象存取协议15传统的网络服务导向应用程序20本发明的网络服务导向应用程序202 本发明的网络服务模块204 请求讯息22本发明的共享内存服务机制30本发明的另一网络服务导向应用程序302 本发明的网络服务模块304 请求讯息32本发明的共享内存服务机制40本发明的共享内存服务模块400 通话管理模块4000 网络服务检验模块4002 网络服务登录目录
4004 特有识别代码产生模块4006 请求处理模块402 内存连结模块404 存取管理模块4040 存取同步模块406 废弃存储空间收集模块42共享虚拟内存420 全域共享对象数据库4200 全域共享对象422 局部共享对象数据库4220 局部共享对象具体实施方式
图4为本发明的共享内存服务机制的细部方块图。其主要包括有多个网络服务模块202、一共享内存服务模块40,以及一共享虚拟内存42。其中,每一个网络服务模块202分别提供一特有的网络服务(Web Service),而且本发明的网络服务模块202可以将其各自的对象分享给所有的网络服务模块202使用;共享虚拟内存42用以储存多个共享对象4200、4220;至于共享内存服务模块40,则用以维护管理共享对象与处理网络服务模块202所提出的存取共享对象4200、4220的请求。
由图4中可知,共享内存服务模块40由通话管理模块(SessionController)400、内存连结模块(Memory Binder)402、存取管理模块(Access Controller)404、及废弃存储空间收集模块(GarbageCollector)406所组成。其中,通话管理模块400用以处理每一个网络服务模块202所发出的请求讯息204,而检验网络服务模块202是否合法,并查对请求讯息204的识别代码(Session ID);内存连结模块402用以对于最近宣告的共享对象予以初始化(initialize)共享虚拟内存42,并提供共享对象4200、4220予网络服务模块202;而存取管理模块404至少包含有一存取同步模块(Access Synchronizer)4040,其中存取同步模块4040用以确保共享对象4200、4220同时被多个网络服务模块22存取的权限与同步控制作业正常进行;废弃存储空间收集模块406用以负责共享虚拟内存42空间的更新及再使用,且在共享对象4200、4220的生命周期(life cycle)结束后释放出内存空间。
图4的通话管理模块400必须至少包含一网络服务检验模块(Web Services Verifier)4000、一网络服务登录目录(Web ServicesRegistry)4002、一特有识别代码产生模块(UID Generator)4004,以及一请求处理模块(Request Processor)4006。其中,网络服务检验模块4000用以检验每一个网络服务模块202是否合法,而避免接受来自一被仿冒的网络服务模块所发出的请求讯息;网络服务登录目录4002用以储存经检验合法的网络服务模块202的信息;特有识别代码产生模块4004用以在每一个网络服务模块202于首次呼叫共享内存服务模块40时,授予一特有识别代码给网络服务模块202,此后,内存连结模块402会依据此特有识别代码协助将共享对象程序4200、4220连结至网络服务模块202;请求处理模块4006用以与内存连结模块402合作,而取得一内设的共享虚拟内存空间。
在图4中,又进一步指出共享虚拟内存42包含一全域共享对象数据库420和一局部共享对象数据库422。全域共享对象数据库420用以储存多个全域共享对象4200,而局部共享对象数据库422则用以储存多个局部共享对象4220。
综上所述,归纳本发明的特点如下(一)本发明仿真一共享内存的概念架构与管理该共享内存的机制,让企业内部或企业伙伴间的网络服务(Web Services)可以直接且共同存取资料及对象,而不再需要彼此间以外部呼叫方式进行,进而降低企业软件开发的复杂度。
(二)本发明所提供的各模块极易使用如Java、或Visual Basic、或C++等高阶程序语言来编写产生,因此本发明具有可实施性高的特性。
(三)本发明的共享内存服务模块40扮演网络服务(WebServices)架构下的服务登录者(Service Register)的角色,但功能不同于以往仅将查询的结果回传给服务请求者(Service Requester),本发明的共享内存服务模块40更直接提供服务请求者所需要的网络服务(Web Services)的对象及资料。
(四)本发明的精神在于将网络服务的交谈内容(SessionContext)及网络服务所具有的对象或资料公开且透明化,如此一来,将大大简化系统设计程序。
(五)通过实施本发明的共享内存服务机制,可端视各种情况及客户的需求选择将网络服务模块与网络服务模块之间作直接联系或不联系,所以本发明拥有高度弹性及高实用性等优势。
虽然本发明已以一较佳实施例揭露如上,然其并非用以限定本发明,任何熟悉此技术者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范围当视权利要求书的范围所界定者为准。
权利要求
1.一种用于网络服务导向应用程序的共享内存服务机制,其中该网络服务导向应用程序应用于由多个客户端计算机所架构而成的网络,且该共享内存服务机制主要通过将多个网络服务模块所具有且需要被共享的对象宣告为一共享对象,然后储存该共享对象于一共享虚拟内存,并通过呼叫该共享内存服务机制,进而提供该多个网络服务模块与该多个客户端计算机共同存取该共享虚拟内存中的共享对象,其特征在于,该共享内存服务机制包含有该多个网络服务模块,其分别用以提供一特有的网络服务给需要该网络服务的客户端计算机,而且该每一个网络服务模块可以将其各自的对象分享给所有的网络服务模块使用;该共享虚拟内存,用以储存该每一个共享对象;一共享内存服务模块,用以维护管理该共享对象,且处理该多个网络服务模块所提出的存取该共享对象的请求,其进一步包含·一通话管理模块,用以处理该每一个网络服务模块所发出的请求讯息,而检验该每一个网络服务模块是否合法,并查对该请求讯息的识别代码;·一内存连结模块,用以对于最近宣告的共享对象予以初始化该共享虚拟内存,并提供该共享对象予该网络服务模块;·一存取管理模块,其至少包含一存取同步模块,其中该存取同步模块用以确保该多个共享对象同时被该多个网络服务模块存取的权限与同步控制作业正常进行;·一废弃存储空间收集模块,用以负责该共享虚拟内存空间的更新及再使用,且在该共享对象的生命周期结束后释放出内存空间。
2.如权利要求1所述的用于网络服务的共享内存服务机制,其特征在于,该通话管理模块至少包含一网络服务检验模块,用以检验该每一个网络服务模块是否合法,而避免接受来自一被仿冒的网络服务模块所发出的请求讯息;一网络服务登录目录,用以储存经检验合法的网络服务模块的信息;一特有识别代码产生模块,用以在该每一个网络服务模块于首次呼叫该共享内存服务模块时,授予一特有识别代码给该每一个网络服务模块;一请求处理模块,用以与该内存连结模块合作,而取得一内设的共享虚拟内存空间。
3.如权利要求1所述的用于网络服务的共享内存服务机制,其特征在于,该网络为一互联网络或一企业内部网络。
4.如权利要求1所述的用于网络服务的共享内存服务机制,其特征在于,该客户端计算机使用一简单对象存取协议,以呼叫该多个网络服务模块。
5.如权利要求1所述的用于网络服务的共享内存服务机制,其特征在于,该每一个网络服务模块所发出的请求讯息中至少包含有一简单对象存取协议。
6.如权利要求1所述的用于网络服务的共享内存服务机制,其特征在于,该多个网络服务模块彼此之间可通过一请求讯息进行沟通交谈。
7.如权利要求1所述的用于网络服务的共享内存服务机制,其特征在于,该对象程序为一全域对象或一局部对象。
8.如权利要求2所述的用于网络服务的共享内存服务机制,其特征在于,该内存连结模块依据该特有识别代码而协助将该共享对象连结至该网络服务模块。
9.如权利要求2所述的用于网络服务的共享内存服务机制,其特征在于,该网络服务模块、该共享内存服务模块、该通话管理模块、该内存连结模块、该存取管理模块、该存取同步模块、该废弃存储空间收集模块、该网络服务检验模块、该特有识别代码产生模块、及该请求处理模块分别是一个以Java、或Visual Basic、或C++程序语言编写而成的程序。
10.如权利要求6所述的用于网络服务的共享内存服务机制,其特征在于,该请求讯息至少包含有一简单对象存取协议和一交谈信息。
11.如权利要求7所述的用于网络服务的共享内存服务机制,其特征在于,该共享对象为一全域共享对象或一局部共享对象。
12.如权利要求11所述的用于网络服务的共享内存服务机制,其特征在于,该共享虚拟内存包含一全域共享对象数据库以储存该全域共享对象,及一局部共享对象数据库以储存该局部共享对象。
全文摘要
本发明涉及一种用于网络服务导向应用程序(Web ServiceOriented Applications)的共享内存服务机制,其主要通过将每一个网络服务模块(Web Service)中所具有且需要被共享的对象宣告为共享对象,然后储存该共享对象于一共享虚拟内存,并通过其它网络服务模块呼叫此机制,进而提供该网络服务模块与客户端计算机共同存取该共享虚拟内存中的共享对象,通过实施本发明,可以在任何一个网络服务导向应用程序中仿真出一个共享的内存,以及管理该共享内存的机制,让应用程序中的网络服务(Web Services)可以直接存取共享对象,而不再需要彼此间以外部呼叫的方式进行,进而降低企业软件开发的复杂度。
文档编号G06F15/16GK1549152SQ0312857
公开日2004年11月24日 申请日期2003年5月7日 优先权日2003年5月7日
发明者周忠信 申请人:鼎诚资讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1