服务器的动态内容的网络服务器小程序软件360。优选地,网络服务器小程序软件是来自Apache SoftwareFoundat1n的Apache Tomcat。
[0106]参照图4,统一在400上表示本发明的私人云计算系统的组件的逻辑结构的典型示图。用户界面402是客户机装置的用户界面。界面包含将包含仪表板406的应用控制面板404。在图15中表示典型的应用控制面板,并且,在图24中表示典型的仪表板。
[0107]应用控制面板404使得开发人员、云应用的管理员、云应用的所有人、软件质量担保(“SQA”)、系统用户和其它人查看、使用和操作云中的云应用。仪表板406使得授权的用户管理基础结构组件。为了访问云应用和相关的信息和存储于CLDB 410中的其它数据和信息,用户界面402与CLDB 410双向连接。
[0108]出于向云控制器发送消息的目的,用户界面402还与云控制器408连接。优选地,这些消息将包含但不限于用于访问特定的云应用和网络服务的请求和SLO监视。
[0109]具有eSF数据库413的eSF代理412向云提供安全。eSF代理412和eSF数据库413基于数据组、功能组和用户角色提供对于云应用和网络服务访问的允许。参照图11?图14更详细地讨论数据组、功能组和用户角色。
[0110]允许包含但不限于什么用户可访问云中的特定的云应用和网络服务,什么用户实施某些功能,例如,提供批准、改变云应用简档或者从CLDB 410删除云应用。并且,eSF 412/413能够提供将包含并满足所有的对于在私人云中运行的云应用以及对于私人云自身的安全要求的基础结构。安全eSF提供的至少一部分是功能级别权利,并且eSF还包含用于支持这种安全提供的数据。可以理解,上述的允许不是详尽的,并且,可存在另外的允许,并且仍在本发明的范围内。
[0111]服务登记415与云控制器408连接。在后面更详细地讨论的服务登记415使得开发人员能够搜索对于私人云登记的网络服务并查看关于它们的详细的信息。
[0112]在对于特定的云应用或网络服务处理来自用户界面402的请求时,云控制器408向提供服务414发送请求。提供服务414提供它们控制的管理程序和虚拟机,以满足在云中的云应用中运行的客户机装置的需要。如图4所示,管理程序420管理网络服务器实例422、应用实例424和应用实例426。这些软件实例中的每一个在由管理程序420管理的虚拟机实例中运行。本发明的私人云计算系统可具有一个或更多个控制云应用的管理程序和在虚拟机实例中运行的网络服务器实例,并且仍在本发明的范围内。
[ΟΙ13] 在416上参照图4,它表示Bui Id.xml Aui Id.xml指的是使得开发人员能够通过使用云应用构建器350(图3)及其相关的运行时库构建云应用的云构建架构。当构建这种云应用时,向二进制数打包器418提供与云应用相关的二进制数。二进制数然后被发送以存储于CLDB 410中并被提供给提供服务414,以通过管理程序提供,使得它可用于包括用于运行云应用的客户机装置和允许操作云应用的授权的系统用户的系统用户。
[0114]监视服务428包含健康检查服务430和记录扫描服务432。健康检查服务430监视私人云的物理和虚拟资源。记录扫描服务432对于寻找SLO违反的云应用和云基础结构组件执行记录的自动和按需扫描。由健康检查服务430和记录扫描服务432确定的信息被存储于CLDB 410 上。
[0115]在描述云应用的开发之前,参照图5讨论各云应用的用户界面管理。
[0116]图5在500上表示用于私人云上的云应用的前景任务、数据存储和背景任务的用户界面管理的典型示图。服务消费者502是处于云内部或外部的服务的消费者。私人云外面的服务的消费者的例子包括在客户机装置上运行的服务,诸如504所示的那些。
[0117]数据访问506针对前景服务,诸如对于用户界面访问私人云产生的在508和510上表示的那些。例如,开发人员将出于此目的在HTML、Adobe Flash、AJAX和其它的工具中产生轻型的用户界面组件。但是,可以理解,可以产生其它的服务,并且仍在本发明的范围内。
[0118]数据存储512针对与仓库数据分开的存储于应用数据库214中的在线交易处理(“0LTP”)数据。因此,OLTP数据与执行数据库交易有关。在数据存储512的514和516上表示OLTP数据的例子。在数据存储512中,大型机消费者信息控制系统(“CICS”)514将出于根据本发明的数据存储的目的影响常规的CICS功能。数据存储512还表示作为关系数据库管理系统的RDBMS 516。出于本发明的目的,RDBMS将出于根据本发明的数据存储的目的影响常规的关系数据库管理功能。但是,可以理解,本发明的系统可包含其它的OLTP数据组件,并且仍在本发明的范围内。
[0119]背景518被用于产生诸如作业520和522的背景过程,并管理仓库数据。将在后面更详细地描述作业的产生。
[0120]上述的eSF 526向云提供安全。eSF 526包含图4中的412和413上所示的。通过用户界面,eSF 526针对权利实施。因而,关于数据访问506和背景518,eSF 526控制授权以通过分配优选通过使存储的数据与企业内的功能相关联设计的用户角色访问和使用云应用和网络服务。
[0121]网络登记524指的是私人云的服务登记。服务登记使得开发人员能够搜索网络服务并查看关于它们的详细的信息。因此,用户界面可被用于浏览可被重新使用的网络服务的服务登记。并且,服务登记524执行将应用和网络服务带入私人云中并监视它们的SLO符合性和用途的功能。关于图6更详细地讨论服务登记。
[0122]图6统一在600上表示示出服务登记524的本发明的私人云计算系统的结构的典型示图。在图6中,提供服务312、监视服务314、SL0观看和符合服务318、记录扫描服务320和交易浏览器323(未示出)是图3所示的云控制器302的组件,并且先前已经被描述。在图4中表示并且先前已描述了用户界面406。可以理解,可在图6中表示交易浏览器323,并且它仍在本发明的范围内。
[0123]在图6的中心是包含审计跟踪608、数据完整性610、安全612和调度器614的持久状态606。审计跟踪608用于追踪关于云应用的改变。数据完整性610用于限制应用数据库以确保数据库内的数据完整性。调度器614用于调度作业。安全612是eSF访问安全。
[0124]作为私人云(云控制器)的一部分的规则引擎602由云管理员产生,并且包含用于操作在私人云内运行的云应用的动作的规则。这些规则可包括例如向上或者向下缩放规贝1J、警告规则或区域规则。它可包含其它的规则,并且仍在本发明的范围内。
[0125]重新参照图6,每一个要素被示为在信息收发环境604内被连接。这使得能够在各要素之间实现通信。
[0126]参照图6中的服务登记524,可以设想,服务登记提供至少四项服务,但是,可以理解,它可提供比四项多或少的服务,并且仍在本发明的范围内。
[0127]服务登记524优选提供的第一项服务是用于服务使得授权的开发人员产生和操作与网络服务有关的元数据的应用编程界面(“API” )。这使得授权的用户能够产生或更新关于功能和功能组的元数据和信息。API参照该信息,该信息优选是服务库存文件中的网络服务细节。
[0128]第二项服务是搜索目录服务。搜索目录服务使得授权的系统用户能够搜索并发现服务登记的目录搜索页上的网络服务。
[0129]服务登记524的第三项服务是浏览目录服务。该服务使得授权的系统用户能够从云应用功能组下探到服务登记的应用浏览器页上的构成网络服务的列表。
[0130]服务登记的第四项服务是网络服务细节服务。该服务提供授权的系统用户可在图26所示的用户界面的网络服务细节对话框的各种标签上访问的元数据和其它信息。
[0131]参照图7,统一在700上表示典型的服务登记结构。服务登记524(图5)与云控制器408(图4)连接。如图所示,云控制器408和服务登记524均处于私人云内。作为元数据数据库的服务元数据库704也从云外面与服务登记524连接。并且,eSF 412/413(图4)从云外面与云控制器408连接。虽然没有示出,但是,eSF代理412被设置在eSF数据库413与云控制器408之间,但处于私人云中。
[0132]云控制器408与浏览器客户机(用户界面)402连接。浏览器客户机402向用户706提供内容,并允许它们访问服务登记524。
[0133]eSF与服务登记524的集成确保对云应用、网络服务,以及诸如按钮和菜单选项的用户界面项目的访问仅限于授权的系统用户。这基于确定开发人员和用户的访问的仔细限定的角色。在后面讨论该访问控制的例子。
[0134]在云中开发的云应用的组件包含用户界面、提供潜在的重新使用的登记的网络服务和可被重新使用的背景作业的登记。产生用于在私人云中展开的云应用的开发人员也可产生与网络服务和作业有关的商业规则和/或Java类。一旦云应用的组件被产生,它们就可被存储于CLDB 410中。这些组件的产生可在私人云环境内出现。
[0135]在开发网络服务、用户界面组件和批作业时,存在由开发人员关于云应用完成以识别体现他/她的应用的网络服务的需求分析、实现云应用的任务所需要的用户界面组件和存储云应用的数据所需要的批作业。在执行这些任务时,在云控制器中,开发人员可浏览和查找服务登记中的登记服务以确认是否任何事项可在他/她的云应用中被重新使用。
[0136]根据本发明的系统和方法,在可对于云应用产生网络服务之前,开发人员必须获得包含云应用代码及其扩展的应用标识符。这将通过包含云应用的云应用简档的产生的开发过程追踪应用。优选地,在可进一步向私人云环境移动云应用之前,云应用的源代码被置于源代码控制系统中。一旦该任务被执行,就可通过使用云应用构建器350(图3)开发云应用及其组件。
[0137]关于特定的云应用,网络服务组件的开发将包含开发人员产生用于服务定义的元数据并完成用于云应用的服务库存文件。各云应用将具有与其相关的描述所有成员网络服务中的功能组的服务库存文件。云控制器302(图3)使用该数据以在展开云应用时自动地更新服务登记。
[0138]优选地,开发人员构建用于前景和背景过程(参见图5)的单独的.war(“网络存档”)文件,打包与云应用相关的二进制数,并然后产生云应用简档。与前景过程相关的二进制数涉及网络服务和用户界面组件。与背景过程有关的二进制数涉及作业。但是,在开发人员可展开用于云中的网络服务之前,必须获得适当的批准,这将触发对于存储于eSF中的相关的eSF角色的服务登记更新和调整。在图8中图示该开发过程。
[0139]图8统一在800上表示用于开发用于在私人云中展开的云应用的网络服务组件的过程的典型示图。作为云应用开发和展开过程的一部分,开发人员801将在804中开发与云应用相关的网络服务。当在806中开发网络服务时,开发人员将更新将在808中使用的服务定义中的元数据,以更新服务库存文件。这完成与云应用开发相关的网络服务开发的一部分。
[0140]在808中更新服务库存文件之后,开发人员在810中构建用于前景和背景过程的应用二进制文件。与云应用相关的二进制数被打包,并且,在812上,通过使用对于云应用产生的云应用简档提出对于展开网络服务的请求。由开发人员通过使用客户机装置用户界面向云控制器814发送该请求。在816中,请求适当的授权的用户的批准。如果批准被否定,那么通过适当的信息收发将通知送回到开发人员。但是,如果批准被准许,那么在818上存在发送到用于网络服务的服务登记的更新,并且在820上存在eSF的更新,使得允许适当地使用网络服务。然后,在私人云中在822中实时提供网络服务。优选地,私人云使用服务定义和服务库存文件中的元数据,以在展开网络服务时自动更新服务登记。
[0141]如上所述,用户界面也是云应用的组件。云应用构建器350通过⑶T 354和用户界面上的适当的面板开发要与特定的云应用关联的用户界面组件。该工具包允许开发人员将与云应用相关的网络服务扩展到用户界面。优选地,工具包将支持基于Flash和MicrosoftOffice的用户界面开发。
[0142]在私人云中展开的云应用可被嵌入非云网页中。如果完成这一点,那么可从用户界面作为弹出的该网页访问云应用的所有功能,但是,网络服务将在私人云中运行。
[0143]云应用的最后的组件是背景作业。这些作业是在背景中运行并在云和其它和数据库中存储信息的批作业。云应用的背景作业可在可位于不同的机器中的两个实例中运行。例如,这些作业在两个单独的数据中心并行地活动运行。背景作业可包含帮助云应用服务器在挂起前景中的线程的情况下操作可缩放性的处理。
[0144]参照图9,统一在900上对于背景作业开发和操作表示典型示图。在图9中,外部服务902与背景云909连接。外部服务902包含RDBMS 904、信息收发906和文件传输服务908。它们中的每一个先前已关于其它的附图被描述,因而,这些描述在这里同样适用并且作为参考被加入。
[