亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

動作流分段管理的制作方法

文檔序號:12176398閱讀:285來源:國知局
動作流分段管理的制作方法與工藝

web應(yīng)用是在web瀏覽器中執(zhí)行的軟件應(yīng)用。web應(yīng)用可以包括一個或者多個功能,諸如圖形用戶界面工具、過程和web應(yīng)用的其他方面。web應(yīng)用可以具有動作流。每個動作流可以是一系列步驟,其中每個步驟可以依賴于前序步驟的執(zhí)行。

附圖說明

圖1、2和3示出了根據(jù)本技術(shù)的一個或多個實施方式的示意圖。

圖4和5示出了根據(jù)本技術(shù)的一個或多個實施方式的流程圖。

圖6示出了根據(jù)本技術(shù)一個或多個實施方式的實施例。

圖7示出了根據(jù)本技術(shù)一個或多個實施方式的計算機(jī)系統(tǒng)。

具體實施方式

現(xiàn)在將參考附圖詳細(xì)描述本技術(shù)的具體實施方式。為了一致性各圖中用相同的參考標(biāo)號來標(biāo)注相同的元素。

在下面對本技術(shù)實施方式的詳細(xì)描述中,給出了很多具體細(xì)節(jié)以提供對本技術(shù)的更全面理解。然而,本領(lǐng)域普通技術(shù)人員很容易理解,本技術(shù)可以在沒有這些具體細(xì)節(jié)的情況下得到實現(xiàn)。在其他的實例中,沒有描述一些眾所周知的特點以避免不必要地使本說明書復(fù)雜化。

在整個申請中,普通的序號(例如第一、第二、第三等)可以用作元素(即,申請中的任意名詞)的形容詞。普通序號的使用并不暗示或者建立這些元素的任何特定次序,也不將任何元素限定為僅為一個元素,除非通過使用詞語“在……之前”、“在……之后”、“單個”以及其他此類用詞明確地披露。相反,使用普通序號是為了將這些元素區(qū)分開。例如,第一元素區(qū)別于第二元素,并且第一元素可以包括多于一個的元素,并可以在元素的排序中繼后于(或先于)第二元素。

實施方式針對于動作流分段管理。特別地,本技術(shù)一個或多個實施方式使得動作流的部分能夠在其他動作流中被再次使用。每個動作流可以包括用于執(zhí)行用戶級動作的一組步驟。動作流分段是一組步驟的子集,其可以在運(yùn)行時結(jié)合進(jìn)其他動作流中。當(dāng)執(zhí)行父動作流時,父動作流可以包括動作流分段表達(dá)。動作流分段表達(dá)的執(zhí)行識別目標(biāo)動作流分段。由此,執(zhí)行按照在將執(zhí)行返回給父動作流之前執(zhí)行目標(biāo)動作流分段來進(jìn)行。

圖1示出了根據(jù)本技術(shù)一個或多個實施方式的系統(tǒng)的示意圖。具體而言,圖1示出了用于開發(fā)和執(zhí)行實現(xiàn)過程分段管理的web應(yīng)用的環(huán)境100的示意圖。如圖1所示,環(huán)境100包括后端服務(wù)102、運(yùn)行時框架104、構(gòu)件庫106,以及應(yīng)用模型108。下面描述每個前述構(gòu)件。

在本技術(shù)的一個和多個實施方式中,后端服務(wù)102是不對開發(fā)者顯示并且使得web應(yīng)用設(shè)計110的開發(fā)更容易的服務(wù)。后端服務(wù)102可以包括應(yīng)用服務(wù)112和平臺服務(wù)114。在本技術(shù)的一個或多個實施方式中,應(yīng)用服務(wù)112允許基于用戶界面的web應(yīng)用能夠被構(gòu)建在web應(yīng)用的類模型的頂層之上。

在本技術(shù)的一個或多個實施方式中,平臺服務(wù)114是管理用于多個不同平臺的應(yīng)用的服務(wù)。多個不同平臺可以具有各種不同的操作系統(tǒng)、設(shè)備和/或顯示設(shè)備型號。

在本技術(shù)的一個或多個實施方式中,運(yùn)行時框架104提供用于web應(yīng)用可執(zhí)行文件158的運(yùn)行時環(huán)境。具體而言,運(yùn)行時框架104管理正在執(zhí)行的web應(yīng)用可執(zhí)行文件158的數(shù)據(jù)和事件。在圖2和下文描述了運(yùn)行時框架104。

在本技術(shù)的一個或多個實施方式中,構(gòu)件庫106是開發(fā)者可以添加到web應(yīng)用設(shè)計110中的應(yīng)用構(gòu)件的庫。換言之,開發(fā)者可以從構(gòu)件庫106中選擇構(gòu)件以向web應(yīng)用設(shè)計110中添加功能(functionality)。構(gòu)件庫106可以包括用戶界面構(gòu)件和處理構(gòu)件。

在本技術(shù)的一個或多個實施方式中,用戶界面構(gòu)件是顯示給終端用戶的構(gòu)件。換言之,用戶界面構(gòu)件的實例是顯示于顯示設(shè)備上的。在本技術(shù)的一個或多個實施方式中,用戶界面構(gòu)件可以包括但不限于按鈕116(例如,單選按鈕(radio button)、普通按鈕)、菜單118(例如下拉菜單、復(fù)選框)、圖表120、布局122、輸入(例如,字段)124以及組合框130。構(gòu)件庫中的用戶界 面構(gòu)件可以分別與一組選項相結(jié)合。選項組定義了用戶界面構(gòu)件的執(zhí)行。亦即,選項組定義了構(gòu)件的特定實例如何執(zhí)行。與用戶界面構(gòu)件相關(guān)聯(lián)的選項可以包括格式化、顯示的任意文本、當(dāng)選擇用戶界面構(gòu)件時將被執(zhí)行的任何動作,其他選項和/或以上內(nèi)容的任意組合。動作可以是:在頁面上執(zhí)行操作、切換到特定靜態(tài)頁面、評估表達(dá)以確定用于切換的頁面,和/或執(zhí)行另一個操作。

