CN102054021B - 使用简档的web门户应用定制方法和*** - Google Patents
使用简档的web门户应用定制方法和*** Download PDFInfo
- Publication number
- CN102054021B CN102054021B CN201010530938.6A CN201010530938A CN102054021B CN 102054021 B CN102054021 B CN 102054021B CN 201010530938 A CN201010530938 A CN 201010530938A CN 102054021 B CN102054021 B CN 102054021B
- Authority
- CN
- China
- Prior art keywords
- profile
- template
- resource
- user
- specific
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Economics (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及使用简档的WEB门户应用定制方法和***。具体地,使用简档的web门户应用定制方法和***允许开发者向术语不同用户简档的用户显示不同的功能以及不同的外观和感觉。具体地,该方法允许开发者定义默认转移和简档特定转移以及默认状态和简档特定状态。在工作流引擎请求转移之后,如果与用户相关联的简档特定转移可用,则***向工作流引擎透明地提供简档特定转移。如果简档特定转移不可用,则***向应用提供默认转移。同样地,根据用户的简档以及简档特定状态的可用性,***向应用透明地提供简档相关状态。因此,该方法可以有效地和节省成本地实现高度可定制的功能以及外观和感觉。
Description
技术领域
本申请涉及web门户应用的定制,并且更具体地涉及用于使用简档来支持web门户应用的定制的方法和***,以使得可以基于单个软件代码库来开发高度定制的web门户应用。
背景技术
较多的企业正使用因特网来向其他企业或者个人提供服务。近来,允许企业在因特网上托管的web站点上向其他企业提供信息和服务的web门户应用已经成为提供此类服务的一种受欢迎的方式。为了在因特网上提供特定服务,开发了特别设计为提供此类服务的web门户应用。因为web门户应用特别设计为提供特定服务,所以需要从头开始开发新的web门户应用以提供不同类型的服务或者为附加类型的服务添加支持。此外,由于使用web门户应用的企业数目增加并且因此在因特网上提供类似服务的企业数目增加,所以出现了区分web门户应用的外观和感觉的需要。而且,企业向其提供服务的用户群变得更大并且更多样。为了适应用户群的多样性以及通过web门户应用提供的不同类型的服务,出现了提供不同的应用行为以及不同的外观和感觉以适应每个用户的需求的需要。
然而,为了提供新服务或者向不同用户提供不同的外观和感觉,web门户应用底层的软件代码必须进行大量的——或者甚至是全部——重写,并且必须投入大量的精力和资源。
由此,技术挑战包括提供允许以有效、可靠和有成本效益的方式来开发适合于不同种类的服务和用户的web门户应用的方法和***。
发明内容
所公开的方法和***提供了开发web门户应用的更加有效、可定制的方式。该***接收各种类型的用户的简档。该***还接收默认和简档特定状态以及默认和简档特定转移。状态可以绑定至可以表示在web门户应用的工作流的各步骤处显示的图形用户界面(“GUI”)的web页面。转移可以表示软件程序在工作流的步骤之间执行的业务逻辑。***还标识与web门户应用的用户相关联的简档。***从存储器选择和获取状态,并且显示绑定至该状态的web页面。另外,***可以从用户接收对于所显示的状态可用的转移输入。转移输入可以包括例如继续到工作流的下一状态的指令或者返回工作流的先前状态的指令。在接收到来自用户的转移输入之后,该***从存储器获取与所接收的转移输入相关联的转移(“输入关联转移”)。在获取输入关联转移中,***确定是否存在对应于标识的用户简档的输入关联转移(“简档特定转移”)。如果存在简档特定转移,则***从存储器获取简档特定转移作为输入关联转移。如果不存在简档特定转移,则***从存储器获取与接收的转移输入相关联的默认转移作为输入关联转移。随后,***执行所获取的输入关联转移中指定的任务。
在获取选择状态中,***确定是否存在对应于所标识的用户简档的选择状态的版本(“简档特定状态”)。如果存在简档特定状态,则***从存储器获取简档特定状态作为选择状态。如果不存在简档特定状态,则***从存储器获取选择状态的默认版本作为选择状态。
在查看以下附图和具体实施方式之后,其他***、方法、特征和优点将对于本领域技术人员易见或者变得易见。所有此类附加***、方法、特征和优点包括在本说明书中,包括在本发明的范围之内,并且由所附权利要求书保护。
附图说明
可以参考以下附图和描述对***进行更好地理解。附图中的元素未必是按比例绘制的,而是将重点放在示出本发明的各种实施方式的原理。在附图中,贯穿不同视图,相似的参考数字指定相应的特征。
图1示出了本发明一个实施方式的组件的总体概观。
图2示出了本发明一个实施方式的操作的简要概观。
图3示出了本发明一个实施方式的***示图。
图4示出了本发明一个实施方式的简档管理机制的概观。
图5示出了本发明一个实施方式的操作的状态图的示例。
图6示出了本发明一个实施方式可以采用以提供web门户应用的可定制工作流的逻辑的流程图。
图7A示出了可以在本发明一个实施方式中实现的转移的示例。
图7B示出了可以在本发明一个实施方式中实现的一系列任务的示图。
图8示出了本发明一个实施方式可以采用以提供可定制GUI的逻辑的流程图。
图9示出了用于实现GUI的模板的软件代码的示例。
图10示出了用于实现可定制GUI的模板的简档特定部分的软件代码的详细示例。
图11示出了可定制GUI的示例。
图12示出了表示站点地图资源文件的结构的示图。
具体实施方式
图1示出了根据本发明的***的一个实施方式(“***”)的组件的概观100。该***包括简档管理器102,其存储和管理用户简档信息。简档管理器102可以与***的各组件(诸如模板管理器104、数据验证提供器106、工作流引擎108、参考数据源110和站点地图提供器112)通信。在由***组件请求之后,简档管理器102可以向***组件提供用户简档信息。工作流引擎108通过一系列定义的步骤来驱动应用过程以及用户交互。工作流引擎108可以例如使用MicrosoftTMWindowsWorkflowFoundationTM技术来实现。模板管理器104可以实现为可以提供模板的独立组件,可以在该模板上构建web门户应用的图形用户界面(GUI)。模板管理器104允许数据及其向用户的表示之间的完全分离。数据验证提供器106还可以是独立组件,其与简档管理器102通信以提供web门户应用的工作流所需要的各种数据检查服务。数据验证提供器106还可以与模板管理器104通信(未示出)。参考数据源110可以是可以存储各种参考数据源的数据库,诸如用于存储实现web门户应用可能需要的数据的储存库、接口消息以及本地化数据库。站点地图提供器112也可以是独立组件,其可以存储关于web页面层级、流结构以及可访问资源的信息。站点地图提供器112可以使用例如MicrosoftTMASP.NETTM架构来实现。
图2示出了***使用简档提供可定制工作流的操作的示例200。工作流可以包括一系列数据获取、产品配置和/或数据提交步骤,并且可以表示为通过转移彼此链接的一系列状态。转移和状态可以实现为由MicrosoftTMWindowsWorkflowFoundationTM库定义的基类的实例。状态可以绑定至用于数据表示和用户的数据录入的特定web页面。状态与特定web页面的关联可以通过使用例如MicrosoftTMWebClientSoftwareFactoryTM扩展WindowsWorkflowFoundationTM组件来实现,从而允许每个状态指向特定web页面。web页面可以通过独立组件(例如ASP.NETTM库)来实现和存储。转移可以定义将要连续执行的一系列任务,以便成功继续到工作流中的下一状态。转移中定义的任务可以是实现web门户应用所必需的业务逻辑。状态与转移之间的关联例如可以通过在XML文件中存储其关联来实现,该XML文件可以通过可视化编辑工具来编辑。状态之间的转移可以由用户输入来触发。
工作流引擎108可以通过选择初始状态202来开始web门户应用的工作流。初始状态202可以与转移“过程开始”204相关联,该“过程开始”204可以将工作流导航至“标准过程状态1”206。状态206可以与执行默认任务的转移210以及执行对简档特定的任务的简档特定变体转移208相关联。虽然示例200示出仅一个变体转移208与“标准过程状态1”206相关联,但是不止一个变体转移可以与一个状态相关联。
变体是***仅针对具有特定简档的用户选择和执行的转移或者状态。工作流引擎108可以请求转移执行。在工作流引擎108请求转移之后,***可以进行“简档化”,意味着***可以根据当前用户的简档来选择和执行转移的版本(默认或者变体)。“简档化”过程对于工作流引擎108是透明的。因此,工作流引擎108不需要指示要执行的转移的版本。通过“简档化”,如果当前用户的简档与“简档特定转移1”相关联的简档匹配,则***执行变体转移(“简档特定转移1”208),如果当前用户的简档与“简档特定转移1”的简档不匹配,则***执行默认转移“默认转移1”210。
如果当前用户的简档与“简档特定转移1”208的简档匹配,则“简档特定转移1”可以将工作流导航至“变体状态1”212。转而,“变体状态1”212可以与“简档特定转移2”214相关联,该“简档特定转移2”214可以将工作流导航至“变体状态2”216。变体状态216可以与“简档特定转移3”218相关联,该“简档特定转移3”218可以将工作流导航至“过程最终状态”224。另一方面,在状态206处,如果当前用户的简档与“简档特定转移1”208的简档不匹配,则***将执行“默认转移1”210,其可以将工作流导航至“标准过程状态2”220。“标准过程状态2”220可以与“默认转移2”222相关联,该“默认转移2”222可以将工作流导航至“过程最终状态”224。“过程最终状态”224可以与“过程结束”转移226相关联,该“过程结束”转移226可以结束web门户应用的工作流。如以上示例所描述的,***可以通过进行简档化,使用工作流引擎108的一个实现来提供适于不同用户简档的不同工作流,而不是必须为具有不同简档的每个用户实现不同的工作流。
图3示出了本发明一个实施方式的***300的一般配置。***300包括处理器302、存储器304、简档管理器306、控制器308、模板管理器310、数据验证提供器312、站点地图提供器314、参考数据源管理器316和后端通信层318。组件302-318可以耦合并且彼此之间通信。存储器304可以包括简档定义320。简档定义320可以包括针对多个不同用户或者多个不同类型的用户的简档322。简档322可以实现为字符串。例如,与公司XYZ相关联的用户可以与简档322相关联,该简档322可以实现为字符串“XYZ_Profile”。简档322可以由***300的组件引用以选择适合与简档相关联的用户的适当业务逻辑。
存储器304还可以包括状态定义324和转移定义326。状态定义324还可以包括默认状态328和简档特定状态330。每个简档特定状态与特定简档相关联。转移定义326可以包括默认转移332和简档特定转移334。每个简档特定转移与特定简档相关联。
存储器304还可以包含模板定义336,其存储默认模板338和简档特定模板340。模板定义绑定到每个状态的web页面的用户界面的布局。默认模板还可以包含默认部分342和/或简档特定部分344。模板可以使用超文本标记语言(HTML)来实现。模板允许简化的用户界面创建和管理。使用模板增加了用户界面数据管理(数据获取/界面建立/用户输入的读取和存储)与web页面的布局/呈现之间的分离。例如,模板允许独立管理页面布局的不同特征,从而允许跨多个不同的web页面复用重现的特征(诸如框架和数据表示表单)。
存储器304还可以包括站点地图资源文件346。站点地图资源文件346存储关于web页面的层级以及用户可用的可访问资源的信息。站点地图资源文件346可以实现为可扩展标记语言(XML)文档。web页面可以表示为站点地图资源文件346内的节点348。每个节点可以包含标签350,其指示节点与用户的简档之间的关联。节点348还可以包括关于其表示的web页面的其他信息,诸如web页面的属性。
存储器304还可以包含工作流程序352,其包含逻辑,该逻辑在由处理器302执行时,使得***执行web应用的工作流。工作流引擎108可以实现为工作流程序352的一部分。
可以实现为独立组件的简档管理器306标识当前用户的身份,标识与当前用户相关联的简档,并且向请求此类信息的***300的组件提供所标识的简档信息。控制器308接收用户输入,并且根据用户输入和web门户应用的工作流来管理转移。模板管理器310管理模板,***300使用该模板来构建绑定到web门户应用的状态的web页面的用户界面。在请求工作流程序352时,模板管理器310可以根据当前用户的简档来获取相关的模板,以构建web页面的用户界面。
数据验证提供器312也可以实现为独立组件,其根据用户的简档来获取数据并且对数据执行验证。所接收的数据例如可以是响应于***300实现的web门户应用的请求而由用户输入的数据。验证例如可以是对接收的数据执行完整性检查,以保证所接收的数据符合预定义规则。在说明性的示例中,web页面可以配置用于从用户接收银行账号。通过web页面接收的银行账号可以传输至数据验证提供器312,并且由其进行验证。数据验证提供器312可以将结果提供回工作流程序352,其可以根据***300实现的web门户应用的需要来使用该结果。在上文讨论的说明性示例中,银行账号可以由数据验证提供器312针对正确格式来验证,并且如果银行账号的格式不正确,则工作流程序352可以向用户发布警告。
站点地图提供器314可以实现为管理站点地图资源文件346的独立组件。在请求工作流程序352时,站点地图提供器可以在站点地图资源文件346中搜索节点348,以标识与web页面相关联的属性,并且向工作流应用提供所标识的信息。
参考数据源管理器316管理参考数据,该参考数据可以存储在存储器304中。参考数据例如可以是可以在构建web页面的用户界面中使用的,或者以其他方式可以在执行工作流程序352中使用的值或者配置数据的列表。
后端通信层318管理***300与后端***(诸如SRM)和计费***之间的通信,该计费***可能是执行***300实现的web门户应用所需要的。
图4示出了表示可以在***300中实现的简档管理机制400的概观。简档管理机制400可以包括三种类型的组件:应用组件402、资源管理器404和资源储存库406。
应用组件402表示实现特定业务需求的***300的组件。应用组件402可以从资源管理器404请求满足业务需求所必需的资源408。应用组件402的一个示例是工作流程序352,其可以从资源管理器404请求执行web门户应用的工作流的执行所需要的资源408。在说明性示例中,为了显示绑定到工作流状态的web页面,工作流程序352可以从资源管理器404请求显示绑定到该状态的web页面所必需的资源408。在该示例中,资源408可以是用于构建绑定到工作流的状态的web页面的用户界面的模板。
资源管理器404表示***300的组件,其可以从应用组件402接收针对资源408的请求,并且可以使得将适合的资源提供至应用组件。应用组件402针对资源408的请求可以指示满足应用组件402实现的业务需求所需要的资源的类型。可以做出请求而不指示请求的是简档特定资源还是默认资源。换言之,应用组件402做出的请求不是“简档化”的。相反,资源管理器404通过接收请求并且使得“简档化”的资源408递送至应用组件402而有效地将请求“简档化”。换言之,资源管理器404使得对应于当前用户的简档的适合资源408被提供给应用组件402。根据应用组件402的请求类型,资源管理器404可以是控制器308、模板管理器310、数据验证提供器312、站点地图提供器314、参考数据源316或者***300中可以管理数据并且使得数据被提供给应用组件402的其他组件。
在应用组件402请求资源408之后,资源管理器404可以与简档管理器306通信已标识与当前用户相关联的用户简档322。资源管理器404可以搜索资源储存库406以标识所请求资源408的正确简档化版本,即对应于标识的简档322的所请求资源版本。
资源储存库406可以表示存储资源408的储存库或者储存库组。如果标识了对应于当前用户的简档322的所请求资源408的简档特定版本,则资源管理器404使得资源储存库406向应用组件402提供所请求资源的所标识的简档特定版本。如果没有标识对应于当前用户的简档322的所请求资源408的简档特定版本,则资源管理器404使得资源储存库408向应用组件402提供所请求资源的默认版本。资源储存库406可以是存储器304,或者特别提供用于存储特定资源管理器404管理的资源类型的存储器或者数据库***。
所请求资源408例如可以是控制器308所管理的转移或者状态、模板管理器310所管理的模板、站点地图提供器314所管理的页面属性信息或者参考数据源管理器316所管理的数据。
简档特定资源可以由附加到资源408的名称末尾的简档名称来标识。如果简档称为“profileA(简档A)”,则资源管理器404可以查找附加到资源名称末尾的简档名称为“profileA”的资源408。例如,如果模板名称为“main_window”,模板的默认版本的名称可以是“main_window”,而对应于与“profileA”相关联的用户的模板的简档特定版本可以命名为“main_window_profileA”。因此,处理针对profileA用户的模板“main_window”的请求的模板管理器310可以查找附加到名称“main_window”末尾的字符串“profile_A”。利用web门户应用定制***,可以开发单个web门户应用来支持符合向其相应客户提供不同服务的不同业务的需要的变体。在说明性示例中,可以开发单个web门户应用以用于由两个不同的公司(公司A和公司B)向客户销售电话卡。虽然web应用所提供的电话卡或者服务的某些特征可能是相似的,但是通过使用变体和简档,两个公司可以向用户提供不同的用户体验,并且通过单个web应用来销售具有不同特征的电话卡。不同的简档可以与不同公司的客户相关联,并且可以通过向web门户应用的工作流提供与当前用户的简档相关联的变体来实现产品特征和用户体验的差异。
图5示出了示出在支持多个简档的web门户应用中实现的状态与转移之间的关系的一个示例的示图500。工作流的初始状态可以设置为“CardSearch”状态502,其与转移“CardSearch_goNext”相关联。当***300接收针对转移“CardSearch_goNext”的转移输入时,工作流程序352从控制器308请求与所接收的转移输入相关联的转移。控制器308与简档管理器306通信以标识和获取当前用户的简档322。利用简档322中的信息,控制器308标识存储器304(资源储存库406)中的“简档化”转移(“简档化”资源408),并且使得存储器304向工作流程序352提供所标识的“简档化”转移。
在图5所示的示例中,两种类型的资源408对于转移输入“CardSearch_goNext”是可用的:默认转移“CardSearch_goNext”504和简档特定转移“CardSearch_goNext_profileA”506。在这种情况下,控制器308将转移“CardSearch_goNext_profileA”506标识为简档特定资源408,因为字符串“profileA”附加到了转移名称“CardSearch_goNext”的末尾。如果当前用户的简档是“profileA”,则***300可以选择和执行简档特定转移506中定义的任务。如果当前用户的简档不是“profileA”,则控制器可以不查找针对当前用户简档的简档特定资源。在这种情况下,***300可以选择和执行默认资源408,即,转移504。在profileA用户的情况下,转移506可以使工作流继续到简档特定状态508。
状态508可以绑定到概述可用于购买的电话卡列表的、特别为profileA用户设计的web页面。状态508可以具有两个与其相关联的简档特定转移输入:转移输入“Summary_profileA_goBack”和转移输入“Summary_profileA_goNext”。资源储存库406可以分别针对转移输入存储转移510和512。转移510可以使得工作流返回先前状态502,而转移512可以使得工作流继续到下一状态“ConfirmOrder”状态514。
在状态502中,如果当前用户的简档不是“profileA”,则***300可以获取和执行默认转移504,从而使得工作流继续到默认状态,即“Summary”状态516。状态516还可以显示概述可用于购买的电话卡列表的、针对任何非profileA用户的使用设计的web页面。状态516可以与两个默认转移输入相关联:转移输入“Summary_goBack”和转移输入“Summary_goNext”。资源储存库406可以分别针对转移输入存储转移518和520。转移518可以允许工作流返回先前状态502,而转移520可以允许工作流继续到下一状态,即“ConfirmOrder”状态514。因为在该示例中没有简档特定状态与状态514相关联,所以转移512和520都可以继续到相同状态514。状态514可以与两种类型的转移输入相关联:转移输入“ConfirmOrder_goNext”和转移输入“ConfirmOrder_goBack”。在这种情况下,转移输入“ConfirmOrder_goNext”没有与其相关联的简档特定转移。因此,如果从用户接收了针对转移“ConfirmOrder_goNext”的转移输入,则***300可以针对具有任何类型的简档的用户执行默认转移,即转移“ConfirmOrder_goNext”522。然而,针对转移输入“ConfirmOrder_goback”存在简档特定转移。因此,如果从用户接收了针对转移“ConfirmOrder_goBack”的转移输入,则***300可以针对非profileA用户执行默认转移,即转移“ConfirmOrder_goBack”524,并且针对所有profileA用户执行简档特定转移,即转移“ConfirmOrder_goBack_profileA”526。
图6示出了***300的工作流程序352可以实现的逻辑的流程图600。***300可以从web门户应用的开发者接收与用户类型相关联的简档,并且将简档存储在资源储存库406(诸如存储器304)中(602)。***300还可以从web门户应用的开发者接收并且在存储器304中存储:默认和简档特定模板(604)、默认和简档特定状态定义(606)、默认和简档特定转移定义(608)以及站点地图资源文件346(610)。默认和简档特定模板、默认和简档特定状态定义、默认和简档特定转移定义以及站点地图资源文件的接收和存储也可以由独立于工作流程序352的其他***来执行。
当工作流的执行开始时,***300选择初始状态(612)。接下来,***300进行初始状态的“简档化”,即工作流程序352从控制器308请求初始状态,并且控制器使得“简档化”的初始状态被提供至工作流程序352。换言之,***300确定是否存在对应于当前用户简档的简档特定状态(614)。如果不存在简档特定状态,则***选择默认状态(616)并且显示该默认状态所绑定到的web页面。另一方面,如果***300标识了对应于当前用户简档的简档特定状态,则***选择简档特定状态(618),并且显示该状态绑定到的web页面。
在默认和简档特定状态之一处,***300可以从用户接收转移输入,以指示用户在可用于所显示的web页面的转移中的选择(620)。在从用户接收了转移输入之后,***300进行与所接收的转移输入相关联的转移的“简档化”,即工作流程序352从控制器308请求与所接收的转移输入相关联的转移,并且控制器使得与所接收的转移输入相关联的“简档化”的转移被提供至工作流程序342。换言之,***300确定是否存在对应于转移输入的简档特定转移(622)。并且如果不存在简档特定转移,则***300选择对应于转移输入的默认转移(624)。如果存在针对转移输入的简档特定转移,则***300选择对应于转移输入的简档特定转移(626)。一旦选择了默认转移和简档特定转移之一,***300就执行所选择的转移中定义的动作(628)。根据转移中定义的动作,工作流应用352根据工作流可以结束,或者可以选择下一状态(630)。如果选择了下一状态,逻辑可以从上述步骤614重复。
除了被定义或者继续到特定状态之外,转移还可以被定义为在从一个状态继续到下一个之前执行简档特定任务。图7A示出了继续到相同状态的默认转移和简档特定转移的说明性示例700a。状态702可以与允许工作流继续到状态708的转移相关联。在该示例中,资源储存库406包含针对转移“SearchData_goNext”的默认转移704和简档特定转移706。默认转移704和简档特定转移706都通知工作流继续到相同的默认状态708。然而,默认转移704和简档转移706都可以定义为在从状态702继续到状态708之前执行对简档特定的业务过程。
图7B示出了可以在图7A描述的转移中实现的一系列任务的示图700b。默认转移704可以开始于任务712,其可以发起转移。接下来,默认转移704可以执行例如从资源数据源316获取必需数据的数据获取模块713。默认过滤器716可以应用于所获取的数据,并且默认转移704可以执行用于继续到下一状态708的模块718。
简档特定转移706可以开始于任务720,其可以发起转移。接下来,转移706可以执行用于例如从资源数据源316获取必需数据的数据获取模块714。获取模块714可以与默认转移704所使用的模块相同。随后,简档特定过滤器722可以应用于所获取的数据,并且简档特定转移706可以执行用于继续到下一状态708的模块718。再一次,允许工作流继续到下一状态708的模块718可以与默认转移704所使用的模块相同。如上所述,默认转移704和简档特定转移706都可以定义为允许工作流继续到相同的状态708,同时执行对其相关联的简档特定的数据获取和过滤任务。
图8示出了***300中的工作流程序352可以实现以用于显示绑定到状态的web页面的逻辑的流程图800。当***300选择某个状态时,***300可以标识绑定到该状态的web页面(未示出)。***300还可以通过站点地图提供器314获取与web页面相关联的信息(802)。该信息例如可以包括指示用户是否可以访问web页面的可访问性信息。***300基于所获取的页面属性来确定当前用户是否可以访问该web页面(804)。如果当前用户可以访问该web页面,则***300继续构建web页面的用户界面。
web页面可以包括一个或者多个称为web部件的构建块。web部件可以包含用于用户界面定义和用户输入获取的简档独立的计算机软件代码。web部件可以访问参考数据源316以加载web门户应用用于实现业务逻辑所使用的值的列表或者web页面所必需的配置数据。web部件可以包含请求数据验证提供器312以验证用户录入的数据的计算机软件代码。web部件还可以使用模板来构建用户界面。web页面的“简档化”和/或web部件可以通过模板来实现。模板可以通过模板管理器310获取。
继续参考图8,当访问web部件所需要的模板时,***300通过模板管理器310获取针对web部件的“简档化”的模板。换言之,***300确定是否存在针对所请求模板的简档特定模板(806)。如果存在简档特定模板,则简档特定模板被选择(808),并且该***在构建用户界面时应用该简档特定模板(810)。如果不存在简档特定模板,则***300可以选择默认模板(812)。
在说明性示例中,当工作流程序352请求用于向profileA用户显示web门户应用的主页的“Hompage.html”模板时,***300可以在存储器304(资源储存库406)中搜索针对“Hompage.html”的简档特定模板。简档特定模板可以利用附加到模板名称末尾的简档名称来标识。例如,针对默认模板“Hompage.html”的简档特定模板可以命名为“Hompage_profileA.html”。如果存储器304(资源储存库406)中标识了名称为“Hompage_profileA.html”的模板,则工作流352可以选择模板“Hompage_profileA.html”。如果在存储器304(资源储存库406)中没有找到名称为“Hompage_profileA.html”的模板,则可以选择默认模板“Hompage.html”。
模板转而可以包含一个或多个部分,该一个或多个部分可以包括默认部分和/或简档特定部分。继续参考图8,一旦选择了模板,***300就针对模板中的每个部分确定该部分是否是默认部分(814)。如果该部分是默认部分,则***300应用默认部分(816)。如果该部分不是默认部分,则***确定该部分是否是对应于当前用户简档的简档特定部分(818)。如果该部分不是对应于当前用户简档的简档特定部分,则***不应用简档特定部分。如果该部分是对应于当前用户简档的简档特定部分,则***应用简档特定部分(820)。例如,如果当前用户的简档是“profileA”,则***300应用标记了“profileA”的所有部分,并且可以不应用标记了例如“profileB(简档B)”、“profileC(简档C)”或者“profileD(简档D)”的部分。如果一个部分是默认部分,则***300可以在构建用户界面时应用该部分,而不考虑当前用户的简档。
现在更加详细地描述模板。模板可以是使用HTML实现的。然而,模板也可以使用其他计算机编程语言来实现。模板可以被指定和定义为页面模板,其定义特定web页面,该特定web页面定义针对web页面的控件和布局。然而,模板还可以指定和定义为布局模板,以指定web页面的重现页面布局元素,诸如框架、信息框或者数据录入域。页面模板可以包含一个或多个布局模板。布局模板可以包括一个或多个其他布局模板。
图9示出了针对页面模板的代码部分900的一个示例。在针对页面模板的代码900的开始处,可以调用通用布局模板902。通用布局模板可以是建立web页面的整体布局的布局模板,其跨所有简档是统一的。因为通用布局模板902针对所有简档是相同的,所以其也可以由其他模板调用或者复用。页面模板还可以包括部分904和906,其定义对页面模板特定的个体页面布局特征。部分904和906还可以包括代码908,其用于特别声明和定位web页面内的页面布局元素。
图10示出了用于实现模板的简档特定部分的计算机软件代码1000的部分的详细示例。如上所讨论的,模板可以包含可以特别指定用于特定简档的部分。该模板可以包含“profileA”部分1002和“profileB”部分1004。部分可以实现为布局模板或者页面模板的任何部分,并且可以由包含简档名称的指示符来标记。例如,部分1002可以包含部分标识符1006,其指示该部分1002是对“profileA”特定的部分。部分标识符1008指示部分1004是对“profileB”特定的部分。
图11示出了使用包含默认部分和profileA特定部分(针对profileA用户的简档特定部分)的相同模板的两个用户界面构建的示例1100。用户界面1102可以表示向“profileA”用户显示的web页面,而用户界面1104可以表示向“profileB”用户显示的web页面。用于构建界面1102和1104二者的模板可以是包含用于显示页面特征1106的默认部分和用于显示页面特征1108的profileA特定部分的相同模板。当构建针对profileA用户的用户界面时,***显示默认部分1106和profileA特定部分1108二者。然而,当构建针对profileB用户的用户界面时,***仅显示默认部分1106而使profileA特定部分1108静默,因为用户的简档(“profileB”)与profileA特定部分1108不匹配。简档特定部分可以仅与一个简档相关联,或者可以与多个简档相关联。
图12示出了表示站点地图资源文件346的结构的示图1200。站点地图资源文件346可以存储关于web门户应用的工作流的结构的信息。例如,***300可以使用来自站点地图资源文件346的信息来按照图形地示出web门户应用的web页面的层级的树形视图的形式显示站点地图示图。***300还可以访问站点地图资源文件346,以确定用户对特定web页面的可访问性。
站点地图资源文件346可以实现为布置在树形结构中的多个节点。每个节点可以表示web门户应用的状态或者web页面,并且可以存储指示树形结构中接下来的一个或多个节点(“子”节点,或者“派生”节点)的信息。每个节点还可以包括关于状态或者web页面的信息(诸如状态或者web页面的属性)。每个节点还可以包括标签350(图12中未示出;在图3中示出)。标签可以包含用户对节点所表示的页面的可访问性信息。例如,站点地图资源文件346可以包括“应用根”节点1202,其具有子节点1204和1206。每个子节点可以分别表示“业务流1”和“业务流2”的初始状态。子节点1204可以包括包含指定该节点可以由所有类型的用户访问的可访问性信息的标签。子节点1206可以包括包含指定该节点仅可以由profileA用户访问的可访问性信息的标签。
节点350的可访问性信息可以在树形结构中向下传播。换言之,如果将节点1206添加了标签,使得仅授权profileA用户访问,则位于节点1206下游的派生节点1208也仅可以由profileA用户访问,不考虑派生节点1208本身没有利用此类可访问性信息添加标签的事实。节点的可访问性信息还可以指定为不向下传播。例如,节点1204可以包含子节点1210,其转而可以具有子节点1212。即使其祖父节点1204被添加了标签为允许所有类型的用户访问,但是节点1212可以添加标签使得该节点对profileB用户是难以访问的。节点1212的可访问性也可以指定为不向下传播,则节点1212的子节点,即节点1214,可以再次对所有类型的用户可访问。
站点地图提供器314管理站点地图资源文件346。站点地图提供器例如可以使用ASP.NETTM架构的站点地图提供器组件来实现。当工作流程序352从站点地图资源文件346的节点请求信息时,站点地图提供器314标识当前用户的简档。站点地图提供器314还在站点地图资源文件346中搜索所请求的节点。站点地图提供器314可以在“应用根”节点1202处开始搜索,并且沿节点1202的派生节点继续,直到标识了所请求的节点。搜索可以使用二分搜索方法进行。然而,可以使用适于搜索树形结构的任何其他搜索方法。在搜索期间,站点地图提供器314可以标识包括指定为向下传播的可访问性信息的、所请求的节点的任何父节点的标签。当标识了所请求的节点时,站点地图提供器314基于用户的简档、从父节点向下传播的可访问性信息以及所标识的节点的标签的可访问性信息,确定当前用户是否可以访问所请求的节点。如果站点地图提供器确定用户可以访问所请求的节点,则站点地图提供器使得所标识节点的所请求信息被提供至工作流程序352。
在参考图12的说明性示例中,如果工作流程序352请求包含在节点1206的子节点1208中的信息,则站点地图提供器314开始于节点1202,并且沿节点1202的派生节点向下搜索,直到站点地图提供器标识了父节点1206的所请求子节点1208。在搜索期间,站点地图提供器314可以标识父节点1206,其可以包括包含仅授权profileA用户访问的可访问性信息。该标签也可以指定为向下传播。当站点地图提供器314标识了子节点1208时,节点1208可以没有利用限制任何用户访问的信息添加标签。如果当前用户是profileA用户,则站点地图提供器314可以使得包含在所标识节点中的所请求信息被提供至工作流程序352。然而,如果当前用户是profileB用户,则站点地图提供器314可以确定用户不可以访问所标识的节点,并且可以不使包含在所标识节点中的所请求信息被提供至工作流程序352。在后一种情况中,站点地图提供器314确定当前用户不可以访问所标识节点,因为所标识节点的父节点1206包括这样的标签,其仅允许profileA用户访问,并且其指定为向下传播。
***300还可以允许工作流应用352验证从用户接收的数据。工作流应用352可以请求数据验证提供器312确定从用户接收的数据是否符合预定规则。例如,用户输入的数据可以是要对其进行支付的银行账号,并且数据验证提供器312可以确定(“验证”)用户提供的银行账号是否具有正确的数字数目。工作流应用352例如可以使用请求数据验证的一行代码(“验证请求代码”)来请求数据验证,其例如可以写为:
ClientValidate(″txtBankAccount″,″check_exactLenght″,
″22″,″blocking″,″PleasechecktheBankAccount
Number″)
根据用户的简档,验证在相同的数据片上可以不同地进行。例如,可以验证profileA用户的银行账户信息以确定银行账号的长度是否是22个数字。然而,可以针对15个数字的银行账号来验证profileB用户的银行账户信息。可以通过将简档名称作为参数之一包括在验证请求代码中来指示简档特定验证。例如,针对profileA用户的验证请求代码可以写为:
ClientValidate(″ProfileA″,″txtBankAccount″,
″check_exactLenght″,″22″,″blocking″,″Pleasecheck
theBankAccountNumber″)
针对profileB用户的验证请求代码例如可以写为:
ClientValidate(″ProfileB″,″txtBankAccount″,
″check_exactLenght″,″15″,″blocking″,″Pleasecheck
theBankAccountNumber″)
在一个实施方式中,针对相同类型的数据可以存在多种验证请求代码,其中每种代码可以指定特定简档(简档特定验证请求代码)或者可以不指定任何简档(默认验证请求代码)。如果针对相同类型的数据存在对立的验证请求代码的两个或更多个实例,则***300确定是否存在针对当前用户简档的简档特定验证请求代码。如果***300确定存在简档特定验证请求代码,则***选择相应的代码,并且使用简档特定验证请求代码来请求数据验证。如果***300确定不存在简档特定验证请求代码,则***使用默认验证请求代码来请求数据验证。
在另一实施方式中,验证请求代码可以是“简档化”的。换言之,针对一种类型的数据可以存在一种验证请求代码,而不指定代码相关联的简档。当工作流程序352向验证提供器312请求验证请求代码的执行时,验证提供器312可以确定是否存在针对所请求验证的对当前用户简档特定的预定规则。如果存在简档特定规则,则验证提供器312可以基于预定的简档特定规则来执行验证。如果不存在简档特定预定义规则,则验证提供器312可以基于默认预定规则来执行验证。预定规则可以存储在资源储存库406中。
***300可以按多种不同的方式实现。例如,虽然一些特征示为存储在计算机可读存储器中(例如,作为实现为计算机可执行指令的逻辑或者作为存储器中的数据结构),但是***的全部或者部分及其逻辑和数据结构可以跨其他机器可读介质分布存储,或者从其他及其可读介质读取。介质可以包括硬盘、软盘、CD-ROM或者信号,诸如从网络接收的信号,或者在跨网络通信的多个分组上接收的信号。
***300可以实现有附加的、不同的或者较少的组件。作为一个示例,处理器可以实现为微处理器、微控制器、DSP、专用集成电路(ASIC)、离散逻辑或者其他类型的电路或者逻辑的组合。作为另一示例,存储器可以是DRAM、SRAM、闪存或者任何其他类型的存储器。***的处理能力可以分步在多个组件上,诸如分布在多个处理器和存储器上,可选地包括多个分布式处理***。资源储存库、数据库和其他数据结构可以独立存储和管理,可以并入单个存储器或者数据库中,可以按照多种不同的方式逻辑地或者物理地组织,并且可以实现有不同类型的数据结构,诸如链表、散列表或者隐式存储机制。逻辑(诸如程序或者电路)可以跨若干存储器和处理器分布地在多个程序之间组合或者分离,并且可以在诸如共享库(例如,动态链接库(DLL))的库中实现。DLL例如可以存储准备中间映射或者实现映射上的搜索的代码。作为另一示例,DLL本身可以提供***、工具或者二者的全部或者某些功能。
作为一个特定示例,上述逻辑所执行的处理可以利用一个或多个MicrosoftTMWindowsWorkflowFoundationTM技术来实现。过程可以在支持MicrosoftTMWindowsWorkflowFoundationTM技术***的任何环境中执行。此类环境的示例包括运行WindowsTM操作***和UnixTM操作***的计算机***。
虽然已经描述了本发明的各种实施方式,但是对于本领域普通技术人员易见的是,在本发明的范围内,多种实施方式和实现是可能的。因此,本发明仅由所附权利要求书及其等同限制。
Claims (21)
1.一种用于定制软件应用的方法,包括:
在存储器中存储与用户相关联的简档;
在所述存储器中存储多个状态,每个状态与用户界面相关联;
在所述存储器中存储多个资源,所述资源包括默认资源和简档特定资源,其中所述默认资源和所述简档特定资源分别包括默认转移和简档特定转移,每个转移包括要由工作流程序执行的任务;
利用处理器执行所述工作流程序,所述工作流程序当被执行时使得所述处理器执行以下动作:
标识与所述用户相关联的简档;
显示所述多个状态中的状态的所述用户界面;
从所述用户接收可用于所述状态的转移输入,其中所述转移输入与所述多个资源中的资源相关联;
确定是否存在对应于所述用户的简档的、与接收的转移输入相关联的简档特定资源;
如果存在对应于所述用户的简档的、与所述接收的转移输入相关联的简档特定资源,则获取与所述接收的转移输入相关联的所述简档特定资源作为获取的资源;
如果不存在对应于所述用户的简档的、与所述接收的转移输入相关联的简档特定资源,则获取与所述接收的转移输入相关联的默认资源作为所述获取的资源;以及
执行对应于所述获取的资源的任务。
2.根据权利要求1所述的用于定制软件应用的方法,
其中确定是否存在简档特定资源进一步包括针对与所述接收的转移输入相关联的资源来请求控制器,其中所述控制器在所述存储器中搜索对应于所述用户的简档的、与所述接收的转移输入相关联的简档特定资源;
其中获取与所述接收的转移输入相关联的所述简档特定资源作为获取的资源进一步包括使用所述控制器获取所述简档特定资源;以及
其中获取与所述接收的转移输入相关联的默认资源作为获取的资源进一步包括使用所述控制器获取所述默认资源。
3.根据权利要求1所述的用于定制软件应用的方法,还包括在所述存储器中存储多个模板,
其中显示所述多个状态中的所述状态的用户界面进一步包括从所述存储器获取所述多个模板中的模板,以及将获取的模板应用至所述用户界面。
4.根据权利要求3所述的用于定制软件应用的方法,
其中所述多个模板包括默认模板和简档特定模板,
其中获取所述模板进一步包括:
确定是否存在对应于所述用户的简档的、与所述用户界面相关联的简档特定模板;
如果存在对应于所述用户的简档的、与所述用户界面相关联的简档特定模板,则获取所述简档特定模板作为获取的模板;
如果不存在对应于所述用户的简档的、与所述用户界面相关联的简档特定模板,则获取所述默认模板作为所述获取的模板。
5.根据权利要求3所述的用于定制软件应用的方法,
其中所述多个模板中的模板包括默认部分和简档特定部分,
其中应用所述模板进一步包括:
应用默认部分;以及
如果存在对应于所述用户的简档的简档特定部分,则应用所述简档特定部分。
6.根据权利要求1所述的用于定制软件应用的方法,其中所述简档特定转移包括要由所述工作流程序执行的简档特定任务。
7.根据权利要求1所述的用于定制软件应用的方法,其中要由所述工作流程序执行的所述任务包括继续到所述多个状态中的下一状态。
8.一种用于定制软件应用的***,包括:
用于存储与用户相关联的简档的装置;
用于存储多个状态的装置,每个状态与用户界面相关联;
用于存储多个资源的装置,所述多个资源包括默认资源和简档特定资源,其中所述默认资源和所述简档特定资源分别包括默认转移和简档特定转移,每个转移包括要由工作流程序执行的任务;
用于存储工作流程序的装置;
用于标识与所述用户相关联的简档的装置;
用于基于用于显示所述用户界面的信息来显示所述多个状态中的状态的所述用户界面的装置;
用于从所述用户接收可用于所述状态的转移输入的装置,其中所述转移输入与所述多个资源中的资源相关联;
用于确定是否存在对应于所述用户的简档的、与接收的转移输入相关联的简档特定资源的装置;
如果存在对应于所述用户的简档的、与所述接收的转移输入相关联的简档特定资源,用于获取与所述接收的转移输入相关联的简档特定资源作为获取的资源的装置;
如果不存在对应于所述用户的简档的、与所述接收的转移输入相关联的简档特定资源,用于获取与所述接收的转移输入相关联的所述默认资源作为所述获取的资源的装置;以及
用于执行对应于所述获取的资源的任务的装置。
9.根据权利要求8所述的用于定制软件应用的***,
其中所述用于确定是否存在简档特定资源的装置进一步包括用于针对与所述接收的转移输入相关联的资源来请求控制器的装置,其中所述控制器在存储器中搜索对应于所述用户的简档的、与所述接收的转移输入相关联的简档特定资源;
其中所述用于获取与所述接收的转移输入相关联的简档特定资源作为所述获取的资源的装置进一步包括用于使用所述控制器获取所述简档特定资源的装置;以及
其中所述用于获取与所述接收的转移输入相关联的默认资源作为所述获取的资源的装置进一步包括用于使用所述控制器获取所述默认资源的装置。
10.根据权利要求8所述的用于定制软件应用的***,还包括用于存储多个模板的装置,
其中所述用于显示所述多个状态中的状态的用户界面的装置进一步包括:用于从所述用于存储多个模板的装置获取所述多个模板中的模板的装置,以及用于将获取的模板应用至所述用户界面的装置。
11.根据权利要求10所述的用于定制软件应用的***,
其中所述多个模板包括默认模板和简档特定模板,
其中所述用于获取模板的装置进一步包括用于以下动作的装置:
确定是否存在对应于所述用户的简档的、与所述用户界面相关联的简档特定模板;
如果存在对应于所述用户的简档的、与所述用户界面相关联的简档特定模板,则获取所述简档特定模板作为获取的模板;
如果不存在对应于所述用户的简档的、与所述用户界面相关联的简档特定模板,则获取所述默认模板作为所述获取的模板。
12.根据权利要求10所述的用于定制软件应用的***,
其中所述多个模板中的所述模板包括默认部分和简档特定部分,
其中所述用于将所述模板应用至所述用户界面的装置进一步包括用于以下动作的装置:
应用所述默认部分;以及
如果所述简档特定部分对应于所述用户的简档,则应用所述简档特定部分。
13.根据权利要求8所述的用于定制软件应用的***,其中所述简档特定转移包括要由所述工作流程序执行的简档特定任务。
14.根据权利要求8所述的用于定制软件应用的***,其中要由所述工作流程序执行的任务包括继续到所述多个状态中的下一状态。
15.一种用于定制软件应用的***,包括:
应用组件;
与所述应用组件通信的资源管理器,所述资源管理器存储多个资源,所述多个资源包括默认资源和简档特定资源;
与所述应用组件和所述资源管理器通信的资源储存库;以及
与所述资源管理器通信的简档管理器;
其中所述资源管理器:
从所述应用组件接收针对所述多个资源中的资源的请求,
从所述简档管理器接收与用户相关联的简档信息,
确定对应于所述用户的简档的、与请求的资源相关联的简档特定资源是否存在于所述资源储存库中;
如果对应于所述用户的简档的、与所述请求的资源相关联的简档特定资源存在于所述资源储存库中,则向所述应用组件提供对应于所述用户的简档的、与所述请求的资源相关联的所述简档特定资源作为所述请求的资源;以及
如果不存在对应于所述用户的简档的、与所述请求的资源相关联的简档特定资源,则向所述应用组件提供对与所述请求的资源相关联的工作流引擎而言默认的、对应于所述用户的简档的资源作为所述请求的资源。
16.根据权利要求15所述的用于定制软件应用的***,
其中所述资源管理器包括控制器;
其中所述多个资源还包括多个转移,所述多个转移包括默认转移和简档特定转移,每个转移包括要由所述应用组件执行的任务;以及
其中所述默认资源和所述简档特定资源分别包括默认转移和简档特定转移。
17.根据权利要求15所述的用于定制软件应用的***,
其中所述资源管理器包括控制器;
其中所述多个资源还包括多个状态,所述多个状态包括默认状态和简档特定状态,每个状态与用户界面相关联;以及
其中所述默认资源和所述简档特定资源分别包括默认状态和简档特定状态。
18.根据权利要求15所述的用于定制软件应用的***,
其中所述资源管理器包括模板管理器;
其中所述多个资源还包括多个模板,所述多个模板包括默认模板和简档特定模板;
其中所述默认资源和所述简档特定资源分别包括所述默认模板和所述简档特定模板;
其中从所述应用组件针对所述多个资源中的资源的请求包括针对所述多个模板中的模板的请求;以及
其中所述应用组件将请求的模板应用至用户界面。
19.根据权利要求18所述的用于定制软件应用的***,
其中所述多个模板中的模板包括默认部分和简档特定部分。
20.根据权利要求16所述的用于定制软件应用的***,其中所述简档特定转移包括要由所述应用组件执行的简档特定任务。
21.根据权利要求16所述的用于定制软件应用的***,其中要由所述应用组件执行的所述任务包括从一个状态继续到第二状态的任务,其中状态与用户界面相关联。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP09425440A EP2325800A1 (en) | 2009-11-02 | 2009-11-02 | Web portal application customization method and system using profiles |
EP09425440.6 | 2009-11-02 | ||
US12/712,835 | 2010-02-25 | ||
US12/712,835 US8397211B2 (en) | 2009-11-02 | 2010-02-25 | Web portal application customization method and system using profiles |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102054021A CN102054021A (zh) | 2011-05-11 |
CN102054021B true CN102054021B (zh) | 2016-05-11 |
Family
ID=42237376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010530938.6A Active CN102054021B (zh) | 2009-11-02 | 2010-11-02 | 使用简档的web门户应用定制方法和*** |
Country Status (4)
Country | Link |
---|---|
US (2) | US8397211B2 (zh) |
EP (1) | EP2325800A1 (zh) |
CN (1) | CN102054021B (zh) |
CA (1) | CA2720548C (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266806B2 (en) * | 2004-03-02 | 2007-09-04 | International Business Machines Corporation | Portlet template based on a state design pattern |
US10089443B2 (en) | 2012-05-15 | 2018-10-02 | Baxter International Inc. | Home medical device systems and methods for therapy prescription and tracking, servicing and inventory |
US20130204746A1 (en) * | 2012-01-11 | 2013-08-08 | Endurance International Group, Inc. | Automatic web presence feature deployment |
US9883008B2 (en) | 2010-01-15 | 2018-01-30 | Endurance International Group, Inc. | Virtualization of multiple distinct website hosting architectures |
US9277022B2 (en) | 2010-01-15 | 2016-03-01 | Endurance International Group, Inc. | Guided workflows for establishing a web presence |
US20110178890A1 (en) * | 2010-01-15 | 2011-07-21 | Endurance International Group, Inc. | Common services web hosting architecture with multiple branding |
CN104126186B (zh) * | 2011-12-23 | 2019-07-19 | 爱尔斯特里普Ip控股有限责任公司 | 开发用于计算设备的多平台应用的***和方法 |
EP2898427A2 (en) * | 2012-04-09 | 2015-07-29 | Justin Brock Gerber | Method and apparatus for browser interface, account management, and profile management |
US9934211B2 (en) * | 2013-01-09 | 2018-04-03 | NetSuite Inc. | System and methods for generating derivative websites |
US9412092B2 (en) | 2013-01-14 | 2016-08-09 | Google Inc. | Generating a filtered view of a content stream |
US11237705B2 (en) * | 2013-03-15 | 2022-02-01 | Bmc Software, Inc. | Configurable user interface interactions using a state machine combined with event orchestration |
US10346626B1 (en) * | 2013-04-01 | 2019-07-09 | Amazon Technologies, Inc. | Versioned access controls |
US9946528B2 (en) * | 2013-06-10 | 2018-04-17 | Bmc Software, Inc. | System and method for automated customization of applications |
US9575732B2 (en) | 2013-06-17 | 2017-02-21 | Microsoft Technology Licensing, Llc | Providing design time projections for a visual program |
EP3018585A4 (en) * | 2013-07-02 | 2017-02-22 | Fujitsu Limited | Machine provision method, machine provision system, and machine provision program |
US11422680B1 (en) * | 2014-05-22 | 2022-08-23 | EMC IP Holding Company LLC | Workflow execution framework |
US9268562B1 (en) * | 2015-01-21 | 2016-02-23 | PredictSpring, Inc. | Methods and apparatuses for dynamically generating mobile application layouts using client-independent configuration |
CN113506089A (zh) | 2015-04-30 | 2021-10-15 | 微软技术许可有限责任公司 | 提取并显现来自数据源的用户工作属性 |
US10395293B1 (en) | 2016-08-25 | 2019-08-27 | PredictSpring, Inc. | Canonical order management system |
CN108228596A (zh) * | 2016-12-13 | 2018-06-29 | ***通信集团上海有限公司 | 一种动态数据展示方法 |
WO2019051480A1 (en) * | 2017-09-11 | 2019-03-14 | Nextworld Llc | SYSTEMS AND METHODS FOR CREATING BUSINESS SOFTWARE |
CN107679220A (zh) * | 2017-10-19 | 2018-02-09 | 深圳中兴网信科技有限公司 | Web资源的定制适配方法、定制适配*** |
CN112913269A (zh) | 2018-12-28 | 2021-06-04 | 苹果公司 | 提供经验证的用户身份声明 |
EP4337148A2 (en) | 2021-05-12 | 2024-03-20 | Accessibe Ltd. | Systems and methods for making websites accessible |
US11562032B1 (en) * | 2022-02-08 | 2023-01-24 | My Job Matcher, Inc. | Apparatus and methods for updating a user profile based on a user file |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101008958A (zh) * | 2006-01-27 | 2007-08-01 | 国际商业机器公司 | 用于允许用户定制web站点的***和实现web站点的方法 |
CN101160563A (zh) * | 2005-04-18 | 2008-04-09 | 捷讯研究有限公司 | 用于托管并执行组件应用程序的方法和*** |
CN101187868A (zh) * | 2006-11-23 | 2008-05-28 | 国际商业机器公司 | 在基于Web的门户环境中配置应用的方法和*** |
WO2009102560A1 (en) * | 2008-02-14 | 2009-08-20 | Qualcomm Incorporated | Methods and apparatuses for sharing user profiles |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6621505B1 (en) * | 1997-09-30 | 2003-09-16 | Journee Software Corp. | Dynamic process-based enterprise computing system and method |
US6606740B1 (en) * | 1998-10-05 | 2003-08-12 | American Management Systems, Inc. | Development framework for case and workflow systems |
US8689056B2 (en) * | 2005-10-31 | 2014-04-01 | Hewlett-Packard Development Company, L.P. | Method and system for providing customer service information |
US7757214B1 (en) * | 2005-11-10 | 2010-07-13 | Symantec Operating Coporation | Automated concurrency configuration of multi-threaded programs |
US7873610B2 (en) * | 2006-05-26 | 2011-01-18 | Andrew S Poulsen | Meta-configuration of profiles |
US20070294364A1 (en) * | 2006-06-15 | 2007-12-20 | International Business Machines Corporation | Management of composite software services |
US7908551B2 (en) * | 2006-06-29 | 2011-03-15 | Google Inc. | Dynamically generating customized user interfaces |
-
2009
- 2009-11-02 EP EP09425440A patent/EP2325800A1/en not_active Ceased
-
2010
- 2010-02-25 US US12/712,835 patent/US8397211B2/en active Active
- 2010-11-02 CN CN201010530938.6A patent/CN102054021B/zh active Active
- 2010-11-02 CA CA2720548A patent/CA2720548C/en active Active
-
2013
- 2013-02-12 US US13/765,511 patent/US8954950B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101160563A (zh) * | 2005-04-18 | 2008-04-09 | 捷讯研究有限公司 | 用于托管并执行组件应用程序的方法和*** |
CN101008958A (zh) * | 2006-01-27 | 2007-08-01 | 国际商业机器公司 | 用于允许用户定制web站点的***和实现web站点的方法 |
CN101187868A (zh) * | 2006-11-23 | 2008-05-28 | 国际商业机器公司 | 在基于Web的门户环境中配置应用的方法和*** |
WO2009102560A1 (en) * | 2008-02-14 | 2009-08-20 | Qualcomm Incorporated | Methods and apparatuses for sharing user profiles |
Also Published As
Publication number | Publication date |
---|---|
US20110107294A1 (en) | 2011-05-05 |
US8954950B2 (en) | 2015-02-10 |
CA2720548A1 (en) | 2011-05-02 |
CN102054021A (zh) | 2011-05-11 |
EP2325800A1 (en) | 2011-05-25 |
CA2720548C (en) | 2017-08-15 |
US8397211B2 (en) | 2013-03-12 |
US20130166757A1 (en) | 2013-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102054021B (zh) | 使用简档的web门户应用定制方法和*** | |
US20220215125A1 (en) | Viewing, selecting, and triggering a data pipeline to derive a collaborative dataset | |
US7735077B2 (en) | System and method for inventory services | |
US7925985B2 (en) | Methods and apparatus for process thumbnail view | |
EP2803214B1 (en) | Platform for the delivery of content and services to networked connected computing devices | |
US11356456B2 (en) | Multi-participant and cross-environment pipelines | |
CN109710243B (zh) | 基于可视化平台的区块链开发方法、装置、服务器及介质 | |
KR101660148B1 (ko) | 애플리케이션 서버 상에서 구동되는 애플리케이션의 콤포넌트에 의한 서비스에 대한 콜을 최적화하기 위한 장치, 방법 및 머신-판독가능 저장 매체 | |
US20140040791A1 (en) | Development platform for software as a service (saas) in a multi-tenant environment | |
US20020049961A1 (en) | Rule-based personalization framework | |
US8812964B2 (en) | Managing evelopment of an enterprise application | |
CN102257477B (zh) | 应用开发支援装置 | |
JP2008536210A (ja) | モバイルデータシステム用モジュールアプリケーション | |
CN107102848A (zh) | 规定用户界面元素 | |
CN102664746A (zh) | 用于分布式数据中心各分量的在全局上健全且一致的配置管理 | |
US20060206411A1 (en) | Custom application builder for supply chain management | |
CN102203767A (zh) | 重新配置模型 | |
CN104067262B (zh) | 服务器侧最小下载和差错故障转移 | |
WO2021183219A1 (en) | System for custom validations and scripts for mobile applications | |
da Silva et al. | SPReaD: service-oriented process for reengineering and DevOps: Developing microservices for a Brazilian state department of taxation | |
CN111258567A (zh) | 服务代码开发处理方法及装置 | |
CN102257499B (zh) | 管理持久文档集合的技术 | |
KR101414795B1 (ko) | 인스턴트 웹 앱 생성 장치 및 방법 | |
US20120179583A1 (en) | Electronic Commerce Platform with Staging to Production and Bundles | |
KR20150069987A (ko) | 웹 앱 조합 메타모델이 적용된 인스턴트 웹 앱 조합 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |