CN102968296A - 在没有web托管知识的情况下使用基于云的无摩擦数据库来创建web应用 - Google Patents

在没有web托管知识的情况下使用基于云的无摩擦数据库来创建web应用 Download PDF

Info

Publication number
CN102968296A
CN102968296A CN2012104091195A CN201210409119A CN102968296A CN 102968296 A CN102968296 A CN 102968296A CN 2012104091195 A CN2012104091195 A CN 2012104091195A CN 201210409119 A CN201210409119 A CN 201210409119A CN 102968296 A CN102968296 A CN 102968296A
Authority
CN
China
Prior art keywords
web
user
web application
data
voucher
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012104091195A
Other languages
English (en)
Other versions
CN102968296B (zh
Inventor
S·格林伯格
M·H·史密斯
V·拉姆库玛
B·E·基内曼
R·辛格
D·J·科尔
P·A·卡林
C·T·塞茨英格
A·A·斯波里多诺夫
D·M·杰德
汪慎
S·乔汉
G·陈
T·J·B·特恩斯特伦
R·M·辛克莱尔
T·豪格恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102968296A publication Critical patent/CN102968296A/zh
Application granted granted Critical
Publication of CN102968296B publication Critical patent/CN102968296B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)

Abstract

在没有web托管知识的情况下使用基于云的无摩擦数据库来创建web应用。在web应用服务处接收用户凭证,以便经由客户端软件启动web应用任务。分析用户凭证以判断是否要向用户给予启动所请求的web应用任务的许可。在许可被给予时启动web应用任务。在web应用服务处接收与所启动的web应用任务相关联的数据,以便分析数据以完全基于所接收的提供的数据而不基于web托管知识来托管和呈现web应用。

Description

