《网络应用程序构建系统、网络应用程序构建方法、网络应用程序构建程序以及记录了网络应用程序构建程序的记录介质.pdf》由会员分享,可在线阅读,更多相关《网络应用程序构建系统、网络应用程序构建方法、网络应用程序构建程序以及记录了网络应用程序构建程序的记录介质.pdf(30页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN102317905A43申请公布日20120111CN102317905ACN102317905A21申请号201080001696X22申请日20100325G06F9/4420060171申请人恩梯梯数据积水系统集成有限公司地址日本大阪72发明人作见雄一植原祥之吉田正知稻见幸隆74专利代理机构北京康信知识产权代理有限责任公司11240代理人余刚吴孟秋54发明名称网络应用程序构建系统、网络应用程序构建方法、网络应用程序构建程序以及记录了网络应用程序构建程序的记录介质57摘要网络应用程序构建系统的一种实施方式包括数据库部13,用于管理存储各种数据的数据库;服务提供部12,用于。
2、提供以相当于业务上的一个处理的单位部件化后的一个以上的标准功能12S作为服务;进程创建部12,用于组合由该服务提供部12提供的一个以上的服务12S,创建每个用户的业务逻辑作为进程12P;以及网络应用程序构建部12,用于根据通过进程创建部12创建的进程12P来构建每个用户的网络应用程序,其中,在一个虚拟机上运行由进程创建部12创建的进程12P和与该进程12P组合的服务12S,并通过数据库部进行他们的事务的控制。85PCT申请进入国家阶段日2010112986PCT申请的申请数据PCT/JP2010/0552332010032587PCT申请的公布数据WO2011/118003JA20110929。
3、51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书12页附图15页CN102317912A1/2页21一种网络应用程序构建系统,其用于构建多租户型网络应用程序,使用同一服务器环境的多个用户中的每个用户能够自定义为任意样式地使用所述多租户型网络应用程序,所述网络应用程序构建系统的特征在于,包括数据库部,用于管理存储各种数据的数据库;服务提供部,用于提供以相当于业务上的一个处理的单位部件化后的一个以上的标准功能作为服务;进程创建部,用于组合由所述服务提供部提供的一个以上的服务,创建每个用户的业务逻辑作为进程;以及网络应用程序构建部,用于根据通过所述进程创建部创建的进。
4、程来构建每个用户的网络应用程序,其中,在一个虚拟机上运行由所述进程创建部创建的进程和与所述进程组合的服务,并通过所述数据库部进行他们的事务的控制。2根据权利要求1所述的网络应用程序构建系统,其特征在于,通过所述服务提供部提供的服务包括实体服务,将业务数据或者控制数据作为实体,与所述实体中指定的一个所述实体相结合,且具有针对所述数据库的数据操作、实体专用逻辑;以及业务服务,实现业务逻辑的各个功能,通过所述实体服务进行数据操作,其中,所述实体映射所述数据库上的表和对象,所述实体服务的追加/参照/更新/删除操作功能部分自动生成。3根据权利要求1或2所述的网络应用程序构建系统,其特征在于,用RUBY实。
5、现由所述进程创建部创建的进程。4根据权利要求1至3中任一项所述的网络应用程序构建系统,其特征在于,用JAVA实现通过所述服务提供部提供的服务,用JRUBY实现通过所述进程创建部创建的进程,所述虚拟机是JAVA虚拟机。5根据权利要求1至4中任一项所述的网络应用程序构建系统,其特征在于,所述网络应用程序构建系统还包括界面显示部,用于进行对应于所述进程的界面的显示,其中,所述界面显示部根据按每个租户分配的租户标识符、按业务应用程序的每个功能类别分配的应用程序标识符、按租户分配给每个业务应用程序界面上的界面标识符以及匹配业务功能的界面模式而准备的专用访问路径的组合来决定界面显示设计,并根据针对每个项目。
6、标识符设定的参数来进行显示控制,按每个界面的输入项目和标签分配所述每个项目标识符。6根据权利要求5所述的网络应用程序构建系统,其特征在于,所述界面显示部使针对每个项目标识符设定的参数的内容动态地反映到界面显示上。7根据权利要求5或6所述的网络应用程序构建系统,其特征在于,所述参数的内容存储在所述数据库中,且能够通过以所述界面标识符作为关键字来汇总在所述界面显示部进行界面显示时该界面所需的项目标识符的设定来取得。8根据权利要求5至7中任一项所述的网络应用程序构建系统,其特征在于,权利要求书CN102317905ACN102317912A2/2页3基于所述参数的内容的显示控制包括显示的种类、值的格。
7、式、语句、宽度、最大最小值、有无必须检查中的至少一个以上。9一种网络应用程序构建方法,其用于构建多租户型网络应用程序,使用同一服务器环境的多个用户中的每个用户能够自定义为任意样式地使用所述多租户型网络应用程序,所述网络应用程序构建方法的特征在于,包括数据库管理步骤,管理存储各种数据的数据库;服务提供步骤,提供以相当于业务上的一个处理的单位部件化后的一个以上的标准功能作为服务;进程创建步骤,组合在所述服务提供部中提供的一个以上的服务,创建每个用户的业务逻辑作为进程;以及网络应用程序构建步骤,根据在所述进程创建部中创建的进程来构建每个用户的网络应用程序,其中,在一个虚拟机上运行在所述进程创建步骤中。
8、创建的进程和与所述进程组合的服务,并通过所述数据库管理步骤进行他们的事务的控制。10根据权利要求9所述的网络应用程序构建方法,其特征在于,通过所述服务提供步骤提供的服务包括实体服务,将业务数据或者控制数据作为实体,与所述实体中指定的一个所述实体相结合,且具有针对所述数据库的数据操作、实体专用逻辑;以及业务服务,实现业务逻辑的各个功能,通过所述实体服务进行数据操作,所述网络应用程序构建方法还包括映射步骤,所述实体映射所述数据库上的表和对象;以及自动生成步骤,自动生成所述实体服务的追加/参照/更新/删除操作功能部分。11根据权利要求9或者10所述的网络应用程序构建方法,其特征在于,所述网络应用程序。
9、构建方法还包括界面显示步骤,显示对应于所述进程的界面,在所述界面显示步骤中,根据按每个租户分配的租户标识符、按业务应用程序的每个功能类别分配的应用程序标识符、按租户分配给每个业务应用程序界面上的界面标识符以及匹配业务功能的界面模式而准备的专用访问路径的组合来决定界面显示设计,并根据针对每个项目标识符设定的参数来进行显示控制,按每个界面的输入项目和标签分配所述每个项目标识符。12根据权利要求11所述的网络应用程序构建方法,其特征在于,在所述界面显示步骤中,使针对每个项目标识符设定的参数内容动态地反映到界面显示上。13根据权利要求11或12所述的网络应用程序构建方法,其特征在于,所述参数的内容存储。
10、在所述数据库中,且能够通过以所述界面标识符作为关键字来汇总在所述界面显示部中进行界面显示时该界面所需的项目标识符的设定来取得。14一种网络应用程序构建程序,其特征在于,使计算机执行权利要求913中任一项所述的网络应用程序构建方法。15一种计算机可读取的记录介质,其特征在于,记录了权利要求14所述的网络应用程序构建程序。权利要求书CN102317905ACN102317912A1/12页4网络应用程序构建系统、网络应用程序构建方法、网络应用程序构建程序以及记录了网络应用程序构建程序的记录介质技术领域0001本发明涉及网络应用程序WEBAPPLICATION构建系统、网络应用程序构建方法、网络应用。
11、程序构建程序以及记录了网络应用程序构建程序的记录介质,其在构建所谓的多租户型MULTITENANT网络应用程序时,提高对应每个租户要求的业务逻辑构建有关的灵活性,同时也提高网络应用程序界面的自定义CUSTOMIZE的容易性。背景技术0002以往,在企业业务的数据录入系统、工作流系统等业务应用程序中,采用了由客户通过应用程序服务器来操作数据库服务器所管理的数据这样的方式。近年来,这种业务应用程序是被作为WEB应用程序而实现的。0003已经提出了如下这样的技术例如,参考专利文献1在开发执行这种WEB应用程序的应用程序服务器时,通过提供分为数据、逻辑、界面的各个模块而进行描述的框架FRAMEWORK。
12、操作,从而提高WEB应用程序的开发效率和保守性。0004并且,也提供了如下这样的多租户型应用程序可以由多位用户共有同一应用程序和硬件环境,同时可对应用户自定义数据库、网页等的设定。0005在这种多租户型应用程序中,由于无需对应每位用户构建专用环境,因而可以迅速导入应用程序,并可削减TOCTOTALCOSTOFOWNERSHIP,整体拥有成本。另外,由于通过由多位用户利用同一环境从而可使版本升级等维护时的方法通用化,因而能够容易地执行应用程序的维护。0006此外,在这种多租户型应用程序中,虽然对所有用户提供同一版本的应用程序,但是为了满足每位用户细微不同的标准要求,一般使该应用程序具有如下功能根。
13、据用户的标准要求,由用户自身进行自定义应用程序和新追加功能等即、用户自定义功能。0007但是,在由用户自定义或追加各种应用程序时,需要在应用程序侧保存例如所有用于理解这些变更的架构,存在应用程序自身大幅复杂化的缺点。0008于是,也提出有如下这样的技术例如,参考专利文献2提供使多租户型应用程序的自定义功能具有扩展性,同时维护时易于对应的应用程序的提供系统。0009并且,也提出了有关WEB应用程序中的业务应用程序的开发的技术,尤其是有关确保了业务逻辑构建中的灵活性和自定义的容易性的多租户型应用程序的技术例如,参考专利文献35。0010现有技术文献0011专利文献0012专利文献1日本特开2008。
14、112460号公报0013专利文献2日本特开2009282777号公报0014专利文献3日本特开2007531941号公报说明书CN102317905ACN102317912A2/12页50015专利文献4日本特开2009145972号公报0016专利文献5日本特开2003280898号公报0017然而,在通过WEB应用程序构建上述这样的多租户式的业务提供时,对于对应每位租户的要求的业务逻辑的构建缺乏灵活性。具体而言,可以列举出如下缺点0018业务逻辑的组合0019业务逻辑的顺序更换0020业务逻辑的追加0021业务逻辑组合的条件分歧0022向业务逻辑内混入租户判断0023由于为了满足每个租户。
15、的要求而分别安装这些程序,因而引起了WEB应用程序的臃肿化和复杂化。0024在SAAS软件即服务平台和BPMSERVER业务流程管理服务器中,能够通过组合WEB服务来构成业务逻辑。但是,各个服务是分离独立的,服务间是松耦合。由于这种情况,对应每个服务分离执行组合的多个业务逻辑时的事务TRUNSACTION。虽然具有协调事务的标准WEB服务/事务,但其处于根本不使用的状态,且必须向出错处理等中插入复杂的安装。0025而且,如果通过WEB服务组合业务逻辑,则由于各个服务都要经由网络,因而难以得到快速的响应。0026另一方面,以上述的多租户形式构建WEB应用程序界面的情况下,输入项目的设定或者项目标。
16、题TITLE对应每个租户不完全相同,大多存在一些不同点。具体而言,例如可以列举出如下方面0027名称是“部署”还是“部门”的不同0028数量最大值的不同0029字符串长度的限制0030专用项目的准备0031有无必须输入的指定0032另外,这些输入项目与数据库的表TABLE、列COLUMN结构大多密切联系,不得不对应每个租户进行准备。发明内容0033本发明的第一个目的在于提供一种网络应用程序构建系统、网络应用程序构建方法、网络应用程序构建程序以及记录了网络应用程序构建程序的记录介质,其能够将业务逻辑作为各自独立的部件来处理或者简单地加以组合,同时能够通过组合的业务逻辑统一事务。0034本发明的第。
17、二个目的在于提供一种网络应用程序构建系统、网络应用程序构建方法、网络应用程序构建程序以及记录了网络应用程序构建程序的记录介质,即使在对应每个租户输入项目的设置或者项目标题等有些不同的情况下,也无需对应每个租户准备数据库就能够构建多租户型的WEB应用程序界面。0035本发明的网络应用程序构建系统,其用于构建多租户型网络应用程序,使用同一说明书CN102317905ACN102317912A3/12页6服务器环境的多个用户中的每个用户能够自定义为任意样式地使用所述多租户型网络应用程序,所述网络应用程序构建系统包括数据库部,用于管理存储各种数据的数据库;服务提供部,用于提供以相当于业务上的一个处理的。
18、单位部件化后的一个以上的标准功能作为服务;进程创建部,用于组合由所述服务提供部提供的一个以上的服务,创建每个用户的业务逻辑作为进程;以及网络应用程序构建部,用于根据通过所述进程创建部创建的进程来构建每个用户的网络应用程序,其中,在一个虚拟机上运行由所述进程创建部创建的进程和与所述进程组合的服务,并通过所述数据库部进行他们的事务的控制。0036在这里,例如,由JAVA实现通过所述服务提供部提供的服务,由JRUBY或RUBY实现通过所述进程创建部创建的进程,所述虚拟机是JAVA虚拟机。0037根据这种构成的网络应用程序构建系统,能够将业务逻辑作为各自独立的部件来处理或者简单地加以组合,同时能够通过。
19、组合的业务逻辑统一事务。由于全部在虚拟机上运行,因而组合的服务彼此不经由网络,因而能够快速地运行。事务控制与现有的应用程序相同,能够使用数据库的功能来确保数据的匹配性,因而无需掌握新的控制方法。此外,在用JRUBY或者RUBY实现所述进程创建部创建的进程时,能够简单地描述组合。0038另外,在本发明的网络应用程序构建系统中,通过所述服务提供部提供的服务也可以包括实体服务,将业务数据或者控制数据作为实体,与所述实体中指定的一个所述实体相结合,且所述实体服务包括针对所述数据库的数据操作、实体专用逻辑;以及业务服务,实现业务逻辑的各个功能,通过所述实体服务进行数据操作,其中,所述实体映射所述数据库上。
20、的表和对象,所述实体服务的追加/参照/更新/删除操作功能部分自动生成。0039根据这种结构的网络应用程序构建系统,由于自动生成上述实体服务的追加/参照/更新/删除操作功能部分,因而能够使易于冗长的数据库访问描述单一化,从而易于进行管理。0040另外,在本发明的网络应用程序构建系统中,所述网络应用程序构建系统还可以包括界面显示部,用于进行对应于所述进程的界面的显示,其中,所述界面显示部根据按每个租户分配的租户标识符、按业务应用程序的每个功能类别分配的应用程序标识符、按租户分配给每个业务应用程序界面上的界面标识符以及匹配业务功能的界面模式而准备的专用访问路径的组合来决定界面显示设计,并根据针对每个。
21、项目标识符设定的参数来进行显示控制,按每个界面的输入项目和标签分配所述每个项目标识符。0041在这里,基于所述参数内容进行的显示控制可以列举有显示的种类、值的格式、语句、宽度、最大最小值、有无必须检查的项目等。0042根据这种构成的网络应用程序构建系统,即使在对应每个租户输入项目的设置或者项目标题等有一些不同的情况下,通过设置参数也可以进行对应,因而不用针对每个租户都准备数据库就能够构建多租户型的网络应用程序界面,从而在与数据库之间也就不存结构上的依赖性。0043另外,在本发明的网络应用程序构建系统中,所述界面显示部也可以使针对每个项目标识符设定的参数的内容动态地反映到界面显示上。而且,所述参。
22、数的内容也可以存储在所述数据库中,通过以所述界面标识符作为关键字来汇总在所述界面显示部进行界面显示时该界面所需的项目标识符的设定,从而能够取得所述参数的内容。0044根据这种构成的网络应用程序构建系统,以静态的方式准备界面的设计,而在显说明书CN102317905ACN102317912A4/12页7示时使其动态变化,因而易于自定义。0045或者,本发明的网络应用程序构建方法,其用于构建多租户型网络应用程序,使用同一服务器环境的多个用户中的每个用户能够自定义为任意样式地使用所述多租户型网络应用程序,所述网络应用程序构建方法包括数据库管理步骤,管理存储各种数据的数据库;服务提供步骤,提供以相当于。
23、业务上的一个处理的单位部件化后的一个以上的标准功能作为服务;进程创建步骤,组合在所述服务提供部中提供的一个以上的服务,创建每个用户的业务逻辑作为进程;以及网络应用程序构建步骤,根据在所述进程创建部中创建的进程来构建每个用户的网络应用程序,其中,在一个虚拟机上运行在所述进程创建步骤中创建的进程和与所述进程组合的服务,并通过所述数据库管理步骤进行他们的事务的控制。0046根据这种构成的网络应用程序构建方法,能够将业务逻辑作为各自独立的部件来处理或者简单地加以组合,同时能够通过组合的业务逻辑统一事务。由于全部在虚拟机上运行,因而组合的每个服务彼此不经由网络,从而能够快速地运行。事务控制与现有的应用程。
24、序相同,能够使用数据库的功能来确保数据的匹配性,因而无需掌握新的控制方法。0047另外,在本发明的网络应用程序构建方法中,通过所述服务提供步骤提供的服务包括实体服务,将业务数据或者控制数据作为实体,与所述实体中指定的一个所述实体相结合,且所述实体服务包括针对所述数据库的数据操作、实体专用逻辑;以及业务服务,实现业务逻辑的各个功能,通过所述实体服务进行数据操作,所述网络应用程序构建方法还包括映射步骤,所述实体映射所述数据库上的表和对象;以及自动生成步骤,自动生成所述实体服务的追加/参照/更新/删除操作功能部分。0048根据这种构成的网络应用程序构建方法,由于自动生成上述实体服务的追加/参照/更新。
25、/删除操作功能部分,因而能够使易于冗长的数据库访问描述单一化,从而易于进行管理。0049另外,在本发明的网络应用程序构建方法中,所述网络应用程序构建方法还可以包括界面显示步骤,显示对应于所述进程的界面,在所述界面显示步骤中,根据按每个租户分配的租户标识符、按业务应用程序的每个功能类别分配的应用程序标识符、按租户分配给每个业务应用程序界面上的界面标识符以及匹配业务功能的界面模式而准备的专用访问路径的组合来决定界面显示设计,并根据针对每个项目标识符设定的参数来进行显示控制,按每个界面的输入项目和标签分配所述每个项目标识符。0050根据这种构成的网络应用程序构建方法,即使在对应每个租户输入项目的设置。
26、或者项目标题等有一些不同的情况下,通过设置参数也可以进行对应,因而无需对每个租户都准备数据库就能够构建多租户型的网络应用程序界面,从而在与数据库之间也就不存结构上的依赖性。0051另外,在本发明的网络应用程序构建方法中,在所述界面显示步骤中,可以使针对每个项目标识符设定的参数内容动态地反映到界面显示上。而且,所述参数的内容存储在所述数据库中,通过以所述界面标识符作为关键字来汇总在所述界面显示部中进行界面显示时该界面所需的项目标识符的设定,从而能够取得所述参数的内容。0052根据这种构成的网络应用程序构建方法,由于可以通过静态的方式准备界面的设计,在显示时使其动态变化,因而易于自定义。0053或。
27、者,对于本发明的网络应用程序构建程序,使计算机执行所述网络应用程序构说明书CN102317905ACN102317912A5/12页8建方法。0054根据这种构成的网络应用程序构建程序,只要具有能够执行程序的计算机环境,则不论在什么地方都可以实现本发明的网络应用程序构建方法。而且,只要将网络应用程序构建程序设定为通用的计算机能够执行的程序,则也就无需为了实现本发明的网络应用程序构建方法而准备专用的计算机环境,从而可以提高本发明的网络应用程序构建程序的有用性。0055或者,本发明的记录了网络应用程序构建程序的记录介质是一种计算机可以读取的记录介质,其中,记录了所述网络应用程序构建程序。0056根。
28、据记录了这种结构的网络应用程序构建程序的记录介质,易于在各种场所或者环境下实现本发明的网络应用程序构建方法,从而能够提高本发明的网络应用程序构建方法的通用性。0057发明效果0058根据本发明的网络应用程序构建系统和网络应用程序构建方法,能够将业务逻辑作为各自独立的部件来处理或者简单地加以组合,同时能够通过组合的业务逻辑统一事务。由于全部在虚拟机上运行,因而组合的每个服务不经由网络,因而能够快速地运行。事务控制与现有的应用程序相同,能够使用数据库的功能保持数据的匹配性,因而不必掌握新的控制方法。0059根据本发明的网络应用程序构建程序,只要具有能够执行程序的计算机环境,则不论在什么地方都可以实。
29、现本发明的网络应用程序构建方法。而且,只要将网络应用程序构建程序设定为通用的计算机能够执行的程序,则也就无需为了实现本发明的网络应用程序构建方法而准备专用的计算机环境,从而可以提高本发明的网络应用程序构建程序的有用性。0060此外,根据本发明的记录了网络应用程序构建程序的记录介质,易于在各种场所或者环境下实现本发明的网络应用程序构建方法,从而能够提高本发明的网络应用程序构建方法的通用性。附图说明0061图1是表示根据本发明的第一实施方式的WEB应用程序构建系统10的服务器结构等的功能框图。0062图2是WEB应用程序构建系统10的各服务器上运行的各模块与在客户端装置20上运行的浏览器20B之间。
30、的调用关系等的说明图。0063图3是一些通用JAVASCRIPT函数和HTML元素的描述规则。0064图4A和图4B是表示UI参数的IMAGE的表,其中,图4A表示UI_PARAM,图4B表示UI_INPUT。0065图5是作为JRUBY的DSLDOMAINSPECIFICLANGUAGE领域特定语言而描述的进程PROCESS12P的例子。0066图6是在图5中例示的进程12P中使用的DSL函数的概略说明图。0067图7是关于进程、动作和子动作的说明图。0068图8A和图8B是关于UIDB参数转换的说明图,其中,图8A示出了转换前,说明书CN102317905ACN102317912A6/12。
31、页9图8B示出了转换后。0069图9是实体ENTITY服务12S1和业务服务12S2的关系的概况说明图。0070图10是服务12S的文档的描述例。0071图11是WEB应用程序构建系统10的标准的输入系统界面处理的概略时序图SEQUENCEDIAGRAM。0072图12是租户1用的标准订单输入界面的目录输入列表TAB的界面显示实例。0073图13是与图12相同的标准订单输入界面的明细输入列表的界面显示实例。0074图14是租户2用的标准订单输入界面的目录输入列表的界面显示实例。0075图15是与图14相同的标准订单输入界面的明细输入列表的界面显示实例。0076图16是租户1用的订单一览条件设定。
32、界面的显示实例。0077图17是租户2用的订单一览条件设定界面的显示实例。具体实施方式0078下面,参照附图来说明本发明的实施方式。0079在根据本发明的第一实施方式的构建多租户型WEB应用程序的WEB应用程序构建系统10中,采用了SOASERVICEORIENTEDARCHITECTURE,服务导向架构构想,将业务逻辑分为“进程”和“服务”。并且,将标准功能部件化后作为服务,同时通过组合所需的一个以上的服务来制作每个租户公司等的业务逻辑作为进程。0080通过对应每个租户复制进程之后再进行变更来应对每个租户将来所产生的业务逻辑的不同。创建服务时,使用保守性高的JAVA注册商标,以下也同样,创建。
33、进程时,使用描述性和灵活性高的脚本语言即RUBYJRUBY。0081下面,将对应下面每个项目进行详细说明。0082AWEB应用程序构建系统100083A1功能模块0084A11服务器结构0085A12模块调用关系0086A2详细处理0087A21界面JSP0088A22进程JRUBY0089A23服务JAVA0090A3处理时序0091A4界面显示实例0092B作为程序和记录介质的实施方式00930094图1是表示根据本发明的第一实施方式的WEB应用程序构建系统10的服务器结构等的功能框图。0095如图1所示,WEB应用程序构建系统10包括前端服务器11,其主要实现与界面有关的处理等;逻辑服务。
34、器12,其主要实现与业务逻辑等有关的处理;以及数据库服务器13,其主要实现与存储、管理各种数据的数据库有关的处理。该WEB应用程序构建系统10通过说明书CN102317905ACN102317912A7/12页10前端服务器11和因特网等网络,与外部一台以上的客户端装置20连接。0096此外,在该图1中,虽然示出了通过组合三台服务器11、12、13而构成WEB应用程序构建系统10的情况,但是也可以仅使用一台服务器装置来实现实际的硬件结构。0097接下来,例示出了在这些服务器11、12、13等中利用的产品PRODUCT,关于各产品将在后面集中说明。0098作为用于前端服务器11的产品,可以列举有。
35、例如INTRAMART、S2STRUTS、S2DAO等。界面利用标准的JSPJAVASERVERPAGES来实现。0099作为用于逻辑服务器12的产品,可以列举有例如TOMCAT、S2JDBC等。进程利用JRUBY实现。服务和实体利用JAVA实现。0100作为用于数据库服务器13的产品,可以列举有例如作为关系型数据库管理系统RDBMS而正在市场销售的ORACLE。0101通过HTTP进行从前端服务器11向逻辑服务器12的通信,从逻辑服务器12向前端服务器11返回JSONJAVASCRIPTOBJECTNOTATION。0102从前端服务器11向数据库服务器13的通信通过S2DAO仅进行参照,从。
36、数据库服务器13向前端服务器11返回UI参数、访问权限、INTRAMARTMASTER。0103从逻辑服务器12向数据库服务器13的通信通过S2JDBC进行参照和更新,数据库服务器13向逻辑服务器12返回UI参数、业务数据、执行日志LOG。0104在客户端装置20上运行的浏览器20B中,例如,可以利用HTML、JAVASCRIPT、JQUERY等。通过HTTP或者HTTPS进行从客户端装置20向前端服务器11的通信,从前端服务器11向客户端装置20返回HTML、JSON。0105INTRAMART是NTT数据英特玛公司NTT的WEB应用程序框架,在WEB应用程序构建系统10中,主要利用用户、权。
37、限管理和W/F功能。0106JQUERY是JAVASCRIPT的资源库LIBRARY,其简化了HTML和CSS的动态改变处理。0107S2STRUTS是使用SEASAR2DI容器扩展了STRUTSWEB框架的开源的框架,其简化了STRUTS的设置操作。0108S2DAO和S2JDBC是使用SEASAR2映射数据库13D上的表和JAVA的对象的O/RMAPPEROBJECTRELATIONALMAPPER工具,其简化了表的CRUD追加/参照/更新/删除操作实施。此外,之所以没有用S2JDBC进行统一,是因为在INTRAMART上存在限制。0109JRUBY是在JAVAVM上运行的RUBY语言的处。
38、理系统的实现。可以使JAVA运行用RUBY语言编写的脚本SCRIPT,或者可以根据RUBY的脚本利用JAVA的类别、方法。01100111图2是在WEB应用程序构建系统10的各服务器上运行的各模块与在客户端装置20上运行的浏览器20B之间的调用关系等的说明图。0112如图2所示,浏览器20B通过HTTP或者HTTPS调用界面11DJSP,而不会从浏览器20B直接利用进程12PJRUBY。0113界面11DJSP通过HTTP调用进程12PJRUBY,而不会从界面11DJSP直接利用服务12SJAVA。0114进程12PJRUBY通过调用JAVA方法来调用服务12SJAVA,而不会从进程说明书CN。
39、102317905ACN102317912A8/12页1112PJRUBY直接利用数据库13D。0115服务12SJAVA进行数据库13D所存储、管理的各种数据的参照和更新处理。0116此外,这些进程12P和服务12S能够在一个JVMJAVAVIRTUALMACHINE,JAVA虚拟机上运行,且能够与数据库13D联动地进行各个组合的事务控制。01170118界面11D使用标准JSP来实现。图3是一些通用JAVASCRIPT函数和HTML元素的描述规则。图4A和图4B是表示UI参数的IMAGE的表,其中,图4A表示UI_PARAM,图4B表示UI_INPUT。0119如图3所示,对HTML的输入。
40、和标签LABEL的各元素指定ID。0120指定的ID成为UI参数的关键字KEY项目ID。由界面经由FRONT11D发送到LOGIC12P进程的参数也将项目ID作为关键字。根据UI参数使用JAVASCRIPT动态地设定标签的内容、输入项目的类型和位数信息、各元素的宽度等。此外,使用框架的通用JAVASCRIPT函数。0121如图4所示,在UI_PARAM和UI_INPUT均具有的字段“输入ID”中具有相等值的记录RECORD彼此相互映射。0122在下面对界面11D的逻辑结构进行进一步说明。01231作为多租户对应,对应每个租户分配公司CDCODE,下同。01242按照每个业务应用程序的功能分类订。
41、单管理、采购管理等分配应用程序CD。01253配合业务功能的界面模式发票输入类型、一览显示类型等准备专用的访问路径URI。01264按照租户按照公司CD对每个业务应用程序界面分配界面ID。01275根据公司CD、应用程序CD、界面ID与URI的组合来决定想要显示的界面的设计。01286对每个界面的输入项目和标签分配项目ID。0129在这里,对应每个项目ID准备显示的种类、值的格式、语句、宽度、最大最小值、有无必须检查的项目等设定作为UI参数。在进行界面显示时,动态地反映各项目ID的UI参数的内容。UI参数的内容被保存在数据库13D中,能够通过以界面ID作为关键字来汇总界面11D所需的项目ID的。
42、设定,从而整套取得UI参数的内容。01307进行UIDB参数变换。0131用界面ID项目ID映射数据库13D的表、列,使能够相互转换界面ID项目ID与映射。取得业务数据时,从表和列转换为项目ID,保存业务数据时,从项目ID转换为表和列。0132另外,这种逻辑结构的实现方式如下所述。01331按每个公司CD划分数据库13D。01342将公司CD、应用程序CD、界面ID和URI作为关键字,指定描述了界面设计的JSP文件。01353在JSP文件中对输入项目或者标签指定ID“项目ID”并进行描述。01364用JAVASCRIPT将UI参数的内容动态地反映到各输入项目或者标签上。说明书CN1023179。
43、05ACN102317912A9/12页120137在这里,将UI参数的内容保存在数据库中。以界面ID作为关键字从数据库13D汇总取得项目ID的UI参数整套。然后,自动生成反映UI参数内容的JAVASCRIPTJQUERY的源。0138在浏览器20B显示时,使自动生成的JAVASCRIPT运行并动态地进行反映。01395实现UIDB参数转换资源库,从而能够将界面ID项目ID与映射相互转换。01400141图5是作为JRUBY的DSLDOMAINSPECIFICLANGUAGE领域特定语言而描述的进程12P的例子。图6是在图5中例示的进程12P中使用的DSL函数的概况说明图。此外,图5的行末所示。
44、的1等数字表示对应于在图6中具有相同数字的函数。0142所谓DSL是指为指定的问题或者任务所设计的程序语言。在进程12P中,使用RUBY语法作为语法。在图5中,例示出了“取得初始值”、“确认处理”、“注册处理”。另外,为了描述WEB应用程序构建系统10的业务逻辑,预先准备例如图6所示的特别函数DSL函数。0143图7是关于进程、动作和子动作的说明图。0144通过用ACTION方法定义的“动作”这样的模块为单位从界面11D调用处理。进程12P由多个动作组成,从界面11D的调用原则上指定动作。更新系统的界面原则上来说,相对于一个界面11D具有一个进程12P,但仅参照的进程12P可以被多个界面11D。
45、共用。此外,将为了在多个进程12P间使处理通用化而以DSL的文件为单位进行分割的动作称为“子动作”。0145另外,将从服务器对界面项目设定值的处理称作“输入支援”,将在服务器中进行界面项目的错误检查的处理称作“项目检查”。通过利用数据库13D的参数来设定预先准备的检查部件,从而能够以不用程序的方式进行这些输入支援和项目检查。0146图8A和图8B是有关UIDB参数转换的说明图,其中,图8A示出了转换前,图8B示出了转换后。0147通过ENTITY方法将从界面11D发送来的参数转换为JAVA的实体类的实例。在这里,所谓实体就是与数据库13D的表一对一对应的对象。0148由框架通过参照UI参数自动。
46、地进行从界面11D发送的界面项目UINO、C04等到数据库13D项目JUCHUS_JUCHU、JUCHUD_JUCHU等的转换。0149例如,在图8A和图8B所示的情况下,在ENTITYJUCHU中,对JUCHU对象的SJUCHU属性和DJUCHU属性自动地设定从界面11D发送来的值关键字UINO、C04各自的值。但是,实际上,由于对转换前的散列HASH追加转换后的关键字/值,也保留了转换前的关键字/值。01500151服务12S由JAVA创建。该服务12S所提供的功能作为WEB应用程序构建系统10的标准功能,每个租户公司的逻辑被进程12P吸收。0152图9是实体服务12S1和业务服务12S2。
47、的关系的概况说明图。0153如图9所示,服务12S的种类具有如下两种。此外,将业务数据或者控制数据作为实体。01541实体服务0155其是实现与指定的实体的一个相结合的业务逻辑的服务,具有基本的CRUD操作说明书CN102317905ACN102317912A10/12页13和实现业务逻辑的方法。此外,该实体服务自动生成数据库13D的CRUD操作中的S2JDBC功能部分。01562业务服务0157其是实现不与指定的一个实体的相结合的业务逻辑的服务,不具有基本的CRUD操作而使用实体服务。0158另外,原则上,在服务12S的方法引数中指定实体类实例和实体类列表、或者映射关键字和值的组合或者映射列。
48、表,避免引数的个数增多。0159图10是服务12S的文档的描述实例。0160在该图10中,示出了服务名为“订单明细服务”的例子,如上所述,服务12S的文档以JAVADOC形式进行描述。01610162图11是WEB应用程序构建系统10中的标准输入系统界面处理的概况时序图。此外,如参照图2等说明的那样,浏览器20B在客户端装置20上运行,界面11DJSP在前端服务器11上运行,进程12P和服务12S在逻辑服务器12上运行,数据库13D在数据库服务器13上运行。另外,在图11中,省略了登录LOGIN处理和UIDB参数转换处理等。0163首先,在用户30利用键盘等向浏览器20B输入URL时,其将变为。
49、HTTP,并发送到界面11D,再由界面11D通过S2DAO进行数据库13D的参照。从界面13D返回UI参数项目的宽度、类型、位数信息、标签名称、事件处理等。0164根据返回来的UI参数,从界面11D对进程12P进行进程调用INIT,再从进程12P对服务12S进行输入支援服务的调用INIT,然后再由服务12S利用S2JDBC进行数据库13D的参照。从数据库13D返回检查参数CHECKPARAMETER。然后,在服务12S中从业务服务12S2参照图9进行实体服务12S1参照图9的调用,然后由服务12S再利用S2JDBC进行数据库13D的参照。从数据库13D返回业务数据。根据返回来的业务数据,从服务12S向进程12P返回界面项目初始值,再从进程12P向界面11D返回JSON界面项目初始值,将其作为HTML发送到浏览器20B。在浏览器20B上显示界面,从而被用户30所识别。0165在用户30利用键盘等向界面内的任意一个项目进行输入,再利用鼠标等点击界面内的注册按钮时,其将变为HTTPAJAX,发送到界面11D,再从界面11D对进程12P进行进程的调用CONFIRM,然后从进程12P对服务12S进行输入支援服务的调用TOROKU,再由服务12S利用S2JDBC进行数据库13D的参照。从数据库13D返回检查参数。然后,在服务12S中从业务服务12S2进行实体服务12S1调用,然后由服务1。