作为WSO2专家,我来为你详细解析这些核心项目的作用。这些项目构成了WSO2数字平台生态系统的基石。
项目分类与作用概览
| 项目名称 | 类别 | 核心作用 | 对应产品 |
|---|---|---|---|
| product-apim | API管理 | WSO2 API Manager的完整发行版 | WSO2 API Manager |
| product-is | 身份管理 | WSO2 Identity Server的完整发行版 | WSO2 Identity Server |
| carbon-apimgt | API管理核心 | API管理的核心业务逻辑和运行时组件 | API Manager核心引擎 |
| apim-apps | 前端应用 | API Manager的Web控制台(Publisher、DevPortal、Admin) | 用户界面层 |
| apim-analytics-publisher | 数据分析 | API流量数据分析与可视化 | API Analytics |
| carbon-analytics-common | 分析基础 | 分析功能的共享库和工具 | 多产品共享 |
| carbon-identity-framework | 身份框架 | 身份管理的核心框架和扩展点 | Identity Server核心 |
| carbon-kernel | 运行时平台 | WSO2 Carbon平台的核心运行时环境 | 所有产品的基础 |
| identity-api-server | 身份API | 提供RESTful身份管理API | Identity Server API层 |
| identity-data-publisher-authentication | 身份数据 | 认证事件数据发布组件 | 审计与监控 |
| identity-governance | 身份治理 | 身份生命周期和合规性管理 | 治理功能模块 |
详细解析
1. carbon-kernel - 基础运行时平台
作用:WSO2所有产品的统一基础平台
- 提供OSGi运行时环境
- 模块化架构支持(Carbon组件)
- 统一的管理控制台
- 日志、监控、集群等基础设施
- 热部署和动态更新支持
类比:相当于Java的JVM或.NET的CLR,是所有WSO2产品运行的"操作系统"。
2. product-apim - API管理完整产品
作用:完整的API管理解决方案
- API设计、发布、生命周期管理
- API网关和流量管理
- 开发者门户(DevPortal)
- API安全(OAuth2、JWT、API密钥)
- 速率限制和配额管理
- 完整的安装包和发行版
使用场景:企业需要对外或对内提供API服务,进行统一管理和监控。
3. product-is - 身份管理完整产品
作用:完整的身份和访问管理解决方案
- 单点登录(SSO)
- 身份联合(SAML、OIDC、WS-Federation)
- 多因素认证(MFA)
- 身份治理和管理
- 特权账户管理
- 完整的安装包和发行版
使用场景:企业需要统一的身份认证、授权和用户管理平台。
4. carbon-apimgt - API管理核心引擎
作用:API Manager的核心业务逻辑
- API发布和订阅逻辑
- 密钥管理服务(KMS)
- 流量控制策略引擎
- API分析数据收集
- 与网关的通信接口
- 可被其他产品集成的核心模块
关键点 :这是product-apim的核心,但也可以独立集成到其他解决方案中。
5. apim-apps - API管理前端应用
作用:API Manager的用户界面
- Publisher门户:API提供者创建和管理API
- DevPortal门户:开发者发现、测试和订阅API
- Admin门户:系统管理员进行配置和管理
- 基于React的现代化前端架构
- 与
carbon-apimgt后端通过REST API通信
架构特点:前后端分离,可以独立部署和定制UI。
6. carbon-identity-framework - 身份管理框架
作用:Identity Server的可扩展框架
- 认证框架和SPI(服务提供者接口)
- 授权策略引擎(XACML、基于角色的访问控制)
- 声明管理和配置文件处理
- 身份存储连接器(LDAP、JDBC、SCIM)
- 会话管理和单点登录实现
扩展性:允许开发自定义身份提供者、认证器、用户存储等。
7. apim-analytics-publisher - API分析服务
作用:API流量数据的实时分析和可视化
- 实时API流量监控
- 性能指标分析(延迟、吞吐量、错误率)
- 开发者使用情况统计
- 异常检测和告警
- 基于WSO2 Stream Processor构建
数据流:API Gateway → 分析服务 → 可视化仪表板
8. carbon-analytics-common - 分析共享库
作用:为所有分析功能提供基础组件
- 数据流处理通用组件
- 事件格式定义和序列化
- 分析算法库
- 数据持久化工具
- 监控和度量收集框架
共享性 :被apim-analytics-publisher、identity-data-publisher-authentication等多个分析模块使用。
9. identity-api-server - 身份REST API服务
作用:提供标准化的身份管理REST API
- SCIM 2.0 API(用户/组管理)
- OAuth2/OIDC端点
- SAML2 Web SSO端点
- 认证API(基本认证、MFA)
- 基于JAX-RS的实现
标准化:提供符合行业标准的API接口,便于系统集成。
10. identity-data-publisher-authentication - 认证数据发布
作用:发布认证事件用于审计和分析
- 捕获登录成功/失败事件
- 记录认证方法和上下文
- 发布到消息总线(如WSO2 Event Stream)
- 支持实时监控和合规性报告
合规性:满足SOX、GDPR等法规的审计要求。
11. identity-governance - 身份治理模块
作用:管理身份生命周期和合规性
- 用户自助服务(密码重置、账户解锁)
- 工作流驱动的审批流程
- 角色和权限管理
- 合规性策略和报告
- 身份验证和认证
治理流程:入职 → 权限分配 → 定期审查 → 离职回收
项目间关系与协作
架构层次
应用层 (apim-apps, 用户界面)
↓
业务层 (product-apim, product-is - 完整产品)
↓
服务层 (carbon-apimgt, carbon-identity-framework - 核心引擎)
↓
框架层 (identity-api-server, identity-governance - 功能模块)
↓
平台层 (carbon-kernel - 基础运行时)
↓
数据层 (apim-analytics-publisher, identity-data-publisher-authentication - 数据分析)
典型集成场景
场景1:API管理 + 身份管理
用户访问 → API Gateway (product-apim)
→ 身份验证 (product-is/carbon-identity-framework)
→ 访问控制 (identity-governance)
→ 记录审计日志 (identity-data-publisher-authentication)
场景2:自定义身份提供者
自定义需求 → 扩展 carbon-identity-framework
→ 实现自定义认证器
→ 通过 identity-api-server 暴露API
→ 集成到 product-is
场景3:API分析平台
API流量 → API Gateway
→ 发送数据到 apim-analytics-publisher
→ 使用 carbon-analytics-common 处理
→ 在 apim-apps/DevPortal 展示
开发与定制指南
1. 基于现有产品扩展
- 使用
product-apim或product-is作为基础 - 通过功能插件进行扩展
- 最小化修改核心代码
2. 深度定制开发
- 从
carbon-kernel开始构建 - 集成
carbon-apimgt或carbon-identity-framework - 开发自定义模块
- 构建自己的发行版
3. 前端定制
- 修改
apim-apps中的React组件 - 保持与后端API兼容
- 可以完全替换UI层
4. 分析功能扩展
- 扩展
carbon-analytics-common - 添加自定义分析处理器
- 集成到现有数据流水线
版本与兼容性
版本对应关系
- API Manager 4.x :
product-apim4.x +carbon-apimgt6.x +apim-apps4.x - Identity Server 6.x :
product-is6.x +carbon-identity-framework5.x - Carbon Platform 4.x :
carbon-kernel4.x
依赖管理
xml
<!-- 示例:在自定义项目中引用 -->
<dependency>
<groupId>org.wso2.carbon</groupId>
<artifactId>carbon-apimgt</artifactId>
<version>6.5.0</version>
</dependency>
总结建议
对于不同角色的建议
-
最终用户/管理员
- 直接使用
product-apim或product-is发行版 - 通过配置和插件满足大部分需求
- 直接使用
-
系统集成商
- 基于现有产品进行集成
- 开发自定义连接器和适配器
- 重点关注
identity-api-server的API集成
-
产品开发者
- 深入理解
carbon-kernel和框架层 - 基于
carbon-apimgt或carbon-identity-framework开发 - 考虑模块化架构和扩展点
- 深入理解
-
前端开发者
- 专注于
apim-apps的定制开发 - 保持与后端REST API的兼容
- 利用现有的组件库
- 专注于
学习路径
- 从
product-apim/product-is开始,了解完整功能 - 深入研究
carbon-apimgt/carbon-identity-framework架构 - 掌握
carbon-kernel的扩展机制 - 根据需要学习特定模块(分析、治理等)
这些项目共同构成了WSO2强大而灵活的数字平台,支持从开箱即用的产品到深度定制的企业级解决方案的各种需求。