CN102096694A - 具有支持组件的显示再现系统 - Google Patents
具有支持组件的显示再现系统 Download PDFInfo
- Publication number
- CN102096694A CN102096694A CN2010105434634A CN201010543463A CN102096694A CN 102096694 A CN102096694 A CN 102096694A CN 2010105434634 A CN2010105434634 A CN 2010105434634A CN 201010543463 A CN201010543463 A CN 201010543463A CN 102096694 A CN102096694 A CN 102096694A
- Authority
- CN
- China
- Prior art keywords
- data
- template file
- expression
- readable medium
- expression code
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种具有支持组件的显示再现系统。其中说明了涉及在可从互联网访问的服务器上运行的Web应用的装置和方法。本发明的方面涉及一种用于响应接收到至少一个页面标识符而输出表示代码的装置。该装置包括电子处理器、存储了映射表的有形介质、模板文件、表示及业务规则,以及计算机可执行指令。
Description
本申请要求于2009年8月23日提交的美国临时专利申请序列号No.61/236,135的优先权,通过引用在此合并其全部内容。
技术领域
本公开的方面涉及服务器上运行的Web应用。更具体地,本公开的方面涉及提交数据以再现(render)Web应用的表示代码。
背景技术
Java管理扩展(JMX)是一种已知的对Sun微系统的JAVA编程语言的库扩展。Wikipedia解释,JMX是“一种提供用于管理和监控应用、系统对象、设备(例如,打印机)和面向服务的网络的工具的Java技术。那些资源由称为MBeans(关于管理的Bean)的对象来表现。在API中,类可以被动态加载和实例化”。
自称为“Java geek”的Nicolas Frankel于2009年6月在博客中记录了有关各种JMX的使用情形,包括使用JMX来管理应用的配置。Frankel解释,“即使每个应用具有关于配置的不同需求(一个需要初始线程号属性,其它的需要URL),但是每一个应用或多或少需要被参数化。为此,历代Java开发者…创建了两个组件:[1]第一个是其中输入名称值对的特性文件,[2]另一个是责任在于在其自身加载特性并提供对该值的访问的Java类。对于初始化而言,这是令人满意并良好的,但那些参数的运行时的改变又怎样呢?这就是JMX流行起来的原因。利用JMX,现在可以揭示那些具有读/写认证的参数。JDK 6提供了可以在启用了JMX的应用上连接的JConsole应用”。
同时,Oracle是众所周知的数据库供应商。Oracle在其数据库软件系统的多个版本中提供了一种称为Oracle改变通知(Oracle Change Notification,OCN)的特征。Oracle的文档解释,“数据库改变通知是一种使客户端应用能够向数据库登记查询并接收作为对该查询相关联的对象上的DML或DDL改变的响应的通知。当DML或DDL事务提交时,该通知由数据库公开”。
AJAX是对异步JavascriptTM和XML的简写。Wikipedia解释,“AJAX…是在客户端侧上用来创建交互式Web应用的一组相互关联的Web开发技术。利用AJAX,Web应用可以在不干扰现有页面的显示和性质的情况下,在幕后异步地从服务器中检索数据。使用AJAX技术导致了在网页上交互性或动态接口的增加…尽管名称如此,但实际上并不要求使用JavascriptTM或XML,请求也不必是异步的”。此外,Wikipedia解释,“AJAX的一些缺陷是同源策略阻止跨域使用某些AJAX技术,尽管W3C具有将启用此功能的XMLHttpRequest对象的草案”。
现有技术中,已知有许多内容管理系统。例如,Interwoven销售各种内容管理产品,包括DesksiteTM和其它产品。内容管理系统已知是用于在经请求时存储各种类型的内容、提供各种类型的内容,包括多介质内容。已知许多提供内容管理和类似类型的软件产品和/或系统的其它软件公司。
发明内容
以下提出了对本公开的简要概述,以便提供对某些方面的基本理解。其不是旨在标识本发明的关键或重要的要素或描绘本公开的范围。以下概述仅仅是以简化形式提出了本公开的某些概念,作为对以下提供的更详细描述的前序。
在根据本公开的方面的一个实施例中,一种用于响应接收到至少一个页面标识符而输出表示代码的装置。该装置包括:电子处理器、存储映射表的有形介质、模板文件、表示及业务规则、计算机可执行指令。该计算机执行指令用于确定该映射表包括页面标识符,检索模板文件并使用更新后的模板文件来生成表示代码。在某些实施例中,该装置可以使得应用作为动态网站。
在根据本公开的方面的另一个实施例中,一种包括计算机处理器、存储器和/或接口的装置。在可替换实施例中,计算机存储器可以完全或部分位于数据存储系统内。
本领域的技术人员将理解前述一个或多个方法和特征可以体现为存储在有形计算机可读介质上、并由处理器来执行的计算机执行指令。
附图说明
借助于示例但不局限于附图来说明本公开,附图中同样的参考标号表示类似的元件,其中:
图1图示通用数字计算环境的示意图,在其中可以实施本公开的各个方面;
图2A和2B图示根据本公开的方面的系统的实施例;
图3图示根据本公开的方面的方法的一个实施例的流程图;
图4图示根据本公开的方面的用于高亮显示系统的管理域和运行时的域的系统的实施例;以及
图5是展示本公开的各个方面的示例性网页的图示。
具体实施方式
根据本公开的各个方面,说明了涉及在可从网络(例如,互联网)访问的服务器上运行的Web应用的系统和方法。该服务器(或多个服务器)可以接受数据和/或命令以按照与平台(或环境)无关方式再现Web应用的表示层。本公开的方面涉及一种允许提交数据和命令以再现应用的表示层的再现系统。该再现系统利用模型-视图-控制器(MVC)设计方法来生成表示代码。在抽象级处,再现引擎系统包括五个主要组件:核心再现组件、预取组件、高速缓存刷新组件、小部件(widget)框架和ad管理框架。小部件框架是在之前提到的相关申请的焦点。
图1图示根据本发明的一个或多个说明性实施例可以使用的适当的计算系统环境100的示例。计算系统环境100仅仅是适当的计算环境的一个示例,并非旨在暗示暗示对本发明的使用范围或功能范围的任何限制。计算系统环境100不应被解释为具有对该计算系统环境100内所图示的任何一个组件或组件的任意组合有关的任何依赖性或要求。
本发明可以利用许多其它的通用或专用计算系统环境或配置而操作。众所周知的可以适用于本发明的计算系统、环境和/或配置的示例包括但不局限于个人计算机、服务器计算机、手持或膝上型设备、多处理器系统、基于多处理器的系统、机顶盒、可编程消费电子装置、网络PC、迷你计算机、主机计算机以及包含以上任一系统或设备的分布式计算环境等。
本发明的方面可以在计算机可执行指令的一般上下文(例如,由计算机运行的程序模块)中进行描述。一般来说,程序模块包括用来执行特定任务或实现特定的抽象数据类型的例程、程序、对象、组件、数据结构等。本发明的方面还可以在分布式计算环境中实践,在其中可以由通过通信网络链接的远程处理设备执行任务。在分布式计算环境中,程序模块可以位于包括记忆存储设备的本地计算机和远程计算机存储介质中。
参照图1,计算系统环境100可以包括计算设备101,该计算设备101具有:处理器103,用于控制计算设备101及其相关联的组件的整个操作,该相关联的组件包括RAM 105、ROM 107、通信模块109和存储器115。计算设备101典型地包括各种各样的计算机可读介质。计算机可读介质可以是任何可由计算设备101进行存取的可用介质,且包括易失性和非易失性介质、可移动和不可移动介质。借助于示例而非限制的,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以任何信息存储方法或技术实施的易失性和非易失性介质、可移动和不可移动介质,该信息例如是计算机可读指令、数据结构、程序模块或其它数据。计算机存储介质包括而不局限于随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存或其它存储器技术、CD-ROM、数字多用途盘(DVD)或其它光盘存储器、磁盒、磁带、磁盘存储装置或其它磁存储设备、或能够用来存储期望的信息且能由计算设备101进行存取的其它任何介质。通信介质典型地体现为计算机可读指令、数据结构、程序模块或在调制的数据信号(例如载波或其它传输机制)内的其他数据,且包括任何信息递送介质。调制的数据信号是一种以这样的方式来设置或改变其特征以便对该信号中的信息进行编码的信号。借助于示例而非限制的,通信介质包括例如有线网络或直接有线连接之类的有线介质,以及例如声音的、RF、红外的和其它无线介质之类的无线介质。以上任意组合也应包含在计算机可读介质的范围内。尽管未示出,RAM 105可以包括一个或多个表示RAM存储器105内存储的应用数据的应用,当计算设备启动时,在该计算设备101上运行相应的软件应用(例如,软件任务)。
通信模块109可以包括麦克风、键盘、触摸屏和/或指示笔,计算设备101的用户可以通过它们来提供输入,该通信模块109还可以包括用于提供音频输出的一个或多个扬声器和用于提供文本、视听和/或图形输出的视频显示设备111。软件可以被存储在存储器115和/或存储装置内,以向处理器103提供指令用于使计算设备101能够执行各种功能。例如,存储器115可以存储由计算设备101使用的软件,例如操作系统117、应用程序119和数据存储121。可替换的,计算设备101的一些或全部计算机可执行指令可以以硬件或固件(未显示)来体现。如以下详细描述地,数据存储121(例如,安全数据库)可以提供对整个业务的账户信息和账户持有人信息的集中存储,允许驻留在不同物理位置处的不同业务要素之间的互操作性。在一些实施例中,数据存储121在物理上可以位于存储器115的外部。例如,数据存储121可以是位于计算设备151的企业数据库。
计算设备101可以在支持连接一个或多个远程计算设备(例如计算设备141和151)的网络化的环境中进行操作。计算设备141和151可以是包括上述与计算设备101相关的许多或全部要素的个人计算设备或Web/应用服务器。图1所示的网络连接包括局域网(LAN)125和广域网(WAN)129,但是也可以包括其它网络。尽管在图1中为了简单起见而被示为单个网络,但该网络可以包括多个互相链接的网络,以便提供网间通信。这种网络可以包括一个或多个私有或公共分组交换网(例如,互联网)、一个或多个私有或公共电路交换网(例如,公共交换电话网)、被配置为例如通过基站、移动交换中心等来促进去往和来自移动通信设备的通信的蜂窝网络、短程或中程无线通信连接(例如,超宽带(UWB)、红外、Wibree)、根据电气电子工程师学会(IEEE)802.11标准的一个或多个版本的无线局域网(WLAN)、或高速无线数据网,例如演进数据优化(EV-DO)网络、全球移动电信系统(UMTS)网络、长期演进(LTE)网络或增强型数据速率GSM演进(EDGE)网络。除了现有技术中已知的其它协议以外,设备150-170可以使用各种通信协议,例如互联网协议(IP)、传输控制协议(TCP)、简单邮件传输协议(SMTP)。还可以包括各种消息服务,例如短消息服务(SMS)和/或多介质消息服务(MMS)。
当用于LAN网络环境时,计算设备101通过通信模块109中的网络接口或适配器连接到LAN 125。当用于WAN网络环境时,服务器101可以包括在通信模块109中的调制解调器或其它用于在WAN 129(例如互联网131)上建立通信的部件。将理解所示网络连接是说明性的,而且可以使用其它用于在计算设备之间建立通信链路的部件。可以假定存在各种众所周知的协议中的任何一种,例如TCP/IP、以太网、FTP、HTTP等,而且该系统可以在客户端-服务器配置中操作以允许用户从基于Web的服务器中检索网页。各种传统的Web浏览器中的任何一种都可以用来显示和操纵网页上的数据。
另外,根据本公开的说明性实施例的计算设备101使用的应用程序119可以包括用于调用涉及通信的用户功能(例如电子邮件、短消息服务(SMS)和声音输入和语音识别应用)的计算机可执行指令,。
图2A图示根据本公开的方面的系统的一个实施例。客户端计算设备141可以与Web服务器151通信,该Web服务器151继而可以与应用服务器101进行通信。在一些实施例中,Web服务器151和应用服务器101可以位于不同的互联网域上。在可选实施例中,Web服务器151和应用服务器141可以是相同的物理机器。客户端计算设备141可以包括用于向用户示出应用的图形用户界面(GUI)的显示器。因而,该应用服务器可以包括被配置为向显示设备发送应用的GUI的显示器接口。显示器接口可以通过再现系统构建与该应用对应的GUI,在一些实施例中,其可以使用业务规则(或修改后的业务规则)。
应用服务器101可以对数据存储系统202(例如,安全数据库系统)上存储的数据(例如,应用特性、表示规则、业务规则等)进行存取。本领域技术人员将理解尽管在图2A中以可视的方式将各个组件描绘成位于特定设备内,本公开设想一个或多个组件位于不同的设备内、位于单个设备内或被忽略。例如,在一个实施例中,数据存储系统202可以位于应用服务器101内,或者一个或多个来自数据存储系统202和应用服务器101中的组件可以位于(共处于)图2A的其它块内。
图2A的系统可以包括数据存储系统202,其被配置成保存数据以供一个或多个在应用服务器101内执行的应用使用。数据存储系统202可以存储至少包含以下中的一个或多个的数据:应用特性202A(例如,映射表)、表示规则202B(例如,特性文件)和/或业务规则202C(例如,业务逻辑)。在此公开中可互换地使用术语“业务规则”和“业务逻辑”。同样地,在此公开中可互换地使用术语“表示规则”和“特性文件”。数据存储系统202可以包括用于存储一个或多个业务规则(例如,第一业务规则、第二业务规则等)的计算机存储器(例如,有形的计算机可读介质)。此外,数据存储系统202可以存储映射表、特性文件(例如,表示规则202B)、业务逻辑(例如,业务规则202C)和其它诸如计算机可执行指令之类的数据。另外,可以提供业务规则管理系统208(BRMS)来协助创建、修改和/或维护数据存储系统202内存储的各种数据。该BRMS可以提供用户友好的图形用户界面(GUI)以允许几乎没有计算机编程(和网页编辑)经验的业务用户创建、修改和维护在虚拟机上运行的在线应用(例如,网站)的表示和配置。在根据本发明的方面描述的一些可替换实施例中,BRMS可以专用于业务规则生成和管理(例如,使用DROOL),而其它系统可以用于管理该表示和内容,并用于管理页面配置(例如,见图4中的系统228和系统230)。
数据存储202(例如,安全数据库系统)还可以包括改变通知机制210。该改变通知机制可以提供对数据修改的通知(例如,应用特性202A、表示规则202B、业务规则202C等)。例如,在一个实施例中,该通知可以采取在IRQ(中断请求)线路上的警报的形式。在另一个实施例中,可以通过使用充分备有证明文件的“观察者”设计模式来以软件方式实施该通知,在其中可以松散地耦合“目标”与“观察者”,当目标改变状态时,该目标向观察者提供通知。本领域技术人员将理解在本领域已知其它的配置或设计模式,而且该配置或设计模式可以用来提供对数据修改(例如,状态改变)的通知,例如轮询技术、Push(进栈)技术、目标观察者实施方式。另外,应用服务器101可以包括对改变通知机制210的接口,以便能够接受通知。例如,应用服务器101可以包括“观察者”的实例化,其被配置成从数据存储系统202内的“目标”中获得对业务规则修改的通知。
根据本公开的各个方面,应用服务器101可以不依靠虚拟机来执行计算机可执行指令。在其它实施例中,应用服务器101可以包括虚拟机206(例如,JavaTM虚拟机或提供JRETM),其被配置成使用处理器(微处理器、微处理器、多核处理器、专用处理器等)来执行计算机可执行指令。这些指令可以包括字节码,其被配置成由虚拟机来执行以使得图2A的系统执行图3(以及贯穿本公开)中标识的一个或多个步骤。虚拟机206可以包括管理的bean(mBeansTM)以协助管理资源(例如,(多个)环境特性文件204、应用特性等)和/或执行前述一个或多个步骤。mBeansTM在本领域是众所周知的,而且可以连同JMX(例如,JMX控制台)一起使用以协助监控一个或多个在虚拟机206上运行的应用的方面。
根据本公开的各个方面,虚拟机206还可以包括规则控制机制,其被配置成允许在虚拟机上运行的应用对第一组业务规则进行存取,而同时限制该应用对第二组业务规则进行存取。同时,规则控制机制可以允许也在虚拟机206上运行的第二应用对第二组业务规则进行存取,但限制此应用对第一组业务规则进行存取。本领域技术人员将认识到具有规则控制机制的虚拟机206的系统的至少一个益处是在应用级上限制特性(例如,业务规则、表示规则、环境特性204等)的可见度。例如,不同的应用于是具有相同的特性名称而不存在冲突。因此,极大地增强和简化了潜在供应商的产品和将来移植(porting)的互换性。在根据本公开描述的一个实施例中,规则控制机制可以使用mBeans实施(参见图2A的参考标记206)。在根据本公开的另一个实施例中,规则控制机制可以通过应用服务器101的有形的计算机可读介质上存储的计算机可执行指令实施并由虚拟机206执行。
另外,图2A的系统可以包括用来协助特性的动态配置的功能。例如,可以包括日志记录模块来记录在特性文件中编辑特性值的用户的登录以及何时发生修改的日期/时间(例如,通过在日志表内填充“modified_by”和“modified_date”字段)。记录的日志信息可以提供尤其是对业务规则、表示规则、应用特性、环境特性等的修改的审计跟踪。在另一个实施例中,日志记录模块可以提供用于指定在应用日志中记录的细节的级别的能力。例如,日志记录级“5”可以指示应该在日志文件中记录该应用生成的所有错误消息和报警消息(见图4,参考标记408)。另外,可以提供用于其它实用功能的模块(例如,图2A中的异常处理模块和安全模块)以协助应用开发者和测试者处理异常和安全。例如,安全模块可以提供有关什么样的应用开发者和/或业务用户可以修改哪些特性的信息。安全模块至少一个益处是可以防止外行的业务用户存取和错误地修改可能导致整个系统崩溃的特性值(例如,生成致命错误消息或其它不合需求的行为)。
图3是图示根据本公开的方面的一个实施例的流程图。该方法的一个或多个方面可以通过使用系统(例如,图2B所图示的系统)实施。客户端计算设备141可以向Web服务器151提交请求。在一个示例中,客户端计算设备141可以执行Web浏览器,该Web浏览器向Web服务器151提交超文本传输协议(HTTP)请求。HTTP请求可以通过按下特定页面(例如,“page1.html”)上的按钮(例如,提交按钮)来发起。在不同的实施例中,客户端计算设备141上可以安装独立的软件应用,并且此应用可以请求服务器151提供用于在设备屏幕上进行再现的信息。
在步骤302中,服务器151可以从客户端计算可以设备141接收至少一个页面标识符。该页面标识符可以是简单地如字串/词组或整数/十六进制值。可以将页面标识符传递到应用服务器101用于处理,或者可以在Web服务器151中处理该页面标识符。处理包括使用处理器103确定在映射表内找到该页面标识符(见步骤304)。映射表可以存储在服务器101的有形计算机可读介质115上。映射表包括多个页面标识符及其相应的网页(或,应用状态)。
例如,一旦在映射表中找到页面标识符的匹配,则该系统可以在步骤306中调用拦截器306。拦截器可以在动作执行前被调用,除此之外,拦截器还可以负责创建用户界面上下文和初始化控制器的freemarker模板(FTL),在序列号No.61/236,135的美国临时申请中还详细地描述了拦截器,之前已经通过引用并入了该申请的全部内容。本领域技术人员将理解此拦截器是识别的计算机编程中的编程构造。概念上,拦截器可以驻留于充分备有证明文件的模型-视图-控制器模式的控制器218部分中,如图2B所示。拦截器协助该系统的各种控制类职责,包括与模型类组件(概念上驻留于模型220内)以及视图类组件(在概念上驻留于视图222内)的交互。
在步骤308中,作为模型-视图-控制器模式的视图222部分的职责的一部分,可以标识与步骤302中接收的页面标识符相关联的freemarker模板(FTL)文件。FTL文件可以间接与来自步骤302的页面标识符相关联,这是因为FTL文件可以与映射到页面标识符的页面(或应用状态)相关联。在序列号No.61/236,135的美国临时申请中还详细地描述了FTL文件,之前已经通过引用并入了该申请的全部内容。
在步骤310中,可以标识规则(例如,业务规则和/或表示规则)。除此之外,该标识还可以基于来自步骤302的页面标识符(和/或映射到页面标识符的页面或应用状态)。在一些示例中,除了页面或页面标识符之外,还可以用其他特征来标识该规则。
在步骤312中,事务模块可以基于更新后的模板文件,从至少一个数据存储系统212中检索内容数据。多个数据存储系统212可以有助于根据更新后的模板文件安排内容数据。例如,在具有多个合作方和/或辅助方的大型组织中,该组织可能要求从多个源中提取内容数据并将其无缝集成到单个表示输出中。沿着这些路线,事务模块可以从多个源中提取数据并根据适当的模板(例如,一开始在步骤308中标识的更新的模板文件)集成该内容。
在可选实施例中,事务模块可以获得对XML文档的引用并解析该XML文档以提取期望的内容数据。事务模块可以从多个源中检索多个XML文档。例如,事务模块可以从JointVenture1(即,合资的合作方)、Subsidiary1(即,子公司)中以及从该公司自己的XML数据存储中检索XML文档。可以获得、解析来自这些源中的每一个源的XML文档,并且所提取的内容可以用来填充模板(即,上述更新后的模板)。从XML文档(或从数据存储系统212)中检索的内容不必局限于文本数据。本公开设想了各种类型的数据,包括但不局限于图片图形、动画、视频等。
在步骤314中,可以从再现引擎216中生成表示代码。再现引擎216可以用一种或多种类型的格式化输出来输出表示代码。例如,可以用超文本标记语言(HTML)、可扩展标记语言(XML)、WML等对表示代码进行格式化。该输出的表示代码可以被发送到远程设备(在步骤316中)。例如,远程设备可以是在步骤302中所讨论的客户端计算设备141。在可替换实施例中,远程设备可以是不同的设备,例如Web服务器121或另一个计算设备。
参照图4,该图图示了根据本公开的方面的用于高亮显示系统的管理域和运行时的域的该系统的实施例。在管理域中,内容管理系统228、规则引擎,以及页面配置系统230包含用于协助创建和维护规则、内容、模板和/或工作流的机制/模块。同时,运行时的域包含那些用于协助对前述规则和工作流的运行时的实施和/或对前述内容和模板进行再现的机制/模块。例如,内容管理系统228可以发布数字资产(例如,视频文件、RSS供给、URL链接等)并在内容存储404中存储数据。内容存储404中的数据可以包括但不局限于XML和相关联的元数据。另外,规则引擎和页面配置系统230可以向配置储存库402发布。配置储存库可以包括但不局限于页面配置信息、配置规则和工作流(例如,sitemap.xml映射文件)。参照图2B,页面配置系统230可以在数据存储214中存储页面配置信息。数据存储214可以包括工作流信息,例如,以示例的sitemap.xml所示的方式将一个页面映射到另一个页面的转换,其在序列号No.61/236,135的美国临时申请中进行了详细描述,之前已经通过引用并入了该申请的全部内容。例如,工作流信息可以包括映射,该映射示出了如果在页面上选择一个特定按钮(或链接),系统就可以转换到另一个特定页面。本领域技术人员在浏览了在此公开的全部内容之后将理解这种工作流类似于本领域众所周知的状态图的工作流。
再现引擎216可以消耗由这些运行时的域组件所提供的一个或多个资源以对来自示例性客户端计算设备141的请求作出响应。
参照图5,应用服务器101可以生成具有以表示(504A、504B、504C,统称为504)格式化的并且应用规则506的内容(参见502A、502B、502C,统称为502)的网页500。可以从内容管理系统228所管理的内容数据存储212中检索内容502。表示方式504可以基于应用服务器101的一个或多个freemarker模板(FTL)来表示。另外,客户端用户界面(UI)组件224(例如,层叠样式表、异步Javascript、Javascript和Flash)可以协助于再现该表示方式504。生成的表示代码可以导致被发送到客户端计算设备141的网页226。本领域技术人员将理解网页226可以采取除超文本标记语言(HTML)以外的格式,而且可以采取XHTML、XML、WML或其他格式。
尽管未作要求,但本领域普通技术人员将理解在此描述的各个方面可以实施为方法、数据处理系统或存储计算机可执行指令的计算机可读介质。已经按照其说明性实施例进行了描述本发明的方面。对于本领域普通技术人员而言,根据对本公开的阅读,将想到权利要求的范围和精神内的多个其他实施例、修改和变型。例如,本公开设想了应用服务器101,其执行编译后的计算机可读指令,而且不依赖于虚拟机206。换言之,要求保护的本发明各个实施例无需虚以机206而可以进行操作。在另一个示例中,本领域普通技术人员将理解说明性附图中图示的步骤可以按照除所述顺序之外的其它顺序来执行,而且根据本公开的方面所说明的一个或多个步骤是可选的。另外,可以通过使用处理器执行来执行在此所述的步骤。
Claims (20)
1.一种电子装置,用于响应接收到应用代码的至少一个页面标识符而输出表示代码,所述应用代码包括从至少一个数据存储系统检索的并由再现引擎格式化的内容,所述装置包括:
电子处理器;
有形的计算机可读介质,用于存储:
映射表,包括多个与应用相关联的页面标识符;
与页面标识符相关联的模板文件;
与页面标识符相关联的表示规则;以及
与页面标识符相关联的业务规则;以及
所述有形的计算机可读介质还存储计算机可执行指令,当处理器执行所述计算机可执行指令时使得所述装置执行以下步骤,所述步骤包括:
确定映射表包括页面标识符;
调用与页面标识符相关联的拦截器;
检索与页面标识符相关联的模板文件;
执行与页面标识符相关联的业务规则及表示规则来为特定用户更新模板文件;
基于更新后的模板文件和业务规则及表示规则,从至少一个数据存储系统中检索内容;
使用更新后的模板文件和检索的内容,生成表示代码,其中所述表示代码处于期望的格式;以及
发送生成的表示代码。
2.根据权利要求1所述的装置,其中生成的表示代码的格式是超文本标记语言。
3.根据权利要求3所述的装置,其中所述应用是包含动态HTML的动态网站。
4.根据权利要求1所述的装置,其中所述至少一个数据存储系统包括两个不同的数据存储系统,并且来自每个数据存储系统的内容被包含在所述表示代码内。
5.根据权利要求4所述的装置,其中由驻留在所述有形的计算机可读介质上的事务模块来执行从两个不同的数据存储系统中检索内容。
6.根据权利要求1所述的装置,其中所述业务规则涉及关于所述特定用户的数据,并且在执行所述业务规则时访问的数据存储系统包括安全数据库。
7.根据权利要求1所述的装置,其中所述模板文件是FTL文件。
8.根据权利要求1所述的装置,其中利用可扩展标记语言对所述映射表进行格式化。
9.根据权利要求1所述的装置,还包括:
通信模块,其被配置成向远程电子设备至少发送所生成的表示代码。
10.一种用于输出通过再现而格式化的表示代码的方法,包括:
在有形的计算机可读介质上存储映射表;
在所述有形的计算机可读介质上存储多个模板文件;
在所述有形的计算机可读介质上存储多个表示规则;
在所述有形的计算机可读介质上存储多个业务规则;
接收页面标识符;
使用处理器来确定在所述映射表内找到所述页面标识符,其中所述映射表存储多个页面标识符;
从所述有形的计算机可读介质中检索与所述页面标识符相关联的模板文件;
使用所述处理器,通过应用与页面标识符相关联的表示规则来更新所述模板文件;
使用所述处理器来执行与所述页面标识符相关联的业务规则以对特定用户组调整所述模板文件;
使用事务模块,基于更新后的模板文件和至少所述业务规则,从至少一个数据存储系统中检索内容;
使用所述处理器,基于更新后的模板文件和检索的内容生成表示代码,其中所述表示代码处于期望的格式;以及
向远程电子设备发送生成的表示代码。
11.根据权利要求10所述的方法,其中所述至少一个数据存储系统包括两个不同的数据存储系统,并且来自每个数据存储系统的内容被包含在所述表示代码中。
12.根据权利要求11所述的方法,其中所述业务规则基于所述特定用户的属性,并且在执行所述业务规则时访问的数据存储系统包括安全数据库。
13.根据权利要求10所述的方法,其中以可扩展标记语言来格式化所述映射表。
14.根据权利要求10所述的方法,其中通过应用所述表示规则来更新模板文件包括设置背景颜色和前景颜色。
15.根据权利要求14所述的方法,其中对于第一用户的背景颜色是白色的,而对于第二用户的背景颜色是粉红色的。
16.根据权利要求10所述的方法,其中以超文本标记语言来格式化所述表示代码。
17.一种有形的计算机可读介质,其包括使得装置执行以下步骤的计算机可执行指令,所述步骤包括:
调用与页面相关联的拦截器;
检索与所述页面相关联的模板文件;
应用与所述页面相关联的表示规则来更新所述模板文件;执行与所述页面相关联的业务规则来更新所述模板文件;
通过将所述业务规则应用到所述模板文件来从至少一个数据存储系统中检索内容;
通过将所述表示规则应用到所述模板文件和检索到的内容而生成表示代码,其中所述表示代码处于期望的格式;以及
发送所生成的表示代码。
18.根据权利要求17所述的有形的计算机可读介质,其中所述至少一个数据存储系统包括两个不同的数据存储系统,并且来自每个数据存储系统的内容被包含在所述表示代码中。
19.根据权利要求17所述的有形的计算机可读介质,其中以超文本标记语言来格式化所生成的表示代码。
20.根据权利要求17所述的有形的计算机可读介质,其中所述模板文件是FTL文件。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US23613509P | 2009-08-23 | 2009-08-23 | |
US61/236,135 | 2009-08-23 | ||
US12/771,802 | 2010-04-30 | ||
US12/771,802 US9201665B2 (en) | 2009-08-23 | 2010-04-30 | Outputting presentation code updated for a particular user in response to receiving a page identifier |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102096694A true CN102096694A (zh) | 2011-06-15 |
Family
ID=43606271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105434634A Pending CN102096694A (zh) | 2009-08-23 | 2010-08-23 | 具有支持组件的显示再现系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9201665B2 (zh) |
EP (1) | EP2312434A2 (zh) |
CN (1) | CN102096694A (zh) |
CA (1) | CA2713970A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107066242A (zh) * | 2015-12-11 | 2017-08-18 | 国际商业机器公司 | 确定软件容器中软件的标识的方法和系统 |
CN108279903A (zh) * | 2018-02-24 | 2018-07-13 | 北京车和家信息技术有限公司 | 页面展示的方法及装置 |
CN110309142A (zh) * | 2018-03-15 | 2019-10-08 | 北京京东尚科信息技术有限公司 | 规则管理的方法和装置 |
CN111258670A (zh) * | 2020-01-08 | 2020-06-09 | 北京字节跳动网络技术有限公司 | 组件数据的管理方法、装置、电子设备和存储介质 |
CN111966428A (zh) * | 2020-08-21 | 2020-11-20 | 支付宝(杭州)信息技术有限公司 | 页面处理方法及装置、页面回溯方法及装置 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120116895A1 (en) * | 2010-11-04 | 2012-05-10 | Bank Of America Corporation | Customizable Marketing Campaign Framework |
EP2583174A1 (en) | 2010-06-18 | 2013-04-24 | Sweetlabs, Inc. | Systems and methods for integration of an application runtime environment into a user computing environment |
US8775925B2 (en) * | 2012-08-28 | 2014-07-08 | Sweetlabs, Inc. | Systems and methods for hosted applications |
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 |
US10318280B2 (en) | 2014-09-24 | 2019-06-11 | Oracle International Corporation | System and method for supporting patching in a multitenant application server environment |
US10051043B2 (en) * | 2014-09-25 | 2018-08-14 | Oracle International Corporation | System and method for JMX support in a multitenant application server environment |
US10250512B2 (en) | 2015-01-21 | 2019-04-02 | Oracle International Corporation | System and method for traffic director support in a multitenant application server environment |
US10581989B2 (en) | 2015-07-30 | 2020-03-03 | Nasdaq, Inc. | Application logging framework |
CN106446049B (zh) * | 2016-08-31 | 2018-07-13 | 腾讯科技(深圳)有限公司 | 一种页面数据交互装置及方法 |
CN108255916A (zh) * | 2017-09-14 | 2018-07-06 | 广州市动景计算机科技有限公司 | 网页页面呈现的方法、设备、客户端装置和电子设备 |
EP3528109A1 (en) * | 2018-02-16 | 2019-08-21 | Wipro Limited | Method and system for integrating scene database with hmi application |
US10691428B2 (en) * | 2018-10-24 | 2020-06-23 | Sap Se | Digital compliance platform |
CN109725891A (zh) * | 2018-12-29 | 2019-05-07 | 深圳市思迪信息技术股份有限公司 | 业务模块快速生成的方法及装置 |
CN112068914B (zh) * | 2020-08-26 | 2024-03-05 | 北京百度网讯科技有限公司 | 物料内容处理方法、装置、电子设备和存储介质 |
CN117971187A (zh) * | 2024-03-29 | 2024-05-03 | 山东浪潮数字商业科技有限公司 | 一种基于Vue使用配置化数据的表格开发方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090094339A1 (en) * | 2007-10-04 | 2009-04-09 | Allen Stewart O | Methods and apparatus for widget sharing between content aggregation points |
US20090144759A1 (en) * | 2003-12-19 | 2009-06-04 | Lenny Hon | Method and system for creating and providing a multi-tier networked service |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6751657B1 (en) | 1999-12-21 | 2004-06-15 | Worldcom, Inc. | System and method for notification subscription filtering based on user role |
US20020042835A1 (en) | 2000-03-29 | 2002-04-11 | Pepin Christine S. | Method and apparatus for enabling bulk loading of data |
AU2001264854A1 (en) | 2000-05-23 | 2001-12-03 | Fannie Mae | Online system and method for calculating the actual costs of a mortgage loan to a mortgage consumer |
US7085927B1 (en) | 2000-07-20 | 2006-08-01 | Ge Medical Systems, Inc. | Secure data report preparation and delivery |
US7392505B2 (en) | 2001-11-09 | 2008-06-24 | Microsoft Corporation | Task tracing in a distributed computing environment |
CN1799026A (zh) | 2003-06-05 | 2006-07-05 | 瑞士再保险公司 | 用于产生一致的设备无关图形用户界面的方法和终端 |
US7231496B2 (en) | 2003-09-15 | 2007-06-12 | International Business Machines Corporation | Method, system and program product for caching data objects |
US20060212376A1 (en) | 2005-03-21 | 2006-09-21 | Perspective Partners | Systems and methods for real-time, dynamic multi-dimensional constraint analysis of portfolios of financial instruments |
US7216007B2 (en) | 2005-07-06 | 2007-05-08 | Honeywell International Inc. | System and method for providing direct web access to controllers in a process control environment |
US8140362B2 (en) | 2005-08-30 | 2012-03-20 | International Business Machines Corporation | Automatically processing dynamic business rules in a content management system |
US20070208832A1 (en) | 2006-01-31 | 2007-09-06 | Bea Systems, Inc. | RFID edge server allowing configuration updates without restart |
US8056092B2 (en) | 2006-09-29 | 2011-11-08 | Clearspring Technologies, Inc. | Method and apparatus for widget-container hosting and generation |
US8041863B2 (en) | 2006-11-16 | 2011-10-18 | International Business Machines Corporation | Automated solution to provide personalized user environment on any public computer using portable storage devices with personalized user settings uploaded to local registry of public computer |
US20080141141A1 (en) | 2006-12-07 | 2008-06-12 | Moore Dennis B | Widget runtime engine for enterprise widgets |
US7765464B2 (en) * | 2007-01-12 | 2010-07-27 | International Business Machines Corporation | Method and system for dynamically assembling presentations of web pages |
US8260687B2 (en) | 2007-04-16 | 2012-09-04 | Ebay Inc. | Distributed commerce application-widget |
CN101425062A (zh) * | 2007-10-31 | 2009-05-06 | 国际商业机器公司 | 用于生成文档内容的呈现配置文件的方法和设备 |
US8261282B1 (en) | 2008-09-30 | 2012-09-04 | Netapp, Inc. | System and method for virtual machine host load protection |
US8346615B2 (en) | 2008-11-25 | 2013-01-01 | Yodlee, Inc. | Financial gadgets |
-
2010
- 2010-04-30 US US12/771,802 patent/US9201665B2/en active Active
- 2010-08-20 CA CA2713970A patent/CA2713970A1/en not_active Abandoned
- 2010-08-23 CN CN2010105434634A patent/CN102096694A/zh active Pending
- 2010-08-23 EP EP10251483A patent/EP2312434A2/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090144759A1 (en) * | 2003-12-19 | 2009-06-04 | Lenny Hon | Method and system for creating and providing a multi-tier networked service |
US20090094339A1 (en) * | 2007-10-04 | 2009-04-09 | Allen Stewart O | Methods and apparatus for widget sharing between content aggregation points |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107066242A (zh) * | 2015-12-11 | 2017-08-18 | 国际商业机器公司 | 确定软件容器中软件的标识的方法和系统 |
US10635406B2 (en) | 2015-12-11 | 2020-04-28 | International Business Machines Corporation | Determining the identity of software in software containers |
CN107066242B (zh) * | 2015-12-11 | 2020-11-17 | 国际商业机器公司 | 确定软件容器中软件的标识的方法和系统 |
CN108279903A (zh) * | 2018-02-24 | 2018-07-13 | 北京车和家信息技术有限公司 | 页面展示的方法及装置 |
CN110309142A (zh) * | 2018-03-15 | 2019-10-08 | 北京京东尚科信息技术有限公司 | 规则管理的方法和装置 |
CN111258670A (zh) * | 2020-01-08 | 2020-06-09 | 北京字节跳动网络技术有限公司 | 组件数据的管理方法、装置、电子设备和存储介质 |
CN111258670B (zh) * | 2020-01-08 | 2023-09-22 | 北京字节跳动网络技术有限公司 | 组件数据的管理方法、装置、电子设备和存储介质 |
CN111966428A (zh) * | 2020-08-21 | 2020-11-20 | 支付宝(杭州)信息技术有限公司 | 页面处理方法及装置、页面回溯方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
EP2312434A2 (en) | 2011-04-20 |
US20110047453A1 (en) | 2011-02-24 |
US9201665B2 (en) | 2015-12-01 |
CA2713970A1 (en) | 2011-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102096694A (zh) | 具有支持组件的显示再现系统 | |
US11334633B1 (en) | Generating a contextual search stream | |
US11080493B2 (en) | Translation review workflow systems and methods | |
US10534842B2 (en) | Systems and methods for creating, editing and publishing cross-platform interactive electronic works | |
CN102542017B (zh) | 将网页的源区域渲染为目标区域 | |
CN1811765B (zh) | 文字处理应用程序中的数据绑定 | |
CN102257488B (zh) | 用于经由网络自动聚合内容的技术 | |
CN1749995B (zh) | 内容相关对象的创建和管理 | |
US20140282371A1 (en) | Systems and methods for creating or updating an application using a pre-existing application | |
CN103999116A (zh) | 用于电子阅读器工具的可扩展框架 | |
US8561088B2 (en) | Registering network applications with an API framework | |
CN105393223A (zh) | 通过捕捉服务捕捉网站内容 | |
CN105830150A (zh) | 基于意图的用户体验 | |
CN102016833A (zh) | 使用潜在传送表面来修改文档的技术 | |
CN107122166A (zh) | 用于web应用的可扩展模板管道 | |
US20170010869A1 (en) | Multistage customizing of web-based application in a browser independent of platform and operating system | |
CN105027116A (zh) | 电子阅读器内平面书籍到富书籍的转换 | |
CN102693127A (zh) | 用于描述并执行图形用户界面中的管理任务的数据驱动模式 | |
CN107430520A (zh) | 用于应用插件的增强的预览技术 | |
US11062497B2 (en) | Structuralized creation and transmission of personalized audiovisual data | |
KR101616914B1 (ko) | 사용자 맞춤형 콘텐츠 적응 객체 구성 방법, 이를 수행하는 사용자 맞춤형 콘텐츠 적응 객체 구성 서버 및 이를 저장하는 기록매체 | |
CN103493042A (zh) | 浏览系统、终端机、图像服务器、程序、记录有程序的电脑可读取记录媒体及方法 | |
KR100863121B1 (ko) | 온톨로지검색시스템 | |
US10902028B2 (en) | Managing a classification system and associated selection mechanism | |
US11119975B2 (en) | Digital design application plugin for content updates and delivery |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110615 |