初识MuleSoft

MuleSoft 是一家用于企业级软件集成平台,它的作用呢,就是将传统的紧密耦合的集成方式,变成API-led Connectivity,属于ESB(企业服务总线)的形式,简单来讲,传统的点对点集成模式,缺乏扩展性,做出来的产品很可能是这样的

这样的产品在完成后,因为其耦合程度太高,但凡要修改其中一个地方的内容,比如新增字段,其他数据库实体也需要相应的更新集成代码,并通过测试再上线,随着需求更新变更增加,系统的负载会越来越高,并最终不堪重负 

那么如果使用MuleSoft对接口进行整合,做出来的产品就会摇身一变成

如图中所示,重构后的系统架构分Experience APIs、Process APIs和System APIs三层,从而有效保障了系统的扩展性,这也是MuleSoft所推荐的组织形式,将API构建和组织为三类

 

那么我们来看一下MuleSoft该如何使用

首先注册MuleSoft试用账号(30天免费),然后填写信息完成,就可以进入到Anypoint平台

 MuleSoft平台主要分五个大区域

组件     描述        
Design Center 设计API,构建集成并为任何系统创建连接器
Manage Cneter 从初始部署到正在进行的操作,管理API和关于AnyPoint平台的所有信息
Engage - AnyPoint Exchange 私有的或者公开的资源库
Run - Mule 基础执行引擎,轻巧且高性能的通用处理器
Scale - Runtime Service 支持平台的辅助功能,例如数据的临时存储和消息队列

接下来我们尝试下MuleSoft的使用:登录Anypoint, 选择Design Center → Start designing.

 

点击Create按钮,Create API specification。输入名称:Hello-World

 之后进入到一个API Specification窗口,在这里可以设计API 规范,输入下列内容

#%RAML 1.0
title: Hello-World
version: v1.0
securitySchemes:
  basic:
    description: |
      This API supports Basic Authentication.
    type: Basic Authentication
          
securedBy: [basic]
types:
  Account:
    properties:
      identifier?: string
      identifiers: IdentifierMap
      name: string
      email: string
      phone: number
      description?: string
  
  Identifier:
    type: string
    pattern: ^[0-9A-Za-z-]+
    minLength: 3
    maxLength: 36

  IdentifierMap:
    type: array
    items:
      type: object
      properties:
        /[0-9A-Z-]+/:
          type: Identifier
/Account:
  /{accountId}:
      uriParameters:
        accountId: string
      get:
        responses: 
          200:
            body:
              application/json:
                type: Account
                example: |
                  {
                    "identifier": "eb8c8ca7-3c42-4489-a820-3aa138430b75",
                    "identifiers": [{
                      "SKU": "UGG-BB-PUR-06"
                    }],
                    "name": "Luqinghau",
                    "phone":12334567890,
                    "email":"[email protected]",
                    "description": "just test mulesoft Function.this is hello mulesoft"
                  }
          404:
            body: 
              application/json:
                properties:
                  message: string
                example: |
                  {
                    "message" : "Account not found"
                  }

上面的内容很简单,首先从顶层描述整体API开始,定义支持的身份验证方法(基本身份验证),然后使用secureBy参数为所有端点和方法全局分配该身份验证方法。规范创建产品的数据类型,其中包含其参数和类型。在其下,您可以找到IdentifierMap等数据类型。通过指定数据类型,可以在整个RAML文件中引用它们来重用它们。接下来该规范描述了GET API /Account / {accountId} 以及它对请求参数-客户ID,内容类型和枚举的查询参数-以及响应。成功的200输出为JSON正文指定的数据类型,以及200响应的示例。最后,还有一个异常错误,状态代码为404未找到。

那么完成的API规范该如何进行测试呢?右上角打开内置的模拟服务(Mocking Service),然后就会出现一个Base URL的参数,这个Base URL是访问API的基本路径。 所有端点都附加到此基本路径

 Tips: 模拟服务可以让实现API与调用API并行,从而加快项目速度,无需等待API的完成

点击GET按钮,然后页面反转,出现Try It,从而开始进行接口授权以及参数模拟

 

 点击Send, 会得到一个模拟的响应结果,点击Details, 可以查看接口响应的原始数据

设计出来的模拟API可以跟其他团队成员共享,点击右上角的 Publish to Exchange,输入API版本号,即可保存到团队共有的资料库中供人查看使用

 

总体上来讲,MuleSoft的设计和使用更适合大型项目,涉及的系统越多越能发挥它的作用,是一款值得学习的软件

猜你喜欢

转载自www.cnblogs.com/mysalesforce/p/12607846.html