在没有web托管知识的情况下使用基于云的无摩擦数据库来创建web应用
技术领域
本发明涉及创建web应用。
背景技术
托管或本地安装的业务应用创建、监视并以其它方式处理请求、定单、报价和类似的业务运营。许多业务应用也集成其它运营方面,诸如制造、库存、规划和购买运营。而且,各种业务有时需要货物和服务的供应商和消费者之间的交互。
操作这些业务应用自动化进行的业务过程的业务专家通常是最了解这样的业务应用的需求是什么的人。然而,业务专家通常具有很少的编程经验或不具有编程经验,而构建这些类型的应用的可用编程工具通常需要数据库和编程专业技能。这使得这样的工具超出这些业务专家中许多人的能力范围。
自从1970年代以来,基于服务器的关系数据库允许各组织按照可靠、安全的方式存储业务数据并广泛地共享该数据。相反,自从1990年代左右出现的诸如Microsoft Access等桌面数据库允许业务专家创建关系数据库。然而,桌面数据库中的数据不如基于服务器的数据库中的数据安全、可靠或可共享。此外,当今可用的用于构建应用的选择是不灵活的、不完善的、范围太窄、或如此复杂以致于它们与它们被设想来代替的编程选择一样难以理解。例如,由于要么缺乏对定制的支持,要么只存在有限的定制设施,点解决方案(预封装应用)是受限的。用于编程工具的模板(可在工具中修改的预封装解决方案)是替换的解决方案,该替换的解决方案取得了一些成功但也遭受许多缺点。底层编程工具可能仍需要用户具有数据库和编程专业技能。此外,找到适于解决业务问题的模板通常是有挑战性的。合适的模板通常是复杂的且对用户而言难以理解和修改。而且,模板往往是难以组合的功能的“岛”。
另一常见的方法是提供向导,该向导提示用户作出一系列选择,这些选择导致基于这些选择的应用的生成。然而,向导通常不是可重入的(即它们支持生成但不支持编辑),且不使用允许更新和扩展的可扩展元数据方案。这限制了这样的向导的有用性。
今天,由于web浏览器的到处存在、将web浏览器用作客户端(有时被称为瘦客户端)的方便性,web应用是流行的。Web应用流行的一个原因在于无需在潜在地数千个客户机计算机上分发和安装软件的情况下更新和维护web应用的能力。其流行的另一个重要原因在于对跨平台兼容性的固有支持。使用web应用的又一好处得自对用于存储业务信息的数据库的使用。数据库软件允许业务信息被存储,使得信息可由所有授权的业务用户容易地获得。这增加了团队协作,并改进了团队效率和沟通。因此,业务顾客想要能够创建由数据库提供动力的web应用。
然而,当今,的确很难创建由数据库提供动力的web应用。例如,MicrosoftAccess Server 2010允许设计者创建web数据库。Microsoft Access Server 2010依赖于SharePoint来提供网页、URL和基础架构,以使得用户能具有由数据库提供动力的web应用。然而,SharePoint不提供完全的关系或事务数据库存储,这限制了可被创建的应用的类型和这些应用的数据完整性。SQL Server Express可被用来创建关系数据库。然而,SQL Server Express不提供发布网页或返回URL以允许用户与其他人共享网页的方式。因此,SQL Server Express仅支持数据库的创建,但不支持web应用的创建。而且,非技术业务用户没有创建web数据库的技巧或知识。
因此,现有的工具不促成“真正”关系数据库的创建,并缺乏对功能的支持,包括对原子、一致、隔离和可持久的事务的支持。
发明内容
为克服上述限制,并为了克服在阅读和理解本说明书时会变得明显的其它限制,公开了在没有web托管知识的情况下使用基于云的无摩擦数据库来创建web应用的各实施例。
上述问题通过组合数据库管理系统与基于web的协作平台的功能来得到解决。提供用于在数据库管理系统中创建web应用的设计界面。中间层和托管数据库服务器控制web应用,使得用户不需要关于web应用的托管的任何知识。
一实施例包括用于使用基于云的无摩擦数据库来创建web应用的方法。该方法包括在web应用服务处接收用户凭证以便经由客户端软件来启动web应用任务,分析用户凭证来判断是否给予启动所请求的web应用任务的许可,在许可时启动web应用任务,并在web应用服务处接收与所启动的web应用任务相关联的数据,以便分析数据以完全基于所接收的提供的数据而不基于web托管知识来托管和呈现web应用。
另一实施例包括用于使用基于云的无摩擦数据库来创建web应用的系统。该系统包括用于提供用户凭证以便启动web应用任务的客户端,用于映射与web应用任务相关联的web应用、标识用于所映射的web应用的登录并基于所提供的用户凭证确定与用户相关联的角色的中间层,以及用于维护系统数据库和应用数据库的托管数据库服务器,系统数据库被用于映射用户、凭证和应用数据库,其中用户凭证被分析以判断是否给予启动所请求的web应用任务的许可,web应用任务在许可被给予时被启动,并在中间层接收与所启动的web应用任务相关联的数据以便分析数据以完全基于所接收的提供的数据而不基于web托管知识来托管和呈现web应用。
另一实施例提供其上存储用于使用基于云的无摩擦数据库来创建web应用的指令的计算机可读存储器设备。该指令包括在web应用服务处接收用户凭证以便经由客户端软件来启动web应用任务,分析用户凭证来判断是否给予启动所请求的web应用任务的许可,在许可被给予时启动web应用任务,并在web应用服务处接收与所启动的web应用任务相关联的数据,以便分析数据以完全基于所接收的提供的数据而不基于web托管知识来托管和呈现web应用。
提供本发明内容以便以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图说明
现在参考附图,在全部附图中,相同的附图标记表示相应的部分:
图1提供了根据一个实施例使用基于云的无摩擦数据库来创建web应用的系统的高级体系结构;
图2示出了根据实施例表示3层拓扑结构的框图;
图3是根据实施例的3层拓扑结构的详细框图;
图4示出了根据实施例的用户凭证到数据库角色的映射表;
图5示出了根据一个实施例的创建web应用的过程;
图6示出了根据一个实施例的浏览已经被发布的应用的过程;
图7示出了根据实施例的给予许可的过程;
图8示出了根据实施例的用于认证浏览应用的用户的过程;
图9示出了根据实施例的给予许可的过程;
图10示出了根据实施例的应用数据库中的资源表;
图11示出了根据实施例资产要在应用数据库中保存而经历的流程;
图12示出了根据实施例的来自浏览器的页面请求的流程;
图13是根据实施例的用于使用基于云的无摩擦数据库来创建web应用的方法的流程图;以及
图14是可在其中实施本发明的各实施例的计算设备的简化框图;
图15a-b是可在其中实施本发明的各实施例的移动计算设备的简化框图;以及
图16是可在其中实施本发明的各实施例的分布式计算系统的简化框图。
具体实施方式
各实施例针对在没有web托管知识的情况下使用基于云的无摩擦数据库来创建web应用。
图1提供了根据一个实施例使用基于云的无摩擦数据库来创建web应用的系统100的高级体系结构。在图1中,用户使用诸如web浏览器、Access客户端软件等客户端软件110来构建web应用。用户可创建页面用户界面、数据库模式、其它数据库属性等。客户端软件提供了允许用户选择在因特网上托管应用的选项。用户提供应用的名字并选择在因特网上托管应用的选项。应用然后可在因特网上使用。这消除了要求用户理解用于获取托管应用的域以及实际保护域并执行托管web应用的所有步骤的过程的障碍。一旦用户选择了在因特网上托管应用的选项,诸如Microsoft Access Services的web应用服务120就代表用户联系Web托管服务130和数据存储服务140。
图2示出了根据实施例表示3层拓扑结构200的框图。数据库被托管在诸如SQL AzureTM的托管数据库服务器270上的定制数据库中。这些数据库例如在默认的托管数据库服务器所提供的内容上或超出默认的托管数据库服务器所提供的内容来定制,以便能够成本有效地来被提供。定制包括限制数据库以及可用登录(logon)集合中数据的数量。
在图2中,3层拓扑结构200包括表面210、诸如Windows AzureTM的托管计算服务器240中的主机以及托管数据库服务器270中的主机。当用户购买软件时,软件将具有表面210,用户可在该表面上设计web应用和关系数据库,关系数据库对web应用提供动力,为web应用提供数据。图2示出了表面210可包括诸如Windows LiveTM的认证服务212、诸如Office 365的用于提供消息收发和协作工具的业务生产力套件214以及其它软件216。从用户界面,向用户提供托管web应用的选项。用户不需要了解它们位于哪里(例如它们与之通信的服务器)来在因特网上提供应用。为用户返回使用户定向到其在因特网上的应用的URL。数百万个数据库应用可同时存在于托管环境的托管数据库服务器中。应用开发者和用户可来自不同的表面,其中他们各自具有他们自己的用于认证的方法。
数据库管理系统可在托管计算和数据库服务器平台240/270上运行。为了作为托管服务运行Access Services,需要用于文件存储(HTML和JS)的平台,以及存储用户数据的SQL数据库,及处理Access Services的平台,例如web前端(WFE)服务器242和自动化部署服务(ADS)服务器244。因此,在表面210下,机器正在托管计算服务器240和托管数据库服务器270中运行,以便在不需要对底层技术的任何知识的情况下为用户呈现web应用。而且,数据库可用于其它平台,诸如Office 365、Windows LiveTM、FaceBook或任何其它用户选择的站点。因为,资产是“真正的”SQL Server资产——表、视图、存储过程,资产可使用诸如Visual Studio或SQL Server Management Studio的专业工具来编辑。此外,Access Services可支持数千用户共享同一实例。例如页面和数据库的用户数据以及许可设置以安全的方式被存储,使得用户不能看见彼此的数据。
每一数据库应用包括URL和应用数据库。Access Services通过管理系统数据库272来映射用户、凭证和应用数据库以将每一数据库应用缝在一起。Access Services用一个订阅在托管计算服务器240中运行。开发者和应用用户由其用户凭证(例如,Windows LiveTM标识,WLID)标识。在托管数据库服务器270中为每个应用创建一个数据库。此外,为每一应用数据库创建一个数据库专用登录和三个数据库角色/用户。对每一应用数据库280,将用户的凭证映射到用户,以判断用户是否具有读、写或设计的权限。全部关系数据被存储在应用数据库280中。在图2中,示出了第一应用282和第二应用284的数据库。全部非关系数据也被存储在应用数据库280中。HTML、JS和任何其它非关系数据被存储在应用数据库中的“资产表”中。托管数据库服务器270被用于动态管理一组服务器,因此成本被最小化。然而,系统的容量可动态扩张。
图3是根据实施例的3层拓扑结构300的详细框图。在图3中,用户使用客户端软件310来创建web应用。如上所述,Web应用的托管和控制可由诸如Windows AzureTM的托管计算服务器350以及诸如SQL AzureTM的托管数据库服务器380提供。用户使用客户端软件310来创建web应用,客户端软件提供设计者模块312和表单模块314。使用数据库管理系统310,用户可使用浏览器316将web应用发送给托管计算服务器350。托管计算服务器350包括web前端服务器352和中间层服务器370。Web前端服务器352包括用于接收与web应用相关联的数据和页面以及来自用户的认证代码的HTTP模块353。HTTP处理器354被提供来管理URL。限额检查器355验证用户没有超出与订阅相关联的参数,例如一个应用一个数据库,一个数据库专用登录和三个数据库角色/用户。
视图运行时356提供关于web应用的信息。代理360加载并调用由中间层服务器370处理的例程。加载平衡器(LB)362通过判断哪一网关处理连接请求来管理连接。用于发现用于处理特定中间层机器的特定机器的角色查找器364需要处理该请求。特定角色查找器368与特定机器相关联。
中间层服务器370包括用户概况/角色提供者模块372。用户概况/角色提供者模块372与来自托管数据库服务器的系统数据库通信,以获取与用户相关联的信息。SOAP接口373是用于提供互操作性的接口的示例,而数据提供者374向SQL数据访问层375、会话管理器376和会话377提供数据。SQL数据访问层375访问托管数据库服务器380中的应用数据库384。会话管理器376可被调用来创建新会话,或者在用户之前已注册的情况下返回现有会话。会话377和相关联状态378由中间层服务器370维护。托管数据库服务器380包括系统数据库382和应用数据库384。
图4示出了根据实施例的用户凭证到数据库角色的映射表400。由于WFE基于用户凭证(例如Windows LiveTM ID)的认证来认证用户,且对每一数据库,依赖于数据库专用角色来保护用户数据,表400被用来将用户令牌或其它用户凭证映射到数据库角色。该表400被保存在系统数据库中。在图4中,用户凭证410被映射到数据库名420。与每一NetID 410/数据库名420映射相关联的权限430也维护在表400中。
图5示出了根据一个实施例的创建web应用的过程500。在图5中,用户使用客户端软件510来创建web应用。如上所述,Web应用的托管和控制可由诸如Windows AzureTM的托管计算服务器550以及诸如SQL AzureTM的托管数据库服务器580提供。
图5包括以上参考图3详细描述的元素,包括具有设计者模块512和表单模块514的客户端软件510,包括HTTP模块553、HTTP处理器554、限额检查器555、视图运行时556、代理560、加载平衡器(LB)562、角色查找器564和特定角色查找器568的web前端服务器552,包括用户概况/角色提供者模块572、SOAP接口573、数据提供者574、SQL数据访问层575、会话管理器576和会话577的中间层服务器570,以及包括系统数据库582和应用数据库584的托管数据库服务器580。图5还示出用户限额表585、应用数据库映射表586和用户角色表587。
在创建web应用时,用户首先提供请求以及用户凭证590。WFE将用户令牌传递给由web前端服务器550和web工作器570提供的中间层。中间层提供应用数据库594。三个角色和三个用户被创建。系统数据库的登录可用于在应用数据库映射表中添加新行,以表示该新应用598。系统数据库的登录可用于在用户角色表中为该用户(作者)添加新行596。
图6示出了根据一个实施例的浏览已经被发布的应用的过程600。再一次,图6包括以上参考图3和5描述的类似元素。在图6中,用户请求页面690。如果请求带有用户凭证,则过程继续。否则,用户从认证服务器弹回,来取令牌。WFE将用户凭证传递给由Web前端服务器650和web工作器670提供的中间层。中间层使用系统数据库的SQL登录来确定所请求的应用映射到哪个应用数据库684,并标识该应用的登录698。中间层还确定该用户例如在该应用或其它应用上具有的角色696。如果用户角色具有浏览该应用的许可,则中间层将可被取回并存储在用户角色表687中的用户概况(例如用户凭证、对哪个应用哪个角色、以及诸如FN/LN等可能的其它内容)传递给数据提供者674。SQL数据访问层675使用应用登录来模拟用户,以便从应用数据库684取得应用数据694。在修改应用的情况下,除请求仅从客户端610发起以外,步骤是相同。
图7示出了根据实施例的给予许可的过程700。再一次,图7中所示元素类似于以上参考图3、5和6详细描述的元素。
在图7中,用户请求向另一用户给予访问用户应用的许可790。WFE将用户令牌传递给由Web前端服务器750和web工作器770提供的中间层。中间层还确定用户具有的角色796,例如用户对该应用是否具有作者角色。如果是,则WFE将用户重定向到WFE 797上托管的许可管理页面798。登录799用于系统数据库782以在用户角色表787中添加新行,来表示该应用的新成员。
图8示出了根据实施例的用于认证浏览应用的用户的过程800。某些元素类似于以上在图3、5、6和7中所示的元素。在图8中,用户作出查看URL处的应用的请求890。Web前端服务器852返回登入页面891。用户以用户凭证登入或注册892。用户凭证认证服务器802认证用户893。认证服务器将用户重定向回WFE 894。或者,联合身份可与对来自托管服务器的应用结构的审计收集服务(ACS)集成来使用。这不仅允许对用户凭证的认证,还允许对ACS能够与其通信的FaceBook和所有其它东西的认证。
图9示出了根据实施例的给予许可的过程900。某些元素类似于以上在图3、5、6、7和8中所示的元素。为了对每一用户凭证给予许可,用户请求查看指定URL处的应用900。登入页面被返回991。用户以用户凭证登入或注册992。用户凭证认证服务器902认证用户993。用户凭证认证服务器将用户重定向回WFE 994。获取用户键入以得到许可的每一电子邮件的NetID 995。每一NetID被添加到系统数据库996。其它数据可被直接提供给系统数据库998。
图10示出了根据实施例的应用数据库中的资源表1000。应用的非关系数据被存储在应用数据库中。资源表1000包括ID字段1010、对象ID字段1020、资产二进制字段1030、路径字段1040和内容类型字段1050。路径字段1040被指定,以便为每一资产保存相对路径。例如,如果应用URL是https://access.cloudapp.net/123456789012,form1(表单1)的URL是https://access.cloudapp.net/123456789012/form1.htm,则表中保存的该表单的路径将是“form1.htm”部分。
图11示出了根据实施例资产要在应用数据库中保存而经历的流程1100客户端1110包括表单设计器1120和内容元数据高速缓存1130。数据被传递给Web服务API 1140。接着,表单被编译1150。然后,资产被保存在SQL存储1160中。
图12示出了根据实施例的来自浏览器的页面请求的流程1200。在图12中,使用浏览器1210作出请求。请求由HTTP处理器1220管理。然后,API从SQL服务器1230获取页面。
图13是根据实施例的用于使用基于云的无摩擦数据库来创建web应用的方法的流程图1300。在图13中,在web应用服务处接收用户凭证,以便经由客户端软件启动web应用任务1310。分析用户凭证以判断是否要给予启动web应用任务的许可1320。在许可被给予时启动web应用任务1330。与所启动的web应用任务相关联的数据被提供给web应用服务,以便分析数据以完全基于所接收的提供的数据而不基于web托管知识来托管和呈现web应用1340。
本文描述的实施例和功能可经许多计算系统来操作,包括有线和无线计算系统、移动计算系统(如移动电话、图形输入板或平板型计算机、膝上型计算机等)。此外,本文所述的实施例和功能可在分布式系统上操作,其中应用功能、存储器、数据存储和检索、以及各种处理功能可在诸如因特网或内联网之类的分布式计算网络上彼此远程地操作。各种类型的用户界面和信息可经板载计算设备显示器或经与一个或多个计算设备相关联的远程显示单元被显示。例如,各种类型的用户界面和信息可在墙壁表面上被显示和交互,各种类型的用户界面和信息被投射在墙壁表面上。与可用于实施各实施例的许多计算系统的交互包括:键击输入、触摸屏输入、语音或其他音频输入、姿势输入(其中相关联的计算设备配备有用于捕捉和解释用于控制计算设备的功能的用户姿势的检测(如相机)功能)等。图14-17及相关联的描述提供了其中可实施各实施例的各种操作环境的讨论。然而,关于图14-17所示出和讨论的设备和系统是用于示例和说明的目的,而非对可被用于实施本文所述的各实施例的大量计算设备配置的限制。
图14是示出可用来实施各实施例的计算设备1400的示例物理组件的框图。在基本配置中,计算设备1400可包括至少一个处理单元1402和系统存储器1404。取决于计算设备的配置和类型,系统存储器1404可包括,但不限于,易失性存储器(例如,随机存取存储器(RAM))、非易失性存储器(例如,只读存储器(ROM))、闪存、或任何组合。系统存储器1404可包括操作系统1405、一个或多个编程模块1406,且可包括用于在没有web托管知识的情况下使用基于云的无摩擦数据库创建web应用的web应用服务模块1420。操作系统1405例如可适合于控制计算设备1400的操作。此外,各实施例可结合图形库、其他操作系统、或任何其他应用程序来实践,并且不限于任何特定应用或系统。该基本配置在图14中由虚线1408内的那些组件示出。
计算设备1400可具有附加特征或功能。例如,计算设备1400还可包括附加数据存储设备(可移动和/或不可移动),诸如例如,磁盘、光盘、或磁带。这些附加存储在图14中由可移动存储1409和不可移动存储1410示出。
如上所述,可在系统存储器1404中存储包括操作系统1405在内的多个程序模块和数据文件。在处理单元1402上执行的同时,诸如web应用服务模块1420之类的编程模块1406可执行包括例如以上参考图1-13所描述的过程中的一个或多个的过程。上述过程是示例,并且处理单元1402可执行其他过程。根据各实施例可使用的其他编程模块可包括电子邮件和联系人应用、文字处理应用、电子表格应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用等。
一般而言,根据各实施例,程序模块可包括可执行特定任务或可实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,各实施例可用其他计算机系统配置来实践,包括手持式设备、多处理器系统、基于微处理器的系统或可编程消费电子产品、小型机、大型计算机等。各实施例还能在任务由通过通信网络链接的远程处理设备来执行的分布式计算环境中实现。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两者中。
此外,各实施例可在包括分立电子元件的电路、包含逻辑门的封装或集成电子芯片、利用微处理器的电路、或在包含电子元件或微处理器的单个芯片上实践。例如,可以通过片上系统(SOC)来实践各实施例,其中,可以将图14中示出的每个或许多组件集成到单个集成电路上。这样的SOC设备可包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元以及各种应用功能,所有这些都被集成到(或“烧录到”)芯片基板上作为单个集成电路。当通过SOC操作时,在此所述的关于web应用服务模块1420的功能可以通过与计算设备/系统1400的其他组件一起集成的应用专用逻辑来在单个集成电路(芯片)上操作。各实施例还可使用能够执行诸如例如,AND(与)、OR(或)和NOT(非)的逻辑运算的其他技术来实践,包括但不限于,机械、光学、流体和量子技术。另外,各实施例可在通用计算机或任何其他电路或系统中实践。
例如,各实施例可被实现为计算机过程(方法)、计算系统、或者如计算机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读并且编码指令的计算机程序以执行计算机进程的计算机可读存储介质。
如此处所使用的术语计算机可读存储介质可包括任何计算机可读存储介质,诸如以用于存储信息的任何方法或技术实现的易失性和非易失性、可移动或不可移动的介质。系统存储器1404、可移动存储1409和不可移动存储1410都是计算机存储介质(即,存储器存储)的示例。计算机存储介质可包括,但不限于,RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或者可用于存储信息且可由计算设备1400访问的任何其他介质。任何这样的计算机存储介质都可以是设备1400的一部分。计算设备1400还可具有输入设备1412,诸如键盘、鼠标、笔、声音输入设备、触摸输入设备等。还可包括输出设备1414,诸如显示器、扬声器、打印机等。上述设备是示例,并且可使用其他设备。
计算机程序产品可被体现为通信介质,通信介质可包括诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。术语“已调制数据信号”可以描述以对该信号中的信息进行编码的方式设定或者改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接等有线介质,以及诸如声学、射频(RF)、红外线和其他无线介质等无线介质。
图15a-b示出可用来实施各实施例的合适的移动计算环境,例如移动电话1500、智能电话、图形输入板个人计算机、膝上型计算机等。参考图15a,示出了用于实现各实施例的示例移动计算设备1500。在一基本配置中,移动计算设备1500是具有输入元件和输出元件两者的手持式计算机。输入元件可包括允许用户将信息输入到移动计算设备1500中的触摸屏显示器1505和输入按钮1515。移动计算设备1500还可结合允许进一步的用户输入的可选的侧面输入元件1515。可选的侧面输入元件1515可以是旋转开关、按钮、或任何其他类型的手动输入元件。在替代实施例中,移动计算设备1500可结合更多或更少的输入元件。例如,在某些实施例中,显示器1505可以不是触摸屏。在又一替代实施例中,移动计算设备是便携式电话系统,如具有显示器1505和输入按钮1515的蜂窝电话。移动计算设备1500还可包括可选的小键盘1535。可选的小键盘1515可以是物理小键盘或者在触摸屏显示器上生成的“软”小键盘。
移动计算设备1500结合输出元件,如可显示图形用户界面(GUI)的显示器1505。其他输出元件包括扬声器1525和LED光1524。另外,移动计算设备1500可包含振动模块(未示出),该振动模块使得移动计算设备1500振动以将事件通知给用户。在又一实施例中,移动计算设备1500可结合耳机插孔(未示出),用于提供另一手段来提供输出信号。
尽管此处组合移动计算设备1500来描述,但替代实施例还可组合任何数量的计算机系统来被使用,如在台式环境中、膝上型或笔记本计算机系统、多处理器系统、基于微处理器或可编程消费电子产品、网络PC、小型计算机、大型计算机等。各实施例也可在分布式计算环境中实践,其中任务由分布式计算环境中通过通信网络链接的远程处理设备来执行,程序可位于本机和远程存储器存储设备中。总而言之,具有多个环境传感器、向用户提供通知的多个输出元件和多个通知事件类型的任何计算机系统可结合各实施例。
图15b是示出在一个实施例中使用的诸如图15a所示的计算设备等移动计算设备的组件的框图。即,移动计算设备1500可结合系统1502以实现某些实施例。例如,系统1502可被用于实现可运行与台式或笔记本计算机的应用类似的一个或多个应用的“智能电话”,这些应用例如浏览器、日程安排、即时消息、以及媒体播放器应用。在某些实施例中,系统1502被集成为计算设备,诸如集成的个人数字助理(PDA)和无线电话。
一个或多个应用程序1566可被加载到存储器1562中并在操作系统1564上或与操作系统1564相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、PIM(个人信息管理)程序、文字处理程序、电子表格程序、因特网浏览器程序、消息通信程序等等。系统1502还包括存储器1562内的非易失性存储1568。非易失性存储1568可被用于存储在系统1502断电时不会丢失的持久信息。应用1566可使用信息并将信息存储在非易失性存储1568中,如电子邮件应用使用的电子邮件或其他消息等。同步应用(未示出)也可驻留于系统1502上,且可被编程为与驻留在主机计算机上的对应的同步应用交互,以保持非易失性存储1568中存储的信息与主机计算机处存储的相应信息同步。如应被理解的,其他应用可被加载到存储器1562中且在设备1500上运行,包括本文描述的web应用服务1520。
系统1502具有可被实现为一个或多个电池的电源1570。电源1570还可包括外部功率源,如补充电池或对电池重新充电的AC适配器或加电对接托架。
系统1502还可包括执行发射和接收无线电频率通信的功能的无线电1572。无线电1572通过通信运营商或服务供应商方便了系统1502与“外部世界”之间的无线连接。来往无线电1572的传输是在操作系统1564的控制下进行的。换言之,无线电1572接收的通信可通过操作系统1564传播到应用程序1566,反之亦然。
无线电1572允许系统1502例如通过网络与其他计算设备通信。无线电1572是通信介质的一个示例。通信介质通常可具体化为诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。术语“已调制数据信号”是指具有以在信号中编码信息的方式被设定或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。
系统1502的该实施例是以两种类型的通知输出设备来示出的:可被用于提供视觉通知的LED 1524,以及可被用于扬声器1525提供音频通知的音频接口1574。这些设备可直接耦合到电源1570,使得当被激活时,即使为了节省电池功率而可能关闭处理器1560和其它组件,它们也保留一段由通知机制指示的保持通电时间。LED 1524可被编程为无限地保持通电,直到用户采取行动指示该设备的通电状态。音频接口1574用于向用户提供听觉信号并从用户接受听觉信号。例如,除被耦合到扬声器1525以外,音频接口1574还可被耦合到话筒以接收听觉输入,诸如便于电话对话。根据各实施例,话筒1524也可充当音频传感器来便于对通知的控制,如下文将描述的。系统1502可进一步包括允许板载相机1530的操作来记录静止图像、视频流等的视频接口1576。
移动计算设备实现系统1502可具有附加特征或功能。例如,设备还可包括附加数据存储设备(可移动的/或不可移动的),诸如磁盘、光盘或磁带。此类附加存储在图15b中由存储1568示出。计算机可读存储介质可包括以用于存储信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。
设备1500生成或捕捉的且经系统1502存储的数据/信息可如上所述本地存储在设备1500上,或数据可被存储在可由设备通过无线电1572或通过设备1500和与设备1500相关联的一分开的计算设备之间的有线连接访问的任何数量的存储介质上,该计算设备如例如因特网之类的分布式计算网络中的服务器计算机。如应理解的,此类数据/信息可经设备1500、经无线电1572或经分布式计算网络来被访问。类似地,这些数据/信息可根据已知的数据/信息传送和存储手段来容易地在计算设备之间传送以供存储和使用,这些手段包括电子邮件和协作数据/信息共享系统。
图16示出了如上所述的用于在没有web托管知识的情况下使用基于云的无摩擦数据库创建web应用的系统体系结构。与web应用服务模块1620相关联地进行开发、交互或编辑的基于web的应用可被存储在不同的通信信道或其他存储类型中。例如,可使用目录服务1622、web门户1624、邮箱服务1626、即时消息通信存储1628以及社交网络站点1630来存储各个LCI和LCA项目以及从中开发出LCI和LCA项目的信息,并且各个LCI和LCA项目以及从中开发出LCI和LCA项目的信息可由应用1640来访问。Web应用服务模块1620可使用用于实现数据利用的这些类型的系统等中的任一种系统,如此处所描述的。服务器1650可向客户机提供对web应用的数据库的访问。作为一个示例,服务器1650可以是经由web向客户机提供对web应用的数据库的访问的web服务器。服务器1650可通过网络1615经由web向客户机提供对web应用的数据库的访问。可获得对web应用的数据库的访问的客户机的示例包括计算设备1602,计算设备1602可包括任何通用个人计算机、图形输入板计算设备1604和/或诸如智能电话的移动计算设备1606。这些设备中的任一个可从存储1616中获得内容。
例如,以上参考根据各实施例的方法、系统和计算机程序产品的框图和/或操作说明描述了各实施例。框中所注明的各功能/动作可按不同于任何流程图所示的次序或参考附图1-13所描述的次序出现。例如,取决于所涉及的功能/动作,连续示出或描述的两个过程实际上可基本同时执行,或者这些框有时可按相反的次序执行。
尽管已描述了特定实施例,但也可能存在其他实施例。此外,虽然各实施例被描述为与存储在存储器和其他存储介质中的数据相关联,但是数据还可被存储在其他类型的计算机可读存储介质上或从其读取,诸如辅助存储设备(像硬盘、软盘、CD-ROM)、或其他形式的RAM或ROM。此外,所公开的各过程可以按任何方式进行修改,包括通过对步骤或过程进行重新排序和/或插入或删除步骤或过程,而不会背离各实施例。
以上对各实施例的描述是出于说明和描述的目的而提出的。这并不是要穷举本发明或将各实施例限于所公开的精确形式。鉴于上述教导,许多修改和变型都是可能的。各实施例的范围并不旨在由该“具体实施方式”来限定,而是由所附权利要求书来限定。

