Chapter 5.  Introducing the Bank Example

Now that we’ve seen two versions of the same application, one written using sockets and one written using RMI, it’s time to take a step back and look at the whole process of designing a distributed application. In order to do this, this chapter and the following five chapters all concentrate on a single shared example: a distributed banking system. In this chapter, we’ll get things underway by talking about the system requirements of a distributed banking system, sketching a rough architecture for the application and discussing the problems that arise in networked applications. By the end of this chapter, you’ll have a better idea of the design decisions and choices that must be made to build a distributed system, as well as how to begin.

The Bank Example

When traveling, take advantage of more than 13,000 Bank of America ATMs coast to coast. We’re in 30 states and the District of Columbia. As a Bank of America Check Card or ATM cardholder, there’s no ATM fee when you use an ATM displaying a Bank of America sign...

—Bank of America Advertisement

A simple banking application implementing an automatic teller machine is, in many ways, the ideal first application for someone learning to design and build distributed programs. Why? The most obvious benefit is that the application is easy to understand; most readers of this book know exactly what an ATM is supposed to do. Moreover, there isn’t a great deal of “business logic” involved, and the ...

Get Java RMI now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.