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

219 lines
6.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 集成相关依赖