

From JDBC to Database Control Planes: 30 Years of Java Database Connectivity by Rogerio Robetti
Thirty years ago, JDBC gave Java its first standard way to talk to a database. Back then, a Java app was a few long-lived processes connected directly to a single database. Today it might be thousands of containers, pods or functions all reaching for the same connections.
The way we connect has barely changed. Many systems still run thousands of independent connection pools competing for the same database resources, which exposes limits that never showed up in monolithic applications.
Date: Monday, November 9th
Timing:
20:00 PM (UTC): Live stream kicks off - From JDBC to Database Control Planes: 30 Years of Java Database Connectivity by Rogerio Robetti
21:00 PM (UTC): That’s a wrap, live stream ends
In this session, we’ll walk through 30 years of Java database connectivity. It covers direct JDBC connections and early connection pools, database proxies and cloud-managed proxies, and the emerging idea of database control planes that coordinate access across a whole distributed system. For each generation, we’ll look at why it appeared, what it solved and what new problems it introduced. You’ll leave with the historical context and practical guidance to design database access for your next Java system. It’s not a product pitch.
When JDBC was introduced in 1997, Java applications looked very different from the distributed systems we build today. Applications typically ran as a handful of long-lived processes connected directly to a relational database. Connection management was simple, scalability was mostly vertical, and databases rarely had to cope with thousands of independent application instances.
Over the following decades, our architectures evolved. Connection pools became the standard solution for reducing connection overhead. ORM frameworks changed how applications interacted with databases. Microservices, containers, Kubernetes and serverless computing fundamentally changed deployment models—but the way we establish database connections has remained surprisingly similar.
Today, many systems still rely on thousands of independent connection pools competing for the same database resources, exposing limitations that were never apparent in monolithic applications. The industry has responded with database proxies, cloud-managed proxies, and increasingly sophisticated connection management techniques, but these approaches introduce their own trade-offs in routing, observability, portability and operational complexity.
This session traces the evolution of relational database connectivity in Java—from direct JDBC connections and early connection pools, through database proxies and cloud-native architectures, to the emerging concept of database control planes that coordinate database access across entire distributed systems rather than individual applications.
Along the way, we'll revisit why each generation of technology appeared, which problems it solved, which new problems it introduced, and what lessons software architects can apply when designing the next generation of Java systems.
Rather than advocating a particular technology, this session provides historical context, architectural analysis, and practical guidance to help developers understand where database connectivity has been—and where it may be heading.
Speaker: Rogerio Robetti
Creator of Open J Proxy (OJP), software engineer, and architect with deep experience in large-scale systems at large global companies. Passionate about open source and database scalability, Rogerio has written and spoken about distributed systems, connection management, and resilient Java design. He believes in giving power back to developers by building tools that are open, extensible, and community-driven.
Your Host: Dominika Tasarz
Senior Developer Advocate with 15+ years of experience building technical communities and helping developers adopt new technology.
I focus on growing and supporting global communities across the Java and Jakarta EE landscape. My work centers on creating opportunities for learning, collaboration and open source participation, helping individuals develop their skills, advance their careers and play a more active role in the Java community.
I have led educational initiatives, community programs and industry events that bring together developers, open source contributors and technology teams. A regular speaker at Java and open source conferences, I collaborate closely with Java Champions, Java User Groups and ecosystem leaders to amplify community voices and encourage knowledge sharing.
As one of the original team members at Payara, I helped shape the company’s brand and grow its global user community from the ground up. Today, as a Senior Developer Advocate at Azul, I continue to support and strengthen communities around Payara Community, Jakarta EE and OpenJDK, driving education and collaboration, while bringing the open source community insight into the evolution of enterprise Java technologies.