A Hacker's Guide to Project Management, Second Edition

What Are Component, Layer and Service Architectures?

Components, layers and services are related architectural models. They are all ways of getting the benefits of good modularity throughout your design:

  • Separation of Concerns - you split the system up into sections which different people, with different skills, can work on. For example, someone concentrates on the database design, and someone else focuses on the business rules,

  • Exchangeability - you create a structure in which one part can be swapped out with another, as long as they both support the same interfaces. This makes maintenance a lot easier,

  • Separate Evolution - parts of the system may change at different speeds. For example, the user interface may change very frequently, but the database design may be very stable. Because of exchangeability, they can change separately without affecting one another,

  • Portability - you change some fundamental part of the system s technology. If all the technology-specific parts of your system are hidden behind a component s interface, then all you have to change is that component,

  • Hiding details and dependencies - details, such as the ability to work with a number of different data sources, can be hidden behind a standard interface,

  • Reuse - if part of the system does a job which many other systems or parts need, then a single component or service can be shared between them,

  • Sourcing flexibility - you can obtain different parts of the system in different ways, as long as the...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Gel Elastomers
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.