Wso2的核心项目有哪些具体应用场景?
摘要:作为WSO2专家,我来为你详细解析这些核心项目的作用。这些项目构成了WSO2数字平台生态系统的基石。 项目分类与作用概览 项目名称 类别 核心作用 对应产品 product-apim API管理 WSO2 API Manager的完整发行版
作为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-apim 4.x + carbon-apimgt 6.x + apim-apps 4.x
Identity Server 6.x:product-is 6.x + carbon-identity-framework 5.x
Carbon Platform 4.x:carbon-kernel 4.x
依赖管理
<!-- 示例:在自定义项目中引用 -->
<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强大而灵活的数字平台,支持从开箱即用的产品到深度定制的企业级解决方案的各种需求。
