Object Oriented Software Engineering   View all facts   Glossary   Help
subject > pattern > software architecture > distributed architecture
Next software architectureModel-View-Controller    Upsoftware architecture    Previous software architecturestable architecture   

distributed architecture comparison table
Subject increases describe in facilitate have alternatives has definition have advantages be see also reduce contain decide constrain is a subtopic of understand by is a kind of
client-server architecturereuse because it is often possible to find suitable frameworks on which to build good distributed systemsan easy-to-understand form so that people can determine when and how to use itdivide and conquer since dividing the system into processes is a very strong way to divide the system up
  • Have a single program on one computer that does everything
  • Avoid having any communication and have each computer perform the work separately
  • Have some mechanism other than client-server communication for exchanging information
An architectural pattern in which the system is divided into clients and servers
  • The computational work can be distributed among different machines
  • The clients can access the server's functionality from a distance
  • The client and server can be designed separately, so they can both be simpler than a program that does everything
  • All the data can be kept centrally at the server, thus making it easier to assure its reliability
  • Conversely, distributing data among many different geographically-distributed clients or servers can mean that if a disaster occurs in one place, the loss of data is minimized
  • The server can be accessed simultaneously by many clients
  • Competing clients can be written to communicate with the same server, and vice-versa
one of the most widely used ways of structuring software systemssoftware architecture^3coupling since there is usually only one communication channel between distributed components although you have to watch out for control couplinga solution that has been proven to effectively solve the problem in the indicated contextearly in the design process, although it will continue to mature as iterative development proceedsthe overall efficiency, reusability and maintainability of the system9.5 - Architectural Patternssoftware engineersdistributed architecture

Next software architectureModel-View-Controller    Upsoftware architecture    Previous software architecturestable architecture