This week's giveaway is in the EJB and other Java EE Technologies forum. We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan on-line! See this thread for details.
What is the meaning of the following statement. The statement is from Expert One to one Design book.
Distributed architectures deliver the following benefits:
The ability to support many clients (possibly of different types) that require a shared "middle tier" of business objects.
I have to admit, I'm not wild about the statement, because the "requirement" to share a middle tier of business objects is a design decision in itself.
I'm most familiar with it in the realm of databases, although I suppose the term could also be used for something like J2EE as well.
Take, for example, an airline reservation system: It needs to serve clients all around the world, and provide reliable, accurate and FAIR allocation of seats in a timely manner. If it relied on just one database or server, you would have a single point of failure (if the db goes down, the entire system goes down) and also far longer access paths for some users than others. Most systems like this use distributed databases these days - that is, a number of databases at different physical locations that are kept in sync with each other.
Many databases offer this type of set-up as an option, allowing client software to be written pretty much as though it was talking to a single database while allowing the db itself to deal with the business of proper synchronization and 24/7 availability (if one database is removed from the "cluster", others take over the responsibility of serving clients).
I'm sure there are also many other examples in the world of Web services but, as I say, it's the one I'm most familiar with.
Isn't it funny how there's always time and money enough to do it WRONG?
Artlicles by Winston can be found here