[Feature][Linkis] Replace Tomcat & Jetty with BES (BaoLanDe) middleware solution
- Dominant language
- Java
- Stars
- 3.4k
- Forks
- 1.2k
- PR merge metrics
- No merged PRs in 30d
Description
### Linkis Component
linkis-dist
### What happened
**English:**
Linkis currently uses Tomcat and Jetty as servlet containers. For domestic localization requirements, there is a need to support BES (BaoLanDe/宝兰德) middleware as an alternative container solution.
**Background:**
BES (BaoLanDe) is a domestic middleware solution commonly required in Chinese government and enterprise environments for localization (信创) compliance. Supporting BES would enable Linkis deployment in these environments.
---
**中文:**
Linkis当前使用Tomcat和Jetty作为servlet容器。为满足国产化需求,需要支持宝兰德(BES)中间件作为替代容器解决方案。
**背景:**
宝兰德(BES)是中国政府和企业环境中国产化(信创)合规常见要求的国产中间件解决方案。支持宝兰德将使Linkis能够在这些环境中部署。
### What you expected to happen
**English:**
Linkis should support BES middleware as a servlet container option:
1. Provide BES-compatible deployment packages
2. Ensure all Linkis services can run on BES container
3. Maintain compatibility with existing Tomcat/Jetty deployments
4. Provide migration guide from Tomcat/Jetty to BES
---
**中文:**
Linkis应该支持宝兰德中间件作为servlet容器选项:
1. 提供与宝兰德兼容的部署包
2. 确保所有Linkis服务都能在宝兰德容器上运行
3. 保持与现有Tomcat/Jetty部署的兼容性
4. 提供从Tomcat/Jetty迁移到宝兰德的指南
### How to reproduce
**English:**
Current situation:
1. Linkis services are packaged for Tomcat/Jetty deployment
2. BES middleware deployment is not officially supported
3. Manual adaptation is required for BES deployment
---
**中文:**
当前情况:
1. Linkis服务打包用于Tomcat/Jetty部署
2. 不正式支持宝兰德中间件部署
3. 需要手动适配才能部署到宝兰德
### Anything else
**English:**
**Implementation Approach:**
1. **Container Abstraction**: Abstract servlet container dependencies to support multiple implementations
2. **BES Compatibility Testing**: Test Linkis services on BES Application Server
3. **Build System Updates**: Add BES-specific build profiles in Maven/Gradle
4. **Dependency Management**: Handle BES-specific dependencies and APIs
5. **Documentation**: Create BES deployment guide
**Technical Considerations:**
- Servlet API compatibility (ensure using standard Servlet 3.0+/4.0 APIs)
- WebSocket support verification on BES
- Spring Boot embedded container vs external container deployment
- ClassLoader isolation issues
- BES-specific configuration requirements
**BES Middleware Information:**
- Official Website: http://www.bessystem.com/
- Supports JEE standards (Servlet, JSP, EJB, etc.)
- Compatible with mainstream application servers
**Migration Steps:**
1. Review current Tomcat/Jetty specific code
2. Replace with standard Servlet APIs
3. Test on BES Application Server
4. Create BES deployment WAR/EAR packages
5. Update deployment documentation
---
**中文:**
**实现方法:**
1. **容器抽象**:抽象servlet容器依赖以支持多种实现
2. **宝兰德兼容性测试**:在宝兰德应用服务器上测试Linkis服务
3. **构建系统更新**:在Maven/Gradle中添加宝兰德特定的构建配置文件
4. **依赖管理**:处理宝兰德特定的依赖和API
5. **文档**:创建宝兰德部署指南
**技术考虑:**
- Servlet API兼容性(确保使用标准Servlet 3.0+/4.0 API)
- 在宝兰德上验证WebSocket支持
- Spring Boot嵌入式容器vs外部容器部署
- ClassLoader隔离问题
- 宝兰德特定的配置要求
**宝兰德中间件信息:**
- 官方网站:http://www.bessystem.com/
- 支持JEE标准(Servlet、JSP、EJB等)
- 兼容主流应用服务器
**迁移步骤:**
1. 审查当前Tomcat/Jetty特定代码
2. 替换为标准Servlet API
3. 在宝兰德应用服务器上测试
4. 创建宝兰德部署WAR/EAR包
5. 更新部署文档
### Are you willing to submit a PR?
- [ ] Yes I am willing to submit a PR!
Contributor guide
Assessment
This issue has not been assessed yet.