datai/datai-scenes/datai-scene-salesforce/datai-salesforce-common/DEPENDENCIES.md
Kris a674b04a93 feat: 优化 Salesforce 多系统认证需求文档
- 增加 Salesforce CLI 和 Legacy Credential 登录支持
- 将错误码映射从数据库表改为枚举类(SalesforceErrorCode)
- 增加会话管理表(datai_sf_login_session)和功能
- 增加登录历史导出 Excel 和分页查询功能
- 优化系统配置字段(login_url、grant_type、org_alias)
- 更新业务场景、功能需求、数据模型、业务规则等章节
- 确保总需求文档与所有子需求保持一致
2026-01-22 10:42:55 +08:00

6.6 KiB
Raw Blame History

Salesforce Common 模块依赖说明

概述

本文档详细说明 datai-salesforce-common 模块中所有依赖的用途和版本信息。

Salesforce 核心 JAR 包(本地依赖)

1. partner.jar

  • Maven 坐标: com.force.api:partner:57.0.0
  • 类型: 本地 JAR 包system scope
  • 路径: src/main/resources/lib/partner.jar
  • 用途: Salesforce Partner API
    • 提供对 Salesforce 数据的访问接口
    • 支持标准的 CRUD 操作
    • 支持查询、搜索、批量操作
    • 适用于大多数数据访问场景

2. metadata.jar

  • Maven 坐标: com.force.api:metadata:57.0.0
  • 类型: 本地 JAR 包system scope
  • 路径: src/main/resources/lib/metadata.jar
  • 用途: Salesforce Metadata API
    • 提供对 Salesforce 元数据的访问接口
    • 支持自定义对象的创建、修改、删除
    • 支持字段、页面、布局的元数据操作
    • 适用于动态配置和部署场景

3. tooling.jar

  • Maven 坐标: com.force.api:tooling:57.0.0
  • 类型: 本地 JAR 包system scope
  • 路径: src/main/resources/lib/tooling.jar
  • 用途: Salesforce Tooling API
    • 提供对开发工具的访问接口
    • 支持代码部署、测试、调试
    • 支持开发者工具集成
    • 适用于开发和管理场景

4. apex.jar

  • Maven 坐标: com.force.api:apex:57.0.0
  • 类型: 本地 JAR 包system scope
  • 路径: src/main/resources/lib/apex.jar
  • 用途: Salesforce Apex API
    • 提供 Apex 代码的执行接口
    • 支持异步执行、批处理
    • 支持调用 Apex 类和方法
    • 适用于业务逻辑执行场景

传输层依赖

5. force-wsc

  • Maven 坐标: com.force.api:force-wsc:57.0.0
  • 类型: Maven 仓库依赖
  • 用途: Force.com Web Services Connector
    • 提供 SOAP Web 服务客户端
    • 处理与 Salesforce 的通信
    • 支持 WS-Security 认证
    • 是所有 Salesforce API 的基础通信层

6. httpclient

  • Maven 坐标: org.apache.httpcomponents:httpclient:4.5.14
  • 类型: Maven 仓库依赖
  • 用途: Apache HTTP Client
    • 提供高性能 HTTP 客户端
    • 支持连接池、重试机制
    • 支持多种认证方式
    • 用于与 Salesforce API 进行 HTTP 通信

7. httpcore

  • Maven 坐标: org.apache.httpcomponents:httpcore:4.4.16
  • 类型: Maven 仓库依赖
  • 用途: Apache HTTP Core
    • 提供 HTTP 协议核心实现
    • 支持同步和异步 I/O
    • 支持连接管理
    • 是 httpclient 的基础依赖

JSON 处理依赖

8. jackson-databind

  • Maven 坐标: com.fasterxml.jackson.core:jackson-databind:2.15.3
  • 类型: Maven 仓库依赖
  • 用途: Jackson 数据绑定
    • 提供 JSON 对象序列化和反序列化
    • 支持复杂对象映射
    • 支持 JSON 到 Java 对象的转换
    • 用于处理 Salesforce API 返回的 JSON 数据

9. jackson-core

  • Maven 坐标: com.fasterxml.jackson.core:jackson-core:2.15.3
  • 类型: Maven 仓库依赖
  • 用途: Jackson 核心库
    • 提供 JSON 解析和生成
    • 支持流式处理
    • 是 jackson-databind 的基础依赖

