datai/datai-scenes/datai-scene-salesforce/datai-salesforce-common/DEPENDENCIES.md

219 lines
6.6 KiB
Markdown
Raw Normal View 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 集成相关依赖