c#中overlord实例_具有Overlord的WildFly 8.1中的API管理
c#中overlord實(shí)例
昨天,我簡(jiǎn)要介紹了霸王項(xiàng)目家族。 今天是時(shí)候進(jìn)行試駕了。 API管理子項(xiàng)目?jī)商烨鞍l(fā)布了1.0.0.Alpha1,并根據(jù)18個(gè)月的路線圖介紹了第一組功能。
APIMan到底是什么?
它是一個(gè)API管理系統(tǒng),可以嵌入到現(xiàn)有框架或應(yīng)用程序中,甚至可以作為單獨(dú)的系統(tǒng)運(yùn)行。 到目前為止,一切都很好。 但是什么是API管理?為什么要關(guān)心它? 事實(shí)是,當(dāng)今的應(yīng)用程序規(guī)模越來越大,復(fù)雜性越來越高,并且分布越來越廣泛。 將更多的消費(fèi)者添加到移動(dòng)設(shè)備,電視或即將推出的整個(gè)IoT設(shè)備等組合中,并考慮如何在整個(gè)應(yīng)用程序中一致地實(shí)施訪問控制或使用。 一個(gè)噩夢(mèng)的候選人。 但是不要太擔(dān)心。 這就是API管理的用武之地。APIMan為您的API提供了基于策略的靈活的運(yùn)行時(shí)治理。 它允許API提供者通過多種計(jì)劃提供相同的API,從而為不同的API使用者提供不同級(jí)別的服務(wù)。 聽起來還復(fù)雜嗎? 試一試吧。
圖書館REST服務(wù)
想象一下,公共圖書館有一個(gè)很好的RESTful服務(wù),其中列出了書籍。 它在某個(gè)地方運(yùn)行,通常不受訪問限制。 現(xiàn)在,有人想到了構(gòu)建一個(gè)出色的移動(dòng)應(yīng)用程序的想法,該應(yīng)用程序可以查找圖書是否在圖書館中。 下一步應(yīng)該是添加一個(gè)選項(xiàng)來預(yù)訂一本書幾個(gè)小時(shí),這是舊系統(tǒng)目前無法做到的。 與其大量調(diào)整庫應(yīng)用程序的舊版本,我們不打算使用API??Man為移動(dòng)應(yīng)用程序提供一致的API,并讓它現(xiàn)在管理身份驗(yàn)證。 我在這里使用的API是一個(gè)簡(jiǎn)單的resteasy示例。 您可以使用必須使用的任何Web服務(wù)終結(jié)點(diǎn)。
WildFly 8.1入門
該項(xiàng)目可以在各種運(yùn)行時(shí)平臺(tái)上構(gòu)建和部署,但是如果您希望盡快看到它在運(yùn)行, 則只需要派生并克隆APIMan GitHub存儲(chǔ)庫,并簡(jiǎn)單地使用Maven 3.x進(jìn)行構(gòu)建即可。 如果使用“ run-all-wildfly8”配置文件,則可以立即對(duì)其進(jìn)行驅(qū)動(dòng)測(cè)試,因?yàn)樗粌H可以構(gòu)建項(xiàng)目,還可以下載并配置最新的WildFly 8.1,并最終為您啟動(dòng)它。 構(gòu)建并啟動(dòng)需要花費(fèi)一些時(shí)間,因此最好帶點(diǎn)耐心。
因此,要做的所有探索就是在http:// localhost:8080 / apiman-dt-ui /上啟動(dòng)管理控制臺(tái),并使用以下用戶之一登錄(“!”是密碼,btw):
- admin / admin123!
- bwayne / bwayne123!
- ckent / ckent123!
- dprince / dprince123!
試駕快速入門
該文檔現(xiàn)在有點(diǎn)薄弱,所以我將向您簡(jiǎn)要介紹一下控制臺(tái)。
打開控制臺(tái)并使用admin用戶登錄。 現(xiàn)在,您可以“創(chuàng)建一個(gè)新的組織”,現(xiàn)在將其稱為“公共圖書館”。 新創(chuàng)建的組織向您顯示一些選項(xiàng)卡(“應(yīng)用程序”,“服務(wù)”,“計(jì)劃”,“成員”)。 切換到服務(wù)選項(xiàng)卡,然后單擊“新服務(wù)”按鈕。 輸入“ BookListing”作為名稱,將1.0保留為“版本”,您可能會(huì)對(duì)其進(jìn)行描述,以供參考。
單擊“創(chuàng)建服務(wù)”按鈕后,您將重定向到概述頁面。 切換到“實(shí)施”并填寫最終的API端點(diǎn)。 在我的情況下,這將是:http:// localhost:9080 / jaxb-json / resteasy / library / books / badger(注意:它部署在其他WildFly實(shí)例上)完成后單擊“保存”。
如果切換回概述頁面,則會(huì)看到該服務(wù)的狀態(tài)為“已創(chuàng)建”,而“發(fā)布”按鈕仍為灰色。 為了實(shí)現(xiàn)此目標(biāo),我們需要向APIMan添加更多信息。 下一步是向組織添加一個(gè)所謂的計(jì)劃。 切換回它并選擇“計(jì)劃”選項(xiàng)卡,然后單擊“新計(jì)劃”按鈕。 計(jì)劃基本上允許對(duì)單個(gè)策略進(jìn)行分組并將其分配給服務(wù)。 將其稱為“ InternetBlackList”,然后單擊相應(yīng)的按鈕來創(chuàng)建它。 從“計(jì)劃”概述中,通過單擊按鈕選擇“策略”和“添加策略”。 定義“ IP黑名單策略”,然后輸入您不希望訪問該服務(wù)的潛在惡意IP地址。
為了能夠發(fā)布我們的服務(wù),我們需要將新創(chuàng)建的計(jì)劃鏈接到BookListing服務(wù)。 導(dǎo)航回到那里,然后選擇“計(jì)劃”選項(xiàng)卡。 選擇“ InternetBlackList”計(jì)劃,然后單擊“保存”。 現(xiàn)在,查看服務(wù)上的“概述”頁面最終將顯示“就緒”狀態(tài),讓我們進(jìn)行發(fā)布。
現(xiàn)在它已經(jīng)發(fā)布,我們可以實(shí)際使用它了。 但是我們將在此處采取另一步驟,并通過合同將服務(wù)鏈接到應(yīng)用程序。 通過創(chuàng)建合同,您可以通過服務(wù)提供的特定計(jì)劃將應(yīng)用程序連接到服務(wù)。 您可能希望這樣做,以便您的應(yīng)用程序可以成功調(diào)用服務(wù)。
通過導(dǎo)航回公共圖書館組織并單擊“新建應(yīng)用程序”按鈕來創(chuàng)建應(yīng)用程序。 命名為“慕尼黑”,保留1.0的版本,并根據(jù)需要輸入說明; 點(diǎn)擊“創(chuàng)建應(yīng)用程序”。 剩下要做的第一步是鏈接服務(wù)和應(yīng)用程序。 這是通過合同完成的。 選擇“合同”頁面,然后使用按鈕創(chuàng)建“新合同”。 在“查找服務(wù)”字段中輸入“ book”,然后搜索我們的BookListing服務(wù)。 選擇它。 現(xiàn)在您可以創(chuàng)建合同。
最后一步是在“概述”頁面中注冊(cè)新創(chuàng)建的應(yīng)用程序。
就是這樣 我們現(xiàn)在有一個(gè)已發(fā)布的服務(wù)和一個(gè)注冊(cè)的應(yīng)用程序。 如果導(dǎo)航到應(yīng)用程序的API頁面,則可以看到該應(yīng)用程序的托管端點(diǎn)。 如果將鼠標(biāo)懸停在該服務(wù)上,則會(huì)出現(xiàn)一個(gè)“復(fù)制”按鈕,該按鈕可讓您復(fù)制通過APIMan網(wǎng)關(guān)傳遞的托管端點(diǎn)的URL。
如果您嘗試通過指定的列入黑名單的IP地址訪問該服務(wù),現(xiàn)在將收到錯(cuò)誤消息。 如果不是,您將通過網(wǎng)關(guān)代理到該服務(wù)。
注意apikey查詢字符串嗎? 這是網(wǎng)關(guān)用來定位服務(wù)并代理對(duì)受管端點(diǎn)的呼叫的密鑰。 如果您不想將其作為查詢字符串的一部分發(fā)送,則還可以使用稱為X-API-Key的自定義HTTP標(biāo)頭。
下一步是什么?
那是一個(gè)非??焖偾也煌暾倪^程。 但是希望您對(duì)背后的基本概念有所了解。 APIMan和其他Overlord子項(xiàng)目發(fā)展Swift。 他們很高興收到您的貢獻(xiàn) ,如果您喜歡自己所看到的內(nèi)容或收到其他反饋,請(qǐng)隨時(shí)與該項(xiàng)目取得聯(lián)系。 如果您想了解更多類似API的方法,則還可以觀看和收聽以下截屏視頻。 這有些過時(shí)了,但仍然很有幫助。
翻譯自: https://www.javacodegeeks.com/2014/09/api-management-in-wildfly-8-1-with-overlord.html
c#中overlord實(shí)例
總結(jié)
以上是生活随笔為你收集整理的c#中overlord实例_具有Overlord的WildFly 8.1中的API管理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 玉皇大帝叫什么名字张友仁(张友仁怎么当上
- 下一篇: java转换为c#_C#vs Java哪