在大多数非平凡的SOA环境中,很难跟踪系统之间不断发展的集成,除非有明确的发布和查找适当信息的方法。 概述IT环境,定义当前或将要连接的内容,是维护环境的先决条件。 缺少这种情况通常会导致“面向意大利面条的环境”的感觉,并且不愿大胆尝试。

这句话听起来很明显,但实际上并不总是考虑在内。 一些组织要么没有这样的集中式集成控制,要么因为“妨碍了一切”而停止使用它。 充其量,这意味着集成信息被保存在某些关键人物的头上,这很冒险。 通常,在这样的地方的团队不敢“在某些情况下仍然依赖它们”更新服务合同,而是在需要更新时随时复制它们,这与SOA相反。

有时,一个好主意只需要退后几步即可正确应用。 我在这篇文章中解释了为什么我认为对SOA路线图的需求应能激发大多数Web服务(包括非敏感服务)上存在安全访问限制。

为什么这么简单的想法很难付诸实践?

有几个因素可以促使团队跳过这一重要的文档编制步骤:

  • 其他重要的短期任务的紧迫性,以及团队不断地“扑灭大火”的感觉,没有时间做其他事情
  • 缺少明确标识的中央存储库,该存储库用于在何处访问和发布此类信息(例如SOA注册中心或存储库),或者缺乏对这些信息的使用。
  • 缺乏集中式的管理,无法监督整合

从人为因素的角度来看,“我已经受够了”综合症会使这种情况恶化。 在复杂的多团队/多项目环境中,已经为眼前的问题所困扰的个人通常不会主动寻找其他项目难以解决(并解决)的依赖问题。 我们需要对此进行预测并积极帮助那些团队,同时要记住,他们要处理的其他问题当然也很重要。

以上内容的核心根源是,在可能的情况下,更容易跳过集成的验证/文档步骤。 我们必须通过宣传集中式集成信息的价值以及提高实现无证集成的难度来扭转这种感觉。

我们需要的

我们需要一个易于使用的过程来收集,验证和发布系统之间当前和将来的依赖关系。 一个关键方面是以“足够的治理”方式使它保持简单并与实际使用它的人保持联系。

四个主要组成部分似乎是:

  • 一个清晰的过程,用于请求新的集成或更新现有的集成。 这包括从业务和技术角度进行验证,以确保环境保持尽可能清洁和面向未来。 如果执行了EA工作,那么大多数请求都来自EA团队或来自EA团队,这使得此步骤变得微不足道! 在实践中,当项目团队在详细的设计或实施阶段确定所需的依赖关系时,也将来自项目团队。
  • 一个明确标识且易于访问的存储库,可在其中查找当前和计划中的集成。 该存储库必须包括每个未来依赖项的版本控制以及弃用/停用计划。
  • 负责更新中央存储库的团队,使路线图保持最新。 如果可以的话,通常是EA团队。
  • 在技​​术层面上,如果不涉及上述三个组件,则无法执行集成。 这应避免在合同更新引发问题之前一直隐藏的“幻影依赖项”。

在实践中,第四个组件应是企业范围内的IT原则,该原则规定每个Web Service实现必须要求调用应用程序具有安全授权。 当服务需要时,这将不会阻止其他安全机制的存在,例如,传输带有发起原始业务操作的人工用户身份的票证(REST和SOAP都允许同时存在多个安全令牌)。

通常必须通过将技术文档和代码示例附加到IT原理上来简化该原理的实现。 因为我们不希望同事之间互相攻击,所以可以采取低风险的方法,其目的只是确保让EA团队更容易建立幻影依赖。 使用SOAP时,我的建议是使用简单的WS-UsernameToken策略,并为每个客户端应用程序关联一个用户名/密码对。 使用REST时,一种众所周知的机制是使用HMAC,将请求的一部分与随机数和/或到期日期一起进行哈希处理(此机制类似于Amazon S3所使用的机制)。

结论

在本文中,我试图解释为什么我认为在每个Web服务中系统地采用一个简单的安全策略有助于跟踪IT状况,并确保SOA治理团队看不到“幻影依赖项”。 此安全策略的实施必须简单易行,并得到帮助文档的支持,并且不能过于强大,仅足以确保EA团队了解所有集成实施。

参考:来自Svend博客的 JCG合作伙伴 Svend Vanderveken的Web服务安全性和SOA路线图的人为因素 。

翻译自: https://www.javacodegeeks.com/2012/09/web-service-security-and-human.html

