本發(fā)明屬于PaaS平臺(tái)中對(duì)于服務(wù)間協(xié)同構(gòu)建技術(shù)領(lǐng)域,尤其涉及一種PaaS平臺(tái)中基于配置的服務(wù)協(xié)同方法。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)和信息技術(shù)的發(fā)展,出現(xiàn)了越來越多的網(wǎng)絡(luò)應(yīng)用,并向著網(wǎng)絡(luò)化、協(xié)同化、跨域化的趨勢發(fā)展,網(wǎng)絡(luò)協(xié)同應(yīng)用的普及變得越來越廣泛。但是開發(fā)、管理、支撐這樣一個(gè)大型協(xié)同應(yīng)用非常復(fù)雜,具備這種能力的軟件生產(chǎn)企業(yè)并不多,目前普遍缺乏統(tǒng)一的公共信息技術(shù)和支撐平臺(tái)來屏蔽這些復(fù)雜的協(xié)同應(yīng)用實(shí)現(xiàn)技術(shù),如分布式服務(wù)調(diào)用、應(yīng)用跨域協(xié)同、協(xié)同應(yīng)用適配等關(guān)鍵技術(shù)實(shí)現(xiàn)。云計(jì)算及PaaS服務(wù)模式的出現(xiàn)為如何實(shí)現(xiàn)網(wǎng)絡(luò)應(yīng)用的快速開發(fā)、交付、使用和部署帶來了新的契機(jī)和技術(shù)手段。PaaS平臺(tái)通過一系列基礎(chǔ)接口實(shí)現(xiàn)網(wǎng)絡(luò)應(yīng)用的快速構(gòu)建或交付,并能夠根據(jù)用戶需求的不同以SaaS模式提供個(gè)性化的應(yīng)用服務(wù)。但是當(dāng)前PaaS平臺(tái)大多集中在單一服務(wù)的定制、交付、使用和部署等方面,單一服務(wù)的支撐無法能夠滿足目前網(wǎng)絡(luò)復(fù)雜情況下應(yīng)用系統(tǒng)中各服務(wù)之間協(xié)同部署運(yùn)行的需求。
因此,需要提出一種合理的PaaS平臺(tái)中支持服務(wù)間協(xié)同的方法來避免上述缺陷的產(chǎn)生。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)的不足,本發(fā)明的目的是提供一種PaaS平臺(tái)中基于配置的服務(wù)協(xié)同方法,提供一種面向云計(jì)算的協(xié)同服務(wù)開發(fā)、交付、部署、定制和使用模式,能夠滿足目前網(wǎng)絡(luò)復(fù)雜情況下應(yīng)用系統(tǒng)中各服務(wù)之間協(xié)同部署運(yùn)行的需求。
一種PaaS平臺(tái)中基于配置的服務(wù)協(xié)同方法,所述PaaS平臺(tái)中基于配置的服務(wù)協(xié)同方法包括以下步驟:
S1,服務(wù)定義:是該服務(wù)預(yù)先定義完成的對(duì)整個(gè)服務(wù)的描述,包括服務(wù)配置信息和服務(wù)部署腳本;
S2,服務(wù)編排:是應(yīng)用創(chuàng)建前,對(duì)應(yīng)用中各個(gè)服務(wù)之間的協(xié)同關(guān)系進(jìn)行設(shè)定的過程;
S3,服務(wù)創(chuàng)建:服務(wù)編排之后,根據(jù)服務(wù)的優(yōu)先級(jí)順序進(jìn)行服務(wù)的創(chuàng)建,服務(wù)創(chuàng)建之前完成參數(shù)綁定的替換,將輸入項(xiàng)傳遞到服務(wù)的部署腳本中完成服務(wù)的創(chuàng)建,從而達(dá)到服務(wù)之間協(xié)同的目標(biāo)。
優(yōu)選地,所述服務(wù)的配置信息定義了服務(wù)的優(yōu)先級(jí)、服務(wù)所需的輸入項(xiàng)和服務(wù)的輸出項(xiàng):
服務(wù)的優(yōu)先級(jí)定義服務(wù)創(chuàng)建的先后順序,使用數(shù)字表示,數(shù)字越大優(yōu)先級(jí)越大,如果數(shù)字相同表示該服務(wù)可以同時(shí)創(chuàng)建;
服務(wù)的輸入項(xiàng)定義了該服務(wù)被正常創(chuàng)建所需的所有輸入項(xiàng);
服務(wù)的輸出項(xiàng)定義該服務(wù)暴露的服務(wù)信息。
優(yōu)選地,所述服務(wù)部署腳本根據(jù)服務(wù)的輸入項(xiàng)正常創(chuàng)建該服務(wù)的部署腳本,通過解析服務(wù)的輸入項(xiàng),并完成配置過程,成功創(chuàng)建出該服務(wù)提供服務(wù)。
優(yōu)選地,服務(wù)編排包含服務(wù)間優(yōu)先級(jí)的設(shè)置和服務(wù)輸出項(xiàng)與輸入項(xiàng)的關(guān)聯(lián)兩個(gè)部分。
本發(fā)明的技術(shù)方案具有以下有益效果:
本發(fā)明提供的一種PaaS平臺(tái)中支持服務(wù)間協(xié)同的方法,提供一種面向云計(jì)算的協(xié)同服務(wù)交付、部署、定制和使用模式。基于支持服務(wù)協(xié)同的PaaS平臺(tái), 能夠滿足目前網(wǎng)絡(luò)復(fù)雜情況下應(yīng)用系統(tǒng)中各服務(wù)之間協(xié)同部署運(yùn)行的需求,并且有效降低服務(wù)協(xié)同的復(fù)雜度。
附圖說明
下面通過附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
圖1是本發(fā)明一種PaaS平臺(tái)中基于配置的服務(wù)協(xié)同方法流程圖;
圖2是本發(fā)明一種PaaS平臺(tái)中基于配置的服務(wù)協(xié)同方法的實(shí)施例應(yīng)用的拓?fù)鋱D;
圖3是本發(fā)明一種PaaS平臺(tái)中基于配置的服務(wù)協(xié)同方法的服務(wù)創(chuàng)建過程圖。
具體實(shí)施方式
為了清楚了解本發(fā)明的技術(shù)方案,將在下面的描述中提出其詳細(xì)的結(jié)構(gòu)。顯然,本發(fā)明實(shí)施例的具體施行并不足限于本領(lǐng)域的技術(shù)人員所熟習(xí)的特殊細(xì)節(jié)。本發(fā)明的優(yōu)選實(shí)施例詳細(xì)描述如下,除詳細(xì)描述的這些實(shí)施例外,還可以具有其他實(shí)施方式。
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明做進(jìn)一步詳細(xì)說明。
本實(shí)施例提出一個(gè)PaaS平臺(tái)中支持服務(wù)間協(xié)同的方法,提供一種面向云計(jì)算的協(xié)同服務(wù)交付、部署、定制和使用模式?;谥С址?wù)協(xié)同的PaaS平臺(tái), 能夠滿足目前網(wǎng)絡(luò)復(fù)雜情況下應(yīng)用系統(tǒng)中各服務(wù)之間協(xié)同部署運(yùn)行的需求;服務(wù)協(xié)同的重點(diǎn)是服務(wù)可以接服務(wù),因此往往上一個(gè)服務(wù)的輸出將成為下一個(gè)服務(wù)的輸入信息,在上一個(gè)服務(wù)進(jìn)行服務(wù)調(diào)用和計(jì)算得到結(jié)果后將輸出信息直接和下一個(gè)服務(wù)的輸入信息進(jìn)行映射。就達(dá)到基本的服務(wù)間協(xié)同的目的。
本實(shí)施例公開的一種PaaS平臺(tái)中基于配置的服務(wù)協(xié)同方法,結(jié)合圖1,包括以下步驟:
S1,服務(wù)定義:服務(wù)定義是該服務(wù)預(yù)先定義完成的對(duì)整個(gè)服務(wù)的描述,包括兩部分服務(wù)配置信息和服務(wù)部署腳本。
1.服務(wù)配置信息,服務(wù)的配置信息定義了服務(wù)的優(yōu)先級(jí),服務(wù)所需的輸入項(xiàng),服務(wù)的輸出項(xiàng)。
服務(wù)的優(yōu)先級(jí)定義服務(wù)創(chuàng)建的先后順序,使用數(shù)字表示,數(shù)字越大優(yōu)先級(jí)越大,如果數(shù)字相同表示該服務(wù)可以同時(shí)創(chuàng)建。例如有兩個(gè)服務(wù)服務(wù)A,服務(wù)B和服務(wù)C,A的優(yōu)先級(jí)定義為1,B的優(yōu)先級(jí)定義為2,C的優(yōu)先級(jí)定義為2那么在應(yīng)用的創(chuàng)建過程中服務(wù)A先創(chuàng)建,然后服務(wù)B和服務(wù)C可以同時(shí)創(chuàng)建。這種優(yōu)先級(jí)定義簡化了服務(wù)間相互依賴關(guān)系的定義。
服務(wù)的輸入項(xiàng)定義了該服務(wù)被正常創(chuàng)建所需的所有輸入項(xiàng)。例如服務(wù)A正常創(chuàng)建過程中需要數(shù)據(jù)庫地址,數(shù)據(jù)庫用戶名和數(shù)據(jù)庫密碼,則該服務(wù)的輸入項(xiàng)會(huì)有數(shù)據(jù)庫地址,數(shù)據(jù)庫用戶名和數(shù)據(jù)庫密碼。服務(wù)的部署腳本利用服務(wù)的輸入項(xiàng)就能,正確的創(chuàng)建出該服務(wù)。
服務(wù)的輸出項(xiàng)定義該服務(wù)暴露的服務(wù)信息。例如服務(wù)A是一個(gè)數(shù)據(jù)庫服務(wù),該數(shù)據(jù)庫服務(wù)的輸出項(xiàng)為數(shù)據(jù)庫地址,數(shù)據(jù)庫用戶,數(shù)據(jù)庫密碼,其他服務(wù)發(fā)現(xiàn)這些輸出項(xiàng)就能使用該數(shù)據(jù)庫服務(wù)。
2.服務(wù)部署腳本,根據(jù)服務(wù)的輸入項(xiàng)能夠正常創(chuàng)建該服務(wù)的部署腳本。通過解析服務(wù)的輸入項(xiàng),并完成配置過程,成功創(chuàng)建出該服務(wù)提供服務(wù);
S2,服務(wù)編排:服務(wù)編排是應(yīng)用創(chuàng)建前,對(duì)應(yīng)用中各個(gè)服務(wù)之間的協(xié)同關(guān)系進(jìn)行設(shè)定的過程,包含服務(wù)編排包含服務(wù)間優(yōu)先級(jí)的設(shè)置和服務(wù)輸出項(xiàng)與輸入項(xiàng)的關(guān)聯(lián)兩個(gè)部分:
服務(wù)間優(yōu)先級(jí)的設(shè)置。例如我們創(chuàng)建一個(gè)應(yīng)用需要用到服務(wù)A,服務(wù)B,服務(wù)C。服務(wù)A需要的優(yōu)先完成創(chuàng)建,服務(wù)B和服務(wù)C需要在服務(wù)A提供服務(wù)之后創(chuàng)建。那么我們可以定義服務(wù)A的優(yōu)先級(jí)為1,服務(wù)B和服務(wù)C的優(yōu)先級(jí)為2。這樣達(dá)到服務(wù)B和服務(wù)C依賴服務(wù)A的要求。
服務(wù)輸出項(xiàng)與輸入項(xiàng)的關(guān)聯(lián),這是服務(wù)之間協(xié)同的關(guān)鍵。我們通過參數(shù)綁定的方式將服務(wù)的輸出項(xiàng)和輸入項(xiàng)進(jìn)行關(guān)聯(lián)。例如服務(wù)A的輸入項(xiàng)InParameter1需要與服務(wù)B的輸出項(xiàng)OutParameter1進(jìn)行關(guān)聯(lián),則我們?cè)O(shè)置InParameter1的值為${B: OutParameter1},這樣我們就能進(jìn)行參數(shù)的替換,在創(chuàng)建過程中將真實(shí)的值進(jìn)行替換,完成服務(wù)的創(chuàng)建過程。;
S3,服務(wù)創(chuàng)建:服務(wù)編排之后,根據(jù)服務(wù)的優(yōu)先級(jí)順序進(jìn)行服務(wù)的創(chuàng)建,服務(wù)創(chuàng)建之前完成參數(shù)綁定的替換,將輸入項(xiàng)傳遞到服務(wù)的部署腳本中完成服務(wù)的創(chuàng)建,從而達(dá)到服務(wù)之間協(xié)同的目標(biāo)。
具體實(shí)現(xiàn)方式如下:
已一個(gè)常見的web應(yīng)用為例,該應(yīng)用由三種服務(wù)組成,包括負(fù)載均衡服務(wù),web服務(wù),數(shù)據(jù)庫服務(wù),該應(yīng)用的拓?fù)鋱D如圖2。
服務(wù)定義:對(duì)這3中服務(wù)進(jìn)行了定義,服務(wù)配置信息如下:
負(fù)載均衡服務(wù)定義:
web服務(wù)定義:
數(shù)據(jù)庫服務(wù)定義:
服務(wù)編排,經(jīng)過這個(gè)過程我們將配置這三種服務(wù)間的協(xié)同關(guān)系,配置后的服務(wù)配置信息如下:
負(fù)載均衡服務(wù)配置:
web服務(wù)配置:
數(shù)據(jù)庫服務(wù)配置:
服務(wù)創(chuàng)建過程如圖3,根據(jù)服務(wù)的優(yōu)先級(jí),數(shù)據(jù)庫服務(wù)將被優(yōu)先創(chuàng)建。當(dāng)數(shù)據(jù)庫服務(wù)創(chuàng)建完成后,我們使用數(shù)據(jù)庫服務(wù)的輸出項(xiàng)對(duì)web服務(wù)的輸入項(xiàng)進(jìn)行參數(shù)替換,web服務(wù)根據(jù)替換后的輸入項(xiàng)完成服務(wù)的創(chuàng)建。當(dāng)web服務(wù)創(chuàng)建完成之后,我們使用web服務(wù)的輸出項(xiàng)對(duì)負(fù)載均衡服務(wù)的輸入項(xiàng)進(jìn)行參數(shù)替換,完成負(fù)載均衡服務(wù)的創(chuàng)建。
對(duì)比當(dāng)前PaaS平臺(tái)大多集中在單一服務(wù)的定制、交付、使用和部署等方面,單一服務(wù)的支撐無法滿足目前網(wǎng)絡(luò)復(fù)雜情況下應(yīng)用系統(tǒng)中各服務(wù)之間協(xié)同部署運(yùn)行的需求,本發(fā)明提出的一個(gè)PaaS平臺(tái)中支持服務(wù)間協(xié)同的方法,提供一種面向云計(jì)算的協(xié)同服務(wù)交付、部署、定制和使用模式?;谥С址?wù)協(xié)同的PaaS平臺(tái), 能夠滿足目前網(wǎng)絡(luò)復(fù)雜情況下應(yīng)用系統(tǒng)中各服務(wù)之間協(xié)同部署運(yùn)行的需求,并且有效降低服務(wù)協(xié)同的復(fù)雜度。
最后應(yīng)當(dāng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非對(duì)其限制,盡管參照上述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,所屬領(lǐng)域的普通技術(shù)人員依然可以對(duì)本發(fā)明的具體實(shí)施方式進(jìn)行修改或者等同替換,這些未脫離本發(fā)明精神和范圍的任何修改或者等同替換,均在申請(qǐng)待批的權(quán)利要求保護(hù)范圍之內(nèi)。