在本技術(shù)的一個或多個實施方式中,表達(dá)可以指定一個或多個數(shù)據(jù)源以及對來自一個或多個數(shù)據(jù)源的數(shù)據(jù)執(zhí)行的操作。數(shù)據(jù)源是不存在于表達(dá)內(nèi)的數(shù)據(jù)的位置。例如,數(shù)據(jù)源可以是應(yīng)用頁面的另一部分或數(shù)據(jù)庫。例如,應(yīng)用頁面的另一部分可以是文本字段、下拉菜單選項或者其他選項。來自數(shù)據(jù)源的數(shù)據(jù)用于評估表達(dá)中的操作。例如,操作可以包括基于所獲得數(shù)據(jù)的條件語句。借助另一個實施例,操作可以是執(zhí)行頁面的另一字段中指定的終端用戶提交的動作。

在本技術(shù)的一個或多個實施方式中,處理構(gòu)件是對終端用戶隱藏的構(gòu)件(即,不對終端用戶顯示)。例如,處理構(gòu)件可以包括事件126、結(jié)果列表128、格式器132、函數(shù)134、動作136和庫138。下面討論每個處理構(gòu)件。

根據(jù)本技術(shù)的一個或多個實施方式,格式器132是使得能夠以特定格式安排數(shù)據(jù)的指令。格式器可以是對數(shù)字、日期時間值、其他值或它們的組合的應(yīng)用。根據(jù)本技術(shù)的一個或多個實施方式,函數(shù)134是可以重復(fù)使用的一段代碼,其取一組輸入并返回一個輸出。函數(shù)的例子包括合并字符串(concat)、子字符串、最小、最大和其他函數(shù)。

根據(jù)本技術(shù)的一個或多個實施方式,動作136是一段可以重復(fù)使用的可執(zhí)行功能,其可以被從任意特定構(gòu)件中抽取出來,以便動作可以在多個頁面和/或上下文菜單之間有用地共享。示例動作包括更新、刪除、創(chuàng)建、登錄、注銷、下載和其他動作。

根據(jù)本技術(shù)的一個或多個實施方式,庫138是構(gòu)成實用性的一組文件以及基礎(chǔ)設(shè)施代碼。示例庫包括應(yīng)用啟動代碼、動作管理器、類型管理器、實用性(utility)和日志記錄器。處理構(gòu)件還可以分別與一組定義處理構(gòu)件如何被使用的選項相關(guān)聯(lián)。

根據(jù)本技術(shù)的一個或多個實施方式,應(yīng)用模型108是用于任意web應(yīng)用 的類模型。應(yīng)用模型包括頁面140、分段142、數(shù)據(jù)動作和數(shù)據(jù)源144、會話變量146、應(yīng)用控制148、上下文菜單150、動作流152和選表154。下面描述應(yīng)用模型的這些構(gòu)件中的每一個構(gòu)件。

應(yīng)用模型108中的頁面140是web頁面的模板。換言之,應(yīng)用模型108中的頁面是用于可顯示給終端用戶的完整單個文檔的模板。分段142代表行為的至少一個部分。換言之,行為是終端用戶可以使用web應(yīng)用執(zhí)行的動作的已定義的序列。分段是動作的已定義的序列的一部分。數(shù)據(jù)動作和數(shù)據(jù)源144定義了數(shù)據(jù)的存儲結(jié)構(gòu)和存儲位置以及對數(shù)據(jù)執(zhí)行的動作。

分段142可以包括過程分段。過程分段是過程的一部分。換言之,過程分段可以具有多于一個的定義的輸入控制點和多于一個的已定義的輸出控制點。環(huán)境100包括允許開發(fā)者使用構(gòu)建器156將用于分段142的模板從應(yīng)用模型108拖拽到web應(yīng)用設(shè)計110中,和將參數(shù)插入到模板中以創(chuàng)建過程分段定義的功能。換言之,根據(jù)本技術(shù)的一個或多個實施方式,過程分段定義是使用模板和基于語言的表達(dá)而非編程語言來定義過程分段的源代碼。下文以及圖3描述了過程分段的更多細(xì)節(jié)。

會話變量146是存儲用于終端用戶和web應(yīng)用可執(zhí)行文件158之間的特定會話的變量。例如,會話變量146可以包括連接變量和關(guān)于終端用戶的信息,諸如用戶的證書(例如用戶標(biāo)識符),終端用戶的角色以及其他信息。

根據(jù)本技術(shù)的一個或多個實施方式,應(yīng)用控制148定義了web應(yīng)用的全局外觀和感覺。例如,應(yīng)用控制148可以包括各種條幅、菜單項、字體、顏色和其他所顯示的和圍繞單個頁面的特征。借助另一個實施例,應(yīng)用控制148可以包括頁面140所基于的模板。

上下文菜單150是依賴于從中選擇菜單的上下文的菜單實例。例如,上下文可以是所選擇的特定用戶界面構(gòu)件、所顯示的頁面或者另一上下文。上下文菜單呈現(xiàn)專用于特定上下文的選項。選擇上下文菜單的方式并不依賴于上下文。具體而言,終端用戶可以以相同的方式選擇上下文菜單并且具有基于上下文而呈現(xiàn)的不同菜單選項。

