GSoC 2026 Proposal: Remove Apache Thrift and Migrate to Direct Spring Service Calls
SW360 today uses Apache Thrift for backend-to-backend calls. That choice forces a Thrift toolchain and many .thrift IDLs, ships large WARs via shared Thrift servlet code, makes traffic hard to debug with normal HTTP tools, and limits standard metrics and load testing. Project goal is to migrate the backend incrementally to Spring Boot REST with a shared libraries/service-api contract (plain POJOs instead of generated Thrift types), WebClient from the resource-server, and a Converter pattern where backend-common still uses Thrift-shaped DB types, so each service can move without a big-bang rewrite. Health and Vendor are already implemented as proof of concept with benchmarks and parity checks. Deliverables: migrate all 23 Thrift-backed service clients, shrink/remove Thrift from the build, delete or retire IDLs and ThriftClients factory methods as each service lands, document the migration recipe and architecture tradeoffs (including optional gRPC for hot paths if mentors agree), keep the public REST/HATEOAS API stable for consumers, and finish with full-system tests, updated contributor docs, and final benchmarks. Work is phased by dependency tiers (standalone services first, Schedule and final cleanup last) on GSoC 2026’s extended coding period, with buffers for review and integration risk.
Project details
Technologies
Not listed in the archive