專(zhuān)利名稱(chēng):面向服務(wù)的應(yīng)用系統(tǒng)及其通信方法、創(chuàng)建器和創(chuàng)建方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)應(yīng)用的技術(shù)領(lǐng)域,更具體地,涉及一種面向服務(wù)的應(yīng)用系統(tǒng)、該面 向服務(wù)的應(yīng)用系統(tǒng)的通信方法、用于創(chuàng)建該面向服務(wù)的應(yīng)用系統(tǒng)的方法以及用于創(chuàng)建該面 向服務(wù)的應(yīng)用的創(chuàng)建器。
背景技術(shù):
在傳統(tǒng)的應(yīng)用開(kāi)發(fā)過(guò)程中,通常首先調(diào)查用戶(hù)需求,然后基于用戶(hù)需求來(lái)設(shè)計(jì)數(shù) 據(jù)庫(kù),進(jìn)行應(yīng)用編程和用戶(hù)界面設(shè)計(jì)。通常,出于成本效益的考慮,在開(kāi)發(fā)這些應(yīng)用時(shí),總是 試圖處理諸如企業(yè)資源規(guī)劃、客戶(hù)關(guān)系管理、人力資源管理等不同業(yè)務(wù)功能中的類(lèi)似需求。 然而,實(shí)際上,通過(guò)這種方式開(kāi)發(fā)的打包軟件應(yīng)用在實(shí)際應(yīng)用時(shí),難以實(shí)現(xiàn)其預(yù)期的效果, 其主要原因如下。首先,各種業(yè)務(wù)信息的處理方式不同,難以實(shí)現(xiàn)統(tǒng)一化的處理。對(duì)于各種業(yè)務(wù)而 言,不管信息是來(lái)自不同工藝領(lǐng)域還是來(lái)自相同工業(yè)領(lǐng)域,對(duì)這些信息進(jìn)行處理的方式通 常是不同的,這是因?yàn)闃I(yè)務(wù)環(huán)境和業(yè)務(wù)實(shí)踐方面存在巨大差異。其次,軟件應(yīng)用過(guò)于繁雜。以上述方式形成的打包軟件試圖概括出各種不同的業(yè) 務(wù)功能的共同需求。然而,隨著軟件的使用,軟件應(yīng)用逐步升級(jí),最終導(dǎo)致大多數(shù)業(yè)務(wù)實(shí)際 上并不需要的功能組件越來(lái)越多。再者,存在數(shù)據(jù)整合問(wèn)題。針對(duì)各種業(yè)務(wù)開(kāi)發(fā)的打包軟件通常是按照不同的概念 并針對(duì)不同功能設(shè)計(jì)和開(kāi)發(fā)的,它們彼此之間通常不能通信。需要與多種業(yè)務(wù)相關(guān)的應(yīng)用 的用戶(hù)(諸如公司或企業(yè)等)通常需要購(gòu)買(mǎi)多種打包軟件,而由于這些打包軟件之間不能 通信,因此對(duì)于擁有多個(gè)這種打包軟件的用戶(hù)而言,在這些軟件之間會(huì)形成多個(gè)信息孤島。 當(dāng)公司擁有這樣的打包軟件時(shí),通常需要花費(fèi)大量的人力、物力來(lái)維護(hù)各個(gè)軟件相關(guān)的信 息,并且這些信息之間的完整性、一致性也難以得到保證,而且還存在大量冗余。另外,在軟件使用過(guò)程中不能以具有成本效益的方式來(lái)滿(mǎn)足用戶(hù)變化的需求。業(yè) 務(wù)信息通常是易變的,且具有內(nèi)部關(guān)聯(lián)性,但是基于預(yù)定的、剛性數(shù)據(jù)模型設(shè)計(jì)的打包軟 件,不能在使用過(guò)程中以期望的、適合的方式來(lái)關(guān)聯(lián)這些變化的信息。因此,根據(jù)現(xiàn)有技術(shù), 難以以較小的成本來(lái)滿(mǎn)足用戶(hù)的需求。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明旨在至少部分上解決上述提及的現(xiàn)有技術(shù)中開(kāi)發(fā)應(yīng)用以及使用 中的應(yīng)用所存在的問(wèn)題。為此,本發(fā)明提供了一種面向服務(wù)的應(yīng)用系統(tǒng)、面向服務(wù)的應(yīng)用系統(tǒng)的通信方法、 創(chuàng)建面向服務(wù)的應(yīng)用系統(tǒng)的方法和創(chuàng)建器。根據(jù)本發(fā)明的一個(gè)方面,提供了一種面向服務(wù)的應(yīng)用系統(tǒng),所述應(yīng)用系統(tǒng)包括一 個(gè)或多個(gè)應(yīng)用對(duì)象,每個(gè)應(yīng)用對(duì)象包括專(zhuān)用于存儲(chǔ)特定類(lèi)型數(shù)據(jù)的平面結(jié)構(gòu)數(shù)據(jù)單元; 用于存儲(chǔ)該數(shù)據(jù)單元中的數(shù)據(jù)與其他應(yīng)用對(duì)象中數(shù)據(jù)單元的數(shù)據(jù)之間關(guān)系的關(guān)系存儲(chǔ)單元;以及用于操作該數(shù)據(jù)單元中的數(shù)據(jù)和該關(guān)系存儲(chǔ)單元中的信息的應(yīng)用代碼模塊,其中, 所述應(yīng)用代碼模塊用于響應(yīng)于網(wǎng)絡(luò)服務(wù)請(qǐng)求,對(duì)平面結(jié)構(gòu)數(shù)據(jù)單元和/或關(guān)系存儲(chǔ)單元進(jìn) 行操作。根據(jù)本發(fā)明的一個(gè)實(shí)施方式,所述應(yīng)用對(duì)象包括平臺(tái),該平臺(tái)是一種應(yīng)用對(duì)象,包 括專(zhuān)用于存儲(chǔ)所述配置信息的平面結(jié)構(gòu)數(shù)據(jù)單元,以及其中,該平臺(tái)中的應(yīng)用代碼模塊用 于響應(yīng)于針對(duì)所述配置信息的網(wǎng)絡(luò)服務(wù)請(qǐng)求,查找相應(yīng)的配置信息,以便返回該配置信息。根據(jù)本發(fā)明的另一實(shí)施方式,所述平臺(tái)的關(guān)系存儲(chǔ)單元用于存儲(chǔ)其他應(yīng)用對(duì)象的 關(guān)系存儲(chǔ)單元中的信息。根據(jù)本發(fā)明的又一實(shí)施方式,所述應(yīng)用對(duì)象包括數(shù)據(jù)應(yīng)用對(duì)象,其包括專(zhuān)用于存 儲(chǔ)業(yè)務(wù)數(shù)據(jù)的平面結(jié)構(gòu)數(shù)據(jù)單元。根據(jù)本發(fā)明的再一實(shí)施方式,所述數(shù)據(jù)應(yīng)用對(duì)象進(jìn)一步包括專(zhuān)用于存儲(chǔ)所述配置 信息中與之相關(guān)的公共部分的平面結(jié)構(gòu)數(shù)據(jù)單元。根據(jù)本發(fā)明的另一實(shí)施方式,其中所述應(yīng)用進(jìn)一步包括中間件,用于把所述配置 信息轉(zhuǎn)換為能夠由與所述面向服務(wù)的應(yīng)用系統(tǒng)相關(guān)的各種客戶(hù)端應(yīng)用系統(tǒng)解釋的通用格 式的信息。根據(jù)本發(fā)明的又一實(shí)施方式,其中所述應(yīng)用進(jìn)一步包括適配器,用于將來(lái)自第三 方系統(tǒng)的網(wǎng)絡(luò)服務(wù)請(qǐng)求或所返回的網(wǎng)絡(luò)服務(wù)響應(yīng)轉(zhuǎn)換成格式適合于所述面向服務(wù)的應(yīng)用 系統(tǒng)或者適合于與所述面向服務(wù)的應(yīng)用系統(tǒng)相關(guān)的客戶(hù)端應(yīng)用系統(tǒng)的信息;和/或?qū)⑺?面向服務(wù)的應(yīng)用系統(tǒng)或者所述客戶(hù)端應(yīng)用系統(tǒng)返回的網(wǎng)絡(luò)服務(wù)響應(yīng)或者發(fā)出的網(wǎng)絡(luò)服務(wù) 請(qǐng)求轉(zhuǎn)換成格式適合于第三方系統(tǒng)的信息。根據(jù)本發(fā)明的再一實(shí)施方式,其中,所述應(yīng)用代碼模塊用于進(jìn)行以下操作中的一 種或者多種向平面結(jié)構(gòu)數(shù)據(jù)單元添加數(shù)據(jù);刪除平面結(jié)構(gòu)數(shù)據(jù)單元中的數(shù)據(jù);更新平面 結(jié)構(gòu)數(shù)據(jù)單元中的數(shù)據(jù);檢索平面結(jié)構(gòu)數(shù)據(jù)單元中的數(shù)據(jù);向關(guān)系存儲(chǔ)單元添加信息;刪 除關(guān)系存儲(chǔ)單元中的信息;更新關(guān)系存儲(chǔ)單元中的信息;以及檢索關(guān)系存儲(chǔ)單元中的信 肩、ο根據(jù)本發(fā)明的另一方面,提供了一種面向服務(wù)的應(yīng)用系統(tǒng)的通信方法,其中,所述 面向服務(wù)的應(yīng)用系統(tǒng)包括一個(gè)或多個(gè)應(yīng)用對(duì)象,每個(gè)應(yīng)用對(duì)象包括專(zhuān)用于存儲(chǔ)特定類(lèi)型數(shù) 據(jù)的平面結(jié)構(gòu)數(shù)據(jù)單元、用于存儲(chǔ)該數(shù)據(jù)單元中的數(shù)據(jù)與其他應(yīng)用對(duì)象中數(shù)據(jù)單元的數(shù)據(jù) 之間關(guān)系的關(guān)系存儲(chǔ)單元、以及用于操作該數(shù)據(jù)單元中的數(shù)據(jù)和該關(guān)系存儲(chǔ)單元中的信息 的應(yīng)用代碼模塊,所述方法包括響應(yīng)于網(wǎng)絡(luò)服務(wù)請(qǐng)求,通過(guò)應(yīng)用代碼模塊對(duì)平面結(jié)構(gòu)數(shù)據(jù) 單元和/或關(guān)系存儲(chǔ)單元進(jìn)行操作。根據(jù)本發(fā)明的又一方面,提供了一種用于創(chuàng)建面向服務(wù)的應(yīng)用系統(tǒng)的方法,包括 選擇一個(gè)或多個(gè)應(yīng)用模板,其中,所述應(yīng)用模板包括用戶(hù)界面、應(yīng)用對(duì)象和相應(yīng)動(dòng)作,該應(yīng) 用對(duì)象包括專(zhuān)用于存儲(chǔ)特定類(lèi)型數(shù)據(jù)的平面結(jié)構(gòu)數(shù)據(jù)單元、用于存儲(chǔ)該數(shù)據(jù)單元中的數(shù) 據(jù)與其他應(yīng)用對(duì)象中數(shù)據(jù)單元的數(shù)據(jù)之間關(guān)系的關(guān)系存儲(chǔ)單元、以及用于操作該數(shù)據(jù)單元 中的數(shù)據(jù)和該關(guān)系存儲(chǔ)單元中的信息的應(yīng)用代碼模塊;針對(duì)用戶(hù)的需求對(duì)所述應(yīng)用模板進(jìn) 行配置,以生成針對(duì)所述用戶(hù)的配置信息;以及將所述應(yīng)用模板和所述配置信息打包,以生 成適合用戶(hù)的需求的應(yīng)用包。根據(jù)本發(fā)明的一個(gè)實(shí)施方式,所述方法進(jìn)一步包括針對(duì)所述應(yīng)用包執(zhí)行部署,以
7便為用戶(hù)提供所述面向服務(wù)的應(yīng)用系統(tǒng)。根據(jù)本發(fā)明的另一實(shí)施方式,所述方法進(jìn)一步包括保存所述應(yīng)用包,以便于隨后 創(chuàng)建其他應(yīng)用;和/或?qū)С鏊鰬?yīng)用包,以供外部應(yīng)用創(chuàng)建人員使用。根據(jù)本發(fā)明的又一實(shí)施方式,其中,選擇一個(gè)或多個(gè)應(yīng)用模板包括以下操作中的 一種或者多種從存儲(chǔ)庫(kù)中選擇用戶(hù)界面、應(yīng)用對(duì)象以及相應(yīng)動(dòng)作中的一種或者多種;從 存儲(chǔ)庫(kù)中選擇預(yù)定義的應(yīng)用包;以及從外部導(dǎo)入預(yù)定義的應(yīng)用包,其中,所述預(yù)定義的應(yīng)用 包包括用于實(shí)現(xiàn)特定功能的多個(gè)應(yīng)用模板,或者包括實(shí)現(xiàn)特定功能的多個(gè)應(yīng)用模板以及相 關(guān)的配置信息。根據(jù)本發(fā)明的再一實(shí)施方式,其中,對(duì)所述應(yīng)用模板進(jìn)行配置包括以下操作中的 一種或者多種刪除所述用戶(hù)界面、所述應(yīng)用對(duì)象、所述動(dòng)作中至少一個(gè);修改所述用戶(hù)界 面、所述應(yīng)用對(duì)象、所述動(dòng)作中至少一個(gè);增加所述用戶(hù)界面、所述應(yīng)用對(duì)象、所述動(dòng)作中至 少一個(gè);以及設(shè)置網(wǎng)絡(luò)服務(wù)請(qǐng)求所遵循的協(xié)議。根據(jù)本發(fā)明的另一實(shí)施方式,其中,所生成的應(yīng)用包包括數(shù)據(jù)應(yīng)用對(duì)象,其包括 專(zhuān)用于存儲(chǔ)業(yè)務(wù)數(shù)據(jù)的平面結(jié)構(gòu)數(shù)據(jù)單元;和/或平臺(tái),該平臺(tái)是一種應(yīng)用對(duì)象,包括專(zhuān)用 于存儲(chǔ)所述配置信息的平面結(jié)構(gòu)數(shù)據(jù)單元。根據(jù)本發(fā)明的又一實(shí)施方式,其中,所述配置信息包括用戶(hù)界面信息和/或網(wǎng)絡(luò) 服務(wù)請(qǐng)求信息。根據(jù)本發(fā)明的又一方面,還提供了一種用于創(chuàng)建面向服務(wù)的應(yīng)用系統(tǒng)的創(chuàng)建器, 包括選擇裝置,用于選擇一個(gè)或多個(gè)應(yīng)用模板,其中,所述應(yīng)用模板包括用戶(hù)界面、應(yīng)用對(duì) 象和相應(yīng)動(dòng)作,該應(yīng)用對(duì)象包括專(zhuān)用于存儲(chǔ)特定類(lèi)型數(shù)據(jù)的平面結(jié)構(gòu)數(shù)據(jù)單元、用于存儲(chǔ) 該數(shù)據(jù)單元中的數(shù)據(jù)與其他應(yīng)用對(duì)象中數(shù)據(jù)單元的數(shù)據(jù)之間關(guān)系的關(guān)系存儲(chǔ)單元、以及用 于操作該數(shù)據(jù)單元的數(shù)據(jù)和關(guān)系存儲(chǔ)單元中的信息的應(yīng)用代碼模塊;配置裝置,用于針對(duì) 用戶(hù)的需求對(duì)所述應(yīng)用模板進(jìn)行配置,以生成針對(duì)所述用戶(hù)的配置信息;以及打包裝置,將 所述應(yīng)用模板和所述配置信息打包,以生成適合用戶(hù)的需求的應(yīng)用包。根據(jù)本發(fā)明,該面向服務(wù)的應(yīng)用系統(tǒng)主要由多個(gè)應(yīng)用對(duì)象構(gòu)成,并且優(yōu)選地包括 用于存儲(chǔ)配置信息的稱(chēng)作“平臺(tái)”的應(yīng)用對(duì)象。因此,基于這種結(jié)構(gòu),可以通過(guò)預(yù)先定義的 應(yīng)用模板來(lái)以快速、簡(jiǎn)單的方式(通過(guò)點(diǎn)擊、拖放等簡(jiǎn)單的鼠標(biāo)操作)來(lái)創(chuàng)建該面向服務(wù)的 應(yīng)用系統(tǒng)。另外,可以對(duì)選擇的預(yù)定義打包文件進(jìn)行修改以滿(mǎn)足特定用戶(hù)的需求,也可以通 過(guò)略微修改原先為其他用戶(hù)創(chuàng)建的應(yīng)用包來(lái)為另一用戶(hù)創(chuàng)建類(lèi)似的應(yīng)用。此外,還可以容 易地修改已有的面向服務(wù)的應(yīng)用系統(tǒng)來(lái)適應(yīng)客戶(hù)新的需求。根據(jù)本發(fā)明,相同類(lèi)型的業(yè)務(wù)數(shù)據(jù)(諸如聯(lián)系人信息)存儲(chǔ)在邏輯上為單個(gè)表或 者單個(gè)文件的同一平面結(jié)構(gòu)數(shù)據(jù)單元中,但該平面結(jié)構(gòu)數(shù)據(jù)單元、該應(yīng)用對(duì)象甚至整個(gè)網(wǎng) 絡(luò)應(yīng)用系統(tǒng)均可以位于網(wǎng)絡(luò)中的多個(gè)位置,換句話(huà)講,可以位于多個(gè)物理位置或者多個(gè)域 中。根據(jù)本發(fā)明,可以根據(jù)業(yè)務(wù)需求將各個(gè)平面結(jié)構(gòu)數(shù)據(jù)單元、各個(gè)應(yīng)用對(duì)象或整個(gè)網(wǎng)絡(luò)應(yīng) 用布置在單個(gè)位置或者多個(gè)位置,或布置在單個(gè)域中或者多個(gè)域中。例如,對(duì)于小型公司, 可以將它們存儲(chǔ)在單個(gè)位置,對(duì)于大型的國(guó)際性公司,則可以將其提供在多個(gè)位置。另外, 根據(jù)本發(fā)明,存儲(chǔ)在該單一邏輯表中的業(yè)務(wù)數(shù)據(jù)可以由針對(duì)不同業(yè)務(wù)的多個(gè)應(yīng)用共享,這 與利用不同概念針對(duì)不同業(yè)務(wù)分別開(kāi)發(fā)打包軟件傳統(tǒng)方式不同,根據(jù)該傳統(tǒng)方式,打包軟
8件是根據(jù)預(yù)定的、剛性數(shù)據(jù)模型基于不同理念針對(duì)不同業(yè)務(wù)而設(shè)計(jì)的,這些打包軟件之間 通常是不能通信的,更不能共享業(yè)務(wù)數(shù)據(jù)。所以,與傳統(tǒng)方式相比,在本發(fā)明的網(wǎng)絡(luò)應(yīng)用系 統(tǒng)中,業(yè)務(wù)數(shù)據(jù)不會(huì)出現(xiàn)信息孤島。因此,不會(huì)存在信息整合、數(shù)據(jù)完整性等方面的問(wèn)題,使 得用戶(hù)從維護(hù)數(shù)據(jù)完整性等繁雜的工作中解脫出來(lái),減少了成本,提供了效率。另外,根據(jù)本發(fā)明,不同的客戶(hù)端應(yīng)用系統(tǒng)(例如,用戶(hù)的客戶(hù)端應(yīng)用系統(tǒng)、該用 戶(hù)的提供商的客戶(hù)端應(yīng)用系統(tǒng)、該用戶(hù)的客戶(hù)的客戶(hù)端應(yīng)用系統(tǒng)和該用戶(hù)的合作方的客戶(hù) 端應(yīng)用系統(tǒng))可以對(duì)應(yīng)于一個(gè)面向服務(wù)的應(yīng)用系統(tǒng)中的不同應(yīng)用對(duì)象子集,這例如可以通 過(guò)裝載不同的配置信息來(lái)實(shí)現(xiàn)。因而,可以實(shí)現(xiàn)用戶(hù)的業(yè)務(wù)數(shù)據(jù)與其提供商、客戶(hù)、合作方 等的適當(dāng)共享。因此,本發(fā)明不但為用戶(hù)的公司帶來(lái)了諸多益處,而且為用戶(hù)的整個(gè)公司鏈 帶來(lái)了方便。根據(jù)本發(fā)明的優(yōu)選實(shí)施方式,還可以通過(guò)適配器使得本發(fā)明的網(wǎng)絡(luò)應(yīng)用系統(tǒng)中的 客戶(hù)端應(yīng)用系統(tǒng)和/或面向服務(wù)的應(yīng)用系統(tǒng)與第三方系統(tǒng)的相互通信。從而,可以將用戶(hù) 已有的業(yè)務(wù)系統(tǒng)與本發(fā)明的網(wǎng)絡(luò)應(yīng)用系統(tǒng)結(jié)合起來(lái)使用,從而節(jié)約成本。另外,通過(guò)使用適 配器可以使得本發(fā)明的網(wǎng)絡(luò)應(yīng)用系統(tǒng)可以適應(yīng)于任何變化,使得本發(fā)明的網(wǎng)絡(luò)應(yīng)用系統(tǒng)可 以利用諸如REST方式或者SOAP協(xié)議等適當(dāng)方式與第三方系統(tǒng)進(jìn)行數(shù)據(jù)交換,因此可以進(jìn) 一步避免信息孤島的問(wèn)題。
通過(guò)對(duì)結(jié)合附圖所示出的實(shí)施方式進(jìn)行詳細(xì)說(shuō)明,本發(fā)明的上述以及其他特征將 更加明顯,在本發(fā)明附圖中,相同的標(biāo)號(hào)表示相同或相似的部件。在附圖中,圖1示意性地示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式的網(wǎng)絡(luò)應(yīng)用系統(tǒng);圖2a至圖2d示意性地示出了根據(jù)本發(fā)明的應(yīng)用對(duì)象的示例;圖3示意性地示出用于說(shuō)明根據(jù)本發(fā)明的關(guān)系存儲(chǔ)單元的圖示;圖4示意性地示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式的網(wǎng)絡(luò)應(yīng)用系統(tǒng)的通信流程圖;圖5示意性地示出了根據(jù)本發(fā)明的另一實(shí)施方式的網(wǎng)絡(luò)應(yīng)用系統(tǒng);圖6示意性地示出了根據(jù)本發(fā)明的又一實(shí)施方式的網(wǎng)絡(luò)應(yīng)用系統(tǒng);圖7分別示出了第三方系統(tǒng)返回的XML文件和本發(fā)明的網(wǎng)絡(luò)應(yīng)用系統(tǒng)所能力理解 的文件格式;圖8分別示出了第三方系統(tǒng)和本發(fā)明的客戶(hù)端應(yīng)用系統(tǒng)的網(wǎng)絡(luò)服務(wù)請(qǐng)求和響應(yīng) 所使用的協(xié)議的示例性格式;圖9示意性地示出了根據(jù)本發(fā)明的再一實(shí)施方式的網(wǎng)絡(luò)應(yīng)用系統(tǒng);圖10示意性地示出了根據(jù)本發(fā)明的又一實(shí)施方式的網(wǎng)絡(luò)應(yīng)用系統(tǒng);圖11示意性地示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式的用于創(chuàng)建面向服務(wù)的應(yīng)用系 統(tǒng)的方法的流程圖;圖12示意性地示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式的用于創(chuàng)建面向服務(wù)的應(yīng)用系 統(tǒng)的創(chuàng)建器的方框圖;圖13示意性地示出了根據(jù)本發(fā)明的另一實(shí)施方式的用于創(chuàng)建面向服務(wù)的應(yīng)用系 統(tǒng)的創(chuàng)建器的方框圖;圖14示意性地示出了根據(jù)本發(fā)明的又一實(shí)施方式的用于創(chuàng)建面向服務(wù)的應(yīng)用系
9統(tǒng)的創(chuàng)建器的方框圖;圖15示意性地示出了根據(jù)本發(fā)明的再一實(shí)施方式的用于創(chuàng)建面向服務(wù)的應(yīng)用系 統(tǒng)的創(chuàng)建器的方框圖;以及圖16示意性示出了可以實(shí)現(xiàn)根據(jù)本發(fā)明的實(shí)施方式的計(jì)算設(shè)備的結(jié)構(gòu)方框圖。
具體實(shí)施例方式接著,將參考附圖通過(guò)實(shí)施方式來(lái)描述本發(fā)明提供的面向服務(wù)的應(yīng)用系統(tǒng)、該面 向服務(wù)的應(yīng)用系統(tǒng)的通信方法、用于創(chuàng)建面向服務(wù)的應(yīng)用系統(tǒng)的方法及用于創(chuàng)建面向服務(wù) 的應(yīng)用系統(tǒng)的創(chuàng)建器。首先,為了更加清楚和方便地描述根據(jù)本發(fā)明的面向服務(wù)的應(yīng)用系統(tǒng)及通信方 法,將通過(guò)參考圖1至圖10描述根據(jù)本發(fā)明的實(shí)施例的網(wǎng)絡(luò)應(yīng)用系統(tǒng)及其通信方法,來(lái)描 述面向服務(wù)的應(yīng)用系統(tǒng)及其通信方法。參考圖1,圖1示意性地示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式的網(wǎng)絡(luò)應(yīng)用系統(tǒng)。如 圖1所示,網(wǎng)絡(luò)應(yīng)用系統(tǒng)100包括客戶(hù)端應(yīng)用系統(tǒng)110、面向服務(wù)的應(yīng)用系統(tǒng)120,其中,該 面向服務(wù)的應(yīng)用系統(tǒng)120包括應(yīng)用對(duì)象130a、130b. .. 130η??蛻?hù)端應(yīng)用系統(tǒng)110與面向服 務(wù)的應(yīng)用120之間通過(guò)網(wǎng)絡(luò)140通信。網(wǎng)絡(luò)140可以是任何類(lèi)型的網(wǎng)絡(luò),或者是由能夠彼此通信的設(shè)備組成的網(wǎng)絡(luò)的組 合。例如,網(wǎng)絡(luò)140可以是傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)網(wǎng)絡(luò),諸如統(tǒng)稱(chēng)被稱(chēng)作是“因 特網(wǎng)”的全球互聯(lián)網(wǎng)??蛻?hù)端應(yīng)用系統(tǒng)110可以是能夠操控直接或間接運(yùn)行在任何操作系統(tǒng)上的內(nèi)容 和布局的任何網(wǎng)絡(luò)客戶(hù)端應(yīng)用。該網(wǎng)絡(luò)客戶(hù)端應(yīng)用110可以是利用或者不利用網(wǎng)絡(luò)瀏覽 器來(lái)運(yùn)行的富互聯(lián)網(wǎng)應(yīng)用(RIA),例如Flash應(yīng)用、Java應(yīng)用、JavaFX應(yīng)用、Adobe Flex/ AIR應(yīng)用、Microsoft Silverlight應(yīng)用等,其中富互聯(lián)網(wǎng)應(yīng)用可以運(yùn)行專(zhuān)用的網(wǎng)絡(luò)瀏覽 器插件上,或者經(jīng)由保證程序安全運(yùn)行的砂盒(sandbox)來(lái)獨(dú)立運(yùn)行;或者,可以是例如 Javascript應(yīng)用、VBScript應(yīng)用等在網(wǎng)絡(luò)瀏覽器上運(yùn)行的腳本應(yīng)用;或者,可以是以例 如.NET、Java, C、C++、Ruby、Python等各種編程技術(shù)開(kāi)發(fā)的直接在操作系統(tǒng)上運(yùn)行的其他 應(yīng)用。并且該網(wǎng)絡(luò)客戶(hù)端應(yīng)用可以任何基于網(wǎng)絡(luò)的應(yīng)用,其基于Windows操作系統(tǒng),基于 Linux系統(tǒng),或者基于其他任何適當(dāng)?shù)牟僮飨到y(tǒng)。該客戶(hù)端應(yīng)用系統(tǒng)110甚至可以鏈接到任 何適當(dāng)站點(diǎn)(例如公司網(wǎng)站、博客或者是阿里巴巴或易趣等大商業(yè)網(wǎng)站等)中的小應(yīng)用,以 方便使用。例如,用戶(hù)可以將其產(chǎn)品目錄以及在線(xiàn)查詢(xún)和支付“掛”到它們的合作方網(wǎng)站上 以方便使用。該客戶(hù)端應(yīng)用系統(tǒng)110被實(shí)現(xiàn)為向面向服務(wù)的應(yīng)用系統(tǒng)120發(fā)出網(wǎng)絡(luò)服務(wù)請(qǐng)求, 諸如請(qǐng)求面向服務(wù)的應(yīng)用系統(tǒng)120中相應(yīng)的應(yīng)用對(duì)象以添加數(shù)據(jù)、刪除數(shù)據(jù)、檢索數(shù)據(jù)、更 新數(shù)據(jù)等,以及接收來(lái)自應(yīng)用對(duì)象的網(wǎng)絡(luò)服務(wù)響應(yīng),諸如返回的檢索數(shù)據(jù)等。客戶(hù)端應(yīng)用系統(tǒng)110可以被配置為通過(guò)裝載配置信息而開(kāi)始操作。該配置信息決 定了客戶(hù)端應(yīng)用系統(tǒng)110如何與用戶(hù)交互以及如何發(fā)起網(wǎng)絡(luò)服務(wù)請(qǐng)求。關(guān)于配置信息將在 下文中詳細(xì)描述。客戶(hù)端應(yīng)用系統(tǒng)110可以運(yùn)行在任何設(shè)備或者系統(tǒng)上,只要該設(shè)備或系統(tǒng)能夠支 持該客戶(hù)端應(yīng)用系統(tǒng)與面向服務(wù)的應(yīng)用系統(tǒng)之間的通信。該設(shè)備或者系統(tǒng)可以是個(gè)人計(jì)算機(jī),例如臺(tái)式計(jì)算機(jī);手持計(jì)算設(shè)備,諸如像是iPhone、黑莓、安裝了 Window Mobile系統(tǒng)的 手機(jī)、智能手機(jī)等的移動(dòng)電話(huà);便攜式計(jì)算設(shè)備,諸如筆記本電腦、上網(wǎng)本電腦;以及工作 站、計(jì)算設(shè)備網(wǎng)絡(luò)等。面向服務(wù)的應(yīng)用系統(tǒng)120包括一個(gè)或多個(gè)應(yīng)用對(duì)象130a、130b. . . 130η。在本發(fā)明 中,“應(yīng)用對(duì)象”也可以稱(chēng)作是“構(gòu)件塊”服務(wù)器應(yīng)用,可以通過(guò)這些“構(gòu)建塊”服務(wù)器應(yīng)用的 不同組合來(lái)構(gòu)建針對(duì)不同功能需求的解決方案。下面,將參考圖2a至圖2d來(lái)詳細(xì)描述用 于構(gòu)成面向服務(wù)的應(yīng)用系統(tǒng)120的應(yīng)用對(duì)象。參考圖2,圖2a至圖2d示意性地示出了根據(jù)本發(fā)明的應(yīng)用對(duì)象的示例。如圖2a 所示,應(yīng)用對(duì)象200可以包括平面結(jié)構(gòu)數(shù)據(jù)單元201、關(guān)系存儲(chǔ)單元202以及應(yīng)用代碼模塊 203。其中平面結(jié)構(gòu)數(shù)據(jù)單元201可以專(zhuān)用于存儲(chǔ)特定類(lèi)型數(shù)據(jù),諸如聯(lián)系人信息、訂單信 息、項(xiàng)目信息、與應(yīng)用相關(guān)的配置信息等中的一種;關(guān)系存儲(chǔ)單元202可以用于存儲(chǔ)該平面 結(jié)構(gòu)數(shù)據(jù)單元201中的數(shù)據(jù)與其他應(yīng)用對(duì)象中平面結(jié)構(gòu)數(shù)據(jù)單元中的數(shù)據(jù)之間的關(guān)系;而 應(yīng)用代碼模塊203可以用于操作該平面結(jié)構(gòu)數(shù)據(jù)單元201中的數(shù)據(jù)以及關(guān)系存儲(chǔ)單元202 中的信息,諸如向平面結(jié)構(gòu)數(shù)據(jù)單元201和/或關(guān)系存儲(chǔ)單元202中添加數(shù)據(jù)等。如圖2b所示,應(yīng)用對(duì)象200可以運(yùn)行在支持系統(tǒng)210上,該支持系統(tǒng)210是指以 下特征的組合允許應(yīng)用對(duì)象200在其上運(yùn)行的任何平臺(tái),例如,操作系統(tǒng);允許關(guān)系存儲(chǔ) 單元202和平面結(jié)構(gòu)數(shù)據(jù)單元201駐留在其上的任何數(shù)據(jù)庫(kù)管理系統(tǒng),例如RDBMS,Oracle, DB2,MySQL,MS SQL 等;允許利用諸如 JavaScript、VBScript、. NET、Java、PHP、C、C++、Ruby、 Python等各種編程技術(shù)開(kāi)發(fā)的應(yīng)用代碼模塊在其上運(yùn)行的應(yīng)用框架;以及允許任何平臺(tái)、 數(shù)據(jù)庫(kù)管理系統(tǒng)以及應(yīng)用框架運(yùn)行的設(shè)備或者系統(tǒng)。應(yīng)用對(duì)象200所包括的平面結(jié)構(gòu)數(shù)據(jù)單元201可以是諸如簡(jiǎn)單的XML文件,或者 可以是諸如MySQL、MS SQL、Oracle, DB2等關(guān)系數(shù)據(jù)庫(kù)中的單個(gè)邏輯表結(jié)構(gòu)(盡管在物理 上該平面結(jié)構(gòu)數(shù)據(jù)單元可以通過(guò)在不同的位置儲(chǔ)存的表來(lái)實(shí)現(xiàn))。根據(jù)本發(fā)明,每個(gè)應(yīng)用對(duì) 象中的平面結(jié)構(gòu)數(shù)據(jù)單元201專(zhuān)用于存儲(chǔ)一種特定類(lèi)型的數(shù)據(jù),S卩,不同類(lèi)型的數(shù)據(jù)存儲(chǔ) 在不同應(yīng)用對(duì)象的平面結(jié)構(gòu)數(shù)據(jù)單元中,且不同應(yīng)用對(duì)象的平面結(jié)構(gòu)數(shù)據(jù)單元中存儲(chǔ)的數(shù) 據(jù)類(lèi)型互不相同。此外,與傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)還不同的是,平面結(jié)構(gòu)數(shù)據(jù)單元201中存儲(chǔ)的 數(shù)據(jù)與其他應(yīng)用對(duì)象的平面結(jié)構(gòu)數(shù)據(jù)單元中存儲(chǔ)的數(shù)據(jù)之間的關(guān)系并不是通過(guò)諸如在表 中加入諸如外鍵來(lái)表示,而是通過(guò)應(yīng)用對(duì)象200中包括的關(guān)系存儲(chǔ)單元202來(lái)表示,該關(guān)系 存儲(chǔ)單元將在后文中詳細(xì)描述。需要說(shuō)明的是,每個(gè)應(yīng)用對(duì)象200可以具有相同結(jié)構(gòu),S卩,每個(gè)應(yīng)用對(duì)象均可包括 平面結(jié)構(gòu)數(shù)據(jù)單元201、關(guān)系存儲(chǔ)單元202和應(yīng)用代碼模塊203。但是,各個(gè)平面結(jié)構(gòu)數(shù)據(jù) 單元201可以具有不同內(nèi)部結(jié)構(gòu),例如,單個(gè)邏輯表形式的平面結(jié)構(gòu)數(shù)據(jù)單元201可以具有 不同類(lèi)型和不同數(shù)量的字段,以便存儲(chǔ)不同類(lèi)型的數(shù)據(jù),諸如聯(lián)系人信息、訂單信息、項(xiàng)目 信息、與面向服務(wù)的應(yīng)用系統(tǒng)對(duì)應(yīng)的客戶(hù)端應(yīng)用系統(tǒng)的配置信息等。如圖2c所示,應(yīng)用對(duì)象200a中的平面結(jié)構(gòu)數(shù)據(jù)單元201a專(zhuān)用于存儲(chǔ)客戶(hù)端應(yīng)用 系統(tǒng)的配置信息,其中,該配置信息可以供客戶(hù)端應(yīng)用系統(tǒng)獲取以便啟動(dòng)客戶(hù)端應(yīng)用系統(tǒng)。 因此,在這種意義上講,也可以將該應(yīng)用對(duì)象200a稱(chēng)作為“平臺(tái)”。而如圖2d所示,應(yīng)用對(duì) 象200b中的平面結(jié)構(gòu)數(shù)據(jù)單元201b專(zhuān)用于存儲(chǔ)普通的業(yè)務(wù)數(shù)據(jù)時(shí),充當(dāng)為客戶(hù)端應(yīng)用系 統(tǒng)提供業(yè)務(wù)數(shù)據(jù)服務(wù)的功能,因此也可以將其稱(chēng)為“數(shù)據(jù)應(yīng)用對(duì)象”。
應(yīng)用對(duì)象200中包括的關(guān)系存儲(chǔ)單元202在本發(fā)明中起到了表示各個(gè)應(yīng)用對(duì)象中 平面結(jié)構(gòu)數(shù)據(jù)單元的數(shù)據(jù)之間的關(guān)系的作用。下面,將參考圖3對(duì)本發(fā)明的關(guān)系存儲(chǔ)單元 進(jìn)行更加詳細(xì)的描述。參考圖3,圖3示出了用于說(shuō)明根據(jù)本發(fā)明的關(guān)系存儲(chǔ)單元的圖示,其中關(guān)系存儲(chǔ) 單元是鏈接表。在圖3中,示出了數(shù)據(jù)應(yīng)用對(duì)象310中包括的平面結(jié)構(gòu)數(shù)據(jù)單元311和的 鏈接表312、數(shù)據(jù)應(yīng)用對(duì)象320中包括的平面結(jié)構(gòu)數(shù)據(jù)單元321和鏈接表322以及平臺(tái)330 中的鏈接表332。需要說(shuō)明的是,為了清楚起見(jiàn),沒(méi)有示出數(shù)據(jù)應(yīng)用對(duì)象310和320中的應(yīng) 用代碼模塊以及平臺(tái)中的平面結(jié)構(gòu)數(shù)據(jù)單元和應(yīng)用代碼模塊。如圖所示的鏈接表312和322分別用于存儲(chǔ)平面結(jié)構(gòu)數(shù)據(jù)單元311和321與其 他應(yīng)用對(duì)象中的平面結(jié)構(gòu)數(shù)據(jù)單元之間的鏈接關(guān)系。根據(jù)本發(fā)明的實(shí)施方式,如果一個(gè)平 面結(jié)構(gòu)數(shù)據(jù)單元的數(shù)據(jù)與其他應(yīng)用對(duì)象中平面結(jié)構(gòu)數(shù)據(jù)單元中的數(shù)據(jù)具有鏈接關(guān)系,則在 與這兩個(gè)平面結(jié)構(gòu)數(shù)據(jù)單元對(duì)應(yīng)的鏈接表中將會(huì)具有用于表示該鏈接關(guān)系的鏈接記錄。另 外,優(yōu)選地,在平臺(tái)330的中心鏈接表332中也保存與之相應(yīng)的鏈接記錄,利用該鏈接記錄, 可以在數(shù)據(jù)應(yīng)用對(duì)象中的鏈接記錄丟失時(shí)進(jìn)行記錄恢復(fù)。例如,如果平面結(jié)構(gòu)數(shù)據(jù)單元311中的數(shù)據(jù)記錄A與平面結(jié)構(gòu)數(shù)據(jù)單元321中的 數(shù)據(jù)記錄B鏈接,則在與平面結(jié)構(gòu)數(shù)據(jù)單元311對(duì)應(yīng)的鏈接表312中則存在這樣的鏈接記 錄,其包括作為主鍵的被鏈接記錄A的標(biāo)識(shí)、其中記錄B被鏈接的數(shù)據(jù)應(yīng)用對(duì)象320的標(biāo)識(shí) 以及被鏈接記錄B的標(biāo)識(shí);與平面結(jié)構(gòu)數(shù)據(jù)單元321對(duì)應(yīng)的鏈接表322中,也會(huì)存在相應(yīng)的 鏈接記錄,其包括作為主鍵的被鏈接記錄B的標(biāo)識(shí)、其中記錄A被鏈接的數(shù)據(jù)應(yīng)用對(duì)象310 的標(biāo)識(shí)以及被鏈接記錄A的標(biāo)識(shí);以及優(yōu)選地,在平臺(tái)330中的中心鏈接表332中也可以存 儲(chǔ)對(duì)應(yīng)的鏈接記錄,該鏈接記錄包括其中記錄A被鏈接的數(shù)據(jù)應(yīng)用對(duì)象310的標(biāo)識(shí)、被鏈接 記錄A的標(biāo)識(shí)、其中記錄B被鏈接的數(shù)據(jù)應(yīng)用對(duì)象320的標(biāo)識(shí)以及被鏈接記錄B的標(biāo)識(shí)。在需要將兩個(gè)記錄鏈接起來(lái)時(shí),可以通過(guò)分別在與這兩個(gè)平面結(jié)構(gòu)數(shù)據(jù)單元對(duì)應(yīng) 的兩個(gè)鏈接表中存儲(chǔ)這樣的兩條記錄、以及優(yōu)選地還在平臺(tái)的中心鏈接表中加入如上所述 的鏈接記路,來(lái)建立兩個(gè)記錄的連接關(guān)系,從而將兩條記錄鏈接起來(lái)。這樣,如果用戶(hù)想通過(guò)客戶(hù)端應(yīng)用系統(tǒng)查看與某條記錄相關(guān)的鏈接項(xiàng)目,則可在 與存儲(chǔ)該條記錄的平面結(jié)構(gòu)數(shù)據(jù)單元對(duì)應(yīng)的鏈接表中,查找主鍵為該條記錄的標(biāo)識(shí)的所有 鏈接記錄。然后,可以根據(jù)查找到的鏈接記錄中包括的、其中記錄被鏈接的應(yīng)用對(duì)象的標(biāo) 識(shí),向該應(yīng)用對(duì)象發(fā)出網(wǎng)絡(luò)服務(wù)請(qǐng)求,以便獲取被鏈接的記錄,該被鏈接記錄具有的標(biāo)識(shí)是 查找到鏈接記錄中所包括的被鏈接記錄的標(biāo)識(shí)。需要說(shuō)明的是,鏈接表只是用于存儲(chǔ)各個(gè)平面結(jié)構(gòu)數(shù)據(jù)單元的數(shù)據(jù)之間關(guān)系的關(guān) 系存儲(chǔ)單元的一個(gè)實(shí)例。本發(fā)明并不局限于此,也可以采用其他任何適當(dāng)?shù)募夹g(shù)來(lái)存儲(chǔ)這 些鏈接記錄,諸如可以采用像是XML文件等文件形式,只要能夠保存下這些鏈接信息即可。 關(guān)于實(shí)現(xiàn)鏈接記錄存儲(chǔ)的其他技術(shù)相關(guān)的細(xì)節(jié),對(duì)于本領(lǐng)域技術(shù)人員是已知的,此處不再 贅述。接下來(lái),將繼續(xù)參考圖2來(lái)描述根據(jù)本發(fā)明的應(yīng)用對(duì)象。返回圖2,應(yīng)用代碼模塊203配置用于響應(yīng)于諸如來(lái)自客戶(hù)端應(yīng)用系統(tǒng)或者其他 應(yīng)用對(duì)象的網(wǎng)絡(luò)服務(wù)請(qǐng)求(例如,REST方式或者SOAP協(xié)議的請(qǐng)求),來(lái)操作平面結(jié)構(gòu)數(shù)據(jù) 單元201中的數(shù)據(jù)和/或諸如鏈接表的關(guān)系存儲(chǔ)單元202中所存儲(chǔ)的信息的模塊??梢?br>
12根據(jù)實(shí)現(xiàn)所述支持系統(tǒng)210的技術(shù),利用諸如.NET、JAVA、PHP、C、C++、Ruby, Python等的 適當(dāng)技術(shù)來(lái)開(kāi)發(fā)應(yīng)用代碼模塊203。該應(yīng)用代碼模塊203可以包括對(duì)數(shù)據(jù)進(jìn)行基本操作的 基本方法,諸如創(chuàng)建、檢索、更新和刪除平面結(jié)構(gòu)數(shù)據(jù)單元中的數(shù)據(jù)和鏈接表中的鏈接信息 等,但并不局限于此。并且,這些基本方法可以被設(shè)計(jì)為支持諸如SOAP協(xié)議和/或REST方 式等任何格式的網(wǎng)絡(luò)服務(wù)請(qǐng)求,以便響應(yīng)于網(wǎng)絡(luò)服務(wù)請(qǐng)求對(duì)平面結(jié)構(gòu)數(shù)據(jù)單元中的數(shù)據(jù)或 關(guān)系存儲(chǔ)單元中的信息進(jìn)行操作。在該面向服務(wù)的應(yīng)用系統(tǒng)包括平臺(tái)的情況下,可以將平 臺(tái)中的應(yīng)用代碼模塊配置為響應(yīng)于針對(duì)所述配置信息的網(wǎng)絡(luò)服務(wù)請(qǐng)求,查找相應(yīng)的配置信 息,以便返回該配置信息。需要說(shuō)明,對(duì)于采用不同技術(shù)的平面結(jié)構(gòu)數(shù)據(jù)單元,所述基本方法的實(shí)現(xiàn)也不同, 諸如對(duì)于XML文件形式的平面結(jié)構(gòu)數(shù)據(jù)單元,基本方法中包括諸如Xquery等XML查詢(xún)語(yǔ) 言,而對(duì)于關(guān)系數(shù)據(jù)庫(kù)中的表形式的平面結(jié)構(gòu)數(shù)據(jù)單元,基本方法可以包括結(jié)構(gòu)化查詢(xún)語(yǔ) 言(SQL),這是本領(lǐng)域技術(shù)人員公知的,此處將不再贅述。另外,需要說(shuō)明的是,對(duì)于所有應(yīng)用對(duì)象而言,所有的應(yīng)用代碼模塊可以都是完全 相同的,這樣有助于加速部署過(guò)程。然而,本發(fā)明并不局限于此,而是可以針對(duì)各個(gè)應(yīng)用對(duì) 象配置不同的應(yīng)用代碼模塊。此外,還需要說(shuō)明的是,根據(jù)本發(fā)明的應(yīng)用對(duì)象(即平臺(tái)或者數(shù)據(jù)應(yīng)用對(duì)象)中的 每一個(gè)均可以位于一臺(tái)或者多臺(tái)設(shè)備上,并且一個(gè)或者多個(gè)應(yīng)用對(duì)象也可以位于單個(gè)設(shè)備 上。在上文中,對(duì)根據(jù)本發(fā)明的一個(gè)實(shí)施方式的網(wǎng)絡(luò)應(yīng)用系統(tǒng)進(jìn)行了描述,下面將參 考圖4來(lái)描述根據(jù)本發(fā)明的網(wǎng)絡(luò)應(yīng)用系統(tǒng)的通信方法。參考圖4,首先,在步驟401發(fā)出針對(duì)配置信息的請(qǐng)求,以便啟動(dòng)該客戶(hù)端應(yīng)用系 統(tǒng)。根據(jù)本發(fā)明的實(shí)施方式,客戶(hù)端應(yīng)用系統(tǒng)被配置成通過(guò)載入配置信息來(lái)啟動(dòng)。該 配置信息以包括用戶(hù)界面信息和/或網(wǎng)絡(luò)服務(wù)請(qǐng)求信息。用戶(hù)界面信息決定了客戶(hù)端應(yīng)用 系統(tǒng)如何與用戶(hù)交互,即應(yīng)該向用戶(hù)呈現(xiàn)什么樣的界面。網(wǎng)絡(luò)服務(wù)請(qǐng)求信息決定了如何發(fā) 起網(wǎng)絡(luò)服務(wù)請(qǐng)求,即應(yīng)該以什么上的協(xié)議發(fā)起請(qǐng)求,應(yīng)該發(fā)起什么請(qǐng)求。對(duì)于不同的用戶(hù), 配置信息可以是不同的,對(duì)于不同類(lèi)型的用戶(hù)設(shè)備也可以具有不同的配置信息,但是本發(fā) 明并不局限于此。該請(qǐng)求應(yīng)該具有用于存儲(chǔ)配置信息的實(shí)體可以解釋的格式,諸如可以是支持SOAP 協(xié)議和/或REST格式等任何格式的網(wǎng)絡(luò)服務(wù)請(qǐng)求,或者其他格式的請(qǐng)求。接著,在步驟402,響應(yīng)于針對(duì)配置信息的請(qǐng)求,返回包含該配置信息的響應(yīng)。在本發(fā)明的一個(gè)實(shí)施方式中,配置信息存儲(chǔ)在面向服務(wù)的應(yīng)用系統(tǒng)中的平臺(tái)130a 的平面結(jié)構(gòu)數(shù)據(jù)單元中。平臺(tái)130a中的應(yīng)用代碼模塊響應(yīng)于該請(qǐng)求,查找所請(qǐng)求的配置信 息,并將返回所找到的配置信息。然后,在步驟403,基于所述配置信息啟動(dòng)客戶(hù)端應(yīng)用系統(tǒng)。根據(jù)所接收到的配置 信息中的用戶(hù)界面信息,客戶(hù)端應(yīng)用系統(tǒng)被啟動(dòng),并為用戶(hù)顯示相應(yīng)的用戶(hù)界面,以便進(jìn)行 交互。接下來(lái),在步驟404,客戶(hù)端應(yīng)用系統(tǒng)發(fā)出網(wǎng)絡(luò)服務(wù)請(qǐng)求。在用戶(hù)通過(guò)客戶(hù)端應(yīng)用系統(tǒng)所呈現(xiàn)的用戶(hù)界面進(jìn)行交互的過(guò)程中,可以通過(guò)觸發(fā)用戶(hù)界面上的組件,來(lái)發(fā)出網(wǎng)絡(luò)服務(wù)請(qǐng)求。該網(wǎng)絡(luò)服務(wù)請(qǐng)求可以基于配置信息中的網(wǎng)絡(luò)服 務(wù)請(qǐng)求信息而發(fā)出,其是與該組件對(duì)應(yīng)的、具有網(wǎng)絡(luò)服務(wù)請(qǐng)求信息中所定義的格式的網(wǎng)絡(luò) 服務(wù)請(qǐng)求。然后,在步驟405,響應(yīng)于該網(wǎng)絡(luò)服務(wù)請(qǐng)求,通過(guò)應(yīng)用代碼模塊來(lái)執(zhí)行相應(yīng)操作, 以便返回相應(yīng)的網(wǎng)絡(luò)服務(wù)響應(yīng)。應(yīng)用代碼模塊被配置為能夠理解該網(wǎng)絡(luò)服務(wù)請(qǐng)求,然后根 據(jù)所要求的網(wǎng)絡(luò)服務(wù),對(duì)平面結(jié)構(gòu)數(shù)據(jù)單元和/或諸如鏈接表的關(guān)系存儲(chǔ)單元執(zhí)行基本操 作,諸如創(chuàng)建、刪除、查詢(xún)和更新等。然后,可以返回與該網(wǎng)絡(luò)服務(wù)請(qǐng)求對(duì)應(yīng)的網(wǎng)絡(luò)服務(wù)響應(yīng)。需要說(shuō)明的是,盡管對(duì)于本發(fā)明而言,優(yōu)選地是在平臺(tái)中存儲(chǔ)配置信息,然而本發(fā) 明并不局限于此,而是可以在網(wǎng)絡(luò)中的其他位置存儲(chǔ)該配置信息,只要該信息能夠由客戶(hù) 端應(yīng)用系統(tǒng)來(lái)獲取,該配置信息甚至還可以存儲(chǔ)在客戶(hù)端應(yīng)用系統(tǒng)所在的用戶(hù)設(shè)備中。另外,根據(jù)本發(fā)明,可以在一個(gè)網(wǎng)絡(luò)請(qǐng)求中對(duì)一個(gè)數(shù)據(jù)應(yīng)用對(duì)象執(zhí)行操作,例如, 向其添加數(shù)據(jù)。然而,也可以對(duì)若干數(shù)據(jù)應(yīng)用對(duì)象執(zhí)行多個(gè)操作,例如可以在添加數(shù)據(jù)的同 時(shí)建立連接關(guān)系。接下來(lái),將參考圖5來(lái)描述根據(jù)本發(fā)明的另一實(shí)施方式的網(wǎng)絡(luò)應(yīng)用系統(tǒng)。參考圖5,圖5示出了根據(jù)本發(fā)明的另一實(shí)施方式的網(wǎng)絡(luò)應(yīng)用系統(tǒng)500。在圖5所 示的網(wǎng)絡(luò)應(yīng)用系統(tǒng)中,包括在諸如臺(tái)式計(jì)算機(jī)、膝上型計(jì)算和手持設(shè)備等各種不同硬件設(shè)
備上運(yùn)行的不同客戶(hù)端應(yīng)用系統(tǒng)510a.....510m。在面向服務(wù)的應(yīng)用系統(tǒng)520中的平臺(tái)
530a中,存儲(chǔ)了與各個(gè)客戶(hù)端應(yīng)用系統(tǒng)510a.....510m對(duì)應(yīng)的配置信息。在客戶(hù)端應(yīng)用系
統(tǒng)510啟動(dòng)之前,客戶(hù)端應(yīng)用系統(tǒng)會(huì)向平臺(tái)530a發(fā)送針對(duì)配置信息的網(wǎng)絡(luò)服務(wù)請(qǐng)求,平臺(tái) 530a會(huì)響應(yīng)于該網(wǎng)絡(luò)服務(wù)請(qǐng)求,向該客戶(hù)端返回與之相應(yīng)的配置信息。然而,由于硬件設(shè)備的限制,通常在諸如手持設(shè)備上的用戶(hù)設(shè)備中需安裝簡(jiǎn)化版 的客戶(hù)端系統(tǒng),而此時(shí)可能會(huì)出現(xiàn)不能解釋來(lái)自平臺(tái)530a的配置信息等的問(wèn)題。為此,在 面向服務(wù)的應(yīng)用系統(tǒng)520中,還包括有中間件550,用于允許在不同硬件設(shè)備上運(yùn)行的客戶(hù) 端應(yīng)用系統(tǒng)510a、. . . 510m可以訪(fǎng)問(wèn)本發(fā)明的面向服務(wù)的應(yīng)用系統(tǒng)520。中間件550與應(yīng) 用對(duì)象類(lèi)似,可以運(yùn)行在前述的支持系統(tǒng)210上,并且與應(yīng)用對(duì)象類(lèi)似,中間件也550可以 根據(jù)實(shí)現(xiàn)所述支持系統(tǒng)210的技術(shù),利用諸如.NET、JAVA、PHP、C、C++、Ruby,Python等的適 當(dāng)技術(shù)來(lái)開(kāi)發(fā)。在客戶(hù)端應(yīng)用系統(tǒng)不能解釋配置信息時(shí),可以請(qǐng)求中間件550的輔助,中間件可 以將所述配置信息轉(zhuǎn)換為客戶(hù)端應(yīng)用系統(tǒng)能夠理解格式的信息,諸如在客戶(hù)端應(yīng)用系統(tǒng)利 用瀏覽器來(lái)運(yùn)行時(shí),可以轉(zhuǎn)換為通用HTML標(biāo)簽。在根據(jù)本發(fā)明的另一實(shí)施方式中,在客戶(hù) 端應(yīng)用系統(tǒng)不能解釋配置信息時(shí),可以向平臺(tái)530a發(fā)出需要執(zhí)行格式轉(zhuǎn)換的網(wǎng)絡(luò)服務(wù)請(qǐng) 求,或者在客戶(hù)端應(yīng)用系統(tǒng)發(fā)出針對(duì)配置信息的網(wǎng)絡(luò)請(qǐng)求中要求執(zhí)行格式轉(zhuǎn)換。平臺(tái)530a 會(huì)將配置信息發(fā)送給中間件550,以便進(jìn)行格式轉(zhuǎn)換。然后,中間件550可以將經(jīng)過(guò)格式轉(zhuǎn) 換的配置信息發(fā)送到相應(yīng)的客戶(hù)端應(yīng)用系統(tǒng),或者平臺(tái)通知相應(yīng)的客戶(hù)端應(yīng)用系統(tǒng)從中間 件550處獲取配置信息。在本發(fā)明的又一實(shí)施方式中,客戶(hù)端應(yīng)用系統(tǒng)可以直接向中間件 550請(qǐng)求配置信息;中間件550基于該配置請(qǐng)求與平臺(tái)530a通信,并從其獲取相應(yīng)的配置 信息;然后,中間件550對(duì)所獲取的配置信息執(zhí)行數(shù)據(jù)格式轉(zhuǎn)換,并將經(jīng)過(guò)格式轉(zhuǎn)換的配置 信息發(fā)送給客戶(hù)端應(yīng)用系統(tǒng)。
14
在上述實(shí)施例中,中間件550是一個(gè)單獨(dú)部件,然而需要說(shuō)明的是,中間件550也 可以與平臺(tái)530a集成在一起。這樣,客戶(hù)端應(yīng)用系統(tǒng)直接向平臺(tái)530a請(qǐng)求配置,如果需要 轉(zhuǎn)換則可以由包括在平臺(tái)530a中的中間件進(jìn)行格式轉(zhuǎn)換,如果不需要?jiǎng)t可以繞過(guò)該中間 件經(jīng)由網(wǎng)絡(luò)540將配置信息直接發(fā)送給客戶(hù)端應(yīng)用系統(tǒng)。此外,圖6還示出了根據(jù)本發(fā)明的又一實(shí)施方式的網(wǎng)絡(luò)應(yīng)用系統(tǒng)600。在圖6示 出的網(wǎng)絡(luò)應(yīng)用系統(tǒng)600中,除了客戶(hù)端應(yīng)用系統(tǒng)和相應(yīng)的面向服務(wù)的應(yīng)用系統(tǒng)外,還存在 第三方系統(tǒng)680。該第三方系統(tǒng)例如是與客戶(hù)端應(yīng)用系統(tǒng)的用戶(hù)屬于共同體的其他方(諸 如該公司的客戶(hù)、供應(yīng)商、合作方等)的系統(tǒng),或者該公司中的其他部門(mén)的系統(tǒng)等。第三方 系統(tǒng)通常是與本發(fā)明的系統(tǒng)不同的應(yīng)用,因此它們所采用的網(wǎng)絡(luò)服務(wù)請(qǐng)求很可能與本發(fā)明 的基于平面結(jié)構(gòu)數(shù)據(jù)單元的面向服務(wù)的應(yīng)用系統(tǒng)不同。第三方系統(tǒng)的網(wǎng)絡(luò)服務(wù)請(qǐng)求以及他 們所能夠解釋的響應(yīng)通常是具有結(jié)構(gòu)層次的,而由于本發(fā)明是基于平面結(jié)構(gòu)數(shù)據(jù)單元,所 以本發(fā)明的網(wǎng)絡(luò)服務(wù)請(qǐng)求和返回的網(wǎng)絡(luò)服務(wù)響應(yīng)均是無(wú)層次。如圖7所示,XMLm 701例如 可以是第三方所返回的響應(yīng),該文件中的數(shù)據(jù)信息是具有層次結(jié)構(gòu)關(guān)系的,而與之對(duì)應(yīng)的 XML1702a、XML2702b和中心鏈接702c中的每個(gè)均是無(wú)結(jié)構(gòu)層次的文件,即平面XML文件, XML1702a和XML2702b之間的關(guān)系(層次結(jié)構(gòu))通過(guò)中心鏈接702c來(lái)表示。因此,這兩種 格式的信息通常是不能為彼此所理解的。另外,在第三方系統(tǒng)與客戶(hù)端應(yīng)用系統(tǒng)通信時(shí),即 使他們的網(wǎng)絡(luò)服務(wù)請(qǐng)求和響應(yīng)同樣是基于本發(fā)明的平面結(jié)構(gòu)數(shù)據(jù)單元,但他們所使用的協(xié) 議也可能不同。圖8以示例性的方式示出了這種情況,例如客戶(hù)端應(yīng)用系統(tǒng)所使用的網(wǎng)路 服務(wù)服務(wù)請(qǐng)求是如801所示的REST方式的請(qǐng)求,而第三方系統(tǒng)所使用的網(wǎng)絡(luò)服務(wù)請(qǐng)求是如 802所示的SOAP協(xié)議的請(qǐng)求。因此,在這種情況下,這也可能造成第三方系統(tǒng)與本發(fā)明的網(wǎng) 絡(luò)應(yīng)用系統(tǒng)彼此之間的通信障礙。因此,為了使得第三方能夠訪(fǎng)問(wèn)該面向服務(wù)的應(yīng)用系統(tǒng),本發(fā)明提供了一種網(wǎng)絡(luò) 服務(wù)適配器,將來(lái)自第三方系統(tǒng)的網(wǎng)絡(luò)服務(wù)請(qǐng)求或所返回的網(wǎng)絡(luò)服務(wù)響應(yīng)轉(zhuǎn)換成格式適合 于所述面向服務(wù)的應(yīng)用系統(tǒng)或者適合于與所述面向服務(wù)的應(yīng)用系統(tǒng)對(duì)應(yīng)的客戶(hù)端應(yīng)用系 統(tǒng)的信息;和/或?qū)⑺雒嫦蚍?wù)的應(yīng)用系統(tǒng)或者所述客戶(hù)端應(yīng)用系統(tǒng)返回的網(wǎng)絡(luò)服務(wù)響 應(yīng)或者發(fā)出的網(wǎng)絡(luò)服務(wù)請(qǐng)求轉(zhuǎn)換成格式適合于第三方系統(tǒng)的信息。例如,可以將REST方式 的請(qǐng)求轉(zhuǎn)換為能夠被理解的SOAP協(xié)議的請(qǐng)求,將本發(fā)明的系統(tǒng)返回的無(wú)層次的XML文件整 合為第三系統(tǒng)能夠理解的具有層級(jí)結(jié)構(gòu)的XML文件,反之亦然。這樣,就使得第三方能夠與客戶(hù)端應(yīng)用系統(tǒng)和/或數(shù)據(jù)應(yīng)用對(duì)象通信。在用戶(hù)已 經(jīng)擁有了一些業(yè)務(wù)系統(tǒng)的情況下,通過(guò)網(wǎng)絡(luò)服務(wù)適配器可以將已有的這些業(yè)務(wù)系統(tǒng)與本發(fā) 明的網(wǎng)絡(luò)應(yīng)用系統(tǒng)整合起來(lái),從而節(jié)約了用戶(hù)公司的資源,避免了重復(fù)投資造成的浪費(fèi)。需要說(shuō)明的是,該適配器可以如圖適配器670a所示,作為一個(gè)單獨(dú)的部件而存 在;也可以如圖適配器670b所示打包到任何面向服務(wù)的應(yīng)用系統(tǒng)中。與應(yīng)用對(duì)象和中間件 類(lèi)似,該適配器670a和670b可以運(yùn)行在前述的支持系統(tǒng)210上,該適配器也可以根據(jù)實(shí)現(xiàn) 所述支持系統(tǒng)210的技術(shù),利用諸如.NET、JAVA、PHP、C、C++、Ruby,Python等的適當(dāng)技術(shù)來(lái) 開(kāi)發(fā)。關(guān)于網(wǎng)路服務(wù)適配器的具體信息,可參照與本申請(qǐng)同日提交的申請(qǐng)人為李新宇、申請(qǐng) 號(hào)為“ ”、發(fā)明名稱(chēng)為“用于對(duì)網(wǎng)絡(luò)服務(wù)通信進(jìn)行適配的方法、適配器和適配器系統(tǒng)”的專(zhuān)利 申請(qǐng)°此外,圖9還示出了根據(jù)本發(fā)明的再一實(shí)施方式的網(wǎng)絡(luò)應(yīng)用系統(tǒng)。根據(jù)如圖9所
15示的實(shí)施方式,并非將所有的配置信息都集中保存在平臺(tái)930a的數(shù)據(jù)單元中,而是可以?xún)H 在平臺(tái)930a中保存對(duì)于客戶(hù)端應(yīng)用系統(tǒng)特定的配置信息,而對(duì)于所有客戶(hù)端應(yīng)用系統(tǒng)都 具有的公共配置信息,可以在相應(yīng)的數(shù)據(jù)應(yīng)用對(duì)象930b. . . 930η中建立一個(gè)專(zhuān)用于存儲(chǔ)公 共配置信息的平面結(jié)構(gòu)數(shù)據(jù)單元,以便存儲(chǔ)與之相關(guān)的配置信息,如圖9所示。此外,圖10還示出了根據(jù)本發(fā)明的又一實(shí)施方式的網(wǎng)絡(luò)應(yīng)用系統(tǒng)。在圖10所示 的網(wǎng)路應(yīng)用系統(tǒng)中,存在第一客戶(hù)端應(yīng)用系統(tǒng)lOlOal、用于存儲(chǔ)與該第一客戶(hù)端應(yīng)用系統(tǒng) IOlOal相關(guān)的配置信息的第一平臺(tái)1030al以及與第一客戶(hù)端應(yīng)用系統(tǒng)IOlOal對(duì)應(yīng)的第 一面向服務(wù)的應(yīng)用系統(tǒng)1050al ;以及第二客戶(hù)端應(yīng)用系統(tǒng)1010a2、存儲(chǔ)與該第二客戶(hù)端應(yīng) 用系統(tǒng)1010a2相關(guān)的配置信息的第二平臺(tái)1030a2以及與第二客戶(hù)端應(yīng)用系統(tǒng)1010a2相 關(guān)的第二面向服務(wù)的應(yīng)用系統(tǒng)1050al。第一客戶(hù)端應(yīng)用系統(tǒng)和第二客戶(hù)端應(yīng)用系統(tǒng)可以 是屬于共同體的各方,例如某公司與該公司的客戶(hù)、供應(yīng)商或合作方等。在根據(jù)本發(fā)明的網(wǎng) 絡(luò)應(yīng)用系統(tǒng)中,第一客戶(hù)端應(yīng)用系統(tǒng)IOlOal可以通過(guò)網(wǎng)絡(luò)1040來(lái)向面向服務(wù)的應(yīng)用系統(tǒng) 1050a2中的應(yīng)用對(duì)象發(fā)出網(wǎng)絡(luò)服務(wù)請(qǐng)求,面向服務(wù)的應(yīng)用系統(tǒng)1050a2中的應(yīng)用對(duì)象可以 響應(yīng)于該網(wǎng)絡(luò)服務(wù)請(qǐng)求為第一客戶(hù)端應(yīng)用系統(tǒng)IOlOal提供相應(yīng)的網(wǎng)絡(luò)服務(wù)響應(yīng),同樣第 二客戶(hù)端應(yīng)用系統(tǒng)1010a2可以通過(guò)網(wǎng)絡(luò)1040訪(fǎng)問(wèn)第一面向服務(wù)的應(yīng)用系統(tǒng)1050al中的 應(yīng)用對(duì)象。因此,可以在這樣的網(wǎng)絡(luò)應(yīng)用系統(tǒng)中實(shí)現(xiàn)數(shù)據(jù)共享和數(shù)據(jù)交換。上面參考圖1至圖10以示例性的方式對(duì)本發(fā)明的網(wǎng)絡(luò)應(yīng)用系統(tǒng)及其通信方法的 若干實(shí)施方式進(jìn)行了詳細(xì)描述。然而,需要說(shuō)明的是,當(dāng)客戶(hù)端應(yīng)用系統(tǒng)和面向服務(wù)的應(yīng)用 系統(tǒng)運(yùn)行在同一臺(tái)設(shè)備上時(shí),實(shí)際上可以不存在網(wǎng)絡(luò)140、540、640、940和1040。另外,需要說(shuō)明的是,雖然在某些實(shí)施方式中示出了一個(gè)客戶(hù)端應(yīng)用系統(tǒng),實(shí)際上 可以存在與相同的面向服務(wù)的應(yīng)用系統(tǒng)的若干個(gè)客戶(hù)端應(yīng)用系統(tǒng)。該網(wǎng)絡(luò)應(yīng)用系統(tǒng)也可以 包括分別與多個(gè)客戶(hù)端應(yīng)用系統(tǒng)對(duì)應(yīng)的多個(gè)不同的面向服務(wù)的應(yīng)用系統(tǒng),并且可以存在分 別與多個(gè)客戶(hù)端對(duì)應(yīng)的多個(gè)平臺(tái)。還需要說(shuō)明的是,客戶(hù)端應(yīng)用系統(tǒng)和面向服務(wù)的應(yīng)用系統(tǒng)也可以運(yùn)行該網(wǎng)絡(luò)中的 一個(gè)或多個(gè)設(shè)備上;在網(wǎng)絡(luò)140、540、640、940和1040是因特網(wǎng)的情況下,客戶(hù)端應(yīng)用系統(tǒng) 和面向服務(wù)的應(yīng)用系統(tǒng)還可以運(yùn)行在一個(gè)或多個(gè)域中。另外,需要說(shuō)明的是,駐留在用戶(hù)設(shè)備(或系統(tǒng))中的所有客戶(hù)端應(yīng)用系統(tǒng)可以是 依據(jù)支持系統(tǒng)的技術(shù)而開(kāi)發(fā)的通用應(yīng)用,通過(guò)裝載不同的配置信息,這些客戶(hù)端應(yīng)用系統(tǒng) 可以滿(mǎn)足用戶(hù)的不同需求。但是本發(fā)明并不局限于此,所有客戶(hù)端應(yīng)用系統(tǒng)也可以共用相 同的配置信息。上文中,通過(guò)描述本發(fā)明的網(wǎng)絡(luò)應(yīng)用系統(tǒng)及其通信方法,來(lái)描述了本發(fā)明的面向 服務(wù)的應(yīng)用系統(tǒng)和客戶(hù)端應(yīng)用系統(tǒng)及他們的通信方法。然而,需要說(shuō)明的是,本發(fā)明的各個(gè) 面向服務(wù)的應(yīng)用系統(tǒng)和各個(gè)客戶(hù)端應(yīng)用系統(tǒng)可以由一個(gè)軟件提供商提供,也可能由分開(kāi)的 多個(gè)軟件提供商來(lái)提供,只要面向服務(wù)的應(yīng)用系統(tǒng)和客戶(hù)端應(yīng)用系統(tǒng)之間遵循相同的通訊 協(xié)議。因此,本發(fā)明分開(kāi)保護(hù)了根據(jù)本發(fā)明的面向服務(wù)的應(yīng)用系統(tǒng)和客戶(hù)端應(yīng)用系統(tǒng)。在下文中,將參考圖11來(lái)描述發(fā)明提供的用于創(chuàng)建面向服務(wù)的應(yīng)用系統(tǒng)的方法 和創(chuàng)建器。參考圖11,圖11示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式的用于創(chuàng)建面向服務(wù)的應(yīng)用 系統(tǒng)的方法流程圖。
如圖11所示,在步驟1101,選擇一個(gè)或多個(gè)應(yīng)用模板。根據(jù)本發(fā)明的實(shí)施方式,提供了一個(gè)或多個(gè)應(yīng)用模板以加速應(yīng)用開(kāi)發(fā)過(guò)程。該應(yīng) 用模板包括設(shè)計(jì)好的用戶(hù)界面、應(yīng)用對(duì)象和相應(yīng)動(dòng)作。用戶(hù)界面是將通過(guò)例如瀏覽器以頁(yè) 面形式呈現(xiàn)給用戶(hù)以便與用戶(hù)進(jìn)行交互的界面,其上有可以提供給用戶(hù)的各種組件。動(dòng)作 是與用戶(hù)界面上提供的各種組件(按鈕、選擇框、文本框等)相關(guān)聯(lián)的操作,是響應(yīng)于用戶(hù) 界面上組件的激活而執(zhí)行的動(dòng)作,諸如顯示對(duì)應(yīng)頁(yè)面,發(fā)出對(duì)數(shù)據(jù)進(jìn)行操作的網(wǎng)路服務(wù)請(qǐng) 求等。應(yīng)用對(duì)象如上文所述包括專(zhuān)用于存儲(chǔ)特定類(lèi)型數(shù)據(jù)的平面結(jié)構(gòu)數(shù)據(jù)單元;用于 存儲(chǔ)該平面結(jié)構(gòu)數(shù)據(jù)單元中的數(shù)據(jù)與其他應(yīng)用對(duì)象中平面結(jié)構(gòu)數(shù)據(jù)單元的數(shù)據(jù)之間關(guān)系 的關(guān)系存儲(chǔ)單元;和用于操作該平面結(jié)構(gòu)數(shù)據(jù)單元的數(shù)據(jù)以及關(guān)系存儲(chǔ)單元中的信息的應(yīng) 用代碼模塊。應(yīng)用對(duì)象通常是網(wǎng)絡(luò)服務(wù)請(qǐng)求所針對(duì)的對(duì)象。其中,在應(yīng)用對(duì)象用于存儲(chǔ)應(yīng)用 配置信息時(shí),也可以稱(chēng)作為平臺(tái);用于存儲(chǔ)普通的數(shù)據(jù)信息時(shí),可以稱(chēng)其為數(shù)據(jù)應(yīng)用對(duì)象。在根據(jù)本發(fā)明的一個(gè)實(shí)施方式中,提供有存儲(chǔ)庫(kù),該存儲(chǔ)庫(kù)中用于存儲(chǔ)應(yīng)用模板。 因此,可以從存儲(chǔ)庫(kù)中選擇用戶(hù)界面、應(yīng)用對(duì)象以及相應(yīng)動(dòng)作中的一種或者多種。在根據(jù)本發(fā)明的另一實(shí)施方式中,應(yīng)用模板是應(yīng)用包的形式,該應(yīng)用包包括用于 實(shí)現(xiàn)特定功能的多個(gè)應(yīng)用模板。優(yōu)選地,應(yīng)用包中還進(jìn)一步包括相關(guān)的配置信息。在這種 情況下,如果要?jiǎng)?chuàng)建與該應(yīng)用包所實(shí)現(xiàn)的功能類(lèi)似的面向服務(wù)的應(yīng)用系統(tǒng),則可以從存儲(chǔ) 庫(kù)中選擇該應(yīng)用包,以便進(jìn)一步加速面向服務(wù)的應(yīng)用系統(tǒng)的創(chuàng)建過(guò)程。在根據(jù)本發(fā)明的又一實(shí)施方式中,可以通過(guò)導(dǎo)入部件從外部導(dǎo)入該應(yīng)用包,以便 加速面向服務(wù)的應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程。接下來(lái),在步驟1102,針對(duì)用戶(hù)的需求對(duì)所述應(yīng)用模板進(jìn)行配置,以生成針對(duì)所述 用戶(hù)的配置信息。對(duì)于不同的用戶(hù)而言,所需的面向服務(wù)的應(yīng)用系統(tǒng)可能不同,因此可能需要對(duì)所 選的應(yīng)用模板進(jìn)行配置,即對(duì)這些應(yīng)用模板進(jìn)行調(diào)整以便適合用戶(hù)需要??梢詫?duì)所選擇應(yīng)用模板中包括的用戶(hù)界面、應(yīng)用對(duì)象和動(dòng)作等進(jìn)行修改。例如,可 以在用戶(hù)界面上添加組件以及與之對(duì)應(yīng)的動(dòng)作等;添加應(yīng)用對(duì)象;修改應(yīng)用對(duì)象之間的鏈 接關(guān)系;修改平面結(jié)構(gòu)數(shù)據(jù)單元的內(nèi)部結(jié)構(gòu),諸如增刪字段等。此外,還可以修改用戶(hù)界面 上的呈現(xiàn)的圖標(biāo)、圖片等,以便創(chuàng)建個(gè)性化的應(yīng)用。例如,如果選擇的是應(yīng)用包,則可以刪除該應(yīng)用包中不需要的用戶(hù)界面、應(yīng)用對(duì)象 和相關(guān)動(dòng)作;另外,也增加沒(méi)有包括在該應(yīng)用包中的用戶(hù)界面、應(yīng)用對(duì)象和相關(guān)動(dòng)作,從而 滿(mǎn)足用戶(hù)的各種特定需求。此外,還可以指定網(wǎng)絡(luò)服務(wù)請(qǐng)求所使用的相關(guān)協(xié)議,諸如REST方式或者SOAP協(xié) 議,圖8中示例性地示出了基于這兩種協(xié)議的請(qǐng)求和響應(yīng)。對(duì)應(yīng)用模板進(jìn)行了配置后,可以得到相關(guān)的配置信息,該配置信息包括與要呈現(xiàn) 給用戶(hù)的界面相關(guān)的信息,即用戶(hù)界面信息,和網(wǎng)絡(luò)服務(wù)請(qǐng)求信息。用戶(hù)界面信息決定了客 戶(hù)端應(yīng)用系統(tǒng)如何與用戶(hù)交互,即應(yīng)該像用戶(hù)呈現(xiàn)什么樣的界面。網(wǎng)絡(luò)服務(wù)請(qǐng)求信息決定 了如何發(fā)起網(wǎng)絡(luò)服務(wù)請(qǐng)求,即應(yīng)該以什么上的協(xié)議發(fā)起請(qǐng)求,應(yīng)該發(fā)起什么請(qǐng)求。基于所述 配置信息,就可以為用戶(hù)提供特定的服務(wù)。根據(jù)本發(fā)明的一個(gè)實(shí)施方式,生成的配置信息可以存儲(chǔ)在一個(gè)應(yīng)用對(duì)象中,此時(shí)該應(yīng)用對(duì)象可以稱(chēng)作是“平臺(tái)”,相應(yīng)地,其他用于存儲(chǔ)業(yè)務(wù)數(shù)據(jù)的對(duì)應(yīng)對(duì)象可以稱(chēng)作是“數(shù) 據(jù)應(yīng)用對(duì)象”。然而,本發(fā)明并不局限于此,配置信息可以存儲(chǔ)在可由客戶(hù)端應(yīng)用系統(tǒng)獲取 的任何適當(dāng)位置,并且配置信息也可以以任何適當(dāng)?shù)姆绞酱鎯?chǔ)。特別需要說(shuō)明的是,根據(jù)現(xiàn)有技術(shù)的應(yīng)用開(kāi)發(fā)方法,由預(yù)定的、剛性數(shù)據(jù)模型設(shè)計(jì) 的打包軟件不能以簡(jiǎn)單、經(jīng)濟(jì)的方式在應(yīng)用投入使用后將需要關(guān)聯(lián)的信息關(guān)聯(lián)起來(lái)。而根 據(jù)本發(fā)明可以容易地實(shí)現(xiàn)這一點(diǎn)。例如,可以原有用戶(hù)界面上添加一個(gè)新的鏈接按鈕,并通 過(guò)簡(jiǎn)單的點(diǎn)擊、拖放等操作將與需要鏈接的兩個(gè)信息對(duì)應(yīng)的兩個(gè)應(yīng)用對(duì)象關(guān)聯(lián)起來(lái),從而 建立了與該按鈕相關(guān)聯(lián)的動(dòng)作。然后,可以更新配置信息。此后,在用戶(hù)通過(guò)裝載新的配置 信息來(lái)啟動(dòng)客戶(hù)端應(yīng)用系統(tǒng)時(shí),就可以在用戶(hù)界面上顯示“鏈接”操作按鈕,以便用戶(hù)將所 需的信息鏈接起來(lái),而并無(wú)需改變兩個(gè)應(yīng)用對(duì)象本身。類(lèi)似地,還可以根據(jù)用戶(hù)需求方便地 對(duì)網(wǎng)絡(luò)應(yīng)用進(jìn)行其他更改,諸如解除應(yīng)用對(duì)象的鏈接關(guān)系等。接下來(lái),在步驟1103,將所述應(yīng)用模板和所述配置信息打包,以生成適合用戶(hù)的需 求的應(yīng)用包。在本發(fā)明的一個(gè)實(shí)施方式中,進(jìn)一步地對(duì)該應(yīng)用包執(zhí)行部署,以便將該應(yīng)用包提 供給用戶(hù)。在本發(fā)明的另一實(shí)施方式中,為了加速隨后面向服務(wù)的應(yīng)用系統(tǒng)創(chuàng)建過(guò)程,可以 進(jìn)一步將生成的應(yīng)用包保存到存儲(chǔ)庫(kù)中以備以后開(kāi)發(fā)程序使用。在本發(fā)明的又一實(shí)施方式中,為了方便應(yīng)用包的共享,可以進(jìn)一步將生成的應(yīng)用 包保存到存儲(chǔ)庫(kù)中,以供外部應(yīng)用創(chuàng)建人員使用。然而,需要說(shuō)明的是,執(zhí)行部署的步驟并非是必需的。例如,創(chuàng)建應(yīng)用的人員可以 根據(jù)存儲(chǔ)庫(kù)中原有的應(yīng)用模板來(lái)創(chuàng)建一些自定義的應(yīng)用包存儲(chǔ)在存儲(chǔ)庫(kù)中,以方便隨后使 用。在這種情況下,并不需要部署步驟。下面,將參考圖12至圖15來(lái)描述本發(fā)明提供了用于創(chuàng)建面向服務(wù)的應(yīng)用系統(tǒng)的 創(chuàng)建器。圖12示出根據(jù)本發(fā)明的一個(gè)實(shí)施方式的用于創(chuàng)建面向服務(wù)的應(yīng)用系統(tǒng)的創(chuàng)建 器。如圖所示,本發(fā)明的創(chuàng)建器1200包括選擇裝置1201,配置裝置1202,和打包裝置 1203。選擇裝置1201用于選擇一個(gè)或多個(gè)應(yīng)用模板。所述應(yīng)用模板包括用戶(hù)界面、應(yīng)用 對(duì)象和相應(yīng)動(dòng)作。應(yīng)用對(duì)象包括專(zhuān)用于存儲(chǔ)特定類(lèi)型數(shù)據(jù)的平面結(jié)構(gòu)數(shù)據(jù)單元;用于存 儲(chǔ)該數(shù)據(jù)單元中的數(shù)據(jù)與其他應(yīng)用對(duì)象中數(shù)據(jù)單元的數(shù)據(jù)之間關(guān)系的關(guān)系存儲(chǔ)單元;以及 用于操作該數(shù)據(jù)單元的數(shù)據(jù)和關(guān)系存儲(chǔ)單元中的信息的應(yīng)用代碼模塊。配置裝置1202用 于針對(duì)用戶(hù)的需求對(duì)所述應(yīng)用模板進(jìn)行配置,以生成針對(duì)所述用戶(hù)的配置信息。打包裝置 1203用于將所述應(yīng)用模板和所述配置信息打包,以生成適合用戶(hù)的需求的應(yīng)用包。在根據(jù)本發(fā)明的一個(gè)實(shí)施方式中,所述選擇裝置1201進(jìn)一步用于以下操作中的 一種或者多種從存儲(chǔ)庫(kù)中選擇用戶(hù)界面、應(yīng)用對(duì)象以及相應(yīng)動(dòng)作中的一種或者多種;從 存儲(chǔ)庫(kù)中選擇預(yù)定義的應(yīng)用包;以及從外部導(dǎo)入預(yù)定義的應(yīng)用包,其中,所述預(yù)定義應(yīng)用包 包括用于實(shí)現(xiàn)特定功能的多個(gè)應(yīng)用模板,或者包括實(shí)現(xiàn)特定功能的多個(gè)應(yīng)用模板的多個(gè)應(yīng) 用模板以及相關(guān)的配置信息。在根據(jù)本發(fā)明的另一實(shí)施方式中,所述配置裝置1202進(jìn)一步被用于以下操作中
18的一種或者多種刪除所述用戶(hù)界面、所述應(yīng)用對(duì)象、所述動(dòng)作中至少一個(gè);修改所述用戶(hù) 界面、所述應(yīng)用對(duì)象、所述動(dòng)作中至少一個(gè);增加所述用戶(hù)界面、所述應(yīng)用對(duì)象、所述動(dòng)作中 至少一個(gè);以及設(shè)置所述動(dòng)作中的網(wǎng)絡(luò)服務(wù)請(qǐng)求所遵循的協(xié)議。在根據(jù)本發(fā)明的又一實(shí)施方式中,所生成的應(yīng)用包包括數(shù)據(jù)應(yīng)用對(duì)象,其包括專(zhuān) 用于存儲(chǔ)業(yè)務(wù)數(shù)據(jù)的平面結(jié)構(gòu)數(shù)據(jù)單元;和/或平臺(tái),該平臺(tái)是一種應(yīng)用對(duì)象,包括專(zhuān)用于 存儲(chǔ)所述配置信息的平面結(jié)構(gòu)數(shù)據(jù)單元。在根據(jù)本發(fā)明的再一實(shí)施方式中,所述配置信息包括用戶(hù)界面信息和/或網(wǎng)絡(luò)服 務(wù)請(qǐng)求信息。此外,圖13、圖14和圖15還示出根據(jù)本發(fā)明的另一些實(shí)施方式。如圖所示,圖13、圖14、圖15中的創(chuàng)建器1300、1400和1500分別包括選擇裝置 1301、1401和1501,其對(duì)應(yīng)于圖12中的選擇裝置1201,用于選擇一個(gè)或多個(gè)應(yīng)用模板;配 置裝置1302、1402和1502,其對(duì)應(yīng)于圖12中的配置裝置1202,用于針對(duì)用戶(hù)的需求對(duì)所述 應(yīng)用模板進(jìn)行配置,以生成針對(duì)所述用戶(hù)的配置信息;和打包裝置1303、1403和1503,其對(duì) 應(yīng)于圖12中的打包裝置1203,用于將所述應(yīng)用模板和所述配置信息打包,以生成適合用戶(hù) 的需求的應(yīng)用包。與圖12所示的創(chuàng)建器1200不同的是,圖13所示的創(chuàng)建器1300進(jìn)一步包括部署裝 置1304,用于針對(duì)所述應(yīng)用包執(zhí)行部署,以便為用戶(hù)提供所述面向服務(wù)的應(yīng)用系統(tǒng);圖14 所示的創(chuàng)建器1400進(jìn)一步包括保存裝置1405,用于保存所述應(yīng)用包,以便于隨后創(chuàng)建其他 應(yīng)用;圖15所示的創(chuàng)建器1500進(jìn)一步包括導(dǎo)出裝置1506,用于導(dǎo)出所述應(yīng)用包,以供外部 應(yīng)用創(chuàng)建人員使用。需要說(shuō)明的是,在上文中示出的各種特征,可以進(jìn)行組合,只要這些組合并不違背 本發(fā)明的原理。例如,在根據(jù)本發(fā)明的又一實(shí)施方式中,可以包括上述圖13、14和圖15中 的部署裝置1304、導(dǎo)入裝置1405和導(dǎo)出裝置1506。根據(jù)本發(fā)明,面向服務(wù)的應(yīng)用系統(tǒng)主要由多個(gè)應(yīng)用對(duì)象構(gòu)成,并且優(yōu)選地包括用 于存儲(chǔ)配置信息的稱(chēng)作“平臺(tái)”的應(yīng)用對(duì)象。因此,基于這種結(jié)構(gòu),可以通過(guò)預(yù)先定義的應(yīng) 用模板來(lái)以快速、簡(jiǎn)單的方式(通過(guò)點(diǎn)擊、拖放等簡(jiǎn)單的鼠標(biāo)操作)來(lái)創(chuàng)建面向服務(wù)的應(yīng)用 系統(tǒng)。另外,可以對(duì)選擇的預(yù)定義打包文件進(jìn)行修改以滿(mǎn)足特定用戶(hù)的需求,也可以通 過(guò)略微修改原先為其他用戶(hù)創(chuàng)建的應(yīng)用包來(lái)為另一用戶(hù)創(chuàng)建類(lèi)似的應(yīng)用。此外,還可以容 易地修改已有的面向服務(wù)的應(yīng)用系統(tǒng)來(lái)適應(yīng)客戶(hù)新的需求。根據(jù)本發(fā)明,相同類(lèi)型的業(yè)務(wù)數(shù)據(jù)(諸如聯(lián)系人信息)存儲(chǔ)在邏輯上為單個(gè)表或 者單個(gè)文件的同一平面結(jié)構(gòu)數(shù)據(jù)單元中,但該平面結(jié)構(gòu)數(shù)據(jù)單元和該應(yīng)用對(duì)象甚至整個(gè)網(wǎng) 絡(luò)應(yīng)用系統(tǒng)均可以存在于網(wǎng)絡(luò)中的多個(gè)位置,換句話(huà)講,可以存在與多個(gè)物理位置或者多 個(gè)域中。根據(jù)本發(fā)明,可以根據(jù)業(yè)務(wù)需求將各個(gè)平面結(jié)構(gòu)數(shù)據(jù)單元、各個(gè)應(yīng)用對(duì)象或整個(gè)網(wǎng) 絡(luò)應(yīng)用系統(tǒng)布置在單個(gè)位置或者多個(gè)位置,或布置在單個(gè)域中或者多個(gè)域中。例如,對(duì)于 小型公司,可以將它們存儲(chǔ)在單個(gè)位置,對(duì)于大型的國(guó)際性公司,則可以將其提供在多個(gè)位 置。另外,根據(jù)本發(fā)明,存儲(chǔ)在該單一邏輯表中的業(yè)務(wù)數(shù)據(jù)可以由針對(duì)不同業(yè)務(wù)的多個(gè)應(yīng)用 共享,這與利用不同概念針對(duì)不同業(yè)務(wù)分別開(kāi)發(fā)打包軟件傳統(tǒng)方式不同,根據(jù)該傳統(tǒng)方式, 打包軟件是根據(jù)預(yù)定的、剛性數(shù)據(jù)模型基于不同理念、針對(duì)不同業(yè)務(wù)而設(shè)計(jì)的,這些打包軟
19件之間通常是不能通信的,更不能共享業(yè)務(wù)數(shù)據(jù)。所以,與傳統(tǒng)方式相比,在本發(fā)明的網(wǎng)絡(luò) 應(yīng)用系統(tǒng)中,業(yè)務(wù)數(shù)據(jù)不會(huì)出現(xiàn)信息孤島。因此,不會(huì)存在信息整合、數(shù)據(jù)完整性等方面的 問(wèn)題,使得用戶(hù)從維護(hù)數(shù)據(jù)完整性等繁雜的工作中解脫出來(lái),減少了成本,提供了效率。另外,根據(jù)本發(fā)明,不同的客戶(hù)端應(yīng)用系統(tǒng)(例如,用戶(hù)的客戶(hù)端應(yīng)用系統(tǒng)、該用 戶(hù)的提供商的客戶(hù)端應(yīng)用系統(tǒng)、該用戶(hù)的客戶(hù)的客戶(hù)端應(yīng)用系統(tǒng)和該用戶(hù)的合作方的客戶(hù) 端應(yīng)用系統(tǒng))可以對(duì)應(yīng)于一個(gè)面向服務(wù)的應(yīng)用系統(tǒng)中的不同應(yīng)用對(duì)象子集,這例如可以通 過(guò)裝載不同的配置信息來(lái)實(shí)現(xiàn)。因而,可以實(shí)現(xiàn)用戶(hù)的業(yè)務(wù)數(shù)據(jù)與其提供商、客戶(hù)、合作方 等的適當(dāng)共享。因此,本發(fā)明不但為用戶(hù)的公司帶來(lái)了諸多益處,而且為用戶(hù)的整個(gè)公司鏈 帶來(lái)了方便。根據(jù)本發(fā)明的優(yōu)選實(shí)施方式,還可以通過(guò)適配器使得本發(fā)明的網(wǎng)絡(luò)應(yīng)用系統(tǒng)中的 客戶(hù)端應(yīng)用系統(tǒng)和/或面向服務(wù)的應(yīng)用系統(tǒng)與第三方系統(tǒng)的相互通信。從而,可以將用戶(hù) 已有的業(yè)務(wù)系統(tǒng)與本發(fā)明的網(wǎng)絡(luò)應(yīng)用系統(tǒng)結(jié)合起來(lái)使用,從而節(jié)約成本。另外,通過(guò)使用適 配器可以使得本發(fā)明的網(wǎng)絡(luò)應(yīng)用系統(tǒng)可以適應(yīng)于任何變化,使得本發(fā)明的網(wǎng)絡(luò)應(yīng)用系統(tǒng)可 以利用諸如REST方式或者SOAP協(xié)議等適當(dāng)方式與第三方系統(tǒng)進(jìn)行數(shù)據(jù)交換,因此可以進(jìn) 一步避免信息孤島的問(wèn)題。下面,將參考圖16來(lái)描述可以實(shí)現(xiàn)本發(fā)明的計(jì)算機(jī)設(shè)備。圖16示意性示出了可 以實(shí)現(xiàn)根據(jù)本發(fā)明的實(shí)施方式的計(jì)算設(shè)備的結(jié)構(gòu)方框圖。圖16中所示的計(jì)算機(jī)系統(tǒng)包括CPU(中央處理單元)1601、RAM(隨機(jī)存取存儲(chǔ) 器)1602、R0M(只讀存儲(chǔ)器)1603、系統(tǒng)總線(xiàn)1604、硬盤(pán)控制器1605、鍵盤(pán)控制器1606、串行 接口控制器1607、并行接口控制器1608、顯示器控制器1609、硬盤(pán)1610、鍵盤(pán)1611、串行外 部設(shè)備1612、并行外部設(shè)備1613、顯示器1614以及網(wǎng)絡(luò)適配器1615。在這些部件中,與系 統(tǒng)總線(xiàn)1604相連的有CPU 1601、RAM1602、ROM 1603、硬盤(pán)控制器1605、鍵盤(pán)控制器1606、 串行接口控制器1607、并行接口控制器1608、顯示器控制器1609以及網(wǎng)絡(luò)適配器1615。硬 盤(pán)1610與硬盤(pán)控制器1605相連,鍵盤(pán)1611與鍵盤(pán)控制器1606相連,串行外部設(shè)備1612與 串行接口控制器1607相連,并行外部設(shè)備1613與并行接口控制器1608相連,顯示器1614 與顯示器控制器1609相連,而網(wǎng)絡(luò)接口控制器1615允許該計(jì)算機(jī)系統(tǒng)訪(fǎng)問(wèn)諸如互聯(lián)網(wǎng)的 計(jì)算機(jī)網(wǎng)絡(luò)。圖16所述的結(jié)構(gòu)方框圖僅僅為了示例的目的而示出的,并非是對(duì)本發(fā)明的限制。 在一些情況下,可以根據(jù)需要添加或者減少其中的一些設(shè)備,例如用于實(shí)現(xiàn)本發(fā)明的計(jì)算 機(jī)設(shè)備可以并不具有顯示器、鍵盤(pán)等輸入/輸出設(shè)備。此外,本發(fā)明的實(shí)施方式可以以軟件、硬件或者軟件和硬件的結(jié)合來(lái)實(shí)現(xiàn)。硬件部 分可以利用專(zhuān)用邏輯來(lái)實(shí)現(xiàn);軟件部分可以存儲(chǔ)在存儲(chǔ)器中,由適當(dāng)?shù)闹噶顖?zhí)行系統(tǒng),例如 微處理器或者專(zhuān)用設(shè)計(jì)硬件來(lái)執(zhí)行。雖然已經(jīng)參考目前考慮到的實(shí)施方式描述了本發(fā)明,但是應(yīng)該理解本發(fā)明不限于 所公開(kāi)的實(shí)施方式。相反,本發(fā)明旨在涵蓋所附權(quán)利要求的精神和范圍之內(nèi)所包括的各種 修改和等同布置。以下權(quán)利要求的范圍符合最廣泛解釋?zhuān)员惆羞@樣的修改及等同 結(jié)構(gòu)和功能。
權(quán)利要求
一種面向服務(wù)的應(yīng)用系統(tǒng),所述應(yīng)用系統(tǒng)包括一個(gè)或多個(gè)應(yīng)用對(duì)象,每個(gè)應(yīng)用對(duì)象包括專(zhuān)用于存儲(chǔ)特定類(lèi)型數(shù)據(jù)的平面結(jié)構(gòu)數(shù)據(jù)單元;用于存儲(chǔ)該數(shù)據(jù)單元中的數(shù)據(jù)與其他應(yīng)用對(duì)象中數(shù)據(jù)單元的數(shù)據(jù)之間關(guān)系的關(guān)系存儲(chǔ)單元;以及用于操作該數(shù)據(jù)單元中的數(shù)據(jù)和該關(guān)系存儲(chǔ)單元中的信息的應(yīng)用代碼模塊,其中,所述應(yīng)用代碼模塊用于響應(yīng)于網(wǎng)絡(luò)服務(wù)請(qǐng)求,對(duì)平面結(jié)構(gòu)數(shù)據(jù)單元和/或關(guān)系存儲(chǔ)單元進(jìn)行操作。
2.根據(jù)權(quán)利要求1所述的應(yīng)用系統(tǒng),其中,所述應(yīng)用對(duì)象包括平臺(tái),該平臺(tái)是一種應(yīng)用 對(duì)象,包括專(zhuān)用于存儲(chǔ)所述配置信息的平面結(jié)構(gòu)數(shù)據(jù)單元,以及其中,該平臺(tái)中的應(yīng)用代碼 模塊用于響應(yīng)于針對(duì)所述配置信息的網(wǎng)絡(luò)服務(wù)請(qǐng)求,查找相應(yīng)的配置信息,以便返回該配直fe息。
3.根據(jù)權(quán)利要求2所述的應(yīng)用系統(tǒng),其中,所述平臺(tái)的關(guān)系存儲(chǔ)單元用于存儲(chǔ)其他應(yīng) 用對(duì)象的關(guān)系存儲(chǔ)單元中的信息。
4.根據(jù)權(quán)利要求1所述的應(yīng)用系統(tǒng),其中,所述應(yīng)用對(duì)象包括數(shù)據(jù)應(yīng)用對(duì)象,其包括專(zhuān) 用于存儲(chǔ)業(yè)務(wù)數(shù)據(jù)的平面結(jié)構(gòu)數(shù)據(jù)單元。
5.根據(jù)權(quán)利要求4所述的應(yīng)用系統(tǒng),其中,所述數(shù)據(jù)應(yīng)用對(duì)象進(jìn)一步包括專(zhuān)用于存儲(chǔ) 所述配置信息中與之相關(guān)的公共部分的平面結(jié)構(gòu)數(shù)據(jù)單元。
6.根據(jù)權(quán)利要求1所述的應(yīng)用系統(tǒng),進(jìn)一步包括中間件,用于把所述配置信息轉(zhuǎn)換為 能夠由與所述面向服務(wù)的應(yīng)用系統(tǒng)相關(guān)的各種客戶(hù)端應(yīng)用系統(tǒng)解釋的通用格式的信息。
7.根據(jù)權(quán)利要求1所述的應(yīng)用系統(tǒng),進(jìn)一步包括適配器,用于將來(lái)自第三方系統(tǒng)的網(wǎng) 絡(luò)服務(wù)請(qǐng)求或所返回的網(wǎng)絡(luò)服務(wù)響應(yīng)轉(zhuǎn)換成格式適合于所述面向服務(wù)的應(yīng)用系統(tǒng)或者適 合于與所述面向服務(wù)的應(yīng)用系統(tǒng)相關(guān)的客戶(hù)端應(yīng)用系統(tǒng)的信息;和/或?qū)⑺雒嫦蚍?wù)的應(yīng)用系統(tǒng)或者所述客戶(hù)端應(yīng)用系統(tǒng)返回的網(wǎng)絡(luò)服務(wù)響應(yīng)或者發(fā)出 的網(wǎng)絡(luò)服務(wù)請(qǐng)求轉(zhuǎn)換成格式適合于第三方系統(tǒng)的信息。
8.根據(jù)權(quán)利要求1所述的應(yīng)用系統(tǒng),其中,所述應(yīng)用代碼模塊用于進(jìn)行以下操作中的 一種或者多種向平面結(jié)構(gòu)數(shù)據(jù)單元添加數(shù)據(jù); 刪除平面結(jié)構(gòu)數(shù)據(jù)單元中的數(shù)據(jù); 更新平面結(jié)構(gòu)數(shù)據(jù)單元中的數(shù)據(jù); 檢索平面結(jié)構(gòu)數(shù)據(jù)單元中的數(shù)據(jù); 向關(guān)系存儲(chǔ)單元添加信息; 刪除關(guān)系存儲(chǔ)單元中的信息; 更新關(guān)系存儲(chǔ)單元中的信息;以及 檢索關(guān)系存儲(chǔ)單元中的信息。
9.一種面向服務(wù)的應(yīng)用系統(tǒng)的通信方法,其中,所述面向服務(wù)的應(yīng)用系統(tǒng)包括一個(gè)或 多個(gè)應(yīng)用對(duì)象,每個(gè)應(yīng)用對(duì)象包括專(zhuān)用于存儲(chǔ)特定類(lèi)型數(shù)據(jù)的平面結(jié)構(gòu)數(shù)據(jù)單元;用于存儲(chǔ)該數(shù)據(jù)單元中的數(shù)據(jù)與其他應(yīng)用對(duì)象中數(shù)據(jù)單元的數(shù)據(jù)之間關(guān)系的關(guān)系存2儲(chǔ)單元;以及用于操作該數(shù)據(jù)單元中的數(shù)據(jù)和該關(guān)系存儲(chǔ)單元中的信息的應(yīng)用代碼模塊, 所述方法包括響應(yīng)于網(wǎng)絡(luò)服務(wù)請(qǐng)求,通過(guò)應(yīng)用代碼模塊對(duì)平面結(jié)構(gòu)數(shù)據(jù)單元和/或 關(guān)系存儲(chǔ)單元進(jìn)行操作。
10.根據(jù)權(quán)利要求9所述的方法,其中,所述應(yīng)用對(duì)象包括平臺(tái),該平臺(tái)是一種應(yīng)用對(duì) 象,包括專(zhuān)用于存儲(chǔ)所述配置信息的平面結(jié)構(gòu)數(shù)據(jù)單元,以及其中,對(duì)平面結(jié)構(gòu)數(shù)據(jù)單元和 /或關(guān)系存儲(chǔ)單元進(jìn)行操作還包括響應(yīng)于針對(duì)所述配置信息的網(wǎng)絡(luò)服務(wù)請(qǐng)求,通過(guò)該平 臺(tái)中的應(yīng)用代碼模塊來(lái)查找相應(yīng)的配置信息,以便返回該配置信息。
11.根據(jù)權(quán)利要求10所述的方法,其中,所述平臺(tái)的關(guān)系存儲(chǔ)單元用于存儲(chǔ)其他應(yīng)用 對(duì)象的關(guān)系存儲(chǔ)單元中的信息。
12.根據(jù)權(quán)利要求9所述的方法,其中,所述應(yīng)用對(duì)象包括數(shù)據(jù)應(yīng)用對(duì)象,其包括專(zhuān)用 于存儲(chǔ)業(yè)務(wù)數(shù)據(jù)的平面結(jié)構(gòu)數(shù)據(jù)單元。
13.根據(jù)權(quán)利要求12所述的方法,其中,所述數(shù)據(jù)應(yīng)用對(duì)象進(jìn)一步包括專(zhuān)用于存儲(chǔ)所 述配置信息中與之相關(guān)的公共部分的平面結(jié)構(gòu)數(shù)據(jù)單元。
14.根據(jù)權(quán)利要求9所述的方法,進(jìn)一步包括把所述配置信息轉(zhuǎn)換為能夠由與所述面 向服務(wù)的應(yīng)用系統(tǒng)相關(guān)的各種客戶(hù)端應(yīng)用系統(tǒng)解釋的通用格式的信息。
15.根據(jù)權(quán)利要求9所述的方法,進(jìn)一步包括將來(lái)自第三方系統(tǒng)的網(wǎng)絡(luò)服務(wù)請(qǐng)求或所 返回的網(wǎng)絡(luò)服務(wù)響應(yīng)轉(zhuǎn)換成格式適合于所述面向服務(wù)的應(yīng)用系統(tǒng)或者適合于與所述面向 服務(wù)的應(yīng)用系統(tǒng)相關(guān)的客戶(hù)端應(yīng)用系統(tǒng)的信息;和/或?qū)⑺雒嫦蚍?wù)的應(yīng)用系統(tǒng)或者所述客戶(hù)端應(yīng)用系統(tǒng)返回的網(wǎng)絡(luò)服務(wù)響應(yīng)或者發(fā)出 的網(wǎng)絡(luò)服務(wù)請(qǐng)求轉(zhuǎn)換成格式適合于第三方系統(tǒng)的信息。
16.根據(jù)權(quán)利要求9所述的方法,其中,對(duì)平面結(jié)構(gòu)數(shù)據(jù)單元和/或關(guān)系存儲(chǔ)單元進(jìn)行 操作包括以下一種或者多種向平面結(jié)構(gòu)數(shù)據(jù)單元添加數(shù)據(jù); 刪除平面結(jié)構(gòu)數(shù)據(jù)單元中的數(shù)據(jù); 更新平面結(jié)構(gòu)數(shù)據(jù)單元中的數(shù)據(jù); 檢索平面結(jié)構(gòu)數(shù)據(jù)單元中的數(shù)據(jù); 向關(guān)系存儲(chǔ)單元添加信息; 刪除關(guān)系存儲(chǔ)單元中的信息; 更新關(guān)系存儲(chǔ)單元中的信息;以及 檢索關(guān)系存儲(chǔ)單元中的信息。
17.一種用于創(chuàng)建面向服務(wù)的應(yīng)用系統(tǒng)的方法,包括選擇一個(gè)或多個(gè)應(yīng)用模板,其中,所述應(yīng)用模板包括用戶(hù)界面、應(yīng)用對(duì)象和相應(yīng)動(dòng)作, 該應(yīng)用對(duì)象包括專(zhuān)用于存儲(chǔ)特定類(lèi)型數(shù)據(jù)的平面結(jié)構(gòu)數(shù)據(jù)單元;用于存儲(chǔ)該數(shù)據(jù)單元中的數(shù)據(jù)與其他應(yīng)用對(duì)象中數(shù)據(jù)單元的數(shù)據(jù)之間關(guān)系的關(guān)系存 儲(chǔ)單元;以及用于操作該數(shù)據(jù)單元中的數(shù)據(jù)和該關(guān)系存儲(chǔ)單元中的信息的應(yīng)用代碼模塊; 針對(duì)用戶(hù)的需求對(duì)所述應(yīng)用模板進(jìn)行配置,以生成針對(duì)所述用戶(hù)的配置信息;以及將所述應(yīng)用模板和所述配置信息打包,以生成適合用戶(hù)的需求的應(yīng)用包。
18.根據(jù)權(quán)利要求17所述的方法,進(jìn)一步包括針對(duì)所述應(yīng)用包執(zhí)行部署,以便為用戶(hù) 提供所述面向服務(wù)的應(yīng)用系統(tǒng)。
19.根據(jù)權(quán)利要求17所述的方法,進(jìn)一步包括 保存所述應(yīng)用包,以便于隨后創(chuàng)建其他應(yīng)用;和/或 導(dǎo)出所述應(yīng)用包,以供外部應(yīng)用創(chuàng)建人員使用。
20.根據(jù)權(quán)利要求17所述的方法,其中,選擇一個(gè)或多個(gè)應(yīng)用模板包括以下操作中的 一種或者多種從存儲(chǔ)庫(kù)中選擇用戶(hù)界面、應(yīng)用對(duì)象以及相應(yīng)動(dòng)作中的一種或者多種; 從存儲(chǔ)庫(kù)中選擇預(yù)定義的應(yīng)用包;以及 從外部導(dǎo)入預(yù)定義的應(yīng)用包,其中,所述預(yù)定義的應(yīng)用包包括用于實(shí)現(xiàn)特定功能的多個(gè)應(yīng)用模板,或者包括實(shí)現(xiàn)特 定功能的多個(gè)應(yīng)用模板以及相關(guān)的配置信息。
21.根據(jù)權(quán)利要求17所述的方法,其中,對(duì)所述應(yīng)用模板進(jìn)行配置包括以下操作中的 一種或者多種刪除所述用戶(hù)界面、所述應(yīng)用對(duì)象、所述動(dòng)作中至少一個(gè); 修改所述用戶(hù)界面、所述應(yīng)用對(duì)象、所述動(dòng)作中至少一個(gè); 增加所述用戶(hù)界面、所述應(yīng)用對(duì)象、所述動(dòng)作中至少一個(gè);以及 設(shè)置網(wǎng)絡(luò)服務(wù)請(qǐng)求所遵循的協(xié)議。
22.根據(jù)權(quán)利要求17所述的方法,其中,所生成的應(yīng)用包包括數(shù)據(jù)應(yīng)用對(duì)象,其包括專(zhuān)用于存儲(chǔ)業(yè)務(wù)數(shù)據(jù)的平面結(jié)構(gòu)數(shù)據(jù)單元;和/或 平臺(tái),該平臺(tái)是一種應(yīng)用對(duì)象,包括專(zhuān)用于存儲(chǔ)所述配置信息的平面結(jié)構(gòu)數(shù)據(jù)單元。
23.根據(jù)權(quán)利要求17所述的方法,其中所述配置信息包括用戶(hù)界面信息和/或網(wǎng)絡(luò)服 務(wù)請(qǐng)求信息。
24.一種用于創(chuàng)建面向服務(wù)的應(yīng)用系統(tǒng)的創(chuàng)建器,包括選擇裝置,用于選擇一個(gè)或多個(gè)應(yīng)用模板,其中,所述應(yīng)用模板包括用戶(hù)界面、應(yīng)用對(duì) 象和相應(yīng)動(dòng)作,該應(yīng)用對(duì)象包括專(zhuān)用于存儲(chǔ)特定類(lèi)型數(shù)據(jù)的平面結(jié)構(gòu)數(shù)據(jù)單元;用于存儲(chǔ)該數(shù)據(jù)單元中的數(shù)據(jù)與其他應(yīng)用對(duì)象中數(shù)據(jù)單元的數(shù)據(jù)之間關(guān)系的關(guān)系存 儲(chǔ)單元;以及用于操作該數(shù)據(jù)單元的數(shù)據(jù)和關(guān)系存儲(chǔ)單元中的信息的應(yīng)用代碼模塊; 配置裝置,用于針對(duì)用戶(hù)的需求對(duì)所述應(yīng)用模板進(jìn)行配置,以生成針對(duì)所述用戶(hù)的配 置信息;以及打包裝置,將所述應(yīng)用模板和所述配置信息打包,以生成適合用戶(hù)的需求的應(yīng)用包。
25.根據(jù)權(quán)利要求24所述的創(chuàng)建器,進(jìn)一步包括保存裝置,用于保存所述應(yīng)用包,以便于隨后創(chuàng)建其他應(yīng)用;和/或 導(dǎo)出裝置,用于導(dǎo)出所述應(yīng)用包,以供外部應(yīng)用創(chuàng)建人員使用。
26.根據(jù)權(quán)利要求24所述的創(chuàng)建器,進(jìn)一步包括部署裝置,用于針對(duì)所述應(yīng)用包執(zhí)行 部署,以便為用戶(hù)提供所述面向服務(wù)的應(yīng)用系統(tǒng)。
27.根據(jù)權(quán)利要求24所述的創(chuàng)建器,其中,所述選擇裝置進(jìn)一步用于以下操作中的一 種或者多種從存儲(chǔ)庫(kù)中選擇用戶(hù)界面、應(yīng)用對(duì)象以及相應(yīng)動(dòng)作中的一種或者多種; 從存儲(chǔ)庫(kù)中選擇預(yù)定義的應(yīng)用包;以及 從外部導(dǎo)入預(yù)定義的應(yīng)用包,其中,所述預(yù)定義的應(yīng)用包包括用于實(shí)現(xiàn)特定功能的多個(gè)應(yīng)用模板,或者包括實(shí)現(xiàn)特 定功能的多個(gè)應(yīng)用模板以及相關(guān)的配置信息。
28.根據(jù)權(quán)利要求24所述的創(chuàng)建器,其中,所述配置裝置進(jìn)一步被用于以下操作中的 一種或者多種刪除所述用戶(hù)界面、所述應(yīng)用對(duì)象、所述動(dòng)作中至少一個(gè); 修改所述用戶(hù)界面、所述應(yīng)用對(duì)象、所述動(dòng)作中至少一個(gè); 增加所述用戶(hù)界面、所述應(yīng)用對(duì)象、所述動(dòng)作中至少一個(gè);以及 設(shè)置網(wǎng)絡(luò)服務(wù)請(qǐng)求所遵循的協(xié)議。
29.根據(jù)權(quán)利要求24所述的創(chuàng)建器,其中,所生成的應(yīng)用包包括數(shù)據(jù)應(yīng)用對(duì)象,其包括專(zhuān)用于存儲(chǔ)業(yè)務(wù)數(shù)據(jù)的平面結(jié)構(gòu)數(shù)據(jù)單元;和/或 平臺(tái),該平臺(tái)是一種應(yīng)用對(duì)象,包括專(zhuān)用于存儲(chǔ)所述配置信息的平面結(jié)構(gòu)數(shù)據(jù)單元。
30.根據(jù)權(quán)利要求24所述的創(chuàng)建器,其中,所述配置信息包括用戶(hù)界面信息和/或網(wǎng)絡(luò) 服務(wù)請(qǐng)求信息。
全文摘要
本發(fā)明公開(kāi)了一種面向服務(wù)的應(yīng)用系統(tǒng),所述應(yīng)用系統(tǒng)包括一個(gè)或多個(gè)應(yīng)用對(duì)象,每個(gè)應(yīng)用對(duì)象包括專(zhuān)用于存儲(chǔ)特定類(lèi)型數(shù)據(jù)的平面結(jié)構(gòu)數(shù)據(jù)單元;用于存儲(chǔ)該數(shù)據(jù)單元中的數(shù)據(jù)與其他應(yīng)用對(duì)象中數(shù)據(jù)單元的數(shù)據(jù)之間關(guān)系的關(guān)系存儲(chǔ)單元;以及用于操作該數(shù)據(jù)單元中的數(shù)據(jù)和該關(guān)系存儲(chǔ)單元中的信息的應(yīng)用代碼模塊,其中,所述應(yīng)用代碼模塊用于響應(yīng)于網(wǎng)絡(luò)服務(wù)請(qǐng)求,對(duì)平面結(jié)構(gòu)數(shù)據(jù)單元和/或關(guān)系存儲(chǔ)單元進(jìn)行操作。本發(fā)明還提供了該面向服務(wù)的應(yīng)用系統(tǒng)的通信方法、用于創(chuàng)建該面向服務(wù)的應(yīng)用系統(tǒng)的創(chuàng)建器和方法。通過(guò)本發(fā)明,可以快速建立和修改該面向服務(wù)的應(yīng)用系統(tǒng),且在應(yīng)用系統(tǒng)中不存在信息孤島,此外還可使用戶(hù)的業(yè)務(wù)數(shù)據(jù)與其供應(yīng)商、客戶(hù)和合作方共享,從而為用戶(hù)帶來(lái)諸多益處。
文檔編號(hào)H04L29/08GK101882073SQ200910137109
公開(kāi)日2010年11月10日 申請(qǐng)日期2009年5月4日 優(yōu)先權(quán)日2009年5月4日
發(fā)明者譚家輝 申請(qǐng)人:譚家輝