c#中overlord实例

昨天,我简要介绍了霸王项目家族。 今天是时候进行试驾了。 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子项目发展Swift。 他们很高兴收到您的贡献 ,如果您喜欢自己所看到的内容或收到其他反馈,请随时与该项目取得联系。 如果您想了解更多类似API的方法,则还可以观看和收听以下截屏视频。 这有些过时了,但仍然很有帮助。

翻译自: https://www.javacodegeeks.com/2014/09/api-management-in-wildfly-8-1-with-overlord.html

c#中overlord实例

c#中overlord实例_具有Overlord的WildFly 8.1中的API管理相关推荐

  1. 聚类分析在用户行为中的实例_序列模式挖掘在用户行为分析中的应用

    作者:闲鱼技术-楚丰 背景 在互联网产品中,用户行为分析,通常是指通过统计.分析用户在产品上的各种行为事件,挖掘.发现出有用的信息,为产品的设计,运营策略提供有意义的依据. 通常,用户行为分析包含以下 ...

  2. 聚类分析在用户行为中的实例_聚类分析的简单案例

    基本概念 聚类就是一种寻找数据之间一种内在结构的技术.聚类把全体数据实例组织成一些相似组,而这些相似组被称作聚类.处于相同聚类中的数据实例彼此相同,处于不同聚类中的实例彼此不同.聚类技术通常又被称为无 ...

  3. 聚类分析在用户行为中的实例_聚类分析案例

    一.数据挖掘的常用方法 利用数据挖掘进行数据分析常用的方法主要有分类.回归分析.聚类.关联规则.特征.变化和偏差分析.Web页挖掘等,它们分别从不同的角度对数据进行挖掘. 分类.分类是找出数据库中一组 ...

  4. 敏捷中gwt含义_在您的GWT应用程序中添加JSON功能

    敏捷中gwt含义 JSON简介 在Web应用程序上工作时,总是会出现客户端-服务器数据交换的问题. 在此问题上有多种方法,其中许多使用XML进行交换. 执行此任务的一种不太知名的格式是JSON. JS ...

  5. 天蓝色在ps中的色值_天蓝色AI服务在游戏世界中的作用

    天蓝色在ps中的色值 Welcome Back Readers, 欢迎读者, 介绍 (Introduction) I am Dhruv Trehan, Microsoft Student Partne ...

  6. 语义分割模型中分辨率恢复_语义模型在智慧工业运营中的作用

    语义分割模型中分辨率恢复 在围绕智慧地球解决方案的讨论中,我们经常描述三个关键要素. 有时会标记为三个" i",分别是"仪表","智能"和& ...

  7. 谈判如何在博弈中获得更多_读后感--《谈判--如何在博弈中获得更多》

    这本书读完应该有一个星期了(2018-10-22),由于在学习power bi一直没有顾得上写读后感. 今天特意补上. 这本书是由世界顶级的谈判高手所著,由国人翻译. 作者大多用自己的或其他相似的例子 ...

  8. odoo pivot中去掉求和_一文读懂深度学习中的卷积运算与图像处理

    华为人工智能认证讲师 袁梦 在人工智能深度学习技术中,有一个很重要的概念就是卷积神经网络 CNN(Convolutional Neural Networks).卷积神经网络被广泛地运用到计算机视觉中, ...

  9. 程序解析excel中的图片_产品日志丨支持导入Excel中的图片amp;批量修改后期实体字段...

    本次安捷秀又迎来了一个大版本更新,除了大家呼声很高的「实体模块导入 Excel 」外,还有「批量编辑实体」,「支持右击修改」以及针对海外用户的「全页面支持英文」等功能的新增与优化,一起来看看吧. 导入 ...

最新文章

  1. 2021 EdgeX中国挑战赛盛大开幕,英特尔赋能开发者,助力创新方案落地
  2. vue、cnpm不是内部文件_vue文件通过cnpm install后无法用npm run serve打开
  3. StringBuffer、StringBuilder、ArrayList、Vector、HashMap、HashTable 的扩容机制
  4. php高性能sqllite,简洁的PHP操作SQLite类
  5. Python到底是个什么东西
  6. Bootstrap 按钮的外观
  7. SQL Server 2005 14420 14421错误
  8. 年轻设计师之于《未来产品的设计》
  9. c语言标准流程图,c语言设计流程图!设计流程图
  10. 搭建Hive远程模式初始化的时候报错Access denied for user ‘root‘@‘node1‘(using password:YES)
  11. linux 摄像头yuv,camera YUV格式
  12. OLED显示模块驱动原理及应用
  13. 考研英语(四)——名词性从句
  14. 微软下一代集成开发环境 – Visual Studio 2019
  15. 世界各国人口相关指标(总人口、城镇/乡村人口及增长率、城镇化率、人口密度、男性/女性人口及增长率)1960-2021
  16. 质因数计数公式 POJ 2992 Divisors
  17. 基于51单片机的舞蹈机器人步进机仿真设计
  18. Android中事件传递机制的总结
  19. 视频教程-思科安全IPS/IDS入侵防御系统-防护加固
  20. Linux系统运维面试-07

热门文章

  1. 【区间DP】摆渡线路(2017 特长生 T4)
  2. 【SPFA】Party(jzoj 1328)
  3. codeforces E. Jamie and Tree LCA+dfs序+线段树
  4. MySQL datediff()函数
  5. 我猜,每个程序员对着电梯都想过调度算法吧
  6. Java 必看的 Spring 知识汇总
  7. JSON Web Token (JWT)生成Token及解密实战
  8. Mybatis+mysql动态分页查询数据案例——Mybatis的配置文件(mybatis-config.xml)
  9. LC67---删除有序链表中重复的元素---牛客---JAVA
  10. Opencv FFmpeg Ubuntu下编译问题