Web服务安全性和SOA路线图的人为维度相关推荐

  1. soa学习路线_Web服务安全性和SOA路线图的人为维度

    soa学习路线 在大多数非平凡的SOA环境中,很难跟踪系统之间不断发展的集成,除非有明确的发布和查找适当信息的方法. 概述IT环境,定义当前或将要连接的内容,是维护环境的先决条件. 缺少这种方法通常会 ...

  2. RESTful Web 服务 - 安全性

    因为 RESTful Web 服务使用 HTTP URLs 路径,因此以保护网站同样的方式维护 RESTful Web 服务是非常重要的.以下是设计 RESTful Web 服务时要遵循的最佳实践. ...

  3. Web 服务系列标准和规范

    Web 服务系列标准是一组新兴标准,支持异类信息技术流程和系统间的互操作集成.可以将其视为一种新的具有自包含性和自描述性的 Web 应用程序,能提供从最基本的到最复杂的业务和科学流程的功能和互操作机制 ...

  4. web服务:原理与技术01

    电子服务系统设计复习总结01 前言 本文档原意为考试复习所用,基于 <web服务:原理与技术> 课本. 第一章 1.什么是WS (Web Service) ​ ①当服务使用因特网作为通信手 ...

  5. IBM Lotus Domino 7 中的实用 Web 服务,第 1 部分: 什么是 Web 服务以及它们为何如此重要

    Julian Robichaux, 开发人员, 独立顾问 Julian Robichaux 是专门研究 IBM Lotus Notes 和 Java 开发的软件开发人员和专业程序员.他擅长于各种与开发 ...

  6. IBM Lotus Domino 7 中的实用 Web 服务,第 1 部分: 什么是 Web 服务以及它们为何如此重要...

    IBM Lotus Domino 7 中的实用 Web 服务,第 1 部分: 什么是 Web 服务以及它们为何如此重要 级别: 初级 Julian Robichaux, 开发人员, 独立顾问 2005 ...

  7. 通过 Lotus Domino Java 代理消费 Web 服务

    Web 服务是一种允许两台或更多的计算机在网络中交互的系统设计.这种服务的主要优点是,它是在多台不同操作系统的计算机和应用服务器之间发送对象的标准解决方法.例如,我们的公司使用 Web 服务从一台运行 ...

  8. 了解 Web 服务规范: 第 4 部分:WS-Security

    开始之前 在本教程中,您将了解有关 Web 服务安全性(Web Services Security,WS-Security)的信息.本教程针对这样的开发人员,他们希望在能够保证消息传递时不被篡改的环境 ...

  9. Web服务與.NET Remotin的選擇

    使用 Microsoft .NET 建立分布式应用程序 Priya Dhawan Tim Ewald Microsoft Developer Network 2002 年 9 月 适用于: Micro ...

最新文章

  1. 汇编语言---冒泡排序
  2. 让人“蛋碎”的ie兼容问题
  3. PHP快还是HTML快,PHP_HTML-加速、再加速,web开发人员是否必须掌握复杂 - phpStudy...
  4. Cloud for Customer的设置加载机制
  5. 删掉被2345篡改的IE起始页
  6. uva 232 Crossword Answers
  7. Restful规范-开发api接口
  8. 云服务器如何清理垃圾释放空间?
  9. 2021-08-13
  10. python绘图——图片大小设置figsize
  11. 销量持续下跌涨价或许会让苹果业绩雪上加霜
  12. 像素三国志在线html5小游戏,像素三国志bt版
  13. QlikView学习笔记
  14. WPS公式标号对齐,公式居中问题
  15. zookeeper的重连思考
  16. CSGO 绑定一键跳投
  17. 用element-ui el-select 实现拼音码搜搜功能ts版
  18. oracle左关联+号表示方式
  19. Keyboard Demo
  20. 聊聊不确定性和确定性------化不确定性为确定性

热门文章

  1. (转)Kafka 消费者 Java 实现
  2. netflix 模式创新_创新设计模式:单例模式
  3. jdk170不支持注释_JDK 9 @不建议使用的注释增强功能
  4. java8并行流_Java 8:CompletableFuture与并行流
  5. finally块_如何从finally块访问方法的结果值
  6. adf4351使用_使用ADF BC管理保存点
  7. android 揭示动画_揭示垃圾收集暂停的时间长度
  8. java identity_仔细研究Java Identity API
  9. 只读副本和Spring Data第3部分:配置两个实体管理器
  10. JEP 342:JVM和幽灵