CN108475267B - 用于可执行内容和可执行内容流分发的系统和方法 - Google Patents
用于可执行内容和可执行内容流分发的系统和方法 Download PDFInfo
- Publication number
- CN108475267B CN108475267B CN201680057968.5A CN201680057968A CN108475267B CN 108475267 B CN108475267 B CN 108475267B CN 201680057968 A CN201680057968 A CN 201680057968A CN 108475267 B CN108475267 B CN 108475267B
- Authority
- CN
- China
- Prior art keywords
- file
- server
- request
- flow
- forms
- 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
- 238000000034 method Methods 0.000 title claims abstract description 87
- 238000009877 rendering Methods 0.000 claims abstract description 74
- 238000012986 modification Methods 0.000 claims description 10
- 230000004048 modification Effects 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 8
- 238000012384 transportation and delivery Methods 0.000 abstract description 7
- 238000012545 processing Methods 0.000 abstract description 6
- 101000857680 Xenopus laevis Runt-related transcription factor 1 Proteins 0.000 description 40
- 230000008569 process Effects 0.000 description 26
- 238000013461 design Methods 0.000 description 21
- 238000006243 chemical reaction Methods 0.000 description 13
- 230000003993 interaction Effects 0.000 description 10
- 238000007726 management method Methods 0.000 description 9
- 239000012634 fragment Substances 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013479 data entry Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/154—Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/51—Source to source
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Software Systems (AREA)
- Marketing (AREA)
- Human Computer Interaction (AREA)
- Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
- User Interface Of Digital Computer (AREA)
- Information Transfer Between Computers (AREA)
Abstract
公开了用于平台不可知的可执行内容传递的系统和方法。还公开了在设备上处理以下请求的系统和方法:对远程服务器的请求,该请求针对具有唯一标识符的表单流流程文件,该表单流流程文件被配置为提供对可执行表单的访问;对服务器的请求,其包括设备的渲染语言的信息,当该信息与存储在服务器上的可执行表单不同时,该信息被转换为设备的渲染语言。还公开了设备的系统和方法,包括在设备上接收表单流流程文件,并且在设备上访问来自服务器的表单流流程文件的第一表单,该第一表单以设备的语言进行渲染。通过这种方式,可以根据表单流的需要提供最新的可执行内容。
Description
相关申请的交叉引用
本申请要求于2015年7月31日提交的澳大利亚临时申请No2015903059的优先权,其内容以引用方式并入本文中。
本申请要求于2015年8月17日提交的澳大利亚临时申请No2015903312的优先权,其内容以引用方式并入本文中。
技术领域
公开了用于可执行内容和可执行内容流分发的平台不可知的系统和方法。
背景技术
在诸如桌面、手机或笔记本电脑等的“原生”设备上,内容可以通过浏览器或原生渲染语言进行渲染。Web应用程序将依赖浏览器(以HTML渲染)及其功能来渲染应用程序,而原生移动应用程序将依赖设备及其本机功能来渲染应用程序(例如,使用Objective C、Java或Silverlight)。通过浏览器传递的Web应用,特别是那些涉及可执行特征的应用,可能很慢,无法响应,并且比原生应用的功能要差得多。
表单是通常通过浏览器传递的可执行内容的示例。可执行意味着用户或远程输入的输入或交互(拉或推)都可能导致输出发生。可执行内容的示例是表示表单逻辑的可执行表单项。例如,当表单项字段被用户或通过其它手段填充时,数据作为输出被传送给服务器。其它示例可以包括选择选项,其中当选择时,将诸如用户选择之类的输出发送给服务器。可能会发生多次执行。例如,可以将数据保存到服务器,并且可以显示另一可执行表单项或传送通过后续内容的路径。作为执行结果发生的特定输出可以包括任何类型的输出。例如,输入或与可执行内容的交互可能导致生成或显示不可执行的内容(例如,警报),或一些数据被发送到外部系统。
特别是当在浏览器上使用一串表单时,缓慢和无响应可能导致糟糕的用户体验,并且可能导致交易无法完成或失败。然而,虽然更敏捷,原生应用必须以原生渲染语言来传递,这需要多种语言的编程应用,以便它们在多个原生设备平台上可用。因此,如果还打算在浏览器上渲染应用,则它们必须使用不同的渲染语言编写,以便它们可用于不同类型的原生设备以及HTML。由于表单具体是交互式的,因此它们优选地将会作为原生应用在原生设备上运行。然而,它们也可以在浏览器上运行。
在大多数系统中,表单和确定表单顺序或次序的表单流由系统供应商创建并针对特定客户进行定制。表单流可以包括许多表单,并且可以包括许多逻辑控件以指导用户遵循该顺序或次序。针对特定用途的定制使得向可执行内容更新或添加表单成为一项漫长而昂贵的任务。此外,系统作为整体通常需要针对每种设备平台类型进行复制。当设备下载应用时,可执行内容(特别是可执行表单)通常被整体传递,因为它们已经被针对原生设备以其渲染语言预编程。然后预编程的表单被存储在设备上,这占用空间并且会增加对设备性能的需求。预编程表单和表单流不仅针对每个操作系统和/或硬件类型需要不同版本的应用,并因此成倍地增加了开发工作量,预编程还可能导致每个设备上的不同体验。
发明内容
需要将表单和其它可执行内容从服务器传递给设备,以便表单可以以原生设备的渲染语言或浏览器的语言来访问和渲染,而不需要针对每个表单写入不同源代码。还需要使得设备能够接收最新的可执行内容并且避免在需要更新可执行内容的时间与其针对每种类型原生设备的最终预编程的时间之间的滞后时间。
公开了用于平台不可知的可执行内容传递的系统和方法。还公开了在设备上处理以下请求的系统和方法:对远程服务器的请求,该请求针对具有唯一标识符的表单流流程文件,该表单流流程文件被配置为提供对可执行表单的访问;对服务器的请求,该请求包括设备的渲染语言的信息,当该信息与存储在服务器上的可执行表单的信息不同时,该信息被转换为设备的渲染语言。还公开了设备的系统和方法,包括在设备上接收表单流流程文件,并且在设备处访问来自服务器的表单流流程文件的第一表单,该第一表单以设备的语言进行渲染。通过这种方式,可以根据表单流的需要提供最新的可执行内容。
公开了用于平台不可知的可执行内容传递的系统和方法,可执行表单是可执行内容的示例并被具体描述。还公开了用于以下的方法和系统:在服务器上存储表单流流程文件,表单流流程文件被配置为提供对表单文件的访问;在服务器处从设备接收对表单流流程文件的请求;以及向所述设备发送表单流流程文件。还公开了具有表单因素和显示器的设备的方法和系统,其中设备根据对所述设备而言原生的渲染语言来进行操作设备根据对于设备而言原生的渲染语言进行操作,该方法包括在所述设备处接收对请求表单文件的指令,并向远程服务器发送请求,所述请求针对于被配置为提供对所述表单文件的访问的表单流流程文件,且从所述服务器接收所述表单流流程文件。还公开了用于以下的方法和系统:在服务器上存储被配置为提供对表单文件的防问的表单流流程文件;并且在所述服务器上存储所述表单文件,所述表单文件以第一渲染语言配置;在所述服务器处从能够访问所述表单流流程文件的设备接收请求,所述请求针对于所述表单文件和对所述设备的渲染语言要求的指示。在所述服务器处确定所述第一渲染语言是否满足所述设备的渲染语言要求,并且如果所述第一渲染语言确实满足所述设备的渲染语言要求,则以所述第一渲染语言发送所述表单。还公开了方法和系统,其中,如果所述第一渲染语言不满足所述设备的渲染语言要求,则将所述表单文件转换为所述设备的渲染语言要求,并发送已转换的表单。还公开了用于以下的方法和系统:在服务器上存储表单流流程文件,并且在远离所述服务器的设备的图形用户界面上,所述设备接收对向所述服务器请求表单流流程文件的指令,其中,所述设备具有表单因素,并且所述设备向所述服务器发送所述请求,且发送对所述设备的表单因素的指示;在所述服务器处接收所述请求,并且在所述服务器处发送所述表单流流程文件在服务器上。另外公开了设备和服务器的系统和方法,包括:在远离服务器的设备的图形用户界面上,接收对向所述服务器请求表单流流程文件的指令和对表单文件的请求,所述请求包括标识所述设备的渲染语言的信息;以及由所述设备接收表单流流程文件和表单文件,所述表单文件被配置用于由所述设备根据所述设备的渲染语言进行渲染。还公开了系统和方法:在服务器上以第一渲染语言存储可执行内容流流程文件和相关联的可执行内容文件;从远程设备接收对发送可执行内容流流程文件的请求从远程设备接收请求以并发送所述可执行内容流流程文件可执行内容;以及在所述服务器处接收对所述可执行内容流流程文件的相关联的可执行内容文件的请求,所述请求包括对所述远程设备的渲染语言的指示在服务器上接收对的相关联的可执行内容文件的请求,该请求包括远程设备的渲染语言的指示;以及在所述服务器处,将所述可执行内容文件从所述第一渲染语言转换为所述远程设备的渲染语言,以生成在所述远程设备的所述图形用户界面上使用的已转换的可执行内容文件在服务器上将可执行内容文件从第一渲染语言转换为的渲染语言以生成在远程设备的图形用户界面上使用的的可执行内容文件;以及在所述服务器处发送所述已转换的可执行内容文件在服务器上的可执行内容文件。
附图说明
图1描绘了用于传递可执行内容,特别是表单的方法和系统;
图2是描绘可以包括所公开的方法和系统的过程的流程图;
图3是示例内容和内容流系统;
图4是另一示例内容和内容流系统;
图5是示例表单创建过程;
图6是插入控制代码的示例表单创建界面;
图7是利用表单创建特征的示例表单创建界面;
图8是示例表单创建过程;
图9是示例表单流程创建界面;
图10是使用表单流创建特征的示例表单流创建过程;
图11是包括示例表单和表单过程的示例设计服务器;以及
图12是所公开的系统和方法的使用示例。
图13示出了表单设计器表面的示例。
图14示出了表单流设计器表面的示例。
图15示出了配置模式下的表单流。
图16演示了可以如何配置搜索控件。
具体实施方式
公开了用于传递可以通过模块化方式提供的可执行内容,特别是表单的方法和系统。也就是说,传递表单流的方式所需的是使用流表单流程文件和基于流表单流程文件来传递表单。通过这种方式,可以根据表单流的需要提供最新的可执行内容。
下面的内容是用于可执行内容和可执行内容流创建的系统和方法的插入式描述。虽然本发明并非针对创建表单的方式以及创建了哪些表单流,但下面的发明内容提供了上下文来理解表单流流程文件的概念。插入式描述的表单创建方面提供了构建表单和更改表单的方式。通过这种方式,表单可以是最新的。还描述了表单与表单流流程文件相关联的方式。流表单流程文件创建提供了在流程文件中组织表单的能力,以便在流表单过程中访问表单。如插入式描述所提供的,表单与表单流流程文件分开存储。通过这种方式,可以在不涉及表单流流程文件的情况下更新表单。因此,所传递的表单可以是最新的表单,而无需以不同的应用语言对每个表单进行重新编码和更新。
图1描绘了用于传递可以通过模块化方式提供的可执行内容,特别是表单的方法和系统。图1描绘了设备1,其可以是移动设备、桌面设备或者远离服务器3的任何其它类型的渲染设备。这样的设备可以配备有用于存储的存储器和用于接收和发送的收发机。设备可以包括例如具有触摸屏的用于接收来自用户的指令的图形用户界面或者诸如语音控制的其它装置。设备可以与服务器或多个服务器进行有线或无线通信。
设备1具有例如移动设备的表单因素,如智能手机、表格或桌面设备的表单因素。表单因素信息和渲染语言信息可以存储在设备的存储器中。服务器3远离设备,或者可以直接访问设备。服务器3可以访问流表单流程文件的存储器5和表单的存储器7。
设备的用户可以在设备上具有可用表单流流程文件的列表,或者可以动态地提供这样的列表。另一方面,一个表单流流程文件对于用户而言是可访问的。表单流流程文件的可用性可能取决于情况、商业需求或对远程服务器的访问。服务器虽然被描述为单个服务器,但可以是两个或更多服务器的集合。例如,一个服务器可以存储表单流流程文件,而另一个服务器可以存储表单文件,并且第三个服务器可以提供渲染语言转换引擎能力。服务器可以包括用于执行所公开的方法的其它计算能力。
诸如用于存储表单流流程文件的装置之类的装置包括服务器的存储器能力。诸如用于接收服务器请求的装置之类的装置包括有线和无线装置(例如收发机)。发送的情况也是如此。根据对于设备而言原生的渲染语言操作的设备(例如,移动设备),用于接收指令的装置可以是经由图形用户界面、语音命令或原生设备的其它合适的输入设备或过程。当表单流流程文件(在一个实施例中临时地)存储和/或仅仅是其一部分存储在设备的存储器中时,表单可以被呈现给用户,因此表单流流程文件提供对表单文件的访问。在这种情况下,设备可以向服务器发送对表单文件的请求,从而可以呈现表单文件。当表单文件通过这种方式传递时,表单文件可能是最新的表单。
表单流流程文件可以以任何合适的方式呈现。它可能是图形用户界面上的图标,或者是可能会指示多个表单流流程文件的下拉菜单的一部分。当打开表单流流程文件时,可以在图形用户界面上或以某种其它输出方法向用户呈现第一表单。
用户可以手动提供指令,或者设备自动向设备提供对发送表单流ID请求以及设备的表单因素细节的指令。参考图1,描绘了表单流ID#1请求和表单因素细节信号9的传输。服务器3可以接收信号9并访问流表单流程文件的存储器5。表单流流程文件#1然后可以由服务器3发送11,并且设备1可以接收它。
表单流流程文件可以包括到多个表单的映射。通常,表单流流程文件中的第一表单是最初访问的表单。因此,设备可以发送对表单ID#1的请求13并且包括原生设备的表单因素细节和渲染语言。信号11和13的传输可以在后台进行。设备可能已发送信号9并且信号11和13可跟随其后。例如,如果用户部分通过表单流流程文件,然后未完成流程,则表单ID可能不是#1,而是流表单流程中的不同表单,这取决于具体情况。
当表单存储在存储器7中时,表单以特定语言存储。该语言可以是例如XAML。如上所述,不同的设备以不同的语言渲染。常用的渲染语言是XAML、JSON和HTML。当从存储器7中检索到表单时,如这个示例中的表单#1那样,表单可能需要被转换为可能已在传输13中指示的原生设备语言。如果确实需要转换,则可以通过转换渲染语言转换引擎15进行转换。传递时的转换允许存储在存储器7中的最新的表单被传递给设备1。由于可以根据下面描述的表单创建和表单创建方法和系统来更新表单,并且与存储器5中的表单流流程文件分开地将表单存储在存储器7中,刚好在经由信号17传递给设备1之前,表单对于渲染语言转换而言可以是最新的。
转换过程可以采用存储在XAML中的‘源表单’,并将该XAML表单的每个部分替换为相关语言下该‘部分’的等效版本。在一个示例中,单独的代码片段被特定地映射为三种语言:XAML、HTML和JSON。在这个示例中,这三种语言之间存在1-1映射。通过分析这三种语言,可以在三者之间建立密切的映射。
针对表单的每个‘部分’重复该映射,从而形成新语言下的完整表单。客户端原生设备已被编程为基于多种语言(XAML、HTML或JSON)中的一种进行操作。原生客户端设备然后可以用这种语言渲染应用。Microsoft Windows桌面将使用XAML。HTML浏览器将使用HTML。原生应用(iOS、Android、Windows Phone、Windows Surface)可能使用HTML或另一原生语言。Windows CE/移动设备将使用JSON来显示用户界面。
仍然参考图1,设备1以虚线示出来说明设备的各种状态。在以设备渲染语言接收表单#1并提供对表单ID#1的访问时,设备1以虚线19来描绘。标记为#1的框已被选中以指示具有ID#1的表单被访问。在虚线21中,设备1被示为渲染表单#1,以便表单项被渲染在设备1上。当用户利用设备1上的表单#1时,呈现渲染表单项21、23和25。表单项23、25和27例如是可执行表单项。对表单项27的输入导致选择具有ID#2的表单。
当设备例如自动地根据表单项(例如表单项23)接收来自用户或其它方式的指令时,表单项的执行可以使表单流程启动表单流中不同的分支。例如,不同分支可能需要不同的表单,诸如表单#2。标记为#2的框已被选中以指示要访问表单ID#2。设备1在虚线31中被描绘为已经接收到请求表单ID#2的指令。请求33可以包括表单因素细节和渲染语言细节33。
如上所述,当从存储器7中检索到表单时,如这个示例中的表单#2那样,表单可能需要被转换为可能已在传输13和/或33中指示的原生设备语言。如果确实需要转换,则可以通过渲染语言转换引擎15进行转换。传递时的转换允许存储在存储器7中的最新的表单被传递给设备1。由于可以根据下面描述的表单创建和表单创建方法和系统来更新表单,并且与存储器5中的表单流流程文件分开地将表单存储在存储器7中,刚好在经由信号35传递给设备1之前,表单对于渲染语言转换而言可以是最新的。
在虚线27中,设备1被示为渲染表单#2,使得表单项被渲染在设备1上。当用户利用设备1上的表单#1时,呈现表单项39、41和43。表单项39、41和43例如是可执行表单项。该流程可以继续,以便表单流程完成,这取决于具体情况。
图2是描绘可以包括所公开的方法和系统的过程的流程图。具有表单因素的设备向服务器发送51表单流ID请求和表单因素细节51。服务器可以发送53表单流流程文件。设备接收对发送表单请求的指令,因此它可以发送55表单ID和表单因素以及渲染语言细节。服务器可以发送表单,并且设备可以接收渲染语言下的57表单。如果其需要的表单是不同的表单,则设备可以经由可执行表单项接收指令59。设备可以发送61作为请求的表单ID以及表单因素和渲染语言细节。服务器可以以渲染语言发送63下一个表单。
下面是插入式描述,提供了上面涉及的表单创建和表单流流程文件创建的方法和系统。应理解下面的讨论并不旨在限制表单创建和/或表单流流程文件创建的范围。
所公开的系统和方法使得能够在不编程的情况下创建可执行内容和内容流。例如,可执行内容可以包括交互式内容。在一个实施例中,内容是表单,并且内容流是表单流。在本发明中,可执行内容将涉及可执行表单。本讨论中没有任何内容旨在将内容限制为表单,然而,表单实施例提供对所公开的系统和方法的现成的说明。
所公开的系统和方法实现了可执行表单和表单流的创建,并且例如可以使用中央服务器、设计器设备和用户设备之间的关系而在简洁计算环境中创建、存储和发送所创建的内容以及内容流。创建的表单和表单流在任何环境、业务线或使用表单的系统中都很有用。通常,所公开的系统和方法提供表示表单逻辑的可视布局,因此用户可以可视化或图形化地创建表单和表单流,而不需要编写计算语言来创建表单或表单流。
运输商品和货物的物流是需要许多表单的行业的示例,因为它是高度管制的全球性行业。当法规改变时,表单和表单流通常需要改变。所公开的示例表单和表单流系统和方法可以在货运物流环境中发挥作用。本领域技术人员将认识到,这里公开的表单和表单流方法和系统可以应用于使用或需要表单的任何环境或系统,甚至更广泛地,所公开的系统和方法可以应用于使用可执行内容和内容流的任何地方。
如上所述,所描述的可执行内容可以是各种类型的,包括可能需要用户输入的交互式内容,其中的表单是可执行内容的类型。更具体地说,本讨论将集中于作为可执行内容的可执行表单。图3是可执行表单和表单流创建系统100的示例。表单可以在设计设备110上设计并存储在服务器120上。提供执行所公开方法的功能的任何其它系统配置都在本讨论内。设计设备110还用于创建也存储在服务器120上的表单流。如上所述,表单流是在用户设备140请求的过程执行期间访问各种表单的顺序。表单流是基于用户与表单流中表单的交互,将表单项显示给用户所依据的逻辑。
最终,当表单和表单流创建过程完成时,在用户设备140上执行表单流期间,根据用户的需要从服务器检索表单流。当在用户设备上执行表单流期间需要表单流的表单时传递该表单。如果服务器/网络访问受限,则表单可以存储在用户设备140上。表单和表单流两者可以存储在同一服务器120上,如图3中所示,或者可选地,可以彼此分开地存储,如可以在诸如基于云的计算系统之类的分布式系统中进行。由于表单和表单流是分开存在的,因此不需要将两者存储在同一服务器或系统上。
当表单流确定所显示的相关表单的次序、顺序和/或布置或其它配置时,表单流可以被视为流程图。表单流可以包括流元素,诸如“if”条件、switch条件,while循环、jump/goto语句、决策语句、确认消息和其它流元素。表单流定义了访问一个或多个相关表单的逻辑路径。关于用户输入和交互的响应或规则可以包括在表单流中,用于确定要检索和/或显示的后续内容。在某些情况下,可能在表单流中不需要用户输入或交互,如上所述。输入和交互可以包括从用户设备、数据库、内联网或互联网检索信息。这种输入可以包括例如GPS数据或环境传感器读数。
设计设备或设计器设备110可以用于创建表单和表单流,表单和表单流可以存储在服务器120上以供用户设备140使用。设计设备的任何其它配置都在本讨论的范围内。例如,设计设备可以是一个以上的设备,例如,多方参与内容流的内容。
图4是另一示例表单和表单流系统200。在这个示例中,用户处理输入可以由用户设备240发送给用户服务器250。用户服务器250可以与数据库255通信,处理输入可以存储在该数据库中和/或其它信息存储在该数据库中。处理输入将包括插入到字段中、拉取或推送的数据。例如,针对“预订方”字段,处理输入可以是“Joe′sBBQ”(参见图4,项421)。如果该字段用于“运输公司”,那么处理输入可以是“弗兰克货运”。用户服务器250可以接收处理输入并使用存储在连接的数据库255上的信息或工具来比较或处理它们。
为了说明许多系统变化,图4示出了设计服务器220和可选数据库225,其在性质和功能上可以与图3的服务器120和数据库125类似。在图4所示的示例中,用户设备将内容输入发送给用户服务器250,因此设计服务器220可以完全起到设计服务器的作用,作用包含用户设备完成所选任务可能需要的内容、内容流、业务规则和其它内容相关项。
在图4的表单和表单流系统200中,设计设备210用于创建存储在设计服务器220上的表单和表单流。用户设备240可以向设计服务器220请求处理并且将接收表单和表单流。设计服务器220还可以包括业务规则。数据库225还可以与设计服务器220通信。数据库225可以包括其它可执行内容、业务规则或其它信息。可以使用网络或其它电子通信协议或方法将图4的表单和表单流系统200的各种元素或任何其它系统配置在彼此之间传送。
图5描绘了表单创建过程300。表单设计器从提供的列表或多个表单标记中选择第一表单标记310。表单标记(标记)可以是表单元素,诸如输入框或其它交互内容。第一表单标记由设计器320放置和定位在设计器设备或其它合适系统的表单视图420(参见图6)中。例如,将标记从列表拖动到表单视图中。例如,当点击、拖动或放置标记时,系统插入使表单项可在表单中执行的代码。除了点击、拖动或放置之外的其它操作可能导致代码被链接或绑定到选定的表单项。任何其它定位表单项以使其包括在表单中的方式都在本讨论的范围内,特别是在用户图形界面中使用的那些方式。这里描述的点击和拖动方法是常见的用户界面方法。可以选择第二表单标记330,并将其放置和定位在表单视图420内。可以重复选择和放置表单标记中的过程,直到期望的标记被包括在表单视图420内。一旦表单视图中的表单完成350,设计器可以查看完整的表单以及各种标记及其在表单视图420内的位置。
现在参考图7,当用户点击表单项列表410中字段,将其拖动或放置到表单视图420上时,系统将如下操作:(1)系统将通过使用下面的映射表来确定要放到表单视图420上的是什么类型的控件;以及(2)系统将用于该特定控件的XAML插入到表单的XAML中,该XAML指定a)控件的类型,以及b)插入/拖动到表单中的字段(城市、州、邮政编码等)。在完成表单之后,XAML将被序列化。序列化意味着将被拖动到表单视图420(参见图6)上的事物转换为可以作为文本(XAML)存储在数据库中的结构。反序列化意味着从数据库中读取XAML并重建表单,以用于另外的设计器修改或准备执行。
映射表
作为背景,可扩展应用标记语言(XAML)是用于定义用户界面的基于XML的语言。任何其它此类语言都在本讨论范围之内。因此,当表单渲染引擎读取序列化表单XAML时,可以确定如何解释可执行表单项以生成可执行表单。下面解释该过程以及如何实现它。通过这种方式,用户无需担心表单项如何发挥作用,在单个可重复的步骤中就可构建表单。
图7描绘了由于所公开的系统和方法允许用户将表单列表410中的字段拖动到正在表单视图420上创建的表单上,所公开的系统和方法将表示相关控件的XAML插入到特定类型的表单中,其“链接”或绑定到拖动的字段。也就是说,系统识别数据类型并在表单视图420中插入控件。这样的字段例如是表单标记1和表单标记2。当用户保存表单450时,将所有控件序列化成单个XAML块,并且将该XAML块保存到数据库中。
将被拖到表单视图420上的内容转换为可作为文本(XAML)存储在数据库中的结构,需要创建一组XAML扩展来控制某些可配置选项,包括但不限于针对字段要显示什么标题,它应该是只读还是允许输入,接受输入地址的控件是否应该显示‘国家’字段等。
通过这种方式,用户在一个步骤中布置可执行表单项以生成可执行表单。由于上述2(b)(被插入/拖动到表单的字段(城市、州、邮政编码等),系统确定从数据存储器加载什么数据作为表单(在该表单中用户输入输入或在系统内的其它地方捕获并使用的数据),或者确定在用户输入时将什么数据推送给数据存储器。可执行表单项可能不需要用户交互。更确切地说,可以基于在用户设备内存储或生成的数据(诸如时间戳、位置或其它用户设备数据)来检索输入。
图6中描绘的另一特征是指表单因素。表单因素字段432可以是确定用户设备显示大小、分辨率和其它参数的可选表单因素的列表。表单因素限定了设计人员可以在其中设计创建表单的区域。如图6中所示是平板电脑表单因素,然而在表单构建过程期间,表单视图420上的表单因素可以改变为另一表单因素。其它表单因素包括智能手机、电脑屏幕或其它常见用户设备类型。所选表单因素432可以用于确定表单视图420。可以通过“表单服务”来实现改变表单因素,该表单服务使得转换成以所需语言(以XAML、HTML或JSON(或者具有特定表单因素的“原生”设备无论使用哪种渲染语言))的渲染。具体地说,创建一组用于在每种设备类型上渲染的XAML扩展可能需要确保表单在运行时与“设计”时相比几乎完全相同。如上所述,在表单视图420中,表单因素可以改变。
为了向用户提供一步式解决方案来创建可执行表单和可在不同原生平台上操作的表单流,涉及创建数据类型到控件类型的映射,并使得控件足够智能以理解这些数据类型以及它们之间的细微差别,以三种语言创建具有用于每个控件类型的片段的能力,允许在每个控件类型(例如宽度、高度、只读、标题、文本包装等)上使用多个选项(并使这些选项以几乎相同的方式在所有三种语言中工作),并确保针对每个片段的三种语言版本中的每一种的几乎相同的用户体验。使控件足够智能以便在点击、拖动或拖放到表单视图上时理解数据类型,涉及为每种语言的每个控件创建片段。然后每个片段内都有一系列“占位符”,诸如~宽度~、~高度~等。每个片段后面都有代码,针对每种语言,该代码用于指示如何用相关语言和平台解释这些选项中的每一个。
创建这种转换集需要大量程序员进行大量精心的工作,然后执行这个大型项目需要精心的计划、卓越的生产力管理和不断的测试。
对于每个设备,存在表单渲染引擎。该引擎知道如何渲染特定设备的表单。它可以用XAML、HTML或JSON渲染。首先,客户端设备向表单服务请求表单。表单服务将已设计和存储的XAML转换为所需的语言(XAML、HTML或JSON)。对于每个‘控件类型’(文本框、日期选择器等),存在一段代码来定义每种语言(即XAML、HTML和JSON)的控件。例如,当将XAML表单转换为JSON时,例如,每个XAML控件都将替换为JSON等效项。结果可能是JSON表单与原始设计的XAML表单几乎相同。
图8描绘了所述表单流设计器系统和方法的过程。显示可选择的可执行表单和流控件的列表610并且从表单列表中选择第一表单620。选择第一流控件630并且将其与第一表单相关640。然后可以选择第二表单650并且将其与第一流控件相关660。显示完成的表单流,示出各种选择的表单和流控件670。当保存时,表单流被使用XAML(但不限于XAML)来序列化并存储。
图9描绘了表单流设计器。表单流确定了多个表单的次序、顺序和/或布置或其它配置。表单流可以包括流元素,诸如“if”条件、switch条件,while循环、jump/goto语句、决策语句、确认消息和其它流元素。在示例流中,表单流可以用作逻辑语句,其将各种表单链接在各种路径中,并且用户基于他们与表单的交互而体验单一路径。在示例表单流中,表单流控件可以作为逻辑语句,其将各种表单链接在各种路径中,其中用户可以基于他们与表单的交互而体验单一路径。表单流可以导致非奇异(non-singular)流,并且用户可以有多种选择。
表单流代码不包含相关表单的代码。当请求过程时,用户设备接收该过程的表单流。表单流触发用户设备以基于用户与至少一个先前表单的交互来请求或检索所选表单。如果用户只有受限的服务器访问权限,则表单代码可以存储在用户的设备上。
图9示出了表单可以位于图形用户界面上。就像使用表单视图界面一样,流程设计器中的表单可以移动成任何顺序,被复制和粘贴等。流控件可以位于表单之间,并且也可以移动到不同的位置。也就是说,当诸如734的流控件被点击、拖动或放置在表单流设计器用户界面中时,代码被插入到表单流中。可以对表单流进行编辑,因为当表单流被保存时,XAML代码将被序列化。同样,如果希望在保存后进行更改,则XAML代码将被反序列化,然后再进行序列化。
图10是示例表单流创建过程800。显示可选表单和流控件的列表810,并且从表单的列表中选择第一表单820。选择第一流控件830并将其与第一表单相关840。然后可以选择第二表单850并且将其与第一流控件相关860。显示完成的表单流,示出各种选择的表单和流控件870。
流控件834显示在流控件窗口830中并显示在流控件图810上。流控件834链接到如图810中所示的相关的表单。当流控件834被拖动到流表单查看器时,流控件被调用,这意味着表单流是可执行的。与表单类似,当用户将表单拖动到表单流设计器或流元素(IF、WHILE、LOOP、JUMP、GOTO等)时,这些表单将作为序列化XAML存储在表单流定义中。系统将读取序列化表单流XAML并确定如何解释表单流中的每个元素,并生成遵循所设计的表单流的可执行系统。当表单流被执行时,表单流可以在某些表单项执行时调用表单。一旦表单流与表单824和流控件834一起完成,可以使用保存表单流按钮840保存表单流流程或将其发布到服务器或其它网络位置。
图11是包括表单910和表单流920的示例设计服务器900。业务规则930可以可选地存储在设计服务器900上。如图1和图2中所示,系统配置可以包括多个远程服务器。如上所述,表单910和表单流920在服务器900内可以彼此分开存储。表单流1可以从表单910中选择一个或多个表单,并且可以选择不同的表单流,诸如表单流2。各种表单流流程可以使用相同的表单。表单流n被描绘为表明可以在表单流中使用任何表单,并且序列化XAML代码的控制代码链接表单,使得用户可以体验与表单的无缝交互。
参考图12,许多物流系统(诸如专有的WiseTech Global CargoWise OneTM系统)使用大量表单来正确记录货物并规划其路线。由于大多数货物海运的国际性质,这些表单可能需要经常更新。此外,物流系统与现有传统系统的整合可能需要为每个客户独特地定制物流系统。在物流系统内使用上述表单创建和表单控件创建工具可以使客户或系统供应商能够响应于法规变更而快速有效地创建和编辑表单。此外,表单和表单控件的可定制性可以帮助与现有或其它客户系统整合。客户可以使用系统提供的工具来创建自己的定制表单和流。
所公开的货运管理系统可以包括货运表单数据库,其被配置为存储多个可执行货运表单,该多个可执行货运表单中的每个涉及一个或多个货运的方面,每个存储的可执行货运表单包括由用户从表示对应货运表单项的多个可执行货运表单项标记中选择的一个或多个货运表单项标记,该多个可执行货运表单项标记中的每一个都显示在用户设备上。所公开的货运管理系统还可以包括货运表单流流程数据库,其被配置为存储多个货运表单流流程,每个存储的货运表单流流程包括对应的货运表单流控件,每个货运表单流控件调用与存储在货运表单数据库中的一个或多个货运表单相关联的所选货运流控件。所公开的货运管理系统还可以包括货运管理模块,该货运管理模块被配置为在从用户设备接收到请求之后,接收货运表单和货运表单流流程中的至少一个并且将接收到的货运表单和货运表单流流程中的该至少一个发送给用户设备。
所公开的货运管理系统可以包括货运表单数据库,其被配置为存储多个可执行货运表单,每个所存储的可执行货运表单包括由用户从表示对应货运表单项的多个货运表单项标记中选择的一个或多个货运表单项标记,每个存储的货运表单都是可执行的并且基于从用户接收到的包括对一个或多个货运表单项标记的选择的指令而创建。所公开的货运管理系统还可以包括货运表单流流程数据库,其被配置为存储多个货运表单流流程,每个所存储的货运表单流流程包括对应的货运表单流控件,货运表单流控件在被调用时提供与存储在货运表单数据库中的一个或多个货运表单相关的所选货运流控件。另外,可以包括货运跟踪和监视模块,其被配置为访问货运表单数据库和货运表单流流程数据库中的一个或两者,货运跟踪和监视模块还被配置为存储和处理与第一货运有关的数据,该货运与存储在货运表单数据库中的第一货运表单和存储在货运表单流流程数据库中的第一货运表单流流程中的一个或两者相关,该货运跟踪和监控模块还被配置为从货运表单数据库中检索第一货运表单并且从货运表单流流程数据库中检索第一货运表单流流程。
所公开的货运管理系统可以包括货运表单数据库,其被配置为存储多个可执行货运表单,每个所存储的可执行货运表单包括由用户从表示对应货运表单项的多个货运表单项标记中选择的一个或多个货运表单项标记,每个存储的货运表单都是可执行的并且基于从用户接收到的包括选择一个或多个货运表单项标记的指令而创建。还可以包括货运表单流流程数据库,其被配置为存储多个货运表单流流程,每个所存储的货运表单流流程包括对应的货运表单流控件,货运表单流控件在被调用时提供与存储在货运表单数据库中的一个或多个货运表单相关联的所选货运流控件。此外,所公开的货运管理系统可以包括货运跟踪和监视模块,其被配置为访问货运表单数据库和货运表单流流程数据库中的一个或两者,货运跟踪和监视模块还被配置为存储和处理与第一货运有关的数据,该货运与存储在货运表单数据库中的第一货运表单和存储在货运表单流流程数据库中的第一货运表单流流程中的一个或两者相关,该货运跟踪和监控模块还被配置为从货运表单数据库中检索第一货运表单并且从货运表单流流程数据库中检索第一货运表单流流程。
示例
在一个示例中,所公开的方法和系统被实现为平台,该平台向产品经理和业务分析师提供使得他们(即非技术人员)构建整个业务产品/应用的工具或构建块集。此外,他们可以一次构建这些产品,并部署到多个不同的软件和硬件平台,包括iOS、Android、WindowsPhone、Windows CE,Windows、Mac和Linux。
主要的工具或构建块是:
●表单设计器
●表单流设计器
●表单和表单流配置器
●业务规则设计器
●业务测试设计器
对于上述每个区域,这个示例将解释:
●工具的用途
●相关术语的定义
●工具的设计
●工具的使用示例
表单设计器
表单设计器允许业务分析师创建表单,表单然后被用作产品的一部分。业务分析师将相关数据元素拖动到表单的表面上来构建表单。表单也可以称为页面、表面、门户、网站、仪表盘或外观。表单包含动作(菜单、按钮、图块)和/或数据元素(文本框、下拉菜单、日期控件、网格、列表)和/或可视化元素(图、图表、仪表盘)。
当业务分析师创建新表单时,他们首先挑选他们正在设计的数据或记录类型。此时,数据元素将基于表单的数据类型而被自动发现并显示。这些数据元素分类为数据类别,诸如日期/时间字段、字符串字段、数字字段、相关列表、相关记录和图像。然后业务分析师可以拖动相关的数据元素。此外,业务分析师还可以拖动其它视觉元素(例如,面板和组框)以允许其表单的逻辑布局。在内部,对于每种类型的数据元素或控件(面板/组框),该平台具有编程代码/标记的表示,其允许该控件在多个平台中渲染。
●用于Windows桌面应用程序的可扩展应用程序标记语言(XAML)
●用于Windows CE的JavaScript对象表示法(JSON)
●用于Web浏览器、iOS、Android和Windows Phone/Surface的具有KnockoutJS绑定的HTML
当多个元素被拖动到表面上时,设计服务器220创建作为这些单独数据元素和控件的组合的整个“文件”。服务器220将该文件作为“数据”存储为应用程序的一部分。该文件以平台中立的格式存储,并表示有关数据元素或控件的相关信息,包括诸如以下项:
●元素相关的数据字段的技术名称
●布局设置,包括颜色、边距、大小和位置
●任何控件特定的属性或选项,诸如日期控件是否显示时间元素
换句话说,服务器220以中间语言创建表单,该中间语言可以被转换为设备特定的表示。当单个设备向服务器请求特定的表单时,服务器将了解客户端正在使用哪个平台并立即将存储的表单表示转换为正确的表示(XAML、JSON或具有KnockoutJS的HTML),并将转换的表单传递给客户端。然后,客户端应用程序可以以原生理解的格式渲染该表单。
图13示出了表单设计器表面的示例,其中一些数据元素和视觉元素被拖动到表面上。
下面的代码示出了用于特定控件的Windows CE、XAML、JSON和具有KnockoutJS的HTML中的数据表示,该特定控件是用于显示文本/字符串信息的“文本框”控件。
具有KnockoutJS的HTML
Windows桌面(WPF XAML)
表单流设计器
表单流设计器允许业务分析师创建用户应该如何体验系统的流。流可以被定义为用户可以针对特定操作目的而完成的任务。流可能包含按顺序的任务、并行任务、可选任务和强制任务。其中一些任务可能有用户界面,同时有些可能是后台任务。当业务分析师定义表单流模板时,他们能够‘直观地’(使用拖放)构建用户将如何体验系统的流程图。这包括以下能力:
●示出表单,用于数据输入
●执行后台进程,诸如将XML消息发送给作业方
●询问用户一个问题以确定下一步骤
●基于对作业数据进行评估的条件做出自动决策
基本上,这允许非技术资源以构建可以执行的整个功能系统程序,而不需要技术编码。
该流定义存储在数据库中,并且可以由任何客户端应用程序经由Web服务调用来检索。客户端应用程序(Windows桌面、HTML、Windows CE等)能够解释该表单流定义,并执行相关任务,诸如向用户示出表单等。每个客户端平台都具有对每种任务类型的实现,这也被称为执行引擎。这允许在任何这些平台上解释单个表单流而无需修改。
图14示出了表单流设计器表面的示例,其中加载了示例表单流。
表单和表单流配置器
表单和表单流配置器允许客户(最终用户)在他们自己的系统中配置表单和表单流,以允许系统针对他们的特定操作或他们的一部分业务的特定操作甚至是他们的特定客户进行定制。
表单配置器控制视觉元素如何显示在表单上:位置、可见性(隐藏/可见)以及某些元素(诸如下拉列表)的内容。表单流配置器允许排除可能不适用于业务特定部分或特定客户的表单流的某些部分。配置模板按诸如客户、公司、分部或部门等各种参数将已配置的项目分组在一起。这允许用户指定配置模板所应用的级别。
当业务分析师设计表单时,他或她决定适用于大多数用户的布局。分析师指出哪些视觉元素是必需的,而哪些可以由配置表单的用户隐藏。还可以指定可在配置期间添加到表单布局的附加元素的列表。这样可以在预定义的约束条件下更改表单布局,从而保持产品的可支持性。此外,可以在配置期间删除下拉列表和搜索控件内的可用选项,以便仅显示与某个业务领域或特定客户相关的项。
表单流可以被设计为具有多个后续步骤,要求用户进行选择。在表单流配置过程中,可能会禁用某些步骤,使用户在运行时更容易选择相关步骤。配置模板包含所有上述配置项目。配置模板可以是:
●默认:适用于所有用户
●客户特定的:适用于属于特定客户的用户
●公司/分部/部门特定的:适用于属于特定公司、分部或部门的用户
在内部,配置项以最适合该项类型的方式进行存储:
●表单布局:存储已配置表单的XAML。
●列表项:排除项被以XML格式存储。
●表单流步骤:禁用步骤被以XML格式存储。
●可以扩展配置项数据格式以存储附加配置类型。
图15示出了配置模式下的表单流。在这个示例中,用户从面板中删除了几个字段,禁用了表单流步骤,并且即将在表单周围移动面板。
图16演示了可以如何配置搜索控件以排除与特定配置无关的项。
上述步骤可以通过对应计算机系统内的模块或其它手段来执行。这包括诸如函数、类、代码文件、库或对象之类的软件装置以及包括通过消息传递体系结构连接的中间件服务的服务装置。在其它示例中,装置包括硬件装置,诸如虚拟机、网络服务器、ASIC、FPGA、CPU和GPU。
本公开旨在解释如何根据该技术来形成和使用各种实施例,而不是限制其真实的、预期的和合理的范围和精神。前面的描述并非旨在穷举或限制于所公开的确切形式。鉴于上述教示,修改或变更是可能的。选择和描述实施例以提供对所描述的技术的原理及其实际应用的最佳说明,并且使本领域的普通技术人员能够在各种实施例中并且在适合预期的特定用途的各种修改下利用该技术。当根据它们公平、合法和公平地享有的宽泛性进行解释时,所有这类修改和变更都在由所附权利要求及其所有等效物确定的本发明的范围内,如可以在本申请专利的未决期间进行修改。本领域技术人员将会理解,在不脱离本发明的广泛总体范围的情况下,可以对上述实施例进行多种变更和/或修改。因此,本实施例在所有方面都被认为是说明性的而非限制性的。
Claims (12)
1.一种方法,包括:
在服务器上存储表单流流程文件,所述表单流流程文件被配置为提供对表单文件的访问,并被配置为确定多个表单的顺序或次序,所述表单流流程文件定义访问一个或多个相关表单的逻辑路径,且能够被多个不同的平台解释而无需修改;
在所述服务器处从设备接收对所述表单流流程文件的请求;
向所述设备发送所述表单流流程文件;
基于所发送的表单流流程文件和对发送所述请求的设备的渲染语言的指示,接收对表单文件的请求,所述表单文件来自访问所述一个或多个相关表单的所述逻辑路径;以及
以做出所述请求的设备的所述渲染语言来发送所述表单文件,所述表单文件独立于定义访问所述一个或多个相关表单的所述逻辑路径的所述表单流流程文件。
2.根据权利要求1所述的方法,还包括:接收对做出所述请求的设备的表单因素的指示。
3.根据权利要求1所述的方法,其中,所发送的表单文件被配置用于根据做出所述请求的设备的表单因素来进行渲染。
4.一种具有表单因素和显示器的设备的方法,其中,设备根据对所述设备而言原生的渲染语言来进行操作,所述方法包括:
在所述设备处接收对请求表单文件的指令;
向远程服务器发送请求,所述请求针对于表单流流程文件,所述表单流流程文件被配置为提供对所述表单文件的访问,并被配置为确定多个表单的顺序或次序,所述表单流流程文件定义访问一个或多个相关表单的逻辑路径,且能够被多个不同的平台解释而无需修改;
从所述服务器接收所述表单流流程文件;
基于所发送的表单流流程文件和对发送所述请求的设备的渲染语言的指示,发送对表单文件的请求,所述表单文件来自访问所述一个或多个相关表单的所述逻辑路径;以及
以做出所述请求的设备的所述渲染语言来接收所述表单文件,所述表单文件独立于定义访问所述一个或多个相关表单的所述逻辑路径的所述表单流流程文件。
5.一种方法,包括:
在服务器上存储表单流流程文件,所述表单流流程文件被配置为提供对表单文件的访问,并被配置为确定多个表单的顺序或次序,所述表单流流程文件定义访问一个或多个相关表单的逻辑路径,且能够被多个不同的平台解释而无需修改;
在所述服务器上存储所述表单文件,所述表单文件以第一渲染语言配置;
在所述服务器处从能够访问所述表单流流程文件的设备接收请求,所述请求针对于来自访问所述一个或多个相关表单的所述逻辑路径的表单文件和对所述设备的渲染语言要求的指示;以及
在所述服务器处确定所述第一渲染语言是否满足所述设备的渲染语言要求;
如果所述第一渲染语言确实满足所述设备的渲染语言要求,则以所述第一渲染语言发送所述表单。
6.根据权利要求5所述的方法,其中,如果所述文件不满足所述设备的渲染语言要求,则在所述服务器处将所述表单文件转换为所述设备的渲染语言要求,并发送已转换的表单文件。
7.根据权利要求6所述的方法,其中,根据所述第一渲染语言与所述设备的渲染语言之间的映射来处理将所述表单文件转换为所述设备的渲染语言要求。
8.根据权利要求5所述的方法,在所述服务器处接收对所述设备的表单因素的指示。
9.根据权利要求5所述的方法,发送所述表单文件以使其被配置用于所述设备的表单因素。
10.一种方法,包括:
在服务器上以第一渲染语言存储可执行内容流流程文件和相关联的可执行内容文件,所述可执行内容流流程文件被配置为提供对表单文件的访问,并被配置为确定多个表单的顺序或次序,所述可执行内容流流程文件定义访问一个或多个相关表单的逻辑路径,且能够被多个不同的平台解释而无需修改;
从远程设备接收对发送可执行内容流流程文件的请求;
发送所述可执行内容流流程文件;
在所述服务器处接收对来自访问所述一个或多个相关表单的所述逻辑路径的所述可执行内容流流程文件的相关联的可执行内容文件的请求,所述请求包括对所述远程设备的渲染语言的指示;
在所述服务器处,将所述可执行内容文件从所述第一渲染语言转换为所述远程设备的渲染语言,以生成在所述远程设备的图形用户界面上使用的已转换的可执行内容文件;以及
在所述服务器处发送所述已转换的可执行内容文件。
11.根据权利要求10所述的方法,还包括:接收对做出所述请求的设备的表单因素的指示。
12.根据权利要求11所述的方法,其中,针对做出所述请求的设备的表单因素来提供所述已转换的可执行内容文件。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2015903059 | 2015-07-31 | ||
AU2015903059A AU2015903059A0 (en) | 2015-07-31 | Systems and Methods for Executable Content and Executable Content Flow Creation | |
AU2015903312 | 2015-08-17 | ||
AU2015903312A AU2015903312A0 (en) | 2015-08-17 | Platform-agnostic systems and methods for executable content and executable content flow distribution | |
PCT/AU2016/050677 WO2017020072A1 (en) | 2015-07-31 | 2016-07-29 | Systems and methods for executable content and executable content flow distribution |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108475267A CN108475267A (zh) | 2018-08-31 |
CN108475267B true CN108475267B (zh) | 2022-05-27 |
Family
ID=57942128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680057968.5A Active CN108475267B (zh) | 2015-07-31 | 2016-07-29 | 用于可执行内容和可执行内容流分发的系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11113457B2 (zh) |
EP (1) | EP3329353A4 (zh) |
CN (1) | CN108475267B (zh) |
AU (2) | AU2016202907A1 (zh) |
WO (1) | WO2017020072A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108369514B (zh) * | 2015-07-31 | 2023-01-06 | 慧咨环球有限公司 | 用于可执行内容和可执行内容流创建的系统和方法 |
CN107491307B (zh) * | 2017-08-11 | 2020-11-03 | 北京小度信息科技有限公司 | 信息提供方法、装置、电子设备及计算机可读存储介质 |
USD960177S1 (en) | 2018-05-03 | 2022-08-09 | CACI, Inc.—Federal | Display screen or portion thereof with graphical user interface |
US11256548B2 (en) | 2018-05-03 | 2022-02-22 | LGS Innovations LLC | Systems and methods for cloud computing data processing |
CN113961129A (zh) * | 2021-09-24 | 2022-01-21 | 北京新享科技有限公司 | 一种基于低代码技术的企业信息化操作方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1960409A (zh) * | 2006-09-25 | 2007-05-09 | 郭枭业 | 一种在移动电话上浏览web或rss网站内容的方法及其计算机装置 |
CN104462231A (zh) * | 2014-11-11 | 2015-03-25 | 北京奇虎科技有限公司 | 网页渲染的方法、装置及系统 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6950881B1 (en) * | 1999-11-02 | 2005-09-27 | Mshift, Inc. | System for converting wireless communications for a mobile device |
US7574486B1 (en) | 2000-11-06 | 2009-08-11 | Telecommunication Systems, Inc. | Web page content translator |
US8635218B2 (en) * | 2003-09-02 | 2014-01-21 | International Business Machines Corporation | Generation of XSLT style sheets for different portable devices |
US20070067373A1 (en) | 2003-11-03 | 2007-03-22 | Steven Higgins | Methods and apparatuses to provide mobile applications |
US7509353B2 (en) * | 2004-11-16 | 2009-03-24 | Microsoft Corporation | Methods and systems for exchanging and rendering forms |
US8700738B2 (en) * | 2005-02-01 | 2014-04-15 | Newsilike Media Group, Inc. | Dynamic feed generation |
US20070250783A1 (en) * | 2006-04-24 | 2007-10-25 | Ehealthinsurance Services, Inc. | Method and system to provide online application forms |
CN101145217A (zh) * | 2006-09-13 | 2008-03-19 | 鸿富锦精密工业(深圳)有限公司 | 流程表单处理系统及方法 |
US8683315B2 (en) * | 2006-11-06 | 2014-03-25 | Eci Software, Inc. | System and method for creating integrated web form and database applications |
US8181107B2 (en) * | 2006-12-08 | 2012-05-15 | Bytemobile, Inc. | Content adaptation |
US8370766B2 (en) * | 2007-01-30 | 2013-02-05 | Oracle International Corporation | Menu creation browser extension |
WO2008106643A2 (en) * | 2007-03-01 | 2008-09-04 | Formotus, Inc. | Forms conversion and deployment system for mobile devices |
US20080215966A1 (en) * | 2007-03-01 | 2008-09-04 | Microsoft Corporation | Adaptive server-based layout of web documents |
US20080293395A1 (en) * | 2007-05-21 | 2008-11-27 | Motorola, Inc. | Using downloadable specifications to render a user interface on a mobile device |
US20100023852A1 (en) * | 2008-07-24 | 2010-01-28 | Microsoft Corporation | Declarative forms and views |
WO2012164625A1 (en) * | 2011-06-01 | 2012-12-06 | Hitachi, Ltd. | Load distribution storage system and method therefor |
US20130097479A1 (en) * | 2011-08-24 | 2013-04-18 | Graphium, LLC | Electronic forms system |
CA2774894A1 (en) * | 2012-04-20 | 2013-10-20 | David Stevenson | Client agnostic spatial workflow form definition and rendering |
US20140122544A1 (en) * | 2012-06-28 | 2014-05-01 | Transoft Technology, Inc. | File wrapper supporting virtual paths and conditional logic |
US9557988B2 (en) | 2012-09-07 | 2017-01-31 | Inadev Corporation | Workflow-based application generator |
US9467434B2 (en) * | 2013-07-15 | 2016-10-11 | Salesforce.Com, Inc. | Document rendering service |
US10572952B1 (en) * | 2014-12-01 | 2020-02-25 | Intuit Inc. | Computer implemented methods systems and articles of manufacture for cross-field validation during preparation of electronic tax return |
-
2016
- 2016-05-05 AU AU2016202907A patent/AU2016202907A1/en not_active Abandoned
- 2016-07-29 EP EP16831966.3A patent/EP3329353A4/en not_active Withdrawn
- 2016-07-29 US US15/749,102 patent/US11113457B2/en active Active
- 2016-07-29 WO PCT/AU2016/050677 patent/WO2017020072A1/en active Application Filing
- 2016-07-29 CN CN201680057968.5A patent/CN108475267B/zh active Active
- 2016-07-29 AU AU2016302391A patent/AU2016302391B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1960409A (zh) * | 2006-09-25 | 2007-05-09 | 郭枭业 | 一种在移动电话上浏览web或rss网站内容的方法及其计算机装置 |
CN104462231A (zh) * | 2014-11-11 | 2015-03-25 | 北京奇虎科技有限公司 | 网页渲染的方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20180225266A1 (en) | 2018-08-09 |
AU2016302391A1 (en) | 2018-02-08 |
EP3329353A1 (en) | 2018-06-06 |
AU2016302391B2 (en) | 2022-06-23 |
WO2017020072A1 (en) | 2017-02-09 |
US11113457B2 (en) | 2021-09-07 |
AU2016202907A1 (en) | 2017-02-16 |
CN108475267A (zh) | 2018-08-31 |
EP3329353A4 (en) | 2019-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2022235518B2 (en) | Methods and systems for creating configurable forms, configuring forms and for form flow and form correlation | |
CN108369514B (zh) | 用于可执行内容和可执行内容流创建的系统和方法 | |
US10831453B2 (en) | Connectors framework | |
CN108475267B (zh) | 用于可执行内容和可执行内容流分发的系统和方法 | |
US10534584B2 (en) | Enhanced software application ecosystem | |
US11093242B2 (en) | Automatically mapping data while designing process flows | |
US11797273B2 (en) | System and method for enhancing component based development models with auto-wiring | |
US10448227B2 (en) | Mobile database access application development system and method | |
AU2015101138A4 (en) | Platform-agnostic systems and methods for executable content and executable content flow distribution | |
AU2015101037A4 (en) | Systems and Methods for Executable Content and Executable Content Flow | |
AU2015101033A4 (en) | Systems and Methods for Executable Content and Executable Content Flow | |
AU2015101034A4 (en) | Systems and Methods for Executable Content and Executable Content Flow | |
AU2015101036A4 (en) | Systems and Methods for Executable Content and Executable Content Flow | |
AU2015101035A4 (en) | Systems and Methods for Executable Content and Executable Content Flow | |
AU2015224516B1 (en) | Systems and methods for executable content and executable content flow creation | |
AU2016202908A1 (en) | Methods and systems for creating configurable forms and for configuring forms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240531 Address after: New South Wales Australia Patentee after: Huizi Global (Licensing) Co.,Ltd. Country or region after: Australia Address before: New South Wales, Australia Patentee before: WISETECH GLOBAL LTD. Country or region before: Australia |