Claims (10)

1.一种用于使用基于云的无摩擦数据库来创建web应用的方法,包括:
在web应用服务处接收用户凭证,以便经由客户端软件启动web应用任务;
分析所述用户凭证以判断是否要给予启动所述web应用任务的许可;
在许可被给予时启动所述web应用任务;以及
在所述web应用服务处接收与所启动的web应用任务相关联的数据,以便分析所述数据以完全基于所接收的提供的数据而不基于web托管知识来托管和呈现web应用。
2.如权利要求1所述的方法,其特征在于,启动web应用任务包括通过在托管数据库服务器中每个应用创建一个数据库并为每一应用数据库创建一个数据库专用登录和三个数据库角色/用户来构建web应用。
3.如权利要求1所述的方法,其特征在于,启动web应用任务包括将用户凭证映射到与应用数据库相关联的用户,以判断所述用户是否具有读、写或设计web应用的权限。
4.如权利要求1所述的方法,其特征在于,还包括使用仅由所提供的web应用数据组成的数据而不基于web托管知识来返回URL,所述URL提供对托管在因特网上的web应用的定向。
5.如权利要求1所述的方法,其特征在于,在web应用服务处接收用户凭证以便经由客户端软件启动web应用任务还包括:提供用于启动所述web应用任务的软件封装的表面以及提供托管计算服务器中的主机和托管数据库服务器平台中的主机,其中所述托管数据库服务器平台提供用于文件存储的平台以及用于存储用户数据的SQL数据库,且其中所述web应用服务提供web前端(WFE)服务器和自动化部署服务(ADS)服务器。
6.一种用于使用基于云的无摩擦数据库来创建web应用的系统,包括:
用于提供用户凭证以便启动web应用任务的客户端;
用于映射与所述web应用任务相关联的web应用、标识用于所映射的web应用的登录并基于所提供的用户凭证确定角色的中间层;以及
用于维护系统数据库和应用数据库的托管数据库服务器,所述系统数据库被用于映射用户、凭证和应用数据库;
其中所述用户凭证被分析以判断是否给予启动所请求的web应用任务的许可,所述web应用任务在许可被给予时被启动,并在中间层接收与所启动的web应用任务相关联的数据以便分析所述数据以完全基于所接收的提供的数据而不基于web托管知识来托管和呈现web应用。
7.如权利要求6所述的系统,其特征在于,所述web应用任务包括web应用,包括用户界面和数据库模式。
8.如权利要求6所述的系统,其特征在于,所述中间层将所述用户凭证映射到与应用数据库相关联的用户,以判断所述用户是否具有读、写或设计web应用的权限。
9.如权利要求6所述的系统,其特征在于,所述web应用任务包括向第二用户给予访问所述用户的web应用的许可。
10.一种其上存储用于使用基于云的无摩擦数据库来创建web应用的指令的计算机可读存储器设备,所述指令包括:
在web应用服务处接收用户凭证,以便经由客户端软件启动web应用任务;
分析所述用户凭证以判断是否要给予启动所述web应用任务的许可;
在许可被给予时启动所述web应用任务;以及
在所述web应用服务处接收与所启动的web应用任务相关联的数据,以便分析所述数据以完全基于所接收的提供的数据而不基于web托管知识来托管和呈现web应用。
CN201210409119.5A 2011-10-25 2012-10-24 使用基于云的无摩擦数据库来创建web应用的方法及系统 Active CN102968296B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/281,242 2011-10-25
US13/281,242 US8892601B2 (en) 2011-10-25 2011-10-25 Creating web applications using cloud-based friction-free databases without requiring web hosting knowledge

