[Feature][Linkis] Replace Tomcat & Jetty with BES (BaoLanDe) middleware solution
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- java, spring-boot
- Domain
- backend, build-system, documentation, infrastructure
Research direction
Start by reviewing Linkis's current Tomcat/Jetty deployment packaging and container-specific code in linkis-dist. Assess Servlet 3.0+/4.0, WebSocket, classloader, and Spring Boot external-container compatibility on BES. Done means BES-compatible deployment packages, all services validated on BES, existing deployments retained, and migration documentation published.
Written by the indexing model from the issue text.
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:
- Provide BES-compatible deployment packages
- Ensure all Linkis services can run on BES container
- Maintain compatibility with existing Tomcat/Jetty deployments
- Provide migration guide from Tomcat/Jetty to BES
中文:
Linkis应该支持宝兰德中间件作为servlet容器选项:
- 提供与宝兰德兼容的部署包
- 确保所有Linkis服务都能在宝兰德容器上运行
- 保持与现有Tomcat/Jetty部署的兼容性
- 提供从Tomcat/Jetty迁移到宝兰德的指南
How to reproduce
English:
Current situation:
- Linkis services are packaged for Tomcat/Jetty deployment
- BES middleware deployment is not officially supported
- Manual adaptation is required for BES deployment
中文:
当前情况:
- Linkis服务打包用于Tomcat/Jetty部署
- 不正式支持宝兰德中间件部署
- 需要手动适配才能部署到宝兰德
Anything else
English:
Implementation Approach:
- Container Abstraction: Abstract servlet container dependencies to support multiple implementations
- BES Compatibility Testing: Test Linkis services on BES Application Server
- Build System Updates: Add BES-specific build profiles in Maven/Gradle
- Dependency Management: Handle BES-specific dependencies and APIs
- 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:
- Review current Tomcat/Jetty specific code
- Replace with standard Servlet APIs
- Test on BES Application Server
- Create BES deployment WAR/EAR packages
- Update deployment documentation
中文:
实现方法:
- 容器抽象:抽象servlet容器依赖以支持多种实现
- 宝兰德兼容性测试:在宝兰德应用服务器上测试Linkis服务
- 构建系统更新:在Maven/Gradle中添加宝兰德特定的构建配置文件
- 依赖管理:处理宝兰德特定的依赖和API
- 文档:创建宝兰德部署指南
技术考虑:
- Servlet API兼容性(确保使用标准Servlet 3.0+/4.0 API)
- 在宝兰德上验证WebSocket支持
- Spring Boot嵌入式容器vs外部容器部署
- ClassLoader隔离问题
- 宝兰德特定的配置要求
宝兰德中间件信息:
- 官方网站:http://www.bessystem.com/
- 支持JEE标准(Servlet、JSP、EJB等)
- 兼容主流应用服务器
迁移步骤:
- 审查当前Tomcat/Jetty特定代码
- 替换为标准Servlet API
- 在宝兰德应用服务器上测试
- 创建宝兰德部署WAR/EAR包
- 更新部署文档
Are you willing to submit a PR?
- Yes I am willing to submit a PR!
- Dominant language
- Java
- Stars
- 3.4k
- Forks
- 1.2k
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from apache/linkis
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 86/100
-
Difficulty 4/5 3-5 days Newbie friendliness 55/100
-
Difficulty 4/5 3-5 days Newbie friendliness 28/100
-
Difficulty 3/5 1-2 days Newbie friendliness 55/100
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
infinispan/infinispan#18150 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
opensearch-project/k-NN#3597 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100