我们经常遇到这样的解决方案:客户依赖点对点集成并为每个客户端(移动/网络等)实现自己的后端服务连接。在最好的情况下,这里使用微服务并连接到相应的组件。但这也有局限性。它们通常准时、预算充足,并且通常足以满足单个客户的需求。然而,这些解决方案的可重用性往往有限,与其组件紧密耦合,并且在发生变化时难以扩展
为了更好地做到这一点,我们实施了 MuleSoft 建议的 APILed 方法。服务分为三层体系:体验层、流程层和系统层。
三层系统,来源:MuleSoft
客户端访问体验层中的 API。每个客户端都可以声明自己的体验 API。它们提供所需的功能并访问流程层中的 API。业务功能在流程层中实现。由于业务逻辑通常需要来自第三方系统的数据,因此它们访问系统层API。只有 API 层与实际系统直接连接并与其通信(例如数据库、其他 SOAP/Rest 服务、Salesforce 和 SAP)。每项服务专门针对一个系统,并且只负责其连接。可以通过客户端 ID/秘密定义或 SSH 密钥存储在所有层中保护 API。
我们使用 MuleSoft 的另一个重要事实是整个微观世界的 Java 基础。每个Java 开发人员都会立即注意到该开发环境是Eclipse 的进一步开发。乍一看,包含 Sources 和 Resources 文件夹的项目结构让人想起普通的 Java 应用 分时度假业主名单 程序。通过嵌入 Maven,我们可以访问大量的存储库。当然,MuleSoft 也提供一两个标准存储库。
使用 Common/System Properties 和 Spring Enterprise Beans 可以使 API 适合任何环境。 Java Keystore/TrustStore流程的集成也让复杂的“加密/解密”原理变得熟悉、更容易使用。由于已经具备深入的 Java 专业知识,这种转变特别容易。
一开始,基于 RAML 或 OPENApi 的 REST 规范是在 MuleSoft 设计中心实现的。下一步,这将被发布,然后可以在 Exchange 中访问。该交换还包含已经提到的众多连接器。将显示一个存储库,也可以通过 Maven Repo 连接。
然后在 Anypoint Studio 中实施 API 并创建流程。这些可以通过使用 MUnit 的测试来确保安全。
在运行时管理器中,最终为每个先前定义的阶段提供API并在运行时进行管理。
Anypoint 管理中心,来源:MuleSoft
Anypoint 管理中心,来源:MuleSoft
对于我们的许多客户来说,最重要的是能够在不同的环境中自由运行 MuleSoft 运行时。可以使用任何云解决方案(例如AWS),它要么在自己的服务器上运行整个OnPrem,要么使用MuleSoft自己的云解决方案
结论
MuleSoft 现在已成为我们技术堆栈中不可或缺的一部分,并且我们与制造商保持着值得信赖的合作伙伴关系。这意味着我们可以更加专注于重要的事情并推动它们向前发展——例如整体架构的概念或数据转换的实施。未来,我们希望进一步扩展我们的 MuleSoft 专业知识并建立一个支持中心,即一个由专家组成的团队,为客户和内部团队与 MuleSoft 的合作提供支持。
还有很多令人兴奋的事情有待发现,我们有动力将 MuleSoft 引入不同的项目和客户环境。
例如,在 MuleSoft 的帮助下,我们在一家大型纺织品零售商中引入了客户忠诚度平台的集成,并将仓库物流管理提升到了一个新的水平。
我们能够支持另一位来自能源行业的客户进一步发展数字销售领域。在另一个项目中,一家大型德国认证服务提供商的业务流程通过我们的 MuleSoft 咨询和实施得到了显着简化。
如果您想了解更多信息,无论是 MuleSoft 解决方案的具体细节还是更多应用示例,请与我联系。
您可以在我们之前发布的博客文章中找到来自 adesso 世界的更多令人兴奋的主题。