Publications (2)

Publication Number Publication Date
CN102968296A true CN102968296A (zh) 2013-03-13
CN102968296B CN102968296B (zh) 2016-04-27

Family

ID=47798455

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210409119.5A Active CN102968296B (zh) 2011-10-25 2012-10-24 使用基于云的无摩擦数据库来创建web应用的方法及系统

Country Status (2)

Country Link
US (1) US8892601B2 (zh)
CN (1) CN102968296B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103338218A (zh) * 2012-04-27 2013-10-02 微软公司 通过云托管的适配器提供客户端和服务兼容性
CN108885651A (zh) * 2016-04-05 2018-11-23 开利公司 凭证许可服务
CN111062057A (zh) * 2019-12-16 2020-04-24 英联(厦门)金融技术服务股份有限公司 一种中立的数据应用方法、装置以及系统

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9003556B2 (en) * 2013-02-28 2015-04-07 Facebook, Inc. Techniques for in-app user data authorization
WO2015112614A1 (en) 2014-01-21 2015-07-30 Oracle International Corporation System and method for supporting multi-tenancy in an application server, cloud, or other environment
US10439953B2 (en) * 2014-06-23 2019-10-08 Oracle International Corporation System and method for partition migration in a multitenant application server environment
CN104123189B (zh) * 2014-06-30 2017-12-01 复旦大学 一种基于IaaS层应用感知的Web多层应用动态资源调整方法
CN106716360B (zh) 2014-09-24 2020-03-03 甲骨文国际公司 支持多租户应用服务器环境中的补丁修补的系统和方法
US10318280B2 (en) 2014-09-24 2019-06-11 Oracle International Corporation System and method for supporting patching in a multitenant application server environment
US10855688B2 (en) * 2014-12-16 2020-12-01 Netapp Inc. Multi-tenant security in the cloud
CN104615649B (zh) * 2014-12-26 2018-08-10 深圳市科陆电子科技股份有限公司 一种基于MMS-EASE Lite的数据映射方法及模块
US10250512B2 (en) 2015-01-21 2019-04-02 Oracle International Corporation System and method for traffic director support in a multitenant application server environment
US9239717B1 (en) 2015-01-22 2016-01-19 Saudi Arabian Oil Company Systems, methods, and computer medium to enhance redeployment of web applications after initial deployment
US10102216B2 (en) 2015-04-21 2018-10-16 Google Llc System for associating related digital assets
US9973483B2 (en) 2015-09-22 2018-05-15 Microsoft Technology Licensing, Llc Role-based notification service
RU2606877C1 (ru) 2015-09-28 2017-01-10 Общество С Ограниченной Ответственностью "Яндекс" Система и способ обработки данных в исполняемой на компьютере системе
CA2954037A1 (en) * 2016-01-21 2017-07-21 Wal-Mart Stores, Inc. Codeless information service for abstract retrieval of disparate data
US10929432B2 (en) * 2019-01-23 2021-02-23 EMC IP Holding Company LLC System and method for intelligent data-load balancing for backups

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1668998A (zh) * 2002-05-17 2005-09-14 西姆德斯克技术公司 应用程序生成器
US20070260612A1 (en) * 2006-05-02 2007-11-08 Papakonstantinou Yannis G Web-page-based system for designing database driven web applications
US20090126000A1 (en) * 2003-04-29 2009-05-14 Dmitry Andreev Single sign-on method for web-based applications
US20100274910A1 (en) * 2009-04-24 2010-10-28 Microsoft Corporation Hosted application sandbox model
US20110016448A1 (en) * 2007-05-25 2011-01-20 Zoot Enterprises, Inc. System and method for rapid development of software applications

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030009445A1 (en) 2001-07-09 2003-01-09 Santhanagopalan Muthukannan Internet database sevice 'IDS'
US8166006B2 (en) 2001-09-28 2012-04-24 International Business Machines Corporation Invocation of web services from a database
US7296022B2 (en) 2003-07-14 2007-11-13 Microsoft Corporation Method and system for accessing a network database as a web service
US7448047B2 (en) 2004-04-29 2008-11-04 Sybase, Inc. Database system with methodology for providing stored procedures as web services
US9760647B2 (en) 2004-12-08 2017-09-12 Oracle International Corporation Techniques for automatically exposing, as web services, procedures and functions stored in a database
US7716234B2 (en) 2006-05-26 2010-05-11 Business Objects, S.A. Apparatus and method for querying databases via a web service
US8332435B2 (en) 2006-10-03 2012-12-11 Salesforce.Com, Inc. Method and system for customizing a user interface to an on-demand database service
US7730478B2 (en) 2006-10-04 2010-06-01 Salesforce.Com, Inc. Method and system for allowing access to developed applications via a multi-tenant on-demand database service

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1668998A (zh) * 2002-05-17 2005-09-14 西姆德斯克技术公司 应用程序生成器
US20090126000A1 (en) * 2003-04-29 2009-05-14 Dmitry Andreev Single sign-on method for web-based applications
US20070260612A1 (en) * 2006-05-02 2007-11-08 Papakonstantinou Yannis G Web-page-based system for designing database driven web applications
US20110016448A1 (en) * 2007-05-25 2011-01-20 Zoot Enterprises, Inc. System and method for rapid development of software applications
US20100274910A1 (en) * 2009-04-24 2010-10-28 Microsoft Corporation Hosted application sandbox model

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103338218A (zh) * 2012-04-27 2013-10-02 微软公司 通过云托管的适配器提供客户端和服务兼容性
CN108885651A (zh) * 2016-04-05 2018-11-23 开利公司 凭证许可服务
CN108885651B (zh) * 2016-04-05 2024-03-29 开利公司 凭证许可服务
CN111062057A (zh) * 2019-12-16 2020-04-24 英联(厦门)金融技术服务股份有限公司 一种中立的数据应用方法、装置以及系统
CN111062057B (zh) * 2019-12-16 2022-06-14 英联(厦门)金融技术服务股份有限公司 一种中立的数据应用方法、装置以及系统

