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