You remember this picture...
But it was too high-level to get us anywhere. Think about how much is missing from this picture. Like, how does the client get a reference to something running on a different machine? How does the client actually communicate with the bean? How is it that the server can step into the middle of a client-to-bean method call?
Beneath EJB, there’s Java’s distributed technology for Remote Method Invocation (RMI). Although EJB hides some of the complexities of RMI from the bean developer, it’s still there, and unless you truly understand it, some pieces will never make sense.
So, we start our descent from a high-level view to the blood and guts of EJB with a lesson on RMI. If you’re one of the fortunate who’ve already worked a lot with RMI, you can skip this and go straight to the part where we talk about the ways in which EJB uses RMI. But you should still at least skim it, even if you’re an experienced EJB developer, if for no other reason than to get comfortable with the terminology and pictures we’ll use throughout the rest of the book.
OK, back to where we started—what’s missing from this picture? Start by looking at the places where a miracle occurs...

A ridiculously high-level view of EJB architecture
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access