{"id":"https://openalex.org/W7225749653","doi":"https://doi.org/10.5281/zenodo.24104288","title":"Java Spring Boot vs Python FastAPI for Serving ML/LLM Inference APIs: A Comparative Study of Performance, Concurrency, Ecosystem Fit and Deployment Cost","display_name":"Java Spring Boot vs Python FastAPI for Serving ML/LLM Inference APIs: A Comparative Study of Performance, Concurrency, Ecosystem Fit and Deployment Cost","publication_year":2026,"publication_date":"2026-11-10","ids":{"openalex":"https://openalex.org/W7225749653","doi":"https://doi.org/10.5281/zenodo.24104288"},"language":"en","primary_location":{"id":"doi:10.5281/zenodo.24104288","doi":"https://doi.org/10.5281/zenodo.24104288","is_oa":true,"landing_page_url":"https://doi.org/10.5281/zenodo.24104288","pdf_url":null,"source":{"id":"https://openalex.org/S4306400562","display_name":"Zenodo (CERN European Organization for Nuclear Research)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I67311998","host_organization_name":"European Organization for Nuclear Research","host_organization_lineage":["https://openalex.org/I67311998"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"JournalArticle"},"volume":null,"type":"article","is_traditional":true,"indexed_in":["datacite"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://doi.org/10.5281/zenodo.24104288","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5161416068","display_name":"Radhika Nitinsingh Bisen","orcid":null,"observed_orcids":[]},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Radhika Nitinsingh Bisen","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":["https://openalex.org/A5161416068"],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.0,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T12127","display_name":"Software System Performance and Reliability","score":0.5971999764442444,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T12127","display_name":"Software System Performance and Reliability","score":0.5971999764442444,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T12799","display_name":"Mobile and Web Applications","score":0.28369998931884766,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10101","display_name":"Cloud Computing and Resource Management","score":0.038600001484155655,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8086000084877014},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.6345999836921692},{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.6295999884605408},{"id":"https://openalex.org/C105339364","wikidata":"https://www.wikidata.org/wiki/Q2297740","display_name":"Software deployment","level":2,"score":0.6233999729156494},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.6003999710083008},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.4918000102043152},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4918000102043152},{"id":"https://openalex.org/C172086080","wikidata":"https://www.wikidata.org/wiki/Q62270","display_name":"Remote procedure call","level":2,"score":0.47269999980926514},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.4691999852657318},{"id":"https://openalex.org/C168065819","wikidata":"https://www.wikidata.org/wiki/Q845566","display_name":"Debugging","level":2,"score":0.4449999928474426},{"id":"https://openalex.org/C20574231","wikidata":"https://www.wikidata.org/wiki/Q844605","display_name":"Backward compatibility","level":2,"score":0.37689998745918274},{"id":"https://openalex.org/C35578498","wikidata":"https://www.wikidata.org/wiki/Q193424","display_name":"Web service","level":2,"score":0.37540000677108765},{"id":"https://openalex.org/C79974875","wikidata":"https://www.wikidata.org/wiki/Q483639","display_name":"Cloud computing","level":2,"score":0.36320000886917114},{"id":"https://openalex.org/C48145219","wikidata":"https://www.wikidata.org/wiki/Q1335365","display_name":"Security token","level":2,"score":0.36169999837875366},{"id":"https://openalex.org/C53016008","wikidata":"https://www.wikidata.org/wiki/Q620167","display_name":"Front and back ends","level":2,"score":0.3612000048160553},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.3402999937534332},{"id":"https://openalex.org/C557433098","wikidata":"https://www.wikidata.org/wiki/Q94","display_name":"Android (operating system)","level":2,"score":0.33480000495910645},{"id":"https://openalex.org/C172191483","wikidata":"https://www.wikidata.org/wiki/Q1071806","display_name":"Provisioning","level":2,"score":0.3084000051021576},{"id":"https://openalex.org/C146222976","wikidata":"https://www.wikidata.org/wiki/Q1204997","display_name":"Business logic","level":2,"score":0.30379998683929443},{"id":"https://openalex.org/C164554305","wikidata":"https://www.wikidata.org/wiki/Q71550","display_name":"Application server","level":2,"score":0.30230000615119934},{"id":"https://openalex.org/C136764020","wikidata":"https://www.wikidata.org/wiki/Q466","display_name":"World Wide Web","level":1,"score":0.2978000044822693},{"id":"https://openalex.org/C93996380","wikidata":"https://www.wikidata.org/wiki/Q44127","display_name":"Server","level":2,"score":0.2955000102519989},{"id":"https://openalex.org/C46743427","wikidata":"https://www.wikidata.org/wiki/Q1341685","display_name":"Inference engine","level":3,"score":0.29010000824928284},{"id":"https://openalex.org/C12186640","wikidata":"https://www.wikidata.org/wiki/Q6815743","display_name":"Memory model","level":3,"score":0.28369998931884766},{"id":"https://openalex.org/C147873670","wikidata":"https://www.wikidata.org/wiki/Q11182","display_name":"Network address translation","level":4,"score":0.2791999876499176},{"id":"https://openalex.org/C112968700","wikidata":"https://www.wikidata.org/wiki/Q11368","display_name":"Unix","level":3,"score":0.27320000529289246},{"id":"https://openalex.org/C107027933","wikidata":"https://www.wikidata.org/wiki/Q2006448","display_name":"Stream processing","level":2,"score":0.2696000039577484},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.2689000070095062},{"id":"https://openalex.org/C206729178","wikidata":"https://www.wikidata.org/wiki/Q2271896","display_name":"Scheduling (production processes)","level":2,"score":0.26600000262260437},{"id":"https://openalex.org/C2778505942","wikidata":"https://www.wikidata.org/wiki/Q18344624","display_name":"Microservices","level":3,"score":0.26109999418258667},{"id":"https://openalex.org/C118643609","wikidata":"https://www.wikidata.org/wiki/Q189210","display_name":"Web application","level":2,"score":0.2605000138282776},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.257999986410141}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.5281/zenodo.24104288","doi":"https://doi.org/10.5281/zenodo.24104288","is_oa":true,"landing_page_url":"https://doi.org/10.5281/zenodo.24104288","pdf_url":null,"source":{"id":"https://openalex.org/S4306400562","display_name":"Zenodo (CERN European Organization for Nuclear Research)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I67311998","host_organization_name":"European Organization for Nuclear Research","host_organization_lineage":["https://openalex.org/I67311998"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"JournalArticle"},{"id":"doi:10.5281/zenodo.24104289","doi":"https://doi.org/10.5281/zenodo.24104289","is_oa":true,"landing_page_url":"https://doi.org/10.5281/zenodo.24104289","pdf_url":null,"source":{"id":"https://openalex.org/S4306400562","display_name":"Zenodo (CERN European Organization for Nuclear Research)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I67311998","host_organization_name":"European Organization for Nuclear Research","host_organization_lineage":["https://openalex.org/I67311998"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"JournalArticle"}],"best_oa_location":{"id":"doi:10.5281/zenodo.24104288","doi":"https://doi.org/10.5281/zenodo.24104288","is_oa":true,"landing_page_url":"https://doi.org/10.5281/zenodo.24104288","pdf_url":null,"source":{"id":"https://openalex.org/S4306400562","display_name":"Zenodo (CERN European Organization for Nuclear Research)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I67311998","host_organization_name":"European Organization for Nuclear Research","host_organization_lineage":["https://openalex.org/I67311998"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"JournalArticle"},"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":[],"abstract_inverted_index":{"Machine":[0],"learning":[1],"models":[2,49,114],"are":[3,9,50,170,183],"of":[4,28,33,98,129,218,242],"little":[5],"use":[6,195],"until":[7],"they":[8],"wrapped":[10],"in":[11,46,86,159,216],"a":[12,75,173,177,214,219,238],"service":[13,175],"that":[14],"other":[15],"applications":[16],"can":[17],"call.":[18],"In":[19],"practice,":[20],"this":[21],"serving":[22,110],"layer":[23],"is":[24,79,157,233],"built":[25],"with":[26],"one":[27,134],"two":[29,107,246],"very":[30],"different":[31],"families":[32],"tools.":[34],"Python":[35,87],"frameworks":[36,54,247],"such":[37,55],"as":[38,56,213],"FastAPI":[39,174],"sit":[40],"right":[41],"next":[42],"to":[43,81,89,92,228,235,251],"the":[44,83,93,96,99,106,124,161,166,202,206,209,229,245],"libraries":[45],"which":[47,160],"most":[48],"trained,":[51],"while":[52],"Java":[53],"Spring":[57,178],"Boot":[58,179],"dominate":[59],"enterprise":[60],"back":[61,227],"ends":[62],"where":[63,208],"teams":[64],"already":[65,101],"have":[66],"mature":[67],"security,":[68],"monitoring":[69],"and":[70,115,126,136,150,165,176,181,196,223],"deployment":[71],"practices.":[72],"The":[73,121,231],"question":[74],"team":[76],"usually":[77],"faces":[78],"whether":[80],"keep":[82],"model":[84,118,128,164],"API":[85],"or":[88],"move":[90],"it":[91],"JVM":[94],"stack":[95],"rest":[97],"organisation":[100],"runs.":[102],"This":[103],"paper":[104,203],"compares":[105],"options":[108],"for":[109,140,188],"both":[111,182],"classical":[112],"ML":[113],"large":[116],"language":[117],"(LLM)":[119],"workloads.":[120],"comparison":[122],"covers":[123],"programming":[125],"concurrency":[127],"each":[130,133],"framework,":[131],"how":[132],"loads":[135],"runs":[137],"models,":[138],"support":[139],"token":[141],"streaming,":[142],"request":[143,168],"validation,":[144],"observability,":[145],"container":[146],"footprint,":[147],"start-up":[148,197],"behaviour":[149],"developer":[151],"productivity.":[152],"A":[153],"reproducible":[154],"benchmark":[155],"design":[156],"proposed":[158],"same":[162,167],"ONNX":[163],"payloads":[169],"served":[171],"by":[172],"service,":[180],"measured":[184],"under":[185],"identical":[186],"load":[187],"latency":[189],"percentiles,":[190],"throughput,":[191],"CPU":[192],"use,":[193],"memory":[194],"time.":[198],"For":[199],"LLM":[200],"workloads,":[201],"looks":[204],"at":[205],"case":[207],"web":[210],"framework":[211],"acts":[212],"gateway":[215],"front":[217],"dedicated":[220],"inference":[221],"engine":[222],"streams":[224],"generated":[225],"tokens":[226],"client.":[230],"study":[232],"intended":[234],"give":[236],"practitioners":[237],"clear,":[239],"evidence-based":[240],"way":[241],"choosing":[243],"between":[244],"rather":[248],"than":[249],"defaulting":[250],"habit.":[252]},"counts_by_year":[],"updated_date":"2026-11-11T12:16:26.678958","created_date":"2026-11-11T00:00:00"}