動作流152是被執(zhí)行的多組步驟,換言之,每個動作流定義了完成一項任務(wù)的一組步驟。例如,動作流可以是向企業(yè)的數(shù)據(jù)庫中輸入一個新的人員,向 企業(yè)的數(shù)據(jù)庫中存入一個文檔,復(fù)制文檔,替換用戶忘記的密碼或者執(zhí)行其他任務(wù)。

每個動作流都有開始和完成。開始定義了動作流的第一個步驟。完成定義了動作流的結(jié)束。如上所述,開發(fā)環(huán)境100提供了用于構(gòu)建web應(yīng)用設(shè)計110的組成機(jī)制。由此,動作流的步驟組不在單個計算機(jī)指令的級別上諸如以編程語言來定義,而是在企業(yè)邏輯級別(business logic level)上定義。動作流可以具有或者不具有用戶交互。特別地,動作流可以是完全自動化的。借助于一個實施例,動作流可以包括完全由服務(wù)器執(zhí)行的一組步驟。在其它實施方式中,動作流可以是使用web應(yīng)用來引導(dǎo)用戶的一組步驟。例如,動作流可以對應(yīng)于引導(dǎo)用戶了解如何執(zhí)行web應(yīng)用功能的向?qū)?。在這種場景中,兩個或更多動作流可以對應(yīng)于web應(yīng)用中的區(qū)分web頁面。作為替代或作為補(bǔ)充,動作流的一些步驟可以是與用戶交互而另一組步驟可以由服務(wù)器執(zhí)行。

動作流的步驟組可以被排序。具體地說,步驟組中可以存在一個或多個路徑,其中每個路徑是步驟的一個定義序列。具體路徑可以依賴于用戶輸入和/或所收集的數(shù)據(jù)。

根據(jù)本技術(shù)的一個或多個實施方式,動作流分段是動作流的一部分。換言之,動作流是完成具有開始和完成的任務(wù)的步驟集,而動作流分段是執(zhí)行任務(wù)的一部分且并不具有開始和完成的步驟子集。此外,動作流不能結(jié)合到其他動作流中,而動作流分段可以被結(jié)合到其他動作流中。此外,動作流分段可以具有多于一個的初始輸入控制步驟,由此執(zhí)行可以傳遞給這多于一個的初始輸入控制步驟中的任何一個。類似地,動作流分段可以具有多于一個的輸出控制步驟,由此執(zhí)行可以使用這多于一個的輸出控制步驟中的任何一個返回到父動作流。

在本技術(shù)的一個或多個實施方式中,選表154是顯示的項目的列表,從中可以選擇一組項目。換言之,可以從選表中選擇多于一個的顯示項目。

web應(yīng)用設(shè)計110是開發(fā)者所創(chuàng)建的web應(yīng)用的特定設(shè)計。具體而言,web應(yīng)用設(shè)計110包括應(yīng)用模型108和構(gòu)件庫106的構(gòu)件的實例,可以在運(yùn)行時框架104上執(zhí)行并使用后端服務(wù)102。

根據(jù)本技術(shù)的一個或多個實施方式,web應(yīng)用設(shè)計110連接到構(gòu)建器 156。構(gòu)建器156為開發(fā)者提供用戶界面以創(chuàng)建web應(yīng)用設(shè)計110。在某些實施方式中,開發(fā)者不需要知曉編程語言或者其他開發(fā)知識來構(gòu)建web應(yīng)用設(shè)計。相反,構(gòu)建器156提供一個界面,開發(fā)者借助該界面可以主要是將構(gòu)件拖拽和放下到web應(yīng)用設(shè)計110中,并將參數(shù)輸入到字段中以創(chuàng)建web應(yīng)用設(shè)計110。由此,在某些實施方式中,開發(fā)者可以是企業(yè)分析員而未受過任何在應(yīng)用開發(fā)中使用編程語言的訓(xùn)練。

構(gòu)建器156的用戶界面可以包括編輯器功能和子系統(tǒng)。根據(jù)本技術(shù)的一個或多個實施方式,編輯器功能可以包括用于修改web應(yīng)用設(shè)計的各個方面或視圖的編輯器,和/或輔助web應(yīng)用設(shè)計開發(fā)的構(gòu)建器用戶界面。例如,編輯器可以包括企業(yè)目標(biāo)、文檔、案例、搜索、報告、頁面、角色、應(yīng)用、工具和過程編輯器。構(gòu)建器用戶界面可以包括新的生成向?qū)?、添加頂層菜單、添加工具欄按鈕、上下文菜單、生成屬性頁面和模型編輯器。

過程編輯器包括產(chǎn)生過程定義的功能。過程定義是企業(yè)過程的定義,其可以對應(yīng)于真實世界企業(yè)組織的工作流程。換言之,過程定義是基于企業(yè)規(guī)則或政策精心策劃出來并產(chǎn)生特定結(jié)果的一組行為或任務(wù)。在本技術(shù)的一個或多個實施方式中,過程定義中的任務(wù)可以由用戶或系統(tǒng)通過對企業(yè)數(shù)據(jù)采取某些動作來執(zhí)行。任務(wù)的執(zhí)行可以是順序的和/或并行的。在一個或多個實施方式中,過程定義是基于表達(dá)的語言形式,并且包括用于執(zhí)行過程的邏輯。在本技術(shù)的一個或多個實施方式中,過程的指令的順序在過程被執(zhí)行之前都是未知的。

構(gòu)建器156還包括從web應(yīng)用設(shè)計110中創(chuàng)建web應(yīng)用可執(zhí)行文件158的功能。換言之,根據(jù)本技術(shù)的一個或多個實施方式,構(gòu)建器從使用拖拽和放下框架創(chuàng)建的web應(yīng)用設(shè)計中構(gòu)造用于web應(yīng)用可執(zhí)行文件的指令。構(gòu)建器156可以包括執(zhí)行生成管理、驗證web應(yīng)用、生成代碼以及包裝和部署web應(yīng)用的構(gòu)件和功能。構(gòu)建器156還可以包括執(zhí)行源控制和項目/庫管理的構(gòu)件功能。

