Interview: John Pampuch on Java RTS
Interview: John Pampuch on Java RTS
Join the DZone community and get the full member experience.Join For Free
How do you break a Monolith into Microservices at Scale? This ebook shows strategies and techniques for building scalable and resilient microservices.
In a nutshell, what is Java RTS?
Java RTS is Sun's Java SE platform that implements JSR-1. The implementation makes Java a more deterministic platform enabling it to meet rigorous timing requirements of mission critical applications.
Who needs it or who will be using it?
Simply put, application developers who need predictable response time from their applications. Historically, conventional Java trades off ease of use for, among other things, predictable response time. Java RTS, on the other hand, has focused on delivering highly predictable response time, and dependable thread priority.
For control systems (for example automotive, avionics, robotics, etc.), the value of Java RTS is straightforward. It is a better tool for developing applications. It provides better tools for development, debugging, and offers a higher-level of abstraction for the application than is practical with C or assembler. As applications get more complex, better tools become more and more critical.
Further, for some kinds of enterprise applications, like stock trading systems, temporal correctness can make the difference between making millions and losing millions. While it is possible to create such applications in C, or worse, in assembler, don't forget that there can be unexpected unpredictability found there too.
What's the history of the project?
Java RTS is Sun's commercial implementation of JSR-1. That is the real starting point for Java RTS. JSR-1, the "Real-Time Specification for Java", jointly submitted by IBM and Sun, was a collaboration of experts from many disciplines with a focus on real-time application programming. Greg Bollella was IBM's lead on this JSR. Later, he came to Sun to drive the Sun's product development.
Who's working on it?
In addition to Greg, Sun has a team of engineers lead by David Therkelsen in Grenoble France: Bertrand Delsart, Romain Guider, Olivier Lagneau, Frederic Parain, and Roland Westrelin. David Holmes, in Australia, is another contributor on this team.
Where are things right now?
Java RTS 2.1 has been released.
What are the newest key features?
This release has added many new debugging, monitoring and serviceability features, but the big news is Linux support. Earlier releases only supported Solaris, both SPARC and x86, but this release also includes support for SUSE Linux Enterprise Real-Time (SLERT). We expect to support a future release of Red Hat MRG as well.
What are your personal favorite features?
Without a doubt, my personal favorite is real-time garbage collection. With RTGC, Java developers can get high-quality real-time services for their applications using most of the constructs and services that they are already familiar with. On the other hand, DTrace is cool, and is a big help in finding a whole range of bugs.
What kind of tool support is there?
Aside from DTrace, many of the tools that work with the regular Java platform work too, like Visual VM, NetBeans IDE, most profilers and debuggers, etc. Also, there are included tools like the JRTS Thread Scheduling Visualizer, and a tool to help in configuring ITC.
How does one get started with all of this?
From here, you can get evaluation downloads, blogs, support, news and many other features and documents.
Opinions expressed by DZone contributors are their own.