10. jackson-annotations

  • Maven 坐标: com.fasterxml.jackson.core:jackson-annotations:2.15.3
  • 类型: Maven 仓库依赖
  • 用途: Jackson 注解
    • 提供 JSON 序列化/反序列化注解
    • 支持 @JsonProperty、@JsonIgnore 等
    • 是 jackson-databind 的基础依赖

日志依赖

11. slf4j-api

  • Maven 坐标: org.slf4j:slf4j-api:2.0.9
  • 类型: Maven 仓库依赖
  • 用途: SLF4J 日志门面
    • 提供统一的日志接口
    • 支持多种日志实现切换
    • 提供占位符、参数化日志
    • 用于记录 Salesforce API 调用日志

12. logback-classic

  • Maven 坐标: ch.qos.logback:logback-classic:1.4.11
  • 类型: Maven 仓库依赖
  • 用途: Logback 日志实现
    • 提供 SLF4J 的日志实现
    • 支持多种输出格式
    • 支持日志滚动、归档
    • 用于实际的日志输出

XML 处理依赖

13. dom4j

  • Maven 坐标: org.dom4j:dom4j:2.1.4
  • 类型: Maven 仓库依赖
  • 用途: DOM4J XML 解析器
    • 提供高效的 XML 解析和处理
    • 支持 XPath 查询
    • 支持 DOM、SAX 两种模式
    • 用于处理 Salesforce SOAP API 的 XML 消息

14. jaxb-api

  • Maven 坐标: javax.xml.bind:jaxb-api:2.3.1
  • 类型: Maven 仓库依赖
  • 用途: JAXB API
    • 提供 Java 对象到 XML 的绑定
    • 支持 XML Schema 生成
    • 提供 @XmlRootElement 等注解
    • 用于处理 Salesforce SOAP API 的 XML 数据

15. jaxb-runtime

  • Maven 坐标: org.glassfish.jaxb:jaxb-runtime:2.3.1
  • 类型: Maven 仓库依赖
  • 用途: JAXB 运行时
    • 提供 JAXB API 的实现
    • 支持 XML 序列化和反序列化
    • 是 jaxb-api 的基础依赖
    • 用于实际的 XML 处理

依赖关系图

datai-salesforce-common
├── Salesforce 核心 JAR 包
│   ├── partner.jar (Partner API)
│   ├── metadata.jar (Metadata API)
│   ├── tooling.jar (Tooling API)
│   └── apex.jar (Apex API)
│
├── 传输层
│   ├── force-wsc (Web Services Connector)
│   ├── httpclient (HTTP Client)
│   └── httpcore (HTTP Core)
│
├── JSON 处理
│   ├── jackson-databind
│   ├── jackson-core
│   └── jackson-annotations
│
├── 日志
│   ├── slf4j-api
│   └── logback-classic
│
└── XML 处理
    ├── dom4j
    ├── jaxb-api
    └── jaxb-runtime

使用场景

1. 数据访问场景

使用 partner.jar 进行标准的 CRUD 操作:

  • 查询 Account、Contact 等对象
  • 创建、更新、删除记录
  • 批量操作

2. 元数据管理场景

使用 metadata.jar 管理自定义对象和字段:

  • 创建自定义对象
  • 添加自定义字段
  • 部署元数据

3. 开发工具场景

使用 tooling.jar 进行开发和管理:

  • 部署 Apex 代码
  • 运行单元测试
  • 调试代码

4. 业务逻辑执行场景

使用 apex.jar 执行业务逻辑:

  • 调用 Apex 类方法
  • 执行异步操作
  • 批量处理数据

注意事项

  1. 本地 JAR 包版本: 当前假设版本为 57.0.0,如果您的 JAR 包版本不同,请更新 pom.xml 中的版本号
  2. system scope: 本地 JAR 包使用 system scope打包时需要确保 JAR 包存在
  3. 依赖传递: 其他模块依赖 datai-salesforce-common 后,会自动获得所有这些依赖
  4. 版本兼容性: 确保所有依赖版本之间兼容,避免冲突

更新日志

  • 2026-01-21: 初始版本,添加所有 Salesforce 集成相关依赖