轉(zhuǎn)圖2,圖2示出了根據(jù)本技術(shù)的一個或多個實施方式的運(yùn)行時環(huán)境200的示意圖。如圖2所示,運(yùn)行時環(huán)境200包括數(shù)據(jù)庫202、正在執(zhí)行的父動作流204、動作流引擎206和分段子系統(tǒng)208。下面描述這些構(gòu)件中的每個構(gòu)件。

在本技術(shù)的一個或多個實施方式中,數(shù)據(jù)庫202是用于存儲數(shù)據(jù)的任意類 型的存儲單元和/或設(shè)備(例如,文件系統(tǒng)、數(shù)據(jù)庫、表的集合或者任何其他存儲機(jī)制)。此外,數(shù)據(jù)庫202可以包括多個不同的存儲單元和/或設(shè)備。多個不同的存儲單元和/或設(shè)備可以是或不是相同的類型或者是或不是位于相同的物理地點。在本技術(shù)的一個或多個實施方式中,數(shù)據(jù)庫202包括存儲包括默認(rèn)動作流分段210在內(nèi)的多個動作流分段(例如,動作流分段X 212、動作流分段Y 214、默認(rèn)動作流分段210)的功能。每個動作流分段與該動作流分段的唯一標(biāo)識符相關(guān)。唯一標(biāo)識符可以是動作流分段的任意字母數(shù)字的、二進(jìn)制的或者其他形式的符號標(biāo)識符。

默認(rèn)動作流分段210是當(dāng)沒有其它動作流分段應(yīng)用時使用的動作流分段。在一個或多個實施方式中,默認(rèn)動作流分段可以被定義為諸如在動作流分段表達(dá)218(下面將討論)中的父動作流的參數(shù)。在一個或多個實施方式中,默認(rèn)動作流分段可以獨(dú)立于父動作流,或者可以是父動作流的一部分。在一些實施方式中,默認(rèn)動作流分段是空的。換言之,默認(rèn)動作流不包括任何步驟,而只是繼續(xù)執(zhí)行父動作流。

繼續(xù)圖2,正在執(zhí)行的父動作流204是包括動作流分段的動作流。換言之,正在執(zhí)行的父動作流204引用(reference)動作流分段。正在執(zhí)行的父動作流204包括動作流步驟216和動作流分段表達(dá)218。動作流步驟是動作流的步驟,如上面結(jié)合圖1討論的那樣。

例如,內(nèi)聯(lián)(inline)源可以是顯示在動作流的一個或多個頁面上的圖形用戶界面工具,在動作流分段中定義的數(shù)據(jù)項目和任意其他數(shù)據(jù)源。

動作流分段表達(dá)218是用于從動作流分段的組(例如,動作流分段X 212、動作流分段Y 214)中選擇一個動作流分段的表達(dá)。特別地,動作流分段表達(dá)218是關(guān)于來自一個或多個數(shù)據(jù)源的數(shù)據(jù)的函數(shù),其將數(shù)據(jù)映射到動作流分段的標(biāo)識符。動作流分段表達(dá)218可以包括對一個或多個數(shù)據(jù)源的引用并描述要對來自該一個或多個數(shù)據(jù)源的數(shù)據(jù)執(zhí)行的一個或多個操作。數(shù)據(jù)源可以是內(nèi)聯(lián)源(例如,在動作流的一個或多個頁面上顯示的用戶界面工具、動作流分段內(nèi)定義的數(shù)據(jù)項目和任何其他數(shù)據(jù)源),過程或web應(yīng)用上下文信息(例如,描述環(huán)境信息的參數(shù)值,諸如會話標(biāo)識符、用戶的用戶標(biāo)識符、正被執(zhí)行的當(dāng)前指令的標(biāo)識符、瀏覽器信息、各種變量的值以及任何其他描述執(zhí)行環(huán)境和web 應(yīng)用執(zhí)行的狀態(tài)信息),一個或多個數(shù)據(jù)庫,或者上述的組合。動作流分段表達(dá)的輸出是動作流分段的標(biāo)識符。

在本技術(shù)的一個或多個實施方式中,動作流分段表達(dá)可以包括循環(huán)表達(dá),由此動作流分段的執(zhí)行重復(fù)直至條件被滿足。條件可以例如是基于表達(dá)的結(jié)果、來自動作流分段的動作流的輸出數(shù)據(jù)、統(tǒng)計值或者另一條件,或者上述的組合。

繼續(xù)圖2,動作流引擎206可操作地連接到正在執(zhí)行的父動作流204。該連接可以是直接的或間接的。此外,動作流引擎206可以位于執(zhí)行具有正在執(zhí)行的父動作流204的瀏覽器的本地計算機(jī)設(shè)備上。動作流引擎206可以是硬件、軟件、固件或者它們的組合,包括管理正在執(zhí)行的父動作流204的執(zhí)行的功能。特別地,動作流引擎206包括維護(hù)上下文信息、確定執(zhí)行用以執(zhí)行動作流中每一步驟的指令以及確定動作流中下一步驟的功能。

動作流引擎206和正在執(zhí)行的父動作流204還可操作地連接到分段子系統(tǒng)。分段子系統(tǒng)208可以是硬件、軟件、固件或者它們的組合,包括管理基于動作流分段表達(dá)218的對動作流分段的選擇和執(zhí)行的功能。特別地,動作流引擎可以包括分段發(fā)現(xiàn)器220,其包括基于動作流分段表達(dá)218選擇動作流分段的功能。

圖3示出了根據(jù)本技術(shù)的一個或多個實施方式的當(dāng)選擇特定動作流分段時的系統(tǒng)的示意圖。如圖3所示,父動作流302和動作流分段304都具有多個步驟(例如,父動作流步驟306)、動作流分段步驟308。父動作流302包括至少一個父輸出控制點310和父輸入控制點312。父輸出控制點是在性能將處理轉(zhuǎn)交給動作流分段304之后的步驟。父動作流可以包括多個輸出控制點,每一個對應(yīng)于多個獨(dú)立的步驟。

父輸入控制點312對應(yīng)于處理將從動作流分段304返回的步驟。換言之,當(dāng)動作流分段的執(zhí)行完成時,執(zhí)行將返回給任意父輸入控制點。更特別地,父動作流中動作流分段表達(dá)的相同實例可以導(dǎo)致控制被返回給不同的父輸入控制點。

盡管圖3中沒有示出,但是動作流分段包括分段輸入控制點和分段輸出控制點。分段輸入控制點是可以從父動作流302開始處理的初始步驟。分段輸出 控制點對應(yīng)于一個步驟,其可以是在控制轉(zhuǎn)交給父動作流之前執(zhí)行的最后一個步驟。

在本技術(shù)的一個或多個實施方式中,映射可以存在于父輸出控制點和分段輸入控制點之間。類似地,映射可以存在于分段輸出控制點和父輸入控制點之間。映射例如可以基于控制點的相同唯一部分或者全部標(biāo)識符,或者可以是基于將輸出控制點的標(biāo)識符映射到輸入控制點的表。也可以使用其他映射,這并不背離本技術(shù)的范圍。在本技術(shù)的一個或多個實施方式中,數(shù)據(jù)結(jié)構(gòu)、輸入管理器、其他構(gòu)件或者它們的組合可以維護(hù)和/或執(zhí)行映射。此外,父輸出控制點的數(shù)量可以與分段輸入控制點的數(shù)量不同,并且分段輸出控制點的數(shù)量可以與父輸入控制點的數(shù)量不同。

盡管圖1-3示出了構(gòu)件的配置,但也可以使用其他的配置,這并不背離本技術(shù)的范圍。例如,各種構(gòu)件可以組合起來創(chuàng)建一個單獨(dú)的構(gòu)件。作為另一實施例,單個構(gòu)件所實現(xiàn)的功能可以由兩個或更多個構(gòu)件來實現(xiàn)。

圖4和圖5示出了根據(jù)本技術(shù)的一個或多個實施方式的流程圖。盡管按序呈現(xiàn)和描述了這些流程圖中的各個步驟,但是本領(lǐng)域的普通技術(shù)人員將能夠理解,一些或者所有這些步驟可以以不同的次序來執(zhí)行,可以被組合或被省略,并且一些或者所有這些步驟可以被并行地執(zhí)行。此外,步驟可以主動或被動地執(zhí)行。例如,根據(jù)本技術(shù)的一個或多個實施方式,一些步驟可以使用輪詢來實現(xiàn),或者可以是中斷驅(qū)動的。借助一個實施例,根據(jù)本技術(shù)的一個或多個實施方式,確定步驟可能不要求處理器處理指令,除非接收到中斷從而意味著條件存在。作為另一個實施例,根據(jù)本技術(shù)的一個或多個實施方式,確定步驟可以通過執(zhí)行測試來執(zhí)行,例如檢查數(shù)據(jù)值以測試該值是否與所測條件一致。

圖4示出了根據(jù)本技術(shù)的一個或多個實施方式的用于生成web應(yīng)用設(shè)計的流程圖。在步驟401中,根據(jù)本技術(shù)的一個或多個實施方式,接收到一個或多個動作流分段定義。特別地,圖1所示的開發(fā)環(huán)境便利化了基于表達(dá)的web應(yīng)用開發(fā)。由此,使用開發(fā)環(huán)境所提供的開發(fā)者工具,用戶可以將構(gòu)件拖拽和放入到web應(yīng)用設(shè)計中以定義web應(yīng)用設(shè)計的各種構(gòu)件。這些構(gòu)件中的一些構(gòu)件可以具有已定義的模板和邏輯。在這樣的場景中,一旦被拖拽到web應(yīng)用設(shè)計中,用戶就可以提交該部件的各種參數(shù)的值。例如,用戶可以提交唯一 的標(biāo)識符,任何的引用或者任何其他的信息。

對于動作流和動作流分段,動作流或者動作流分段的一些步驟具有已定義的步驟組并且可以被表示為一個盒子。由此,用戶可以只需將該步驟拖拽到web應(yīng)用設(shè)計中,添加一個線性連接器(line connector)來將前序步驟鏈接到該拖拽步驟之前,以及一個線性連接器來將即將執(zhí)行的步驟鏈接到該拖拽步驟之后。用戶接著可以定義用于該步驟的一個或多個web頁面,或者選擇web頁面用于該步驟。

在開發(fā)者環(huán)境中,構(gòu)建器可以維護(hù)web應(yīng)用設(shè)計的內(nèi)部版本,諸如以描述web應(yīng)用設(shè)計的可擴(kuò)展標(biāo)記語言(XML)格式。

由此,接收動作流分段定義可以包括通過開發(fā)者環(huán)境的圖形用戶界面接收開發(fā)者輸入,以及在web應(yīng)用設(shè)計被開發(fā)的過程中生成web應(yīng)用設(shè)計的內(nèi)部版本。在本技術(shù)的一個或多個實施方式中,開發(fā)者可以生成多個動作流分段定義。此外,根據(jù)本技術(shù)的一個或多個實施方式,可以從其他動作流或者動作流分段復(fù)制一個或多個動作流分段定義。例如,開發(fā)者可以使用開發(fā)者環(huán)境的圖形用戶界面選擇動作流的一部分或動作流分段并將該選擇復(fù)制給新的定義。開發(fā)者可以對所復(fù)制的動作流分段定義進(jìn)行任何進(jìn)一步的修改。

在步驟403中,根據(jù)本技術(shù)的一個或多個實施方式,接收一個或多個父動作流定義。接收該一個或多個父動作流定義可以以與上面參考步驟401所討論的方式相同或者相似的方式來執(zhí)行。特別地,開發(fā)者可以通過如上所述的開發(fā)者環(huán)境的圖形用戶界面來提供定義,并且構(gòu)建器可生成內(nèi)部版本。作為生成父動作流定義的一部分,開發(fā)者可以包括動作流分段表達(dá)。換言之,開發(fā)者可以在父動作流定義中包括占位符用于動作流分段,并可以使用基于表達(dá)的語言來指定動作流分段表達(dá)。指定動作流分段表達(dá)可以包括定義用于選擇動作流分段的一個或多個操作和數(shù)據(jù)源。開發(fā)者還可以定義默認(rèn)動作流分段定義。步驟401和403可以被執(zhí)行多次以創(chuàng)建更多的父動作流定義和動作流分段定義。此外,可以執(zhí)行更多的步驟來創(chuàng)建和接收web應(yīng)用設(shè)計。

在步驟405中,根據(jù)本技術(shù)的一個或多個實施方式,從web應(yīng)用設(shè)計中生成web應(yīng)用。在本技術(shù)的一個或多個實施方式中,生成web應(yīng)用包括將web應(yīng)用的內(nèi)部版本翻譯成計算機(jī)編程語言指令組。該生成可以基于用于web 應(yīng)用設(shè)計的每個部分的代碼的已定義模板。該模板可以根據(jù)web應(yīng)用設(shè)計來安排并且被填充以web應(yīng)用設(shè)計中的參數(shù)。

如圖4所示,一個或多個實施方式可以允許通過使用web應(yīng)用構(gòu)件的拖拽和放下以及基于表達(dá)的參數(shù)插入的圖形用戶界面開發(fā)環(huán)境來重復(fù)使用動作流的部分。一旦建立了web應(yīng)用,就可以執(zhí)行該web應(yīng)用。

圖5示出了用于執(zhí)行web應(yīng)用的動作流的流程圖。圖5例如可以使用上文參考圖2討論的構(gòu)件來執(zhí)行。在步驟501中,開始web應(yīng)用的執(zhí)行。例如,用戶可以登錄到企業(yè)系統(tǒng)中,并且web應(yīng)用可以載入到用戶的web瀏覽器中。

在步驟503中,根據(jù)本技術(shù)的一個或多個實施方式處理動作流。特別地,控制轉(zhuǎn)交給父動作流,其開始處理父動作流的步驟。處理父動作流可以包括解讀該步驟,識別用于執(zhí)行該步驟的一個或多個web頁面,以及引導(dǎo)用戶通過執(zhí)行該web頁面中的操作。換言之,一個或多個web頁面可以被顯示,其接收輸入和/或提供信息給用戶。特定的web頁面可以被映射到步驟。類似的,一個或多個服務(wù)器指令可以被映射到每個步驟。

在步驟505中,根據(jù)本技術(shù)的一個或多個實施方式獲得用于動作流分段的表達(dá)。換言之,在執(zhí)行過程中,獲得動作流分段表達(dá)作為要處理的下一步驟。

在步驟507中,根據(jù)本技術(shù)的一個或多個實施方式識別動作流分段表達(dá)中引用的數(shù)據(jù)源。在本技術(shù)的一個或多個實施方式中,該表達(dá)可以引用內(nèi)聯(lián)數(shù)據(jù)源和/或外部數(shù)據(jù)源。

在步驟509中,根據(jù)動作流分段表達(dá)從該一個或多個數(shù)據(jù)源獲得數(shù)據(jù)。例如,可以通過訪問內(nèi)聯(lián)數(shù)據(jù)源、標(biāo)識用戶數(shù)據(jù)的數(shù)據(jù)庫、動作流上下文變量的值、頁面內(nèi)字段的值、其他數(shù)據(jù)源或者它們的組合來獲得數(shù)據(jù)。

在步驟511中,根據(jù)本技術(shù)的一個或多個實施方式使用所獲得數(shù)據(jù)執(zhí)行表達(dá)以獲得結(jié)果。執(zhí)行該表達(dá)可以包括執(zhí)行該表達(dá)中的一個或多個操作。例如,該操作可以包括將來自數(shù)據(jù)源的數(shù)據(jù)與一個值相比較,并且當(dāng)數(shù)據(jù)符合時選擇動作流分段。作為執(zhí)行表達(dá)的結(jié)果,獲得一個結(jié)果。根據(jù)本技術(shù)的一個或多個實施方式,該結(jié)果可以是現(xiàn)有動作流分段的唯一標(biāo)識符,默認(rèn)動作流分段的唯一標(biāo)識符或者一個錯誤的標(biāo)識符。

在步驟513中,根據(jù)本技術(shù)的一個或多個實施方式,決定該結(jié)果是否為有 效動作流分段標(biāo)識符。換言之,決定該結(jié)果是否引用有效的動作流分段。

如果結(jié)果是有效的動作流分段標(biāo)識符,則流程進(jìn)行至步驟515。在步驟515中,根據(jù)本技術(shù)的一個或多個實施方式獲得所標(biāo)識的動作流分段作為獲得分段。換言之,從數(shù)據(jù)庫中獲得對應(yīng)于動作流分段標(biāo)識符的動作流分段。

如果結(jié)果不是有效的動作流分段標(biāo)識符,則流程進(jìn)行至步驟517。在步驟517中,獲得默認(rèn)動作流分段作為獲得的動作流分段。默認(rèn)動作流分段可以被定義在父動作流內(nèi),其中默認(rèn)動作流分段是該父動作流中被設(shè)置為默認(rèn)的下一步驟。作為替代,默認(rèn)動作流分段可以從數(shù)據(jù)庫中獲得。

不管是獲得了所標(biāo)識的動作流分段還是獲得了默認(rèn)動作流分段,流程均進(jìn)行至步驟519。在步驟519中,動作流分段開始執(zhí)行。根據(jù)本技術(shù)的一個或多個實施方式,執(zhí)行可以通過識別與當(dāng)前父輸出控制點相匹配的分段輸入控制點來進(jìn)行。如果匹配基于具有父輸出控制點的唯一全部或部分標(biāo)識符,則選擇具有全部或部分該標(biāo)識符的分段輸入控制點。如果匹配基于映射,則訪問數(shù)據(jù)結(jié)構(gòu)以識別映射到該父輸出控制點的分段輸入控制點。如果匹配基于表達(dá)和參數(shù),則可以以與執(zhí)行動作流分段表達(dá)相同或類似的方式來執(zhí)行表達(dá)以獲得唯一標(biāo)識符。

在本技術(shù)的一個或多個實施方式中,根據(jù)本技術(shù)的一個或多個實施方式使用父動作流上下文來執(zhí)行動作流分段。換言之,進(jìn)行動作流分段步驟。在執(zhí)行動作流分段的過程中可以采用不同的路徑。此外,可以處理動作流分段,如同動作流分段曾是父動作流的一部分那樣。在本技術(shù)的一個或多個實施方式中,如果動作流分段表達(dá)包括循環(huán)表達(dá),則動作流分段的執(zhí)行重復(fù)直至滿足條件。換言之,在每次動作流分段執(zhí)行處,決定是否滿足條件。如果條件不滿足,則可以重復(fù)動作流分段的執(zhí)行,如果條件滿足,則流程可以進(jìn)行至步驟521。

在步驟521,處理在與分段輸出控制點相匹配的父動作流輸入控制點處返回到父動作流。換言之,執(zhí)行返回給父動作流。由于在動作流分段的處理過程中可以采用不同的控制路徑,執(zhí)行返回的位置在動作流分段的處理完成之前可能是未知的。

圖6示出了根據(jù)本技術(shù)的一個或多個實施方式的實施例。在圖6所示實施例中,示出了兩個動作流(即,存入文件動作流602、保存文件動作流604) 和一個動作流分段606。動作流(即,存入文件動作流602、保存文件動作流604)分別具有定義好的開始(即,開始608、開始610)和完成(例如,完成612、完成614)。

存入文件父動作流602是用于引導(dǎo)用戶了解存入一個或多個文件的向?qū)У膭幼髁鳌L貏e地,存入文件父動作流包括:用于顯示頁面以選擇要存入的文件的步驟616;用于添加要與文件一起存儲在數(shù)據(jù)庫中的屬性的步驟618;用于執(zhí)行動作流分段表達(dá)的步驟620;用于確定另一未處理文件是否在所選文件的集合中的步驟622;以及用于令服務(wù)器執(zhí)行存入的步驟624。用于顯示頁面以選擇要存入的文件的步驟616和用于添加要與文件一起存儲在數(shù)據(jù)庫中的屬性的步驟618可以對應(yīng)于步驟中沒有明確定義的單獨(dú)不同的頁面或頁面集合。例如,頁面可以由步驟諸如借由標(biāo)識符來引用。用于執(zhí)行動作流分段表達(dá)的步驟620可以針對分段引擎來定義以在客戶端上或者由服務(wù)器來執(zhí)行。用于確定另一未處理文件是否在所選文件的集合中的步驟622和用于令服務(wù)器執(zhí)行存入的步驟624可以是使客戶端和/或服務(wù)器進(jìn)行處理。

保存文件父動作流604是用于引導(dǎo)用戶將之前選擇的文件保存到企業(yè)數(shù)據(jù)庫的向?qū)У膭幼髁?。特別地,保存文件父動作流包括:用于添加要與文件一起存儲在數(shù)據(jù)庫中的屬性的步驟626;用于執(zhí)行動作流分段表達(dá)的步驟620;以及用于保存文件的步驟。用于添加要與文件一起存儲在數(shù)據(jù)庫中的屬性的步驟626可以對應(yīng)于沒有在步驟中明確定義的一個或多個頁面。例如,頁面可以由步驟諸如借由標(biāo)識符來引用。用于執(zhí)行動作流分段表達(dá)的步驟620可以針對分段引擎來定義以在客戶端上或者由服務(wù)器來執(zhí)行。用于令服務(wù)器執(zhí)行保存的步驟630可以是使客戶端和/或服務(wù)器進(jìn)行處理。

如實施例中所示,存入文件父動作流602和保存文件父動作流604都可以具有動作流分段表達(dá)。在實施例中,考慮如下場景:對于用戶具有適當(dāng)證書的任意圖像文件,web應(yīng)用設(shè)計者想要給予用戶在將圖像文件存儲在企業(yè)數(shù)據(jù)庫中時諸如為了發(fā)布目的將圖像轉(zhuǎn)換為不同尺寸和文件格式的選項。

并非在存入文件父動作流602和保存文件父動作流604的兩個步驟中都單獨(dú)包括圖像轉(zhuǎn)化步驟,而是這兩個動作流各自具有一個用于執(zhí)行動作流分段表達(dá)以檢查圖像文件和用戶證書的步驟。特別地,執(zhí)行表達(dá)確定當(dāng)前文件是否為 圖像文件,訪問上下文信息以獲得用戶身份,訪問服務(wù)器以獲得用戶身份的證書,并且如果用戶有授權(quán)且文件是圖像文件,則將處理導(dǎo)向轉(zhuǎn)換圖像動作流分段606。如果用戶未經(jīng)授權(quán)或者文件不是圖像文件,則表達(dá)默認(rèn)為繼續(xù)父處理。

轉(zhuǎn)換圖像動作流分段606具有輸入控制點632。從該輸入控制點開始,轉(zhuǎn)換圖像動作流分段606具有用于顯示頁面以呈現(xiàn)執(zhí)行圖像轉(zhuǎn)換的選項的步驟634,用于確定是否選擇圖像轉(zhuǎn)換的步驟636,用于當(dāng)未選擇圖像轉(zhuǎn)換時的輸出控制點638,用于顯示頁面以呈現(xiàn)和接收可選的轉(zhuǎn)換的步驟640,用于執(zhí)行選擇的圖像轉(zhuǎn)換的步驟642,用于確定是否選擇了另一轉(zhuǎn)換的步驟644,其將執(zhí)行返回給前一步驟642或者當(dāng)執(zhí)行完成646時給輸出控制點。由此,轉(zhuǎn)換圖像動作流分段606可以在運(yùn)行時結(jié)合到任一將圖像文件存儲到企業(yè)數(shù)據(jù)庫中的父動作流。如實施例中所示,一個或多個實施方式提供了比程序指令更高的重復(fù)使用級別。此外,一個或多個實施方式通過允許在多個動作流中使用動作流分段,而允許重復(fù)使用web應(yīng)用設(shè)計的全部部分。

本技術(shù)的實施方式可以在計算機(jī)系統(tǒng)上實現(xiàn)??梢允褂靡苿印⑴_式、服務(wù)器、嵌入或者其他類型的硬件的任意組合。例如,如圖7所示,計算機(jī)系統(tǒng)700可以包括一個或多個計算機(jī)處理器702,相關(guān)聯(lián)的存儲器704(例如,隨機(jī)存取存儲器(RAM)、緩存存儲器、閃存存儲器等),一個或多個存儲設(shè)備706(例如,硬盤、光驅(qū)諸如壓縮光盤(CD)驅(qū)動器或者數(shù)字通用磁盤(DVD)驅(qū)動器、閃存棒等)以及多個其他元素和功能。計算機(jī)處理器702可以是用于處理指令的集成電路。例如,計算機(jī)處理器可以是處理器的一個或多個內(nèi)核或者微內(nèi)核。計算機(jī)系統(tǒng)700還可以包括一個或多個輸入設(shè)備710,諸如觸摸屏、鍵盤、鼠標(biāo)、麥克風(fēng)、觸摸板、電子筆或者任意其他類型的輸入設(shè)備。此外,計算機(jī)系統(tǒng)700可以包括一個或多個輸出設(shè)備708,諸如屏幕(例如,液晶顯示器(LCD)、等離子顯示器、觸摸屏、陰極射線管(CRT)監(jiān)視器、投影儀或者其他顯示設(shè)備)、打印機(jī)、外部存儲器或者任意其他類型的輸出設(shè)備。一個或多個輸出設(shè)備可以是與輸入設(shè)備相同或者不同的。計算機(jī)系統(tǒng)700可以經(jīng)由網(wǎng)絡(luò)接口連接(未示出)連接到網(wǎng)絡(luò)712(例如,局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)諸如因特網(wǎng)、移動網(wǎng)絡(luò)、或者任意其他類型的網(wǎng)絡(luò))。輸入和輸出設(shè)備可以本地地或者遠(yuǎn)程地(例如,經(jīng)由網(wǎng)絡(luò)712)連接到計算機(jī)處理器702、 存儲器704和存儲設(shè)備706。存在很多不同類型的計算機(jī)系統(tǒng),并且前述的輸入和輸出設(shè)備可以采取其他形式。

用于執(zhí)行本技術(shù)的實施方式的采用計算機(jī)可讀程序代碼形式的軟件指令可以被整體或者部分地、臨時或者永久地存儲在諸如CD、DVD、存儲設(shè)備、磁碟、磁帶、閃存、物理存儲器之類的非臨時性計算機(jī)可讀介質(zhì)或者任意其他計算機(jī)可讀存儲介質(zhì)上。具體地,軟件指令可以對應(yīng)于當(dāng)由處理器執(zhí)行時配置為執(zhí)行本技術(shù)的實施方式的計算機(jī)可讀程序代碼。

此外,前述的計算機(jī)系統(tǒng)700的一個或多個元素可以位于遠(yuǎn)程位置并且經(jīng)由網(wǎng)絡(luò)712連接到其他元素。此外,本技術(shù)的實施方式可以在具有多個節(jié)點的分布式系統(tǒng)上實現(xiàn),其中本技術(shù)的每個部分可以位于該分布式系統(tǒng)內(nèi)的不同節(jié)點上。在本技術(shù)的一個實施方式中,節(jié)點對應(yīng)于分立計算機(jī)設(shè)備。作為替代,節(jié)點對應(yīng)于具有相關(guān)聯(lián)的物理存儲器的計算機(jī)處理器。節(jié)點可以可替代地對應(yīng)于計算機(jī)處理器或者具有共享存儲器和/或資源的計算機(jī)處理器的微內(nèi)核。

盡管已經(jīng)結(jié)合有限數(shù)量的實施方式描述了本技術(shù),但是受益于本公開的本領(lǐng)域普通技術(shù)人員將理解,可以設(shè)想其他實施方式而不偏離此處公開的本技術(shù)的范圍。因此,本技術(shù)的范圍應(yīng)當(dāng)僅由所附權(quán)利要求來限定。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1