Also Published As

Publication number Publication date
CN102968296B (zh) 2016-04-27
US8892601B2 (en) 2014-11-18
US20130103639A1 (en) 2013-04-25

Similar Documents

Publication Publication Date Title
CN102968296B (zh) 使用基于云的无摩擦数据库来创建web应用的方法及系统
US10909186B2 (en) Multi-tenant customizable composites
US9544307B2 (en) Providing a security mechanism on a mobile device
CN107430666A (zh) 租户锁箱
CN109997136A (zh) 使用定位数据的多因素认证
CN106068523A (zh) 基于隐式和显式信号来发现企业内容
Toninelli et al. Yarta: A middleware for managing mobile social ecosystems
CN102929917A (zh) 动态内容馈源过滤
CN107533670A (zh) 数字实体的预测热门
CN109076087A (zh) 对电子数据的基于群组的外部共享
US10956868B1 (en) Virtual reality collaborative workspace that is dynamically generated from a digital asset management workflow
CN104081384A (zh) 用于为在线文档提供计算web服务的系统和方法
CN108885557A (zh) 分批的任务
CN109313589B (zh) 实现与外部功能的交互
US9426163B2 (en) Collaboration space with event-trigger configuration views
CN104537035B (zh) 一种数据融合应用系统和方法
Adler et al. Evaluating and implementing a collaborative office document system
US10021082B2 (en) Integration of form and file services
US20210064775A1 (en) Nlp workspace collaborations
US10977213B2 (en) Maintaining file management systems using cognitive computing
CN112214743A (zh) 一种模拟账户登录的方法、装置、设备及存储介质
Haidar et al. Audited credential delegation: a usable security solution for the virtual physiological human toolkit
CN102930368A (zh) 容错外部应用服务器
Bourimi et al. A two-level approach to ontology-based access control in pervasive personal servers
US20240104440A1 (en) Content collaboration platform with an integrated trip coordination service and interface

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150720

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150720

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant