便攜式業(yè)務(wù)邏輯的制作方法
【專利說明】便攜式業(yè)務(wù)邏輯
[0001]
[0002]計算機系統(tǒng)當(dāng)前被廣泛應(yīng)用。許多這樣的系統(tǒng)包括對其應(yīng)用了相關(guān)聯(lián)的邏輯的表單。
[0003]例如,一些計算機系統(tǒng)包括諸如企業(yè)資源規(guī)劃(ERP)系統(tǒng)、客戶關(guān)系管理(CRM)系統(tǒng)、業(yè)務(wù)線(L0B)系統(tǒng)等之類的業(yè)務(wù)系統(tǒng)。這些類型的計算機系統(tǒng)可能是相當(dāng)大的。例如,某些這樣的系統(tǒng)可包括表示業(yè)務(wù)系統(tǒng)的不同項的成千上萬的不同表單。這樣的項可包括實體,實體是表示底層項的數(shù)據(jù)記錄。例如,客戶實體是描述并表示客戶的業(yè)務(wù)記錄。供應(yīng)商實體包括描述并表示供應(yīng)商的信息。產(chǎn)品實體描述并表示產(chǎn)品,庫存實體描述庫存的某些方面,機會實體描述并表示業(yè)務(wù)機會,報價實體描述并表示對客戶作出的報價等等。
[0004]這些實體中的每一個都可具有相關(guān)聯(lián)的表單。此外,這些表單可與各種業(yè)務(wù)活動相關(guān)。例如,訂單表單可表示描述一訂單的底層訂單實體。
[0005]這些不同類型的表單中的每一個可具有應(yīng)用于它的相關(guān)聯(lián)的業(yè)務(wù)邏輯規(guī)則。作為示例,業(yè)務(wù)邏輯規(guī)則可指示出在一定準則下給定表單上要示出什么字段。同樣,業(yè)務(wù)邏輯規(guī)則可實現(xiàn)某些確認,或者它們可實現(xiàn)各種各樣的其他業(yè)務(wù)邏輯
[0006]業(yè)務(wù)系統(tǒng)也常常運行在多個上下文中。例如,業(yè)務(wù)系統(tǒng)可由使用web瀏覽器、個人信息管理器或允許用戶查看表單的另一類型的應(yīng)用來訪問系統(tǒng)的最終用戶訪問,并可供該最終用戶使用。此外,業(yè)務(wù)系統(tǒng)可由用戶通過具有移動配套應(yīng)用的用戶設(shè)備來訪問。作為另一示例,業(yè)務(wù)系統(tǒng)可由開發(fā)、定制或以其他方式修改或管理系統(tǒng)的軟件開發(fā)者訪問。
[0007]這些不同的客戶端(web客戶端、移動客戶端以及服務(wù)器客戶端)通常使用顯著不同的代碼語言來操作。作為示例,web客戶端和移動客戶端可使用JAVA script來操作,而服務(wù)器客戶端使用C#來操作。這些僅僅是示例,客戶端也可使用各種各樣的不同類型的語言。在客戶端使用不同代碼語言操作的情況下,對應(yīng)的業(yè)務(wù)邏輯以全部那些不同語言被分開編碼。
[0008]提供以上討論僅用作一般的背景信息,并不旨在用作幫助來確定所要求保護的主題的范圍。
【發(fā)明內(nèi)容】
[0009]計算機系統(tǒng)中的記錄具有相關(guān)聯(lián)的邏輯規(guī)則??墒褂米匀徽Z言表達式來創(chuàng)建和修改邏輯規(guī)則。創(chuàng)建的或經(jīng)修改的邏輯被轉(zhuǎn)換成可在各自使用不同語言的多個不同的客戶端上運行的形式。
[0010]提供本概述以便以簡化形式介紹將在以下詳細描述中進一步描述的一些概念。該概述不旨在標識所要求保護的主題的關(guān)鍵特征或基本特征,也不旨在被用來幫助確定所要求保護的主題的范圍。所要求保護的主題不限于解決在背景中提及的任何或所有缺點的實現(xiàn)。
[0011]附圖簡沐
[0012]圖1是一個說明性業(yè)務(wù)系統(tǒng)架構(gòu)的框圖。
[0013]圖2是示出圖1中所示的架構(gòu)在創(chuàng)建應(yīng)用于表單的新業(yè)務(wù)邏輯時的操作的一個實施例的流程圖。
[0014]圖2A-2R是說明性用戶界面顯示。
[0015]圖3是例示出圖1中所示的業(yè)務(wù)系統(tǒng)架構(gòu)在允許用戶修改現(xiàn)有業(yè)務(wù)邏輯時的操作的一個實施例的流程圖。
[0016]圖3A-3F是說明性用戶界面顯示。
[0017]圖4是在各種其他架構(gòu)中部署的圖1中所示的架構(gòu)的一個實施例。
[0018]圖5-10示出了移動設(shè)備的各種實施例。
[0019]圖11是一個說明性計算環(huán)境的框圖。
[0020]詳細描沐
[0021]圖1是業(yè)務(wù)系統(tǒng)架構(gòu)100的一個說明性實施例的框圖。架構(gòu)100包括可分別由多個用戶104、106和108通過對應(yīng)的用戶設(shè)備110、112和114訪問以便進行業(yè)務(wù)操作的業(yè)務(wù)系統(tǒng)102。可看到用戶104、106和108使用不同的機制來訪問業(yè)務(wù)系統(tǒng)100。例如,用戶104使用設(shè)備114上的個人信息管理器。用戶106使用web瀏覽器116,而用戶108使用移動配套應(yīng)用120。移動配套應(yīng)用120說明性地是由業(yè)務(wù)系統(tǒng)102實現(xiàn)的業(yè)務(wù)應(yīng)用122的配套。
[0022]圖1還示出業(yè)務(wù)系統(tǒng)102說明性地可由開發(fā)者124通過包括開發(fā)者組件128的服務(wù)器(或服務(wù)器環(huán)境)126來訪問。開發(fā)者124使用開發(fā)者組件128來與業(yè)務(wù)系統(tǒng)102交互。
[0023]圖1還示出業(yè)務(wù)系統(tǒng)102說明性地可由另一用戶130訪問,該另一用戶可以是例如分析人員或不必知道如何編程(例如用戶130不需要是開發(fā)者124)但說明性地具有業(yè)務(wù)知識且知道如何在業(yè)務(wù)系統(tǒng)102中設(shè)置業(yè)務(wù)邏輯以及其他項的另一用戶。用戶130通過向系統(tǒng)102提供輸入來這樣做。在一個實施例中,它們是自然語言輸入或通過圖形用戶界面(⑶I)輸入機制132的輸入,這些輸入通過編輯器用戶界面顯示134,且具體地通過這些顯示上的用戶輸入機制136。
[0024]圖1還示出業(yè)務(wù)系統(tǒng)102說明性地包括處理器138、業(yè)務(wù)數(shù)據(jù)存儲140、編輯器組件142、一個或多個轉(zhuǎn)換組件144、以及用戶界面組件146。用戶界面組件146說明性地生成可被顯示給架構(gòu)100中的各種用戶和開發(fā)者的用戶界面顯示。它們可由其他組件生成,或者也可由其他設(shè)備中的界面組件生成。用戶界面顯示說明性地包括各種用戶和開發(fā)者為了操縱和控制業(yè)務(wù)系統(tǒng)102而可交互的用戶輸入機制。
[0025]用戶輸入機制可包括各種各樣的不同類型的用戶輸入機制,諸如按鈕、圖標、下拉菜單、復(fù)選框、文本框、磁貼、鏈接等。此外,用戶輸入機制可由用戶以各種不同方式來致動。例如,可使用指點設(shè)備(諸如鼠標、軌跡球等)來致動它們。此外,如果業(yè)務(wù)系統(tǒng)102 (或任何給定用戶使用的設(shè)備)包括語音識別組件,則用戶輸入機制可使用語音命令來致動。進一步,在用戶界面顯示被顯示在觸敏屏幕上的情況下,用戶輸入機制可使用觸摸姿勢(諸如用用戶的手指、指示筆等)來致動。
[0026]業(yè)務(wù)應(yīng)用122說明性地執(zhí)行業(yè)務(wù)操作以便進行圖1中所示的各種用戶和開發(fā)者的業(yè)務(wù)。業(yè)務(wù)應(yīng)用122可說明性地對業(yè)務(wù)數(shù)據(jù)存儲140中的業(yè)務(wù)數(shù)據(jù)起作用。業(yè)務(wù)數(shù)據(jù)說明性地包括實體150、工作流152、表單154(帶有相應(yīng)的業(yè)務(wù)邏輯156)以及由框158所指示的其他數(shù)據(jù)元素(諸如其他業(yè)務(wù)記錄等)。
[0027]圖1示出業(yè)務(wù)數(shù)據(jù)存儲140是單個數(shù)據(jù)存儲且它是業(yè)務(wù)系統(tǒng)102本地的。然而,它可以是多個不同的數(shù)據(jù)存儲,且它們?nèi)慷伎梢允菢I(yè)務(wù)系統(tǒng)102本地的,它們?nèi)靠梢允俏挥跇I(yè)務(wù)系統(tǒng)102遠程的,或者一些可以是本地的而其他是遠程的。
[0028]處理器138說明性地是具有相關(guān)聯(lián)的存儲器和時序電路(未分開示出)的計算機處理器。它說明性地是業(yè)務(wù)系統(tǒng)102的功能部件,并且由業(yè)務(wù)系統(tǒng)102中的其它組件、應(yīng)用或其他項的功能激活,并且促進所述功能。還應(yīng)注意,在一些實施例中,用戶設(shè)備110、112和114以及服務(wù)器126也將說明性地包括處理器,但是為了簡化起見它們未被示出。
[0029]在更詳細描述架構(gòu)100的操作之前,將首先提供簡要概覽。編輯器組件142說明性地使用用戶界面組件146來生成用戶界面顯示134供用戶130使用。在一個實施例中,用戶界面顯示134包括用戶輸入機制136,用戶輸入機制136允許用戶130提供自然語言輸入或⑶I輸入132以便創(chuàng)建與業(yè)務(wù)系統(tǒng)102所使用的表單154(或者實體或工作流或其他業(yè)務(wù)記錄)相關(guān)聯(lián)的新業(yè)務(wù)邏輯156。編輯器組件142還說明性地生成允許用戶130編輯現(xiàn)有業(yè)務(wù)邏輯156的用戶界面顯示。
[0030]—旦業(yè)務(wù)邏輯被生成或被編輯,編輯器組件142就說明性地自動生成中間代碼160,該中間代碼160然后被(一個或多個)轉(zhuǎn)換組件144自動轉(zhuǎn)換成可由用戶設(shè)備110、112和114中以及服務(wù)器環(huán)境126中的各種機制所使用的代碼?!白詣拥亍币馕吨旧鲜窃跊]有任何其他用戶參與或動作的情況下完成的。例如,在一個實施例中,轉(zhuǎn)換組件134包括將中間代碼160轉(zhuǎn)換成可由移動配套應(yīng)用120理解的代碼的組件。在另一實施例中,轉(zhuǎn)換組件144將中間代碼160轉(zhuǎn)換成可由web瀏覽器116理解的代碼,而在其他實施例中,轉(zhuǎn)換組件144將中間代碼160轉(zhuǎn)換成可由個人信息管理器114和/或開發(fā)者組件128理解的代碼。同樣,在一個實施例中,轉(zhuǎn)換組件144可直接操作用戶130提供的用戶輸入以生成用于各種客戶端的代碼,而沒有中間代碼被生成。
[0031]在當(dāng)前系統(tǒng)中,業(yè)務(wù)邏輯通常必須被兩個或更多個分開的個人來單獨編碼。編碼必須被生成來在各種用戶定義的各種上下文中實現(xiàn)業(yè)務(wù)邏輯的功能。例如,在圖1中所示的實施例中,業(yè)務(wù)邏輯(一旦由用戶130通過編輯器組件132提供)將需要被一分開的個人編碼成可由移動配套應(yīng)用120理解的代碼。它還必須分別地被編碼成可由web瀏覽器116理解的一不同語言、以及可由個人信息管理器114理解的又一語言、以及可由開發(fā)者組件128理解的甚至另一語言。這種類型的將相同功能編碼成所有這些多種不同上下文(或不同語言)的重復(fù)式人類編碼是耗時的、累贅的、且